@metamask/transaction-pay-controller 19.3.0 → 20.0.0
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 +16 -1
- package/dist/helpers/TransactionPayPublishHook.cjs +3 -0
- package/dist/helpers/TransactionPayPublishHook.cjs.map +1 -1
- package/dist/helpers/TransactionPayPublishHook.d.cts.map +1 -1
- package/dist/helpers/TransactionPayPublishHook.d.mts.map +1 -1
- package/dist/helpers/TransactionPayPublishHook.mjs +3 -0
- package/dist/helpers/TransactionPayPublishHook.mjs.map +1 -1
- package/dist/strategy/across/AcrossStrategy.cjs +34 -3
- package/dist/strategy/across/AcrossStrategy.cjs.map +1 -1
- package/dist/strategy/across/AcrossStrategy.d.cts +2 -1
- package/dist/strategy/across/AcrossStrategy.d.cts.map +1 -1
- package/dist/strategy/across/AcrossStrategy.d.mts +2 -1
- package/dist/strategy/across/AcrossStrategy.d.mts.map +1 -1
- package/dist/strategy/across/AcrossStrategy.mjs +34 -3
- package/dist/strategy/across/AcrossStrategy.mjs.map +1 -1
- package/dist/strategy/across/across-quotes.cjs +4 -2
- package/dist/strategy/across/across-quotes.cjs.map +1 -1
- package/dist/strategy/across/across-quotes.mjs +4 -2
- package/dist/strategy/across/across-quotes.mjs.map +1 -1
- package/dist/strategy/across/types.cjs.map +1 -1
- package/dist/strategy/across/types.d.cts +1 -0
- package/dist/strategy/across/types.d.cts.map +1 -1
- package/dist/strategy/across/types.d.mts +1 -0
- package/dist/strategy/across/types.d.mts.map +1 -1
- package/dist/strategy/across/types.mjs.map +1 -1
- package/dist/strategy/fiat/fiat-quotes.cjs +2 -1
- package/dist/strategy/fiat/fiat-quotes.cjs.map +1 -1
- package/dist/strategy/fiat/fiat-quotes.d.cts.map +1 -1
- package/dist/strategy/fiat/fiat-quotes.d.mts.map +1 -1
- package/dist/strategy/fiat/fiat-quotes.mjs +2 -1
- package/dist/strategy/fiat/fiat-quotes.mjs.map +1 -1
- package/dist/strategy/relay/relay-quotes.cjs +3 -1
- package/dist/strategy/relay/relay-quotes.cjs.map +1 -1
- package/dist/strategy/relay/relay-quotes.mjs +3 -1
- package/dist/strategy/relay/relay-quotes.mjs.map +1 -1
- package/dist/tests/messenger-mock.cjs +12 -0
- package/dist/tests/messenger-mock.cjs.map +1 -1
- package/dist/tests/messenger-mock.d.cts +2 -4
- package/dist/tests/messenger-mock.d.cts.map +1 -1
- package/dist/tests/messenger-mock.d.mts +2 -4
- package/dist/tests/messenger-mock.d.mts.map +1 -1
- package/dist/tests/messenger-mock.mjs +12 -0
- package/dist/tests/messenger-mock.mjs.map +1 -1
- package/dist/types.cjs +9 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +30 -3
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +30 -3
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +8 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/7702.cjs +23 -0
- package/dist/utils/7702.cjs.map +1 -0
- package/dist/utils/7702.d.cts +15 -0
- package/dist/utils/7702.d.cts.map +1 -0
- package/dist/utils/7702.d.mts +15 -0
- package/dist/utils/7702.d.mts.map +1 -0
- package/dist/utils/7702.mjs +19 -0
- package/dist/utils/7702.mjs.map +1 -0
- package/dist/utils/feature-flags.cjs +1 -1
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +1 -1
- package/dist/utils/feature-flags.d.mts +1 -1
- package/dist/utils/feature-flags.mjs +1 -1
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/quote-gas.cjs +2 -1
- package/dist/utils/quote-gas.cjs.map +1 -1
- package/dist/utils/quote-gas.d.cts +1 -0
- package/dist/utils/quote-gas.d.cts.map +1 -1
- package/dist/utils/quote-gas.d.mts +1 -0
- package/dist/utils/quote-gas.d.mts.map +1 -1
- package/dist/utils/quote-gas.mjs +2 -1
- package/dist/utils/quote-gas.mjs.map +1 -1
- package/dist/utils/quotes.cjs +20 -3
- package/dist/utils/quotes.cjs.map +1 -1
- package/dist/utils/quotes.d.cts.map +1 -1
- package/dist/utils/quotes.d.mts.map +1 -1
- package/dist/utils/quotes.mjs +21 -4
- package/dist/utils/quotes.mjs.map +1 -1
- package/dist/utils/strategy.cjs +30 -1
- package/dist/utils/strategy.cjs.map +1 -1
- package/dist/utils/strategy.d.cts +21 -1
- package/dist/utils/strategy.d.cts.map +1 -1
- package/dist/utils/strategy.d.mts +21 -1
- package/dist/utils/strategy.d.mts.map +1 -1
- package/dist/utils/strategy.mjs +27 -0
- package/dist/utils/strategy.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.cjs","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":";;;AAAA,gDAAsD;AACtD,0EAAmE;AACnE,0EAAmE;AACnE,oEAA6D;AAC7D,uEAAgE;AAChE,oEAA6D;
|
|
1
|
+
{"version":3,"file":"strategy.cjs","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":";;;AAAA,gDAAsD;AACtD,0EAAmE;AACnE,0EAAmE;AACnE,oEAA6D;AAC7D,uEAAgE;AAChE,oEAA6D;AAY7D;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,YAAoC;IAEpC,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,kCAAsB,CAAC,MAAM;YAChC,OAAO,IAAI,+BAAc,EAAW,CAAC;QAEvC,KAAK,kCAAsB,CAAC,MAAM;YAChC,OAAO,IAAI,+BAAc,EAAW,CAAC;QAEvC,KAAK,kCAAsB,CAAC,KAAK;YAC/B,OAAO,IAAI,6BAAa,EAAW,CAAC;QAEtC,KAAK,kCAAsB,CAAC,IAAI;YAC9B,OAAO,IAAI,2BAAY,EAAW,CAAC;QAErC,KAAK,kCAAsB,CAAC,IAAI;YAC9B,OAAO,IAAI,2BAAY,EAAW,CAAC;QAErC;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAsB,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAtBD,8CAsBC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,aAAuC,EACvC,iBAAkE;IAElE,OAAO,aAAa;SACjB,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC;aAC1C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB,EAAE,CAAC,YAAY,CAAC,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CACL,CAAC,aAAa,EAAkC,EAAE,CAChD,aAAa,KAAK,SAAS,CAC9B,CAAC;AACN,CAAC;AApBD,kDAoBC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,oBAAoB,CACxC,QAA8B,EAC9B,OAAoC;IAEpC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AALD,oDAKC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,yBAAyB,CAC7C,QAA8B,EAC9B,OAAqD;IAErD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AATD,8DASC","sourcesContent":["import { TransactionPayStrategy } from '../constants';\nimport { AcrossStrategy } from '../strategy/across/AcrossStrategy';\nimport { BridgeStrategy } from '../strategy/bridge/BridgeStrategy';\nimport { FiatStrategy } from '../strategy/fiat/FiatStrategy';\nimport { RelayStrategy } from '../strategy/relay/RelayStrategy';\nimport { TestStrategy } from '../strategy/test/TestStrategy';\nimport type {\n PayStrategy,\n PayStrategyCheckQuoteSupportRequest,\n PayStrategyGetQuotesRequest,\n} from '../types';\n\nexport type NamedStrategy = {\n name: TransactionPayStrategy;\n strategy: PayStrategy<unknown>;\n};\n\n/**\n * Get strategy instance by name.\n *\n * @param strategyName - Strategy name.\n * @returns - Strategy instance.\n */\nexport function getStrategyByName(\n strategyName: TransactionPayStrategy,\n): PayStrategy<unknown> {\n switch (strategyName) {\n case TransactionPayStrategy.Across:\n return new AcrossStrategy() as never;\n\n case TransactionPayStrategy.Bridge:\n return new BridgeStrategy() as never;\n\n case TransactionPayStrategy.Relay:\n return new RelayStrategy() as never;\n\n case TransactionPayStrategy.Fiat:\n return new FiatStrategy() as never;\n\n case TransactionPayStrategy.Test:\n return new TestStrategy() as never;\n\n default:\n throw new Error(`Unknown strategy: ${strategyName as string}`);\n }\n}\n\n/**\n * Resolve strategy names into strategy instances, skipping unknown entries.\n *\n * @param strategyNames - Ordered strategy names.\n * @param onUnknownStrategy - Callback invoked for unknown strategies.\n * @returns Ordered valid strategies with names.\n */\nexport function getStrategiesByName(\n strategyNames: TransactionPayStrategy[],\n onUnknownStrategy?: (strategyName: TransactionPayStrategy) => void,\n): NamedStrategy[] {\n return strategyNames\n .map((strategyName) => {\n try {\n return {\n name: strategyName,\n strategy: getStrategyByName(strategyName),\n };\n } catch {\n onUnknownStrategy?.(strategyName);\n return undefined;\n }\n })\n .filter(\n (namedStrategy): namedStrategy is NamedStrategy =>\n namedStrategy !== undefined,\n );\n}\n\n/**\n * Check whether a strategy supports a quote request.\n *\n * Defaults to supported when the strategy has no request-level limitations.\n *\n * @param strategy - Strategy instance.\n * @param request - Quote request.\n * @returns Whether the strategy supports the request.\n */\nexport async function checkStrategySupport(\n strategy: PayStrategy<unknown>,\n request: PayStrategyGetQuotesRequest,\n): Promise<boolean> {\n return strategy.supports ? await strategy.supports(request) : true;\n}\n\n/**\n * Check whether a strategy supports quotes after quote construction.\n *\n * Defaults to supported when the strategy has no post-quote limitations.\n *\n * @param strategy - Strategy instance.\n * @param request - Post-quote support request.\n * @returns Whether the strategy supports the quotes.\n */\nexport async function checkStrategyQuoteSupport(\n strategy: PayStrategy<unknown>,\n request: PayStrategyCheckQuoteSupportRequest<unknown>,\n): Promise<boolean> {\n if (strategy.checkQuoteSupport) {\n return await strategy.checkQuoteSupport(request);\n }\n\n return true;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TransactionPayStrategy } from "../constants.cjs";
|
|
2
|
-
import type { PayStrategy } from "../types.cjs";
|
|
2
|
+
import type { PayStrategy, PayStrategyCheckQuoteSupportRequest, PayStrategyGetQuotesRequest } from "../types.cjs";
|
|
3
3
|
export type NamedStrategy = {
|
|
4
4
|
name: TransactionPayStrategy;
|
|
5
5
|
strategy: PayStrategy<unknown>;
|
|
@@ -19,4 +19,24 @@ export declare function getStrategyByName(strategyName: TransactionPayStrategy):
|
|
|
19
19
|
* @returns Ordered valid strategies with names.
|
|
20
20
|
*/
|
|
21
21
|
export declare function getStrategiesByName(strategyNames: TransactionPayStrategy[], onUnknownStrategy?: (strategyName: TransactionPayStrategy) => void): NamedStrategy[];
|
|
22
|
+
/**
|
|
23
|
+
* Check whether a strategy supports a quote request.
|
|
24
|
+
*
|
|
25
|
+
* Defaults to supported when the strategy has no request-level limitations.
|
|
26
|
+
*
|
|
27
|
+
* @param strategy - Strategy instance.
|
|
28
|
+
* @param request - Quote request.
|
|
29
|
+
* @returns Whether the strategy supports the request.
|
|
30
|
+
*/
|
|
31
|
+
export declare function checkStrategySupport(strategy: PayStrategy<unknown>, request: PayStrategyGetQuotesRequest): Promise<boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Check whether a strategy supports quotes after quote construction.
|
|
34
|
+
*
|
|
35
|
+
* Defaults to supported when the strategy has no post-quote limitations.
|
|
36
|
+
*
|
|
37
|
+
* @param strategy - Strategy instance.
|
|
38
|
+
* @param request - Post-quote support request.
|
|
39
|
+
* @returns Whether the strategy supports the quotes.
|
|
40
|
+
*/
|
|
41
|
+
export declare function checkStrategyQuoteSupport(strategy: PayStrategy<unknown>, request: PayStrategyCheckQuoteSupportRequest<unknown>): Promise<boolean>;
|
|
22
42
|
//# sourceMappingURL=strategy.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.cts","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,yBAAqB;AAMtD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"strategy.d.cts","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,yBAAqB;AAMtD,OAAO,KAAK,EACV,WAAW,EACX,mCAAmC,EACnC,2BAA2B,EAC5B,qBAAiB;AAElB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,sBAAsB,GACnC,WAAW,CAAC,OAAO,CAAC,CAoBtB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,sBAAsB,EAAE,EACvC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,KAAK,IAAI,GACjE,aAAa,EAAE,CAiBjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAC9B,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAC9B,OAAO,EAAE,mCAAmC,CAAC,OAAO,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC,CAMlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TransactionPayStrategy } from "../constants.mjs";
|
|
2
|
-
import type { PayStrategy } from "../types.mjs";
|
|
2
|
+
import type { PayStrategy, PayStrategyCheckQuoteSupportRequest, PayStrategyGetQuotesRequest } from "../types.mjs";
|
|
3
3
|
export type NamedStrategy = {
|
|
4
4
|
name: TransactionPayStrategy;
|
|
5
5
|
strategy: PayStrategy<unknown>;
|
|
@@ -19,4 +19,24 @@ export declare function getStrategyByName(strategyName: TransactionPayStrategy):
|
|
|
19
19
|
* @returns Ordered valid strategies with names.
|
|
20
20
|
*/
|
|
21
21
|
export declare function getStrategiesByName(strategyNames: TransactionPayStrategy[], onUnknownStrategy?: (strategyName: TransactionPayStrategy) => void): NamedStrategy[];
|
|
22
|
+
/**
|
|
23
|
+
* Check whether a strategy supports a quote request.
|
|
24
|
+
*
|
|
25
|
+
* Defaults to supported when the strategy has no request-level limitations.
|
|
26
|
+
*
|
|
27
|
+
* @param strategy - Strategy instance.
|
|
28
|
+
* @param request - Quote request.
|
|
29
|
+
* @returns Whether the strategy supports the request.
|
|
30
|
+
*/
|
|
31
|
+
export declare function checkStrategySupport(strategy: PayStrategy<unknown>, request: PayStrategyGetQuotesRequest): Promise<boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Check whether a strategy supports quotes after quote construction.
|
|
34
|
+
*
|
|
35
|
+
* Defaults to supported when the strategy has no post-quote limitations.
|
|
36
|
+
*
|
|
37
|
+
* @param strategy - Strategy instance.
|
|
38
|
+
* @param request - Post-quote support request.
|
|
39
|
+
* @returns Whether the strategy supports the quotes.
|
|
40
|
+
*/
|
|
41
|
+
export declare function checkStrategyQuoteSupport(strategy: PayStrategy<unknown>, request: PayStrategyCheckQuoteSupportRequest<unknown>): Promise<boolean>;
|
|
22
42
|
//# sourceMappingURL=strategy.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.mts","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,yBAAqB;AAMtD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"strategy.d.mts","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,yBAAqB;AAMtD,OAAO,KAAK,EACV,WAAW,EACX,mCAAmC,EACnC,2BAA2B,EAC5B,qBAAiB;AAElB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,sBAAsB,GACnC,WAAW,CAAC,OAAO,CAAC,CAoBtB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,sBAAsB,EAAE,EACvC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,KAAK,IAAI,GACjE,aAAa,EAAE,CAiBjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAC9B,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAC9B,OAAO,EAAE,mCAAmC,CAAC,OAAO,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC,CAMlB"}
|
package/dist/utils/strategy.mjs
CHANGED
|
@@ -49,4 +49,31 @@ export function getStrategiesByName(strategyNames, onUnknownStrategy) {
|
|
|
49
49
|
})
|
|
50
50
|
.filter((namedStrategy) => namedStrategy !== undefined);
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Check whether a strategy supports a quote request.
|
|
54
|
+
*
|
|
55
|
+
* Defaults to supported when the strategy has no request-level limitations.
|
|
56
|
+
*
|
|
57
|
+
* @param strategy - Strategy instance.
|
|
58
|
+
* @param request - Quote request.
|
|
59
|
+
* @returns Whether the strategy supports the request.
|
|
60
|
+
*/
|
|
61
|
+
export async function checkStrategySupport(strategy, request) {
|
|
62
|
+
return strategy.supports ? await strategy.supports(request) : true;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check whether a strategy supports quotes after quote construction.
|
|
66
|
+
*
|
|
67
|
+
* Defaults to supported when the strategy has no post-quote limitations.
|
|
68
|
+
*
|
|
69
|
+
* @param strategy - Strategy instance.
|
|
70
|
+
* @param request - Post-quote support request.
|
|
71
|
+
* @returns Whether the strategy supports the quotes.
|
|
72
|
+
*/
|
|
73
|
+
export async function checkStrategyQuoteSupport(strategy, request) {
|
|
74
|
+
if (strategy.checkQuoteSupport) {
|
|
75
|
+
return await strategy.checkQuoteSupport(request);
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
52
79
|
//# sourceMappingURL=strategy.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.mjs","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,yBAAqB;AACtD,OAAO,EAAE,cAAc,EAAE,8CAA0C;AACnE,OAAO,EAAE,cAAc,EAAE,8CAA0C;AACnE,OAAO,EAAE,YAAY,EAAE,0CAAsC;AAC7D,OAAO,EAAE,aAAa,EAAE,4CAAwC;AAChE,OAAO,EAAE,YAAY,EAAE,0CAAsC;
|
|
1
|
+
{"version":3,"file":"strategy.mjs","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,yBAAqB;AACtD,OAAO,EAAE,cAAc,EAAE,8CAA0C;AACnE,OAAO,EAAE,cAAc,EAAE,8CAA0C;AACnE,OAAO,EAAE,YAAY,EAAE,0CAAsC;AAC7D,OAAO,EAAE,aAAa,EAAE,4CAAwC;AAChE,OAAO,EAAE,YAAY,EAAE,0CAAsC;AAY7D;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoC;IAEpC,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,sBAAsB,CAAC,MAAM;YAChC,OAAO,IAAI,cAAc,EAAW,CAAC;QAEvC,KAAK,sBAAsB,CAAC,MAAM;YAChC,OAAO,IAAI,cAAc,EAAW,CAAC;QAEvC,KAAK,sBAAsB,CAAC,KAAK;YAC/B,OAAO,IAAI,aAAa,EAAW,CAAC;QAEtC,KAAK,sBAAsB,CAAC,IAAI;YAC9B,OAAO,IAAI,YAAY,EAAW,CAAC;QAErC,KAAK,sBAAsB,CAAC,IAAI;YAC9B,OAAO,IAAI,YAAY,EAAW,CAAC;QAErC;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAsB,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,aAAuC,EACvC,iBAAkE;IAElE,OAAO,aAAa;SACjB,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC;aAC1C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB,EAAE,CAAC,YAAY,CAAC,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CACL,CAAC,aAAa,EAAkC,EAAE,CAChD,aAAa,KAAK,SAAS,CAC9B,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAA8B,EAC9B,OAAoC;IAEpC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAA8B,EAC9B,OAAqD;IAErD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { TransactionPayStrategy } from '../constants';\nimport { AcrossStrategy } from '../strategy/across/AcrossStrategy';\nimport { BridgeStrategy } from '../strategy/bridge/BridgeStrategy';\nimport { FiatStrategy } from '../strategy/fiat/FiatStrategy';\nimport { RelayStrategy } from '../strategy/relay/RelayStrategy';\nimport { TestStrategy } from '../strategy/test/TestStrategy';\nimport type {\n PayStrategy,\n PayStrategyCheckQuoteSupportRequest,\n PayStrategyGetQuotesRequest,\n} from '../types';\n\nexport type NamedStrategy = {\n name: TransactionPayStrategy;\n strategy: PayStrategy<unknown>;\n};\n\n/**\n * Get strategy instance by name.\n *\n * @param strategyName - Strategy name.\n * @returns - Strategy instance.\n */\nexport function getStrategyByName(\n strategyName: TransactionPayStrategy,\n): PayStrategy<unknown> {\n switch (strategyName) {\n case TransactionPayStrategy.Across:\n return new AcrossStrategy() as never;\n\n case TransactionPayStrategy.Bridge:\n return new BridgeStrategy() as never;\n\n case TransactionPayStrategy.Relay:\n return new RelayStrategy() as never;\n\n case TransactionPayStrategy.Fiat:\n return new FiatStrategy() as never;\n\n case TransactionPayStrategy.Test:\n return new TestStrategy() as never;\n\n default:\n throw new Error(`Unknown strategy: ${strategyName as string}`);\n }\n}\n\n/**\n * Resolve strategy names into strategy instances, skipping unknown entries.\n *\n * @param strategyNames - Ordered strategy names.\n * @param onUnknownStrategy - Callback invoked for unknown strategies.\n * @returns Ordered valid strategies with names.\n */\nexport function getStrategiesByName(\n strategyNames: TransactionPayStrategy[],\n onUnknownStrategy?: (strategyName: TransactionPayStrategy) => void,\n): NamedStrategy[] {\n return strategyNames\n .map((strategyName) => {\n try {\n return {\n name: strategyName,\n strategy: getStrategyByName(strategyName),\n };\n } catch {\n onUnknownStrategy?.(strategyName);\n return undefined;\n }\n })\n .filter(\n (namedStrategy): namedStrategy is NamedStrategy =>\n namedStrategy !== undefined,\n );\n}\n\n/**\n * Check whether a strategy supports a quote request.\n *\n * Defaults to supported when the strategy has no request-level limitations.\n *\n * @param strategy - Strategy instance.\n * @param request - Quote request.\n * @returns Whether the strategy supports the request.\n */\nexport async function checkStrategySupport(\n strategy: PayStrategy<unknown>,\n request: PayStrategyGetQuotesRequest,\n): Promise<boolean> {\n return strategy.supports ? await strategy.supports(request) : true;\n}\n\n/**\n * Check whether a strategy supports quotes after quote construction.\n *\n * Defaults to supported when the strategy has no post-quote limitations.\n *\n * @param strategy - Strategy instance.\n * @param request - Post-quote support request.\n * @returns Whether the strategy supports the quotes.\n */\nexport async function checkStrategyQuoteSupport(\n strategy: PayStrategy<unknown>,\n request: PayStrategyCheckQuoteSupportRequest<unknown>,\n): Promise<boolean> {\n if (strategy.checkQuoteSupport) {\n return await strategy.checkQuoteSupport(request);\n }\n\n return true;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/transaction-pay-controller",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0",
|
|
4
4
|
"description": "Manages alternate payment strategies to provide required funds for transactions in MetaMask",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ethereum",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@ethersproject/abi": "^5.7.0",
|
|
58
58
|
"@ethersproject/contracts": "^5.7.0",
|
|
59
59
|
"@ethersproject/providers": "^5.7.0",
|
|
60
|
-
"@metamask/assets-controller": "^6.
|
|
60
|
+
"@metamask/assets-controller": "^6.2.0",
|
|
61
61
|
"@metamask/assets-controllers": "^104.3.0",
|
|
62
62
|
"@metamask/base-controller": "^9.1.0",
|
|
63
63
|
"@metamask/bridge-controller": "^70.2.0",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"@metamask/network-controller": "^30.0.1",
|
|
70
70
|
"@metamask/ramps-controller": "^13.2.0",
|
|
71
71
|
"@metamask/remote-feature-flag-controller": "^4.2.0",
|
|
72
|
-
"@metamask/transaction-controller": "^
|
|
72
|
+
"@metamask/transaction-controller": "^65.0.0",
|
|
73
73
|
"@metamask/utils": "^11.9.0",
|
|
74
74
|
"bignumber.js": "^9.1.2",
|
|
75
75
|
"bn.js": "^5.2.1",
|