@metamask-previews/bridge-controller 79.3.1-preview-e68ab1498 → 80.0.0-preview-4b37525
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 +21 -1
- 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 +12 -9
- 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 +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/selectors.cjs +48 -4
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +1200 -105
- package/dist/selectors.d.cts.map +1 -1
- package/dist/selectors.d.mts +1200 -105
- package/dist/selectors.d.mts.map +1 -1
- package/dist/selectors.mjs +48 -4
- package/dist/selectors.mjs.map +1 -1
- package/dist/utils/quote-metadata/calculators.cjs +7 -12
- 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 +8 -13
- package/dist/utils/quote-metadata/calculators.mjs.map +1 -1
- package/dist/utils/quote-metadata/include-if-truthy.cjs +21 -0
- package/dist/utils/quote-metadata/include-if-truthy.cjs.map +1 -0
- package/dist/utils/quote-metadata/include-if-truthy.d.cts +9 -0
- package/dist/utils/quote-metadata/include-if-truthy.d.cts.map +1 -0
- package/dist/utils/quote-metadata/include-if-truthy.d.mts +9 -0
- package/dist/utils/quote-metadata/include-if-truthy.d.mts.map +1 -0
- package/dist/utils/quote-metadata/include-if-truthy.mjs +17 -0
- package/dist/utils/quote-metadata/include-if-truthy.mjs.map +1 -0
- package/dist/utils/quote-metadata/merge.cjs +43 -10
- package/dist/utils/quote-metadata/merge.cjs.map +1 -1
- package/dist/utils/quote-metadata/merge.d.cts +6 -3
- package/dist/utils/quote-metadata/merge.d.cts.map +1 -1
- package/dist/utils/quote-metadata/merge.d.mts +6 -3
- package/dist/utils/quote-metadata/merge.d.mts.map +1 -1
- package/dist/utils/quote-metadata/merge.mjs +43 -10
- package/dist/utils/quote-metadata/merge.mjs.map +1 -1
- package/dist/utils/quote-metadata/to-currency-values.cjs +62 -0
- package/dist/utils/quote-metadata/to-currency-values.cjs.map +1 -0
- package/dist/utils/quote-metadata/to-currency-values.d.cts +12 -0
- package/dist/utils/quote-metadata/to-currency-values.d.cts.map +1 -0
- package/dist/utils/quote-metadata/to-currency-values.d.mts +12 -0
- package/dist/utils/quote-metadata/to-currency-values.d.mts.map +1 -0
- package/dist/utils/quote-metadata/to-currency-values.mjs +58 -0
- package/dist/utils/quote-metadata/to-currency-values.mjs.map +1 -0
- package/dist/utils/quote-metadata/to-quote-metadata-v1.cjs +67 -16
- package/dist/utils/quote-metadata/to-quote-metadata-v1.cjs.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v1.d.cts +3 -1
- 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 +3 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v1.d.mts.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v1.mjs +67 -16
- package/dist/utils/quote-metadata/to-quote-metadata-v1.mjs.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v2.cjs +26 -45
- 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 +26 -45
- package/dist/utils/quote-metadata/to-quote-metadata-v2.mjs.map +1 -1
- package/dist/utils/quote-metadata/types.cjs +16 -0
- package/dist/utils/quote-metadata/types.cjs.map +1 -1
- package/dist/utils/quote-metadata/types.d.cts +21 -0
- package/dist/utils/quote-metadata/types.d.cts.map +1 -1
- package/dist/utils/quote-metadata/types.d.mts +21 -0
- package/dist/utils/quote-metadata/types.d.mts.map +1 -1
- package/dist/utils/quote-metadata/types.mjs +15 -1
- package/dist/utils/quote-metadata/types.mjs.map +1 -1
- package/dist/validators/quote-response.cjs +14 -1
- package/dist/validators/quote-response.cjs.map +1 -1
- package/dist/validators/quote-response.d.cts +9 -0
- package/dist/validators/quote-response.d.cts.map +1 -1
- package/dist/validators/quote-response.d.mts +9 -0
- package/dist/validators/quote-response.d.mts.map +1 -1
- package/dist/validators/quote-response.mjs +12 -0
- package/dist/validators/quote-response.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BigNumber } from "bignumber.js";
|
|
2
|
+
import { FeeType } from "../../validators/quote.mjs";
|
|
3
|
+
const toCurrency = (fee, usdToFiatExchangeRate) => {
|
|
4
|
+
const { usd, valueInCurrency } = fee ?? {};
|
|
5
|
+
if (usd && usdToFiatExchangeRate) {
|
|
6
|
+
return { valueInCurrency: usdToFiatExchangeRate.times(usd).toFixed() };
|
|
7
|
+
}
|
|
8
|
+
if (valueInCurrency) {
|
|
9
|
+
return { valueInCurrency };
|
|
10
|
+
}
|
|
11
|
+
return undefined;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Builds a partial {@link QuoteResponse} object with fiat values derived from the usd values provided by the bridge-api
|
|
15
|
+
*
|
|
16
|
+
* @param quote - The quote response to calculate the metadata for
|
|
17
|
+
* @param usdToFiatExchangeRate - The usd to fiat exchange rate
|
|
18
|
+
* @returns The partial {@link QuoteResponse} object with fiat values
|
|
19
|
+
*/
|
|
20
|
+
export const toCurrencyValues = (quote, usdToFiatExchangeRate) => {
|
|
21
|
+
const { quote: { src, dest, feeData, priceData }, } = quote;
|
|
22
|
+
const { adjustedReturn, priceImpact } = priceData ?? {};
|
|
23
|
+
const priceImpactFiat = toCurrency(priceImpact, usdToFiatExchangeRate);
|
|
24
|
+
const adjustedReturnFiat = toCurrency(adjustedReturn, usdToFiatExchangeRate);
|
|
25
|
+
const minAmountValueInCurrency = toCurrency({
|
|
26
|
+
usd: dest.minAmountUsd,
|
|
27
|
+
valueInCurrency: dest.minAmountValueInCurrency,
|
|
28
|
+
}, usdToFiatExchangeRate)?.valueInCurrency;
|
|
29
|
+
return {
|
|
30
|
+
quote: {
|
|
31
|
+
src: toCurrency(src, usdToFiatExchangeRate),
|
|
32
|
+
dest: {
|
|
33
|
+
...toCurrency(dest, usdToFiatExchangeRate),
|
|
34
|
+
...(minAmountValueInCurrency && {
|
|
35
|
+
minAmountValueInCurrency,
|
|
36
|
+
}),
|
|
37
|
+
},
|
|
38
|
+
feeData: feeData &&
|
|
39
|
+
Object.fromEntries(Object.values(FeeType)
|
|
40
|
+
.filter((feeType) => feeData[feeType])
|
|
41
|
+
.map((feeType) => [
|
|
42
|
+
feeType,
|
|
43
|
+
feeData[feeType]?.map((fee) => toCurrency(fee, usdToFiatExchangeRate)),
|
|
44
|
+
])),
|
|
45
|
+
...((priceImpactFiat ?? adjustedReturnFiat) && {
|
|
46
|
+
priceData: {
|
|
47
|
+
...(priceImpactFiat && {
|
|
48
|
+
priceImpact: priceImpactFiat,
|
|
49
|
+
}),
|
|
50
|
+
...(adjustedReturnFiat && {
|
|
51
|
+
adjustedReturn: adjustedReturnFiat,
|
|
52
|
+
}),
|
|
53
|
+
},
|
|
54
|
+
}),
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=to-currency-values.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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,MAAM,UAAU,GAAG,CACjB,GAAsD,EACtD,qBAAiC,EACqB,EAAE;IACxD,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;IAC3C,IAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACjC,OAAO,EAAE,eAAe,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;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,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IACvE,MAAM,kBAAkB,GAAG,UAAU,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;IAE7E,MAAM,wBAAwB,GAAG,UAAU,CACzC;QACE,GAAG,EAAE,IAAI,CAAC,YAAY;QACtB,eAAe,EAAE,IAAI,CAAC,wBAAwB;KAC/C,EACD,qBAAqB,CACtB,EAAE,eAAe,CAAC;IAEnB,OAAO;QACL,KAAK,EAAE;YACL,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC;YAC3C,IAAI,EAAE;gBACJ,GAAG,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC;gBAC1C,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;oBAChB,OAAO;oBACP,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5B,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC,CACvC;iBACF,CAAC,CACL;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\nconst toCurrency = (\n fee?: Pick<AmountsAndAsset, 'usd' | 'valueInCurrency'>,\n usdToFiatExchangeRate?: BigNumber,\n): Pick<AmountsAndAsset, 'valueInCurrency'> | undefined => {\n const { usd, valueInCurrency } = fee ?? {};\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/**\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 priceImpactFiat = toCurrency(priceImpact, usdToFiatExchangeRate);\n const adjustedReturnFiat = toCurrency(adjustedReturn, usdToFiatExchangeRate);\n\n const minAmountValueInCurrency = toCurrency(\n {\n usd: dest.minAmountUsd,\n valueInCurrency: dest.minAmountValueInCurrency,\n },\n usdToFiatExchangeRate,\n )?.valueInCurrency;\n\n return {\n quote: {\n src: toCurrency(src, usdToFiatExchangeRate),\n dest: {\n ...toCurrency(dest, usdToFiatExchangeRate),\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) => [\n feeType,\n feeData[feeType]?.map((fee) =>\n toCurrency(fee, usdToFiatExchangeRate),\n ),\n ]),\n ),\n ...((priceImpactFiat ?? adjustedReturnFiat) && {\n priceData: {\n ...(priceImpactFiat && {\n priceImpact: priceImpactFiat,\n }),\n ...(adjustedReturnFiat && {\n adjustedReturn: adjustedReturnFiat,\n }),\n },\n }),\n },\n };\n};\n"]}
|
|
@@ -2,14 +2,26 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toQuoteMetadataV1 = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
|
+
const quote_response_js_1 = require("../../validators/quote-response.cjs");
|
|
6
|
+
const number_formatters_js_1 = require("../number-formatters.cjs");
|
|
7
|
+
const include_if_truthy_js_1 = require("./include-if-truthy.cjs");
|
|
8
|
+
const types_js_1 = require("./types.cjs");
|
|
9
|
+
const toTokenAmountValues = (data) => {
|
|
10
|
+
return {
|
|
11
|
+
amount: data?.normalizedAmount,
|
|
12
|
+
usd: data?.usd,
|
|
13
|
+
valueInCurrency: data?.valueInCurrency,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
5
16
|
/**
|
|
6
17
|
* Extracts legacy {@link QuoteMetadata} values from a {@link QuoteResponse} or {@link QuoteResponseV1}.
|
|
7
18
|
* If a QuoteResponse is provided, this assumes that its `valueInCurrency` properties are set.
|
|
8
19
|
*
|
|
9
20
|
* @param quoteResponse - The quote to extract the metadata from
|
|
21
|
+
* @param migrationPhase - The migration phase to use
|
|
10
22
|
* @returns A partial {@link QuoteMetadata} object
|
|
11
23
|
*/
|
|
12
|
-
const toQuoteMetadataV1 = (quoteResponse) => {
|
|
24
|
+
const toQuoteMetadataV1 = (quoteResponse, migrationPhase = types_js_1.QuoteMetadataMigrationPhase.V1Data) => {
|
|
13
25
|
/* istanbul ignore if */
|
|
14
26
|
if (!quoteResponse) {
|
|
15
27
|
return {};
|
|
@@ -22,22 +34,61 @@ const toQuoteMetadataV1 = (quoteResponse) => {
|
|
|
22
34
|
swapRate,
|
|
23
35
|
gasFee,
|
|
24
36
|
totalNetworkFee,
|
|
25
|
-
...(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
...(
|
|
29
|
-
...(
|
|
30
|
-
? { priceImpact }
|
|
31
|
-
: {}),
|
|
32
|
-
...(relayerFee && Object.values(relayerFee).some(Boolean)
|
|
33
|
-
? { relayerFee }
|
|
34
|
-
: {}),
|
|
35
|
-
...(includedTxFees && Object.values(includedTxFees).some(Boolean)
|
|
36
|
-
? { includedTxFees }
|
|
37
|
-
: {}),
|
|
37
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(adjustedReturn, { adjustedReturn }),
|
|
38
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(cost, { cost }),
|
|
39
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(priceImpact, { priceImpact }),
|
|
40
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(relayerFee, { relayerFee }),
|
|
41
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(includedTxFees, { includedTxFees }),
|
|
38
42
|
};
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
if (migrationPhase === types_js_1.QuoteMetadataMigrationPhase.V1Data ||
|
|
44
|
+
!(0, quote_response_js_1.isQuoteResponseV2)(quoteResponse)) {
|
|
45
|
+
return legacyMetadata;
|
|
46
|
+
}
|
|
47
|
+
const { quote } = quoteResponse;
|
|
48
|
+
const { src, dest, priceData, feeData } = quote;
|
|
49
|
+
const { network, relayer, txFee } = feeData;
|
|
50
|
+
const totalNetworkFeeV2 = (0, number_formatters_js_1.sumAmounts)(network, relayer);
|
|
51
|
+
// Build V1 from V2 quote
|
|
52
|
+
const v2Metadata = {
|
|
53
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(src, {
|
|
54
|
+
sentAmount: toTokenAmountValues(src),
|
|
55
|
+
}),
|
|
56
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(dest, {
|
|
57
|
+
toTokenAmount: toTokenAmountValues(dest),
|
|
58
|
+
minToTokenAmount: {
|
|
59
|
+
amount: dest.minAmountNormalized,
|
|
60
|
+
valueInCurrency: dest.minAmountValueInCurrency,
|
|
61
|
+
usd: dest.minAmountUsd,
|
|
62
|
+
},
|
|
63
|
+
}),
|
|
64
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(priceData?.adjustedReturn, {
|
|
65
|
+
adjustedReturn: toTokenAmountValues(priceData?.adjustedReturn),
|
|
66
|
+
}),
|
|
67
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(network?.[0], {
|
|
68
|
+
gasFee: {
|
|
69
|
+
total: toTokenAmountValues(network?.[0]),
|
|
70
|
+
},
|
|
71
|
+
}),
|
|
72
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(totalNetworkFeeV2, {
|
|
73
|
+
totalNetworkFee: toTokenAmountValues(totalNetworkFeeV2),
|
|
74
|
+
}),
|
|
75
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(priceData?.priceImpact, {
|
|
76
|
+
priceImpact: toTokenAmountValues(priceData?.priceImpact),
|
|
77
|
+
// Use priceImpact as cost
|
|
78
|
+
cost: toTokenAmountValues(priceData?.priceImpact),
|
|
79
|
+
}),
|
|
80
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(relayer?.[0], {
|
|
81
|
+
relayerFee: toTokenAmountValues(relayer?.[0]),
|
|
82
|
+
}),
|
|
83
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(txFee?.[0], {
|
|
84
|
+
includedTxFees: toTokenAmountValues(txFee?.[0]),
|
|
85
|
+
}),
|
|
86
|
+
...(priceData?.swapRate && { swapRate: priceData.swapRate }),
|
|
87
|
+
};
|
|
88
|
+
if (migrationPhase === types_js_1.QuoteMetadataMigrationPhase.V2WithV1Fallback) {
|
|
89
|
+
return (0, lodash_1.merge)({}, legacyMetadata, v2Metadata);
|
|
90
|
+
}
|
|
91
|
+
return v2Metadata;
|
|
41
92
|
};
|
|
42
93
|
exports.toQuoteMetadataV1 = toQuoteMetadataV1;
|
|
43
94
|
//# sourceMappingURL=to-quote-metadata-v1.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-quote-metadata-v1.cjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v1.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;
|
|
1
|
+
{"version":3,"file":"to-quote-metadata-v1.cjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v1.ts"],"names":[],"mappings":"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","sourcesContent":["import { merge } from 'lodash';\n\nimport type { DeepPartial } from '../../types.js';\nimport type { AmountsAndAsset } from '../../validators/amount-and-asset.js';\nimport type { QuoteResponseV1 } from '../../validators/quote-response-v1.js';\nimport { isQuoteResponseV2 } from '../../validators/quote-response.js';\nimport type { QuoteResponse } from '../../validators/quote-response.js';\nimport { sumAmounts } from '../number-formatters.js';\nimport { includeIfTruthy } from './include-if-truthy.js';\nimport type { QuoteMetadata, TokenAmountValues } from './types.js';\nimport { QuoteMetadataMigrationPhase } from './types.js';\n\nconst toTokenAmountValues = (\n data?: Pick<AmountsAndAsset, 'normalizedAmount' | 'usd' | 'valueInCurrency'>,\n): Partial<TokenAmountValues> => {\n return {\n amount: data?.normalizedAmount,\n usd: data?.usd,\n valueInCurrency: data?.valueInCurrency,\n };\n};\n\n/**\n * Extracts legacy {@link QuoteMetadata} values from a {@link QuoteResponse} or {@link QuoteResponseV1}.\n * If a QuoteResponse is provided, this assumes that its `valueInCurrency` properties are set.\n *\n * @param quoteResponse - The quote to extract the metadata from\n * @param migrationPhase - The migration phase to use\n * @returns A partial {@link QuoteMetadata} object\n */\nexport const toQuoteMetadataV1 = (\n quoteResponse:\n | (DeepPartial<QuoteResponse | QuoteResponseV1> & QuoteMetadata)\n | null,\n migrationPhase: QuoteMetadataMigrationPhase = QuoteMetadataMigrationPhase.V1Data,\n): QuoteMetadata => {\n /* istanbul ignore if */\n if (!quoteResponse) {\n return {};\n }\n\n const {\n toTokenAmount,\n minToTokenAmount,\n sentAmount,\n swapRate,\n adjustedReturn,\n cost,\n includedTxFees,\n relayerFee,\n totalNetworkFee,\n gasFee,\n priceImpact,\n } = quoteResponse;\n\n const legacyMetadata = {\n sentAmount,\n toTokenAmount,\n minToTokenAmount,\n swapRate,\n gasFee,\n totalNetworkFee,\n ...includeIfTruthy(adjustedReturn, { adjustedReturn }),\n ...includeIfTruthy(cost, { cost }),\n ...includeIfTruthy(priceImpact, { priceImpact }),\n ...includeIfTruthy(relayerFee, { relayerFee }),\n ...includeIfTruthy(includedTxFees, { includedTxFees }),\n };\n\n if (\n migrationPhase === QuoteMetadataMigrationPhase.V1Data ||\n !isQuoteResponseV2(quoteResponse)\n ) {\n return legacyMetadata;\n }\n\n const { quote } = quoteResponse;\n const { src, dest, priceData, feeData } = quote;\n const { network, relayer, txFee } = feeData;\n\n const totalNetworkFeeV2 = sumAmounts(network, relayer);\n\n // Build V1 from V2 quote\n const v2Metadata: QuoteMetadata = {\n ...includeIfTruthy(src, {\n sentAmount: toTokenAmountValues(src),\n }),\n ...includeIfTruthy(dest, {\n toTokenAmount: toTokenAmountValues(dest),\n minToTokenAmount: {\n amount: dest.minAmountNormalized,\n valueInCurrency: dest.minAmountValueInCurrency,\n usd: dest.minAmountUsd,\n },\n }),\n ...includeIfTruthy(priceData?.adjustedReturn, {\n adjustedReturn: toTokenAmountValues(priceData?.adjustedReturn),\n }),\n ...includeIfTruthy(network?.[0], {\n gasFee: {\n total: toTokenAmountValues(network?.[0]),\n },\n }),\n ...includeIfTruthy(totalNetworkFeeV2, {\n totalNetworkFee: toTokenAmountValues(totalNetworkFeeV2),\n }),\n ...includeIfTruthy(priceData?.priceImpact, {\n priceImpact: toTokenAmountValues(priceData?.priceImpact),\n // Use priceImpact as cost\n cost: toTokenAmountValues(priceData?.priceImpact),\n }),\n ...includeIfTruthy(relayer?.[0], {\n relayerFee: toTokenAmountValues(relayer?.[0]),\n }),\n ...includeIfTruthy(txFee?.[0], {\n includedTxFees: toTokenAmountValues(txFee?.[0]),\n }),\n ...(priceData?.swapRate && { swapRate: priceData.swapRate }),\n };\n\n if (migrationPhase === QuoteMetadataMigrationPhase.V2WithV1Fallback) {\n return merge({}, legacyMetadata, v2Metadata);\n }\n\n return v2Metadata;\n};\n"]}
|
|
@@ -2,12 +2,14 @@ import type { DeepPartial } from "../../types.cjs";
|
|
|
2
2
|
import type { QuoteResponseV1 } from "../../validators/quote-response-v1.cjs";
|
|
3
3
|
import type { QuoteResponse } from "../../validators/quote-response.cjs";
|
|
4
4
|
import type { QuoteMetadata } from "./types.cjs";
|
|
5
|
+
import { QuoteMetadataMigrationPhase } from "./types.cjs";
|
|
5
6
|
/**
|
|
6
7
|
* Extracts legacy {@link QuoteMetadata} values from a {@link QuoteResponse} or {@link QuoteResponseV1}.
|
|
7
8
|
* If a QuoteResponse is provided, this assumes that its `valueInCurrency` properties are set.
|
|
8
9
|
*
|
|
9
10
|
* @param quoteResponse - The quote to extract the metadata from
|
|
11
|
+
* @param migrationPhase - The migration phase to use
|
|
10
12
|
* @returns A partial {@link QuoteMetadata} object
|
|
11
13
|
*/
|
|
12
|
-
export declare const toQuoteMetadataV1: (quoteResponse: (DeepPartial<QuoteResponse | QuoteResponseV1> & QuoteMetadata) | null) => QuoteMetadata;
|
|
14
|
+
export declare const toQuoteMetadataV1: (quoteResponse: (DeepPartial<QuoteResponse | QuoteResponseV1> & QuoteMetadata) | null, migrationPhase?: QuoteMetadataMigrationPhase) => QuoteMetadata;
|
|
13
15
|
//# sourceMappingURL=to-quote-metadata-v1.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-quote-metadata-v1.d.cts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v1.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;
|
|
1
|
+
{"version":3,"file":"to-quote-metadata-v1.d.cts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v1.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,+CAA8C;AAE7E,OAAO,KAAK,EAAE,aAAa,EAAE,4CAA2C;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAqB,oBAAmB;AACnE,OAAO,EAAE,2BAA2B,EAAE,oBAAmB;AAYzD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,kBAExB,CAAC,YAAY,aAAa,GAAG,eAAe,CAAC,GAAG,aAAa,CAAC,GAC9D,IAAI,mBACQ,2BAA2B,KAC1C,aA0FF,CAAC"}
|
|
@@ -2,12 +2,14 @@ import type { DeepPartial } from "../../types.mjs";
|
|
|
2
2
|
import type { QuoteResponseV1 } from "../../validators/quote-response-v1.mjs";
|
|
3
3
|
import type { QuoteResponse } from "../../validators/quote-response.mjs";
|
|
4
4
|
import type { QuoteMetadata } from "./types.mjs";
|
|
5
|
+
import { QuoteMetadataMigrationPhase } from "./types.mjs";
|
|
5
6
|
/**
|
|
6
7
|
* Extracts legacy {@link QuoteMetadata} values from a {@link QuoteResponse} or {@link QuoteResponseV1}.
|
|
7
8
|
* If a QuoteResponse is provided, this assumes that its `valueInCurrency` properties are set.
|
|
8
9
|
*
|
|
9
10
|
* @param quoteResponse - The quote to extract the metadata from
|
|
11
|
+
* @param migrationPhase - The migration phase to use
|
|
10
12
|
* @returns A partial {@link QuoteMetadata} object
|
|
11
13
|
*/
|
|
12
|
-
export declare const toQuoteMetadataV1: (quoteResponse: (DeepPartial<QuoteResponse | QuoteResponseV1> & QuoteMetadata) | null) => QuoteMetadata;
|
|
14
|
+
export declare const toQuoteMetadataV1: (quoteResponse: (DeepPartial<QuoteResponse | QuoteResponseV1> & QuoteMetadata) | null, migrationPhase?: QuoteMetadataMigrationPhase) => QuoteMetadata;
|
|
13
15
|
//# sourceMappingURL=to-quote-metadata-v1.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-quote-metadata-v1.d.mts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v1.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;
|
|
1
|
+
{"version":3,"file":"to-quote-metadata-v1.d.mts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v1.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,+CAA8C;AAE7E,OAAO,KAAK,EAAE,aAAa,EAAE,4CAA2C;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAqB,oBAAmB;AACnE,OAAO,EAAE,2BAA2B,EAAE,oBAAmB;AAYzD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,kBAExB,CAAC,YAAY,aAAa,GAAG,eAAe,CAAC,GAAG,aAAa,CAAC,GAC9D,IAAI,mBACQ,2BAA2B,KAC1C,aA0FF,CAAC"}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import $lodash from "lodash";
|
|
2
2
|
const { merge } = $lodash;
|
|
3
|
+
import { isQuoteResponseV2 } from "../../validators/quote-response.mjs";
|
|
4
|
+
import { sumAmounts } from "../number-formatters.mjs";
|
|
5
|
+
import { includeIfTruthy } from "./include-if-truthy.mjs";
|
|
6
|
+
import { QuoteMetadataMigrationPhase } from "./types.mjs";
|
|
7
|
+
const toTokenAmountValues = (data) => {
|
|
8
|
+
return {
|
|
9
|
+
amount: data?.normalizedAmount,
|
|
10
|
+
usd: data?.usd,
|
|
11
|
+
valueInCurrency: data?.valueInCurrency,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
3
14
|
/**
|
|
4
15
|
* Extracts legacy {@link QuoteMetadata} values from a {@link QuoteResponse} or {@link QuoteResponseV1}.
|
|
5
16
|
* If a QuoteResponse is provided, this assumes that its `valueInCurrency` properties are set.
|
|
6
17
|
*
|
|
7
18
|
* @param quoteResponse - The quote to extract the metadata from
|
|
19
|
+
* @param migrationPhase - The migration phase to use
|
|
8
20
|
* @returns A partial {@link QuoteMetadata} object
|
|
9
21
|
*/
|
|
10
|
-
export const toQuoteMetadataV1 = (quoteResponse) => {
|
|
22
|
+
export const toQuoteMetadataV1 = (quoteResponse, migrationPhase = QuoteMetadataMigrationPhase.V1Data) => {
|
|
11
23
|
/* istanbul ignore if */
|
|
12
24
|
if (!quoteResponse) {
|
|
13
25
|
return {};
|
|
@@ -20,21 +32,60 @@ export const toQuoteMetadataV1 = (quoteResponse) => {
|
|
|
20
32
|
swapRate,
|
|
21
33
|
gasFee,
|
|
22
34
|
totalNetworkFee,
|
|
23
|
-
...(adjustedReturn
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
...(
|
|
27
|
-
...(
|
|
28
|
-
? { priceImpact }
|
|
29
|
-
: {}),
|
|
30
|
-
...(relayerFee && Object.values(relayerFee).some(Boolean)
|
|
31
|
-
? { relayerFee }
|
|
32
|
-
: {}),
|
|
33
|
-
...(includedTxFees && Object.values(includedTxFees).some(Boolean)
|
|
34
|
-
? { includedTxFees }
|
|
35
|
-
: {}),
|
|
35
|
+
...includeIfTruthy(adjustedReturn, { adjustedReturn }),
|
|
36
|
+
...includeIfTruthy(cost, { cost }),
|
|
37
|
+
...includeIfTruthy(priceImpact, { priceImpact }),
|
|
38
|
+
...includeIfTruthy(relayerFee, { relayerFee }),
|
|
39
|
+
...includeIfTruthy(includedTxFees, { includedTxFees }),
|
|
36
40
|
};
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
if (migrationPhase === QuoteMetadataMigrationPhase.V1Data ||
|
|
42
|
+
!isQuoteResponseV2(quoteResponse)) {
|
|
43
|
+
return legacyMetadata;
|
|
44
|
+
}
|
|
45
|
+
const { quote } = quoteResponse;
|
|
46
|
+
const { src, dest, priceData, feeData } = quote;
|
|
47
|
+
const { network, relayer, txFee } = feeData;
|
|
48
|
+
const totalNetworkFeeV2 = sumAmounts(network, relayer);
|
|
49
|
+
// Build V1 from V2 quote
|
|
50
|
+
const v2Metadata = {
|
|
51
|
+
...includeIfTruthy(src, {
|
|
52
|
+
sentAmount: toTokenAmountValues(src),
|
|
53
|
+
}),
|
|
54
|
+
...includeIfTruthy(dest, {
|
|
55
|
+
toTokenAmount: toTokenAmountValues(dest),
|
|
56
|
+
minToTokenAmount: {
|
|
57
|
+
amount: dest.minAmountNormalized,
|
|
58
|
+
valueInCurrency: dest.minAmountValueInCurrency,
|
|
59
|
+
usd: dest.minAmountUsd,
|
|
60
|
+
},
|
|
61
|
+
}),
|
|
62
|
+
...includeIfTruthy(priceData?.adjustedReturn, {
|
|
63
|
+
adjustedReturn: toTokenAmountValues(priceData?.adjustedReturn),
|
|
64
|
+
}),
|
|
65
|
+
...includeIfTruthy(network?.[0], {
|
|
66
|
+
gasFee: {
|
|
67
|
+
total: toTokenAmountValues(network?.[0]),
|
|
68
|
+
},
|
|
69
|
+
}),
|
|
70
|
+
...includeIfTruthy(totalNetworkFeeV2, {
|
|
71
|
+
totalNetworkFee: toTokenAmountValues(totalNetworkFeeV2),
|
|
72
|
+
}),
|
|
73
|
+
...includeIfTruthy(priceData?.priceImpact, {
|
|
74
|
+
priceImpact: toTokenAmountValues(priceData?.priceImpact),
|
|
75
|
+
// Use priceImpact as cost
|
|
76
|
+
cost: toTokenAmountValues(priceData?.priceImpact),
|
|
77
|
+
}),
|
|
78
|
+
...includeIfTruthy(relayer?.[0], {
|
|
79
|
+
relayerFee: toTokenAmountValues(relayer?.[0]),
|
|
80
|
+
}),
|
|
81
|
+
...includeIfTruthy(txFee?.[0], {
|
|
82
|
+
includedTxFees: toTokenAmountValues(txFee?.[0]),
|
|
83
|
+
}),
|
|
84
|
+
...(priceData?.swapRate && { swapRate: priceData.swapRate }),
|
|
85
|
+
};
|
|
86
|
+
if (migrationPhase === QuoteMetadataMigrationPhase.V2WithV1Fallback) {
|
|
87
|
+
return merge({}, legacyMetadata, v2Metadata);
|
|
88
|
+
}
|
|
89
|
+
return v2Metadata;
|
|
39
90
|
};
|
|
40
91
|
//# sourceMappingURL=to-quote-metadata-v1.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-quote-metadata-v1.mjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v1.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"to-quote-metadata-v1.mjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v1.ts"],"names":[],"mappings":"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","sourcesContent":["import { merge } from 'lodash';\n\nimport type { DeepPartial } from '../../types.js';\nimport type { AmountsAndAsset } from '../../validators/amount-and-asset.js';\nimport type { QuoteResponseV1 } from '../../validators/quote-response-v1.js';\nimport { isQuoteResponseV2 } from '../../validators/quote-response.js';\nimport type { QuoteResponse } from '../../validators/quote-response.js';\nimport { sumAmounts } from '../number-formatters.js';\nimport { includeIfTruthy } from './include-if-truthy.js';\nimport type { QuoteMetadata, TokenAmountValues } from './types.js';\nimport { QuoteMetadataMigrationPhase } from './types.js';\n\nconst toTokenAmountValues = (\n data?: Pick<AmountsAndAsset, 'normalizedAmount' | 'usd' | 'valueInCurrency'>,\n): Partial<TokenAmountValues> => {\n return {\n amount: data?.normalizedAmount,\n usd: data?.usd,\n valueInCurrency: data?.valueInCurrency,\n };\n};\n\n/**\n * Extracts legacy {@link QuoteMetadata} values from a {@link QuoteResponse} or {@link QuoteResponseV1}.\n * If a QuoteResponse is provided, this assumes that its `valueInCurrency` properties are set.\n *\n * @param quoteResponse - The quote to extract the metadata from\n * @param migrationPhase - The migration phase to use\n * @returns A partial {@link QuoteMetadata} object\n */\nexport const toQuoteMetadataV1 = (\n quoteResponse:\n | (DeepPartial<QuoteResponse | QuoteResponseV1> & QuoteMetadata)\n | null,\n migrationPhase: QuoteMetadataMigrationPhase = QuoteMetadataMigrationPhase.V1Data,\n): QuoteMetadata => {\n /* istanbul ignore if */\n if (!quoteResponse) {\n return {};\n }\n\n const {\n toTokenAmount,\n minToTokenAmount,\n sentAmount,\n swapRate,\n adjustedReturn,\n cost,\n includedTxFees,\n relayerFee,\n totalNetworkFee,\n gasFee,\n priceImpact,\n } = quoteResponse;\n\n const legacyMetadata = {\n sentAmount,\n toTokenAmount,\n minToTokenAmount,\n swapRate,\n gasFee,\n totalNetworkFee,\n ...includeIfTruthy(adjustedReturn, { adjustedReturn }),\n ...includeIfTruthy(cost, { cost }),\n ...includeIfTruthy(priceImpact, { priceImpact }),\n ...includeIfTruthy(relayerFee, { relayerFee }),\n ...includeIfTruthy(includedTxFees, { includedTxFees }),\n };\n\n if (\n migrationPhase === QuoteMetadataMigrationPhase.V1Data ||\n !isQuoteResponseV2(quoteResponse)\n ) {\n return legacyMetadata;\n }\n\n const { quote } = quoteResponse;\n const { src, dest, priceData, feeData } = quote;\n const { network, relayer, txFee } = feeData;\n\n const totalNetworkFeeV2 = sumAmounts(network, relayer);\n\n // Build V1 from V2 quote\n const v2Metadata: QuoteMetadata = {\n ...includeIfTruthy(src, {\n sentAmount: toTokenAmountValues(src),\n }),\n ...includeIfTruthy(dest, {\n toTokenAmount: toTokenAmountValues(dest),\n minToTokenAmount: {\n amount: dest.minAmountNormalized,\n valueInCurrency: dest.minAmountValueInCurrency,\n usd: dest.minAmountUsd,\n },\n }),\n ...includeIfTruthy(priceData?.adjustedReturn, {\n adjustedReturn: toTokenAmountValues(priceData?.adjustedReturn),\n }),\n ...includeIfTruthy(network?.[0], {\n gasFee: {\n total: toTokenAmountValues(network?.[0]),\n },\n }),\n ...includeIfTruthy(totalNetworkFeeV2, {\n totalNetworkFee: toTokenAmountValues(totalNetworkFeeV2),\n }),\n ...includeIfTruthy(priceData?.priceImpact, {\n priceImpact: toTokenAmountValues(priceData?.priceImpact),\n // Use priceImpact as cost\n cost: toTokenAmountValues(priceData?.priceImpact),\n }),\n ...includeIfTruthy(relayer?.[0], {\n relayerFee: toTokenAmountValues(relayer?.[0]),\n }),\n ...includeIfTruthy(txFee?.[0], {\n includedTxFees: toTokenAmountValues(txFee?.[0]),\n }),\n ...(priceData?.swapRate && { swapRate: priceData.swapRate }),\n };\n\n if (migrationPhase === QuoteMetadataMigrationPhase.V2WithV1Fallback) {\n return merge({}, legacyMetadata, v2Metadata);\n }\n\n return v2Metadata;\n};\n"]}
|
|
@@ -5,6 +5,16 @@ const utils_1 = require("@metamask/utils");
|
|
|
5
5
|
const quote_response_v1_to_v2_js_1 = require("../../coercers/quote-response-v1-to-v2.cjs");
|
|
6
6
|
const bridge_js_1 = require("../bridge.cjs");
|
|
7
7
|
const number_formatters_js_1 = require("../number-formatters.cjs");
|
|
8
|
+
const include_if_truthy_js_1 = require("./include-if-truthy.cjs");
|
|
9
|
+
const toAmountAndAsset = (asset, metadata, extraFields) => {
|
|
10
|
+
return {
|
|
11
|
+
amount: (0, number_formatters_js_1.calcAtomicTokenAmount)(metadata?.amount, asset?.decimals),
|
|
12
|
+
normalizedAmount: metadata?.amount,
|
|
13
|
+
valueInCurrency: metadata?.valueInCurrency,
|
|
14
|
+
usd: metadata?.usd,
|
|
15
|
+
...extraFields,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
8
18
|
/**
|
|
9
19
|
* Converts a {@link QuoteMetadata} to a partial {@link QuoteResponse} containing only metadata
|
|
10
20
|
*
|
|
@@ -31,68 +41,39 @@ const toQuoteMetadataV2 = (quoteMetadata, quoteResponseV2) => {
|
|
|
31
41
|
return {
|
|
32
42
|
...rest,
|
|
33
43
|
quote: {
|
|
34
|
-
src:
|
|
35
|
-
amount: (0, number_formatters_js_1.calcAtomicTokenAmount)(sentAmount?.amount, srcAsset?.decimals),
|
|
36
|
-
normalizedAmount: sentAmount?.amount,
|
|
37
|
-
valueInCurrency: sentAmount?.valueInCurrency,
|
|
38
|
-
usd: sentAmount?.usd,
|
|
39
|
-
},
|
|
44
|
+
src: toAmountAndAsset(srcAsset, sentAmount),
|
|
40
45
|
dest: {
|
|
41
|
-
|
|
42
|
-
normalizedAmount: toTokenAmount?.amount,
|
|
43
|
-
valueInCurrency: toTokenAmount?.valueInCurrency,
|
|
44
|
-
usd: toTokenAmount?.usd,
|
|
46
|
+
...toAmountAndAsset(destAsset, toTokenAmount),
|
|
45
47
|
minAmount: (0, number_formatters_js_1.calcAtomicTokenAmount)(minToTokenAmount?.amount, destAsset?.decimals),
|
|
46
48
|
minAmountNormalized: minToTokenAmount?.amount,
|
|
47
49
|
minAmountUsd: minToTokenAmount?.usd,
|
|
48
50
|
minAmountValueInCurrency: minToTokenAmount?.valueInCurrency,
|
|
49
51
|
},
|
|
50
52
|
feeData: {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
normalizedAmount: networkFeeToUse?.amount,
|
|
55
|
-
valueInCurrency: networkFeeToUse?.valueInCurrency,
|
|
56
|
-
usd: networkFeeToUse?.usd,
|
|
57
|
-
asset: nativeAsset,
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
...(relayerFee &&
|
|
61
|
-
Object.values(relayerFee).some(Boolean) && {
|
|
62
|
-
relayer: [
|
|
63
|
-
{
|
|
64
|
-
amount: (0, number_formatters_js_1.calcAtomicTokenAmount)(relayerFee?.amount, nativeAsset?.decimals),
|
|
65
|
-
normalizedAmount: relayerFee.amount,
|
|
66
|
-
valueInCurrency: relayerFee.valueInCurrency,
|
|
67
|
-
usd: relayerFee.usd,
|
|
53
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(networkFeeToUse, {
|
|
54
|
+
network: [
|
|
55
|
+
toAmountAndAsset(nativeAsset, networkFeeToUse, {
|
|
68
56
|
asset: nativeAsset,
|
|
69
|
-
},
|
|
57
|
+
}),
|
|
58
|
+
],
|
|
59
|
+
}),
|
|
60
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(relayerFee, {
|
|
61
|
+
relayer: [
|
|
62
|
+
toAmountAndAsset(nativeAsset, relayerFee, { asset: nativeAsset }),
|
|
70
63
|
],
|
|
71
64
|
}),
|
|
72
|
-
...(includedTxFees
|
|
73
|
-
Object.values(includedTxFees).some(Boolean) && {
|
|
65
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(includedTxFees, {
|
|
74
66
|
txFee: [
|
|
75
|
-
{
|
|
76
|
-
amount: (0, number_formatters_js_1.calcAtomicTokenAmount)(includedTxFees?.amount, txFeeAsset?.decimals),
|
|
77
|
-
normalizedAmount: includedTxFees?.amount,
|
|
78
|
-
valueInCurrency: includedTxFees?.valueInCurrency,
|
|
79
|
-
usd: includedTxFees?.usd,
|
|
80
|
-
asset: txFeeAsset,
|
|
81
|
-
},
|
|
67
|
+
toAmountAndAsset(txFeeAsset, includedTxFees, { asset: txFeeAsset }),
|
|
82
68
|
],
|
|
83
69
|
}),
|
|
84
70
|
},
|
|
85
71
|
priceData: {
|
|
86
|
-
...(priceImpactToUse
|
|
87
|
-
Object.values(priceImpactToUse).some(Boolean) && {
|
|
72
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(priceImpactToUse, {
|
|
88
73
|
priceImpact: priceImpactToUse,
|
|
89
74
|
}),
|
|
90
|
-
...(adjustedReturn
|
|
91
|
-
|
|
92
|
-
adjustedReturn: {
|
|
93
|
-
valueInCurrency: adjustedReturn?.valueInCurrency,
|
|
94
|
-
usd: adjustedReturn?.usd,
|
|
95
|
-
},
|
|
75
|
+
...(0, include_if_truthy_js_1.includeIfTruthy)(adjustedReturn, {
|
|
76
|
+
adjustedReturn,
|
|
96
77
|
}),
|
|
97
78
|
swapRate,
|
|
98
79
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-quote-metadata-v2.cjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v2.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAErD,2FAA4E;
|
|
1
|
+
{"version":3,"file":"to-quote-metadata-v2.cjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v2.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseCaipAssetType } from '@metamask/utils';\n\nimport { toBridgeAssetV2 } from '../../coercers/quote-response-v1-to-v2.js';\nimport type { DeepPartial } from '../../types.js';\nimport type { AmountsAndAsset } from '../../validators/amount-and-asset.js';\nimport type { BridgeAssetV2 } from '../../validators/bridge-asset.js';\nimport type { QuoteResponse } from '../../validators/quote-response.js';\nimport { getNativeAssetForChainId } from '../bridge.js';\nimport { calcAtomicTokenAmount } from '../number-formatters.js';\nimport { includeIfTruthy } from './include-if-truthy.js';\nimport type { QuoteMetadata, TokenAmountValues } from './types.js';\n\nconst toAmountAndAsset = (\n asset?: DeepPartial<BridgeAssetV2>,\n metadata?: Partial<TokenAmountValues>,\n extraFields?: DeepPartial<AmountsAndAsset>,\n): DeepPartial<AmountsAndAsset> => {\n return {\n amount: calcAtomicTokenAmount(metadata?.amount, asset?.decimals),\n normalizedAmount: metadata?.amount,\n valueInCurrency: metadata?.valueInCurrency,\n usd: metadata?.usd,\n ...extraFields,\n };\n};\n\n/**\n * Converts a {@link QuoteMetadata} to a partial {@link QuoteResponse} containing only metadata\n *\n * @param quoteMetadata - The {@link QuoteMetadata} to convert\n * @param quoteResponseV2 - The {@link QuoteResponse} to use for token data\n * @returns The {@link DeepPartial<QuoteResponse>}\n */\nexport const toQuoteMetadataV2 = (\n quoteMetadata: QuoteMetadata,\n quoteResponseV2?: DeepPartial<QuoteResponse>,\n): DeepPartial<QuoteResponse> => {\n const {\n sentAmount,\n toTokenAmount,\n minToTokenAmount,\n swapRate,\n totalNetworkFee,\n gasFee,\n adjustedReturn,\n cost,\n includedTxFees,\n relayerFee,\n priceImpact,\n ...rest\n } = quoteMetadata;\n\n const srcAsset = quoteResponseV2?.quote?.src?.asset;\n const destAsset = quoteResponseV2?.quote?.dest?.asset;\n\n const chainId = srcAsset?.assetId\n ? parseCaipAssetType(srcAsset.assetId)?.chainId\n : undefined;\n const nativeAsset = chainId\n ? toBridgeAssetV2(getNativeAssetForChainId(chainId))\n : undefined;\n const txFeeAsset = quoteResponseV2?.quote?.feeData?.txFee?.[0]?.asset;\n\n const priceImpactToUse = {\n usd: priceImpact?.usd ?? cost?.usd,\n valueInCurrency: priceImpact?.valueInCurrency ?? cost?.valueInCurrency,\n };\n const networkFeeToUse = gasFee?.total ?? totalNetworkFee;\n\n return {\n ...rest,\n quote: {\n src: toAmountAndAsset(srcAsset, sentAmount),\n dest: {\n ...toAmountAndAsset(destAsset, toTokenAmount),\n minAmount: calcAtomicTokenAmount(\n minToTokenAmount?.amount,\n destAsset?.decimals,\n ),\n minAmountNormalized: minToTokenAmount?.amount,\n minAmountUsd: minToTokenAmount?.usd,\n minAmountValueInCurrency: minToTokenAmount?.valueInCurrency,\n },\n feeData: {\n ...includeIfTruthy(networkFeeToUse, {\n network: [\n toAmountAndAsset(nativeAsset, networkFeeToUse, {\n asset: nativeAsset,\n }),\n ],\n }),\n ...includeIfTruthy(relayerFee, {\n relayer: [\n toAmountAndAsset(nativeAsset, relayerFee, { asset: nativeAsset }),\n ],\n }),\n ...includeIfTruthy(includedTxFees, {\n txFee: [\n toAmountAndAsset(txFeeAsset, includedTxFees, { asset: txFeeAsset }),\n ],\n }),\n },\n priceData: {\n ...includeIfTruthy(priceImpactToUse, {\n priceImpact: priceImpactToUse,\n }),\n ...includeIfTruthy(adjustedReturn, {\n adjustedReturn,\n }),\n swapRate,\n },\n },\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-quote-metadata-v2.d.cts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v2.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;
|
|
1
|
+
{"version":3,"file":"to-quote-metadata-v2.d.cts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v2.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,4CAA2C;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAqB,oBAAmB;AAgBnE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,kBACb,aAAa,oBACV,YAAY,aAAa,CAAC,KAC3C,YAAY,aAAa,CA6E3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-quote-metadata-v2.d.mts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v2.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;
|
|
1
|
+
{"version":3,"file":"to-quote-metadata-v2.d.mts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-quote-metadata-v2.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,4CAA2C;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAqB,oBAAmB;AAgBnE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,kBACb,aAAa,oBACV,YAAY,aAAa,CAAC,KAC3C,YAAY,aAAa,CA6E3B,CAAC"}
|