@metamask-previews/bridge-controller 79.2.0-preview-9efd0b754 → 79.2.0-preview-4e64b66e8

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 (74) hide show
  1. package/CHANGELOG.md +1 -6
  2. package/dist/coercers/quote-response-v1-to-v2.cjs +4 -4
  3. package/dist/coercers/quote-response-v1-to-v2.cjs.map +1 -1
  4. package/dist/coercers/quote-response-v1-to-v2.mjs +4 -4
  5. package/dist/coercers/quote-response-v1-to-v2.mjs.map +1 -1
  6. package/dist/index.cjs +9 -11
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.cts +1 -2
  9. package/dist/index.d.cts.map +1 -1
  10. package/dist/index.d.mts +1 -2
  11. package/dist/index.d.mts.map +1 -1
  12. package/dist/index.mjs +0 -1
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/selectors.cjs +4 -43
  15. package/dist/selectors.cjs.map +1 -1
  16. package/dist/selectors.d.cts +114 -1209
  17. package/dist/selectors.d.cts.map +1 -1
  18. package/dist/selectors.d.mts +114 -1209
  19. package/dist/selectors.d.mts.map +1 -1
  20. package/dist/selectors.mjs +4 -43
  21. package/dist/selectors.mjs.map +1 -1
  22. package/dist/utils/quote-metadata/calculators.cjs +14 -10
  23. package/dist/utils/quote-metadata/calculators.cjs.map +1 -1
  24. package/dist/utils/quote-metadata/calculators.d.cts.map +1 -1
  25. package/dist/utils/quote-metadata/calculators.d.mts.map +1 -1
  26. package/dist/utils/quote-metadata/calculators.mjs +14 -10
  27. package/dist/utils/quote-metadata/calculators.mjs.map +1 -1
  28. package/dist/utils/quote-metadata/merge.cjs +10 -36
  29. package/dist/utils/quote-metadata/merge.cjs.map +1 -1
  30. package/dist/utils/quote-metadata/merge.d.cts +3 -6
  31. package/dist/utils/quote-metadata/merge.d.cts.map +1 -1
  32. package/dist/utils/quote-metadata/merge.d.mts +3 -6
  33. package/dist/utils/quote-metadata/merge.d.mts.map +1 -1
  34. package/dist/utils/quote-metadata/merge.mjs +10 -36
  35. package/dist/utils/quote-metadata/merge.mjs.map +1 -1
  36. package/dist/utils/quote-metadata/to-quote-metadata-v1.cjs +16 -65
  37. package/dist/utils/quote-metadata/to-quote-metadata-v1.cjs.map +1 -1
  38. package/dist/utils/quote-metadata/to-quote-metadata-v1.d.cts +1 -3
  39. package/dist/utils/quote-metadata/to-quote-metadata-v1.d.cts.map +1 -1
  40. package/dist/utils/quote-metadata/to-quote-metadata-v1.d.mts +1 -3
  41. package/dist/utils/quote-metadata/to-quote-metadata-v1.d.mts.map +1 -1
  42. package/dist/utils/quote-metadata/to-quote-metadata-v1.mjs +16 -65
  43. package/dist/utils/quote-metadata/to-quote-metadata-v1.mjs.map +1 -1
  44. package/dist/utils/quote-metadata/to-quote-metadata-v2.cjs +45 -26
  45. package/dist/utils/quote-metadata/to-quote-metadata-v2.cjs.map +1 -1
  46. package/dist/utils/quote-metadata/to-quote-metadata-v2.d.cts.map +1 -1
  47. package/dist/utils/quote-metadata/to-quote-metadata-v2.d.mts.map +1 -1
  48. package/dist/utils/quote-metadata/to-quote-metadata-v2.mjs +45 -26
  49. package/dist/utils/quote-metadata/to-quote-metadata-v2.mjs.map +1 -1
  50. package/dist/utils/quote-metadata/types.cjs +0 -16
  51. package/dist/utils/quote-metadata/types.cjs.map +1 -1
  52. package/dist/utils/quote-metadata/types.d.cts +0 -21
  53. package/dist/utils/quote-metadata/types.d.cts.map +1 -1
  54. package/dist/utils/quote-metadata/types.d.mts +0 -21
  55. package/dist/utils/quote-metadata/types.d.mts.map +1 -1
  56. package/dist/utils/quote-metadata/types.mjs +1 -15
  57. package/dist/utils/quote-metadata/types.mjs.map +1 -1
  58. package/package.json +2 -2
  59. package/dist/utils/quote-metadata/include-if-truthy.cjs +0 -14
  60. package/dist/utils/quote-metadata/include-if-truthy.cjs.map +0 -1
  61. package/dist/utils/quote-metadata/include-if-truthy.d.cts +0 -2
  62. package/dist/utils/quote-metadata/include-if-truthy.d.cts.map +0 -1
  63. package/dist/utils/quote-metadata/include-if-truthy.d.mts +0 -2
  64. package/dist/utils/quote-metadata/include-if-truthy.d.mts.map +0 -1
  65. package/dist/utils/quote-metadata/include-if-truthy.mjs +0 -10
  66. package/dist/utils/quote-metadata/include-if-truthy.mjs.map +0 -1
  67. package/dist/utils/quote-metadata/to-currency-values.cjs +0 -60
  68. package/dist/utils/quote-metadata/to-currency-values.cjs.map +0 -1
  69. package/dist/utils/quote-metadata/to-currency-values.d.cts +0 -12
  70. package/dist/utils/quote-metadata/to-currency-values.d.cts.map +0 -1
  71. package/dist/utils/quote-metadata/to-currency-values.d.mts +0 -12
  72. package/dist/utils/quote-metadata/to-currency-values.d.mts.map +0 -1
  73. package/dist/utils/quote-metadata/to-currency-values.mjs +0 -56
  74. package/dist/utils/quote-metadata/to-currency-values.mjs.map +0 -1
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.includeIfTruthy = void 0;
4
- const includeIfTruthy = (value, result) => {
5
- if (!value) {
6
- return undefined;
7
- }
8
- if (Object.values(value).some(Boolean)) {
9
- return result;
10
- }
11
- return undefined;
12
- };
13
- exports.includeIfTruthy = includeIfTruthy;
14
- //# 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":";;;AAAO,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":["export 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,2 +0,0 @@
1
- export declare const includeIfTruthy: <ResultType extends Record<string, unknown>>(value: Record<string, unknown> | undefined, result: ResultType) => ResultType | undefined;
2
- //# 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,eAAO,MAAM,eAAe,sDACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,+CAY3C,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const includeIfTruthy: <ResultType extends Record<string, unknown>>(value: Record<string, unknown> | undefined, result: ResultType) => ResultType | undefined;
2
- //# 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,eAAO,MAAM,eAAe,sDACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,+CAY3C,CAAC"}
@@ -1,10 +0,0 @@
1
- export const includeIfTruthy = (value, result) => {
2
- if (!value) {
3
- return undefined;
4
- }
5
- if (Object.values(value).some(Boolean)) {
6
- return result;
7
- }
8
- return undefined;
9
- };
10
- //# 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,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":["export 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"]}