@metamask-previews/bridge-controller 77.6.0-preview-41e84b094 → 77.6.0-preview-47e51e2d9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"number-formatters.cjs","sourceRoot":"","sources":["../../src/utils/number-formatters.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { BigNumber } from 'bignumber.js';\n\nimport { DeepPartial } from '../types';\nimport type { QuoteResponse } from '../validators/quote-response';\n\n/**\n * 1500000 -> 1.5\n *\n * @param value - The value to convert to token amount\n * @param decimals - The number of decimals to convert to\n * @returns The token amount in string format\n */\nexport const calcTokenAmount = (\n value: string | BigNumber | undefined,\n decimals: number | undefined,\n) => {\n if (value === undefined || decimals === undefined) {\n return undefined;\n }\n const divisor = new BigNumber(10).pow(decimals ?? 0);\n return new BigNumber(value).div(divisor);\n};\n\n/**\n * 1.5 -> 1500000\n *\n * @param value - The amount to convert to token value\n * @param decimals - The number of decimals to convert to\n * @returns The token value in string format\n */\nexport const calcTokenValue = (\n value: string | BigNumber | undefined,\n decimals: number | undefined,\n) => {\n if (value === undefined || decimals === undefined) {\n return undefined;\n }\n const divisor = new BigNumber(10).pow(decimals ?? 0);\n return new BigNumber(value).times(divisor).toFixed();\n};\n\n/**\n * @deprecated No longer used\n * @param estimatedProcessingTimeInSeconds - The estimated processing time in seconds\n * @returns The estimated processing time in minutes\n */\nexport const formatEtaInMinutes = (\n estimatedProcessingTimeInSeconds: number,\n) => {\n if (estimatedProcessingTimeInSeconds < 60) {\n return `< 1`;\n }\n return (estimatedProcessingTimeInSeconds / 60).toFixed();\n};\n\n/**\n * Aggregates a list of amounts into a single fee object. If fees have different assets,\n * the returned object will only aggregate the usd and valueInCurrency values.\n *\n * @param maybeFees - The list of fees to aggregate\n * @returns The aggregated fee object, or null if no fees are provided\n */\nexport const sumAmounts = (\n ...maybeFees: (\n | DeepPartial<QuoteResponse['quote']['dest']>\n | undefined\n | null\n )[][]\n) => {\n const fees = maybeFees\n .flat()\n .flat()\n .filter((value) => value !== undefined && value !== null) as DeepPartial<\n QuoteResponse['quote']['dest']\n >[];\n\n if (!fees || fees.length === 0) {\n return undefined;\n }\n\n const isSameAssetForAllFees =\n new Set(fees.map(({ asset }) => asset?.assetId?.toLowerCase())).size === 1;\n\n const aggregatedFee = fees.reduce(\n (\n acc,\n {\n amount,\n valueInCurrency,\n usd,\n normalizedAmount,\n minAmount,\n minAmountNormalized,\n minAmountValueInCurrency,\n minAmountUsd,\n },\n ) => {\n return {\n amount: acc.amount.plus(amount ?? 0),\n normalizedAmount: acc.normalizedAmount.plus(normalizedAmount ?? 0),\n valueInCurrency: acc.valueInCurrency.plus(valueInCurrency ?? 0),\n usd: usd ? acc.usd.plus(usd) : acc.usd,\n minAmount: acc.minAmount.plus(minAmount ?? 0),\n minAmountNormalized: acc.minAmountNormalized.plus(\n minAmountNormalized ?? 0,\n ),\n minAmountValueInCurrency: acc.minAmountValueInCurrency.plus(\n minAmountValueInCurrency ?? 0,\n ),\n minAmountUsd: acc.minAmountUsd.plus(minAmountUsd ?? 0),\n asset: isSameAssetForAllFees ? fees[0]?.asset : undefined,\n };\n },\n {\n amount: new BigNumber(0),\n normalizedAmount: new BigNumber(0),\n valueInCurrency: new BigNumber(0),\n usd: new BigNumber(0),\n minAmount: new BigNumber(0),\n minAmountNormalized: new BigNumber(0),\n minAmountValueInCurrency: new BigNumber(0),\n minAmountUsd: new BigNumber(0),\n },\n );\n\n return {\n amount: isSameAssetForAllFees ? aggregatedFee.amount.toFixed() : undefined,\n normalizedAmount: isSameAssetForAllFees\n ? aggregatedFee.normalizedAmount.toFixed()\n : undefined,\n valueInCurrency: aggregatedFee.valueInCurrency.toFixed(),\n usd: aggregatedFee.usd.toFixed(),\n asset: isSameAssetForAllFees ? fees[0]?.asset : undefined,\n minAmount: isSameAssetForAllFees\n ? aggregatedFee.minAmount.toFixed()\n : undefined,\n minAmountNormalized: isSameAssetForAllFees\n ? aggregatedFee.minAmountNormalized.toFixed()\n : undefined,\n minAmountValueInCurrency: aggregatedFee.minAmountValueInCurrency.toFixed(),\n minAmountUsd: aggregatedFee.minAmountUsd.toFixed(),\n };\n};\n"]}
1
+ {"version":3,"file":"number-formatters.cjs","sourceRoot":"","sources":["../../src/utils/number-formatters.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { BigNumber } from 'bignumber.js';\n\nimport { DeepPartial } from '../types';\nimport type { QuoteResponse } from '../validators/quote-response';\n\n/**\n * 1500000 -> 1.5\n *\n * @param value - The value to convert to token amount\n * @param decimals - The number of decimals to convert to\n * @returns The token amount in string format\n */\nexport const calcTokenAmount = (\n value: string | BigNumber | undefined,\n decimals: number | undefined,\n) => {\n if (value === undefined || decimals === undefined) {\n return undefined;\n }\n const divisor = new BigNumber(10).pow(decimals ?? 0);\n return new BigNumber(value).div(divisor);\n};\n\n/**\n * 1.5 -> 1500000\n *\n * @param value - The amount to convert to token value\n * @param decimals - The number of decimals to convert to\n * @returns The token value in string format\n */\nexport const calcTokenValue = (\n value: string | BigNumber | undefined,\n decimals: number | undefined,\n) => {\n if (value === undefined || decimals === undefined) {\n return undefined;\n }\n const divisor = new BigNumber(10).pow(decimals ?? 0);\n return new BigNumber(value).times(divisor).toFixed();\n};\n\n/**\n * @deprecated No longer used\n * @param estimatedProcessingTimeInSeconds - The estimated processing time in seconds\n * @returns The estimated processing time in minutes\n */\nexport const formatEtaInMinutes = (\n estimatedProcessingTimeInSeconds: number,\n) => {\n if (estimatedProcessingTimeInSeconds < 60) {\n return `< 1`;\n }\n return (estimatedProcessingTimeInSeconds / 60).toFixed();\n};\n\n/**\n * Aggregates a list of amounts into a single fee object. If fees have different assets,\n * the returned object will only aggregate the usd and valueInCurrency values.\n *\n * @param maybeFees - The list of fees to aggregate\n * @returns The aggregated fee object, or null if no fees are provided\n */\nexport const sumAmounts = (\n ...maybeFees: (\n | (DeepPartial<QuoteResponse['quote']['dest']> | undefined | null)[]\n | undefined\n )[]\n) => {\n const fees = maybeFees\n .flat()\n .flat()\n .filter((value) => value !== undefined && value !== null) as DeepPartial<\n QuoteResponse['quote']['dest']\n >[];\n\n if (!fees || fees.length === 0) {\n return undefined;\n }\n\n const isSameAssetForAllFees =\n new Set(fees.map(({ asset }) => asset?.assetId?.toLowerCase())).size === 1;\n\n const aggregatedFee = fees.reduce(\n (\n acc,\n {\n amount,\n valueInCurrency,\n usd,\n normalizedAmount,\n minAmount,\n minAmountNormalized,\n minAmountValueInCurrency,\n minAmountUsd,\n },\n ) => {\n return {\n amount: acc.amount.plus(amount ?? 0),\n normalizedAmount: acc.normalizedAmount.plus(normalizedAmount ?? 0),\n valueInCurrency: acc.valueInCurrency.plus(valueInCurrency ?? 0),\n usd: usd ? acc.usd.plus(usd) : acc.usd,\n minAmount: acc.minAmount.plus(minAmount ?? 0),\n minAmountNormalized: acc.minAmountNormalized.plus(\n minAmountNormalized ?? 0,\n ),\n minAmountValueInCurrency: acc.minAmountValueInCurrency.plus(\n minAmountValueInCurrency ?? 0,\n ),\n minAmountUsd: acc.minAmountUsd.plus(minAmountUsd ?? 0),\n asset: isSameAssetForAllFees ? fees[0]?.asset : undefined,\n };\n },\n {\n amount: new BigNumber(0),\n normalizedAmount: new BigNumber(0),\n valueInCurrency: new BigNumber(0),\n usd: new BigNumber(0),\n minAmount: new BigNumber(0),\n minAmountNormalized: new BigNumber(0),\n minAmountValueInCurrency: new BigNumber(0),\n minAmountUsd: new BigNumber(0),\n },\n );\n\n return {\n amount: isSameAssetForAllFees ? aggregatedFee.amount.toFixed() : undefined,\n normalizedAmount: isSameAssetForAllFees\n ? aggregatedFee.normalizedAmount.toFixed()\n : undefined,\n valueInCurrency: aggregatedFee.valueInCurrency.toFixed(),\n usd: aggregatedFee.usd.toFixed(),\n asset: isSameAssetForAllFees ? fees[0]?.asset : undefined,\n minAmount: isSameAssetForAllFees\n ? aggregatedFee.minAmount.toFixed()\n : undefined,\n minAmountNormalized: isSameAssetForAllFees\n ? aggregatedFee.minAmountNormalized.toFixed()\n : undefined,\n minAmountValueInCurrency: aggregatedFee.minAmountValueInCurrency.toFixed(),\n minAmountUsd: aggregatedFee.minAmountUsd.toFixed(),\n };\n};\n"]}
@@ -30,7 +30,7 @@ export declare const formatEtaInMinutes: (estimatedProcessingTimeInSeconds: numb
30
30
  * @param maybeFees - The list of fees to aggregate
31
31
  * @returns The aggregated fee object, or null if no fees are provided
32
32
  */
33
- export declare const sumAmounts: (...maybeFees: (DeepPartial<QuoteResponse['quote']['dest']> | undefined | null)[][]) => {
33
+ export declare const sumAmounts: (...maybeFees: ((DeepPartial<QuoteResponse['quote']['dest']> | undefined | null)[] | undefined)[]) => {
34
34
  amount: string | undefined;
35
35
  normalizedAmount: string | undefined;
36
36
  valueInCurrency: string;
@@ -1 +1 @@
1
- {"version":3,"file":"number-formatters.d.cts","sourceRoot":"","sources":["../../src/utils/number-formatters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,qBAAqB;AAEzC,OAAO,EAAE,WAAW,EAAE,qBAAiB;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,yCAAqC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,UACnB,MAAM,GAAG,SAAS,GAAG,SAAS,YAC3B,MAAM,GAAG,SAAS,0BAO7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAClB,MAAM,GAAG,SAAS,GAAG,SAAS,YAC3B,MAAM,GAAG,SAAS,uBAO7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,qCACK,MAAM,WAMzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,iBACP,CACV,YAAY,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAC3C,SAAS,GACT,IAAI,CACP,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA2EN,CAAC"}
1
+ {"version":3,"file":"number-formatters.d.cts","sourceRoot":"","sources":["../../src/utils/number-formatters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,qBAAqB;AAEzC,OAAO,EAAE,WAAW,EAAE,qBAAiB;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,yCAAqC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,UACnB,MAAM,GAAG,SAAS,GAAG,SAAS,YAC3B,MAAM,GAAG,SAAS,0BAO7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAClB,MAAM,GAAG,SAAS,GAAG,SAAS,YAC3B,MAAM,GAAG,SAAS,uBAO7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,qCACK,MAAM,WAMzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,iBACP,CACV,CAAC,YAAY,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,GAClE,SAAS,CACZ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA2EJ,CAAC"}
@@ -30,7 +30,7 @@ export declare const formatEtaInMinutes: (estimatedProcessingTimeInSeconds: numb
30
30
  * @param maybeFees - The list of fees to aggregate
31
31
  * @returns The aggregated fee object, or null if no fees are provided
32
32
  */
33
- export declare const sumAmounts: (...maybeFees: (DeepPartial<QuoteResponse['quote']['dest']> | undefined | null)[][]) => {
33
+ export declare const sumAmounts: (...maybeFees: ((DeepPartial<QuoteResponse['quote']['dest']> | undefined | null)[] | undefined)[]) => {
34
34
  amount: string | undefined;
35
35
  normalizedAmount: string | undefined;
36
36
  valueInCurrency: string;
@@ -1 +1 @@
1
- {"version":3,"file":"number-formatters.d.mts","sourceRoot":"","sources":["../../src/utils/number-formatters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,qBAAqB;AAEzC,OAAO,EAAE,WAAW,EAAE,qBAAiB;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,yCAAqC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,UACnB,MAAM,GAAG,SAAS,GAAG,SAAS,YAC3B,MAAM,GAAG,SAAS,0BAO7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAClB,MAAM,GAAG,SAAS,GAAG,SAAS,YAC3B,MAAM,GAAG,SAAS,uBAO7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,qCACK,MAAM,WAMzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,iBACP,CACV,YAAY,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAC3C,SAAS,GACT,IAAI,CACP,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA2EN,CAAC"}
1
+ {"version":3,"file":"number-formatters.d.mts","sourceRoot":"","sources":["../../src/utils/number-formatters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,qBAAqB;AAEzC,OAAO,EAAE,WAAW,EAAE,qBAAiB;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,yCAAqC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,UACnB,MAAM,GAAG,SAAS,GAAG,SAAS,YAC3B,MAAM,GAAG,SAAS,0BAO7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAClB,MAAM,GAAG,SAAS,GAAG,SAAS,YAC3B,MAAM,GAAG,SAAS,uBAO7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,qCACK,MAAM,WAMzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,iBACP,CACV,CAAC,YAAY,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,GAClE,SAAS,CACZ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA2EJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"number-formatters.mjs","sourceRoot":"","sources":["../../src/utils/number-formatters.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EAAE,SAAS,EAAE,qBAAqB;AAKzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAqC,EACrC,QAA4B,EAC5B,EAAE;IACF,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAqC,EACrC,QAA4B,EAC5B,EAAE;IACF,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACvD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,gCAAwC,EACxC,EAAE;IACF,IAAI,gCAAgC,GAAG,EAAE,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAC3D,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,GAAG,SAIE,EACL,EAAE;IACF,MAAM,IAAI,GAAG,SAAS;SACnB,IAAI,EAAE;SACN,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAEvD,CAAC;IAEJ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,qBAAqB,GACzB,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;IAE7E,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAC/B,CACE,GAAG,EACH,EACE,MAAM,EACN,eAAe,EACf,GAAG,EACH,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,GACb,EACD,EAAE;QACF,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YACpC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAClE,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;YAC/D,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG;YACtC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YAC7C,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAC/C,mBAAmB,IAAI,CAAC,CACzB;YACD,wBAAwB,EAAE,GAAG,CAAC,wBAAwB,CAAC,IAAI,CACzD,wBAAwB,IAAI,CAAC,CAC9B;YACD,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACtD,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;SAC1D,CAAC;IACJ,CAAC,EACD;QACE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QACxB,gBAAgB,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QAClC,eAAe,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QACjC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QACrB,SAAS,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QAC3B,mBAAmB,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QACrC,wBAAwB,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QAC1C,YAAY,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;KAC/B,CACF,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1E,gBAAgB,EAAE,qBAAqB;YACrC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,SAAS;QACb,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE;QACxD,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;QAChC,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;QACzD,SAAS,EAAE,qBAAqB;YAC9B,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;YACnC,CAAC,CAAC,SAAS;QACb,mBAAmB,EAAE,qBAAqB;YACxC,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE;YAC7C,CAAC,CAAC,SAAS;QACb,wBAAwB,EAAE,aAAa,CAAC,wBAAwB,CAAC,OAAO,EAAE;QAC1E,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE;KACnD,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { BigNumber } from 'bignumber.js';\n\nimport { DeepPartial } from '../types';\nimport type { QuoteResponse } from '../validators/quote-response';\n\n/**\n * 1500000 -> 1.5\n *\n * @param value - The value to convert to token amount\n * @param decimals - The number of decimals to convert to\n * @returns The token amount in string format\n */\nexport const calcTokenAmount = (\n value: string | BigNumber | undefined,\n decimals: number | undefined,\n) => {\n if (value === undefined || decimals === undefined) {\n return undefined;\n }\n const divisor = new BigNumber(10).pow(decimals ?? 0);\n return new BigNumber(value).div(divisor);\n};\n\n/**\n * 1.5 -> 1500000\n *\n * @param value - The amount to convert to token value\n * @param decimals - The number of decimals to convert to\n * @returns The token value in string format\n */\nexport const calcTokenValue = (\n value: string | BigNumber | undefined,\n decimals: number | undefined,\n) => {\n if (value === undefined || decimals === undefined) {\n return undefined;\n }\n const divisor = new BigNumber(10).pow(decimals ?? 0);\n return new BigNumber(value).times(divisor).toFixed();\n};\n\n/**\n * @deprecated No longer used\n * @param estimatedProcessingTimeInSeconds - The estimated processing time in seconds\n * @returns The estimated processing time in minutes\n */\nexport const formatEtaInMinutes = (\n estimatedProcessingTimeInSeconds: number,\n) => {\n if (estimatedProcessingTimeInSeconds < 60) {\n return `< 1`;\n }\n return (estimatedProcessingTimeInSeconds / 60).toFixed();\n};\n\n/**\n * Aggregates a list of amounts into a single fee object. If fees have different assets,\n * the returned object will only aggregate the usd and valueInCurrency values.\n *\n * @param maybeFees - The list of fees to aggregate\n * @returns The aggregated fee object, or null if no fees are provided\n */\nexport const sumAmounts = (\n ...maybeFees: (\n | DeepPartial<QuoteResponse['quote']['dest']>\n | undefined\n | null\n )[][]\n) => {\n const fees = maybeFees\n .flat()\n .flat()\n .filter((value) => value !== undefined && value !== null) as DeepPartial<\n QuoteResponse['quote']['dest']\n >[];\n\n if (!fees || fees.length === 0) {\n return undefined;\n }\n\n const isSameAssetForAllFees =\n new Set(fees.map(({ asset }) => asset?.assetId?.toLowerCase())).size === 1;\n\n const aggregatedFee = fees.reduce(\n (\n acc,\n {\n amount,\n valueInCurrency,\n usd,\n normalizedAmount,\n minAmount,\n minAmountNormalized,\n minAmountValueInCurrency,\n minAmountUsd,\n },\n ) => {\n return {\n amount: acc.amount.plus(amount ?? 0),\n normalizedAmount: acc.normalizedAmount.plus(normalizedAmount ?? 0),\n valueInCurrency: acc.valueInCurrency.plus(valueInCurrency ?? 0),\n usd: usd ? acc.usd.plus(usd) : acc.usd,\n minAmount: acc.minAmount.plus(minAmount ?? 0),\n minAmountNormalized: acc.minAmountNormalized.plus(\n minAmountNormalized ?? 0,\n ),\n minAmountValueInCurrency: acc.minAmountValueInCurrency.plus(\n minAmountValueInCurrency ?? 0,\n ),\n minAmountUsd: acc.minAmountUsd.plus(minAmountUsd ?? 0),\n asset: isSameAssetForAllFees ? fees[0]?.asset : undefined,\n };\n },\n {\n amount: new BigNumber(0),\n normalizedAmount: new BigNumber(0),\n valueInCurrency: new BigNumber(0),\n usd: new BigNumber(0),\n minAmount: new BigNumber(0),\n minAmountNormalized: new BigNumber(0),\n minAmountValueInCurrency: new BigNumber(0),\n minAmountUsd: new BigNumber(0),\n },\n );\n\n return {\n amount: isSameAssetForAllFees ? aggregatedFee.amount.toFixed() : undefined,\n normalizedAmount: isSameAssetForAllFees\n ? aggregatedFee.normalizedAmount.toFixed()\n : undefined,\n valueInCurrency: aggregatedFee.valueInCurrency.toFixed(),\n usd: aggregatedFee.usd.toFixed(),\n asset: isSameAssetForAllFees ? fees[0]?.asset : undefined,\n minAmount: isSameAssetForAllFees\n ? aggregatedFee.minAmount.toFixed()\n : undefined,\n minAmountNormalized: isSameAssetForAllFees\n ? aggregatedFee.minAmountNormalized.toFixed()\n : undefined,\n minAmountValueInCurrency: aggregatedFee.minAmountValueInCurrency.toFixed(),\n minAmountUsd: aggregatedFee.minAmountUsd.toFixed(),\n };\n};\n"]}
1
+ {"version":3,"file":"number-formatters.mjs","sourceRoot":"","sources":["../../src/utils/number-formatters.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { BigNumber } from 'bignumber.js';\n\nimport { DeepPartial } from '../types';\nimport type { QuoteResponse } from '../validators/quote-response';\n\n/**\n * 1500000 -> 1.5\n *\n * @param value - The value to convert to token amount\n * @param decimals - The number of decimals to convert to\n * @returns The token amount in string format\n */\nexport const calcTokenAmount = (\n value: string | BigNumber | undefined,\n decimals: number | undefined,\n) => {\n if (value === undefined || decimals === undefined) {\n return undefined;\n }\n const divisor = new BigNumber(10).pow(decimals ?? 0);\n return new BigNumber(value).div(divisor);\n};\n\n/**\n * 1.5 -> 1500000\n *\n * @param value - The amount to convert to token value\n * @param decimals - The number of decimals to convert to\n * @returns The token value in string format\n */\nexport const calcTokenValue = (\n value: string | BigNumber | undefined,\n decimals: number | undefined,\n) => {\n if (value === undefined || decimals === undefined) {\n return undefined;\n }\n const divisor = new BigNumber(10).pow(decimals ?? 0);\n return new BigNumber(value).times(divisor).toFixed();\n};\n\n/**\n * @deprecated No longer used\n * @param estimatedProcessingTimeInSeconds - The estimated processing time in seconds\n * @returns The estimated processing time in minutes\n */\nexport const formatEtaInMinutes = (\n estimatedProcessingTimeInSeconds: number,\n) => {\n if (estimatedProcessingTimeInSeconds < 60) {\n return `< 1`;\n }\n return (estimatedProcessingTimeInSeconds / 60).toFixed();\n};\n\n/**\n * Aggregates a list of amounts into a single fee object. If fees have different assets,\n * the returned object will only aggregate the usd and valueInCurrency values.\n *\n * @param maybeFees - The list of fees to aggregate\n * @returns The aggregated fee object, or null if no fees are provided\n */\nexport const sumAmounts = (\n ...maybeFees: (\n | (DeepPartial<QuoteResponse['quote']['dest']> | undefined | null)[]\n | undefined\n )[]\n) => {\n const fees = maybeFees\n .flat()\n .flat()\n .filter((value) => value !== undefined && value !== null) as DeepPartial<\n QuoteResponse['quote']['dest']\n >[];\n\n if (!fees || fees.length === 0) {\n return undefined;\n }\n\n const isSameAssetForAllFees =\n new Set(fees.map(({ asset }) => asset?.assetId?.toLowerCase())).size === 1;\n\n const aggregatedFee = fees.reduce(\n (\n acc,\n {\n amount,\n valueInCurrency,\n usd,\n normalizedAmount,\n minAmount,\n minAmountNormalized,\n minAmountValueInCurrency,\n minAmountUsd,\n },\n ) => {\n return {\n amount: acc.amount.plus(amount ?? 0),\n normalizedAmount: acc.normalizedAmount.plus(normalizedAmount ?? 0),\n valueInCurrency: acc.valueInCurrency.plus(valueInCurrency ?? 0),\n usd: usd ? acc.usd.plus(usd) : acc.usd,\n minAmount: acc.minAmount.plus(minAmount ?? 0),\n minAmountNormalized: acc.minAmountNormalized.plus(\n minAmountNormalized ?? 0,\n ),\n minAmountValueInCurrency: acc.minAmountValueInCurrency.plus(\n minAmountValueInCurrency ?? 0,\n ),\n minAmountUsd: acc.minAmountUsd.plus(minAmountUsd ?? 0),\n asset: isSameAssetForAllFees ? fees[0]?.asset : undefined,\n };\n },\n {\n amount: new BigNumber(0),\n normalizedAmount: new BigNumber(0),\n valueInCurrency: new BigNumber(0),\n usd: new BigNumber(0),\n minAmount: new BigNumber(0),\n minAmountNormalized: new BigNumber(0),\n minAmountValueInCurrency: new BigNumber(0),\n minAmountUsd: new BigNumber(0),\n },\n );\n\n return {\n amount: isSameAssetForAllFees ? aggregatedFee.amount.toFixed() : undefined,\n normalizedAmount: isSameAssetForAllFees\n ? aggregatedFee.normalizedAmount.toFixed()\n : undefined,\n valueInCurrency: aggregatedFee.valueInCurrency.toFixed(),\n usd: aggregatedFee.usd.toFixed(),\n asset: isSameAssetForAllFees ? fees[0]?.asset : undefined,\n minAmount: isSameAssetForAllFees\n ? aggregatedFee.minAmount.toFixed()\n : undefined,\n minAmountNormalized: isSameAssetForAllFees\n ? aggregatedFee.minAmountNormalized.toFixed()\n : undefined,\n minAmountValueInCurrency: aggregatedFee.minAmountValueInCurrency.toFixed(),\n minAmountUsd: aggregatedFee.minAmountUsd.toFixed(),\n };\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/bridge-controller",
3
- "version": "77.6.0-preview-41e84b094",
3
+ "version": "77.6.0-preview-47e51e2d9",
4
4
  "description": "Manages bridge-related quote fetching functionality for MetaMask",
5
5
  "keywords": [
6
6
  "Ethereum",