@metamask/transaction-pay-controller 22.6.3 → 22.8.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 +27 -1
- package/dist/TransactionPayController-method-action-types.cjs.map +1 -1
- package/dist/TransactionPayController-method-action-types.d.cts +15 -1
- package/dist/TransactionPayController-method-action-types.d.cts.map +1 -1
- package/dist/TransactionPayController-method-action-types.d.mts +15 -1
- package/dist/TransactionPayController-method-action-types.d.mts.map +1 -1
- package/dist/TransactionPayController-method-action-types.mjs.map +1 -1
- package/dist/TransactionPayController.cjs +21 -3
- package/dist/TransactionPayController.cjs.map +1 -1
- package/dist/TransactionPayController.d.cts +13 -2
- package/dist/TransactionPayController.d.cts.map +1 -1
- package/dist/TransactionPayController.d.mts +13 -2
- package/dist/TransactionPayController.d.mts.map +1 -1
- package/dist/TransactionPayController.mjs +21 -3
- package/dist/TransactionPayController.mjs.map +1 -1
- package/dist/constants.cjs +8 -1
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +6 -0
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.mts +6 -0
- package/dist/constants.d.mts.map +1 -1
- package/dist/constants.mjs +7 -0
- package/dist/constants.mjs.map +1 -1
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/strategy/relay/relay-quotes.cjs +20 -3
- package/dist/strategy/relay/relay-quotes.cjs.map +1 -1
- package/dist/strategy/relay/relay-quotes.d.cts.map +1 -1
- package/dist/strategy/relay/relay-quotes.d.mts.map +1 -1
- package/dist/strategy/relay/relay-quotes.mjs +20 -3
- package/dist/strategy/relay/relay-quotes.mjs.map +1 -1
- package/dist/strategy/relay/relay-submit.cjs +24 -11
- package/dist/strategy/relay/relay-submit.cjs.map +1 -1
- package/dist/strategy/relay/relay-submit.mjs +24 -11
- package/dist/strategy/relay/relay-submit.mjs.map +1 -1
- package/dist/strategy/server/ServerStrategy.cjs +35 -0
- package/dist/strategy/server/ServerStrategy.cjs.map +1 -0
- package/dist/strategy/server/ServerStrategy.d.cts +15 -0
- package/dist/strategy/server/ServerStrategy.d.cts.map +1 -0
- package/dist/strategy/server/ServerStrategy.d.mts +15 -0
- package/dist/strategy/server/ServerStrategy.d.mts.map +1 -0
- package/dist/strategy/server/ServerStrategy.mjs +31 -0
- package/dist/strategy/server/ServerStrategy.mjs.map +1 -0
- package/dist/strategy/server/constants.cjs +11 -0
- package/dist/strategy/server/constants.cjs.map +1 -0
- package/dist/strategy/server/constants.d.cts +8 -0
- package/dist/strategy/server/constants.d.cts.map +1 -0
- package/dist/strategy/server/constants.d.mts +8 -0
- package/dist/strategy/server/constants.d.mts.map +1 -0
- package/dist/strategy/server/constants.mjs +8 -0
- package/dist/strategy/server/constants.mjs.map +1 -0
- package/dist/strategy/server/perps.cjs +71 -0
- package/dist/strategy/server/perps.cjs.map +1 -0
- package/dist/strategy/server/perps.d.cts +36 -0
- package/dist/strategy/server/perps.d.cts.map +1 -0
- package/dist/strategy/server/perps.d.mts +36 -0
- package/dist/strategy/server/perps.d.mts.map +1 -0
- package/dist/strategy/server/perps.mjs +66 -0
- package/dist/strategy/server/perps.mjs.map +1 -0
- package/dist/strategy/server/server-api.cjs +98 -0
- package/dist/strategy/server/server-api.cjs.map +1 -0
- package/dist/strategy/server/server-api.d.cts +35 -0
- package/dist/strategy/server/server-api.d.cts.map +1 -0
- package/dist/strategy/server/server-api.d.mts +35 -0
- package/dist/strategy/server/server-api.d.mts.map +1 -0
- package/dist/strategy/server/server-api.mjs +92 -0
- package/dist/strategy/server/server-api.mjs.map +1 -0
- package/dist/strategy/server/server-quotes.cjs +315 -0
- package/dist/strategy/server/server-quotes.cjs.map +1 -0
- package/dist/strategy/server/server-quotes.d.cts +10 -0
- package/dist/strategy/server/server-quotes.d.cts.map +1 -0
- package/dist/strategy/server/server-quotes.d.mts +10 -0
- package/dist/strategy/server/server-quotes.d.mts.map +1 -0
- package/dist/strategy/server/server-quotes.mjs +311 -0
- package/dist/strategy/server/server-quotes.mjs.map +1 -0
- package/dist/strategy/server/server-submit.cjs +296 -0
- package/dist/strategy/server/server-submit.cjs.map +1 -0
- package/dist/strategy/server/server-submit.d.cts +13 -0
- package/dist/strategy/server/server-submit.d.cts.map +1 -0
- package/dist/strategy/server/server-submit.d.mts +13 -0
- package/dist/strategy/server/server-submit.d.mts.map +1 -0
- package/dist/strategy/server/server-submit.mjs +292 -0
- package/dist/strategy/server/server-submit.mjs.map +1 -0
- package/dist/strategy/server/types.cjs +26 -0
- package/dist/strategy/server/types.cjs.map +1 -0
- package/dist/strategy/server/types.d.cts +153 -0
- package/dist/strategy/server/types.d.cts.map +1 -0
- package/dist/strategy/server/types.d.mts +153 -0
- package/dist/strategy/server/types.d.mts.map +1 -0
- package/dist/strategy/server/types.mjs +23 -0
- package/dist/strategy/server/types.mjs.map +1 -0
- package/dist/tests/messenger-mock.cjs +3 -0
- package/dist/tests/messenger-mock.cjs.map +1 -1
- package/dist/tests/messenger-mock.d.cts +255 -3
- package/dist/tests/messenger-mock.d.cts.map +1 -1
- package/dist/tests/messenger-mock.d.mts +255 -3
- package/dist/tests/messenger-mock.d.mts.map +1 -1
- package/dist/tests/messenger-mock.mjs +3 -0
- package/dist/tests/messenger-mock.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +44 -14
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +44 -14
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +43 -3
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +21 -0
- package/dist/utils/feature-flags.d.cts.map +1 -1
- package/dist/utils/feature-flags.d.mts +21 -0
- package/dist/utils/feature-flags.d.mts.map +1 -1
- package/dist/utils/feature-flags.mjs +40 -2
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/gas.cjs +11 -10
- package/dist/utils/gas.cjs.map +1 -1
- package/dist/utils/gas.d.cts +12 -0
- package/dist/utils/gas.d.cts.map +1 -1
- package/dist/utils/gas.d.mts +12 -0
- package/dist/utils/gas.d.mts.map +1 -1
- package/dist/utils/gas.mjs +10 -10
- package/dist/utils/gas.mjs.map +1 -1
- package/dist/utils/quotes.cjs +9 -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 +10 -4
- package/dist/utils/quotes.mjs.map +1 -1
- package/dist/utils/strategy.cjs +3 -0
- package/dist/utils/strategy.cjs.map +1 -1
- package/dist/utils/strategy.d.cts.map +1 -1
- package/dist/utils/strategy.d.mts.map +1 -1
- package/dist/utils/strategy.mjs +3 -0
- package/dist/utils/strategy.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { Hex } from "@metamask/utils";
|
|
2
|
+
/** Provider names supported by the server intents API. */
|
|
3
|
+
export declare enum ServerProviderName {
|
|
4
|
+
Relay = "relay",
|
|
5
|
+
Across = "across"
|
|
6
|
+
}
|
|
7
|
+
/** Trade type for server quote requests. */
|
|
8
|
+
export declare enum ServerTradeType {
|
|
9
|
+
ExactInput = "EXACT_INPUT",
|
|
10
|
+
ExpectedOutput = "EXPECTED_OUTPUT"
|
|
11
|
+
}
|
|
12
|
+
/** Token amount with chain and token context. */
|
|
13
|
+
export type ServerQuoteAmount = {
|
|
14
|
+
chainId: number;
|
|
15
|
+
token: string;
|
|
16
|
+
decimals: number;
|
|
17
|
+
raw: string;
|
|
18
|
+
formatted: string;
|
|
19
|
+
};
|
|
20
|
+
/** A single on-chain step returned by the server quote endpoint. */
|
|
21
|
+
export type ServerQuoteStep = {
|
|
22
|
+
chainId: number;
|
|
23
|
+
to: Hex;
|
|
24
|
+
data: Hex;
|
|
25
|
+
value: string;
|
|
26
|
+
gasLimit?: string;
|
|
27
|
+
maxFeePerGas?: string;
|
|
28
|
+
maxPriorityFeePerGas?: string;
|
|
29
|
+
};
|
|
30
|
+
/** A call to include in the quote request (for delegation flows). */
|
|
31
|
+
export type ServerCall = {
|
|
32
|
+
to: Hex;
|
|
33
|
+
data: Hex;
|
|
34
|
+
value: Hex;
|
|
35
|
+
};
|
|
36
|
+
/** EIP-7702 authorization entry for quote and submit requests. */
|
|
37
|
+
export type ServerAuthorization = {
|
|
38
|
+
address: Hex;
|
|
39
|
+
chainId: number;
|
|
40
|
+
nonce: number;
|
|
41
|
+
r: Hex;
|
|
42
|
+
s: Hex;
|
|
43
|
+
yParity: number;
|
|
44
|
+
};
|
|
45
|
+
/** Request body for POST /quote. */
|
|
46
|
+
export type ServerQuoteRequest = {
|
|
47
|
+
source: {
|
|
48
|
+
chainId: number;
|
|
49
|
+
token: Hex;
|
|
50
|
+
};
|
|
51
|
+
target: {
|
|
52
|
+
chainId: number;
|
|
53
|
+
token: Hex;
|
|
54
|
+
};
|
|
55
|
+
amount: string;
|
|
56
|
+
tradeType: ServerTradeType;
|
|
57
|
+
sender: Hex;
|
|
58
|
+
recipient: Hex;
|
|
59
|
+
refundTo?: Hex;
|
|
60
|
+
slippage?: number;
|
|
61
|
+
providers?: ServerProviderName[];
|
|
62
|
+
calls?: ServerCall[];
|
|
63
|
+
authorizationList?: ServerAuthorization[];
|
|
64
|
+
supportsGasless?: boolean;
|
|
65
|
+
};
|
|
66
|
+
/** Error detail from a rejected quote result. */
|
|
67
|
+
export type ServerQuoteError = {
|
|
68
|
+
code?: string;
|
|
69
|
+
message: string;
|
|
70
|
+
};
|
|
71
|
+
/** A successful quote payload nested inside a ServerQuoteResult. */
|
|
72
|
+
export type ServerQuotePayload = {
|
|
73
|
+
id: string;
|
|
74
|
+
input: ServerQuoteAmount;
|
|
75
|
+
output: ServerQuoteAmount;
|
|
76
|
+
fees: ServerQuoteFees;
|
|
77
|
+
duration: number;
|
|
78
|
+
steps: ServerQuoteStep[];
|
|
79
|
+
gasless: boolean;
|
|
80
|
+
};
|
|
81
|
+
/** Fee breakdown from a quote. */
|
|
82
|
+
export type ServerQuoteFees = {
|
|
83
|
+
metamask: string;
|
|
84
|
+
provider: string;
|
|
85
|
+
subsidized: boolean;
|
|
86
|
+
};
|
|
87
|
+
/** A single provider result within the quote response. */
|
|
88
|
+
export type ServerQuoteResult = {
|
|
89
|
+
provider: ServerProviderName;
|
|
90
|
+
quote?: ServerQuotePayload;
|
|
91
|
+
error?: ServerQuoteError;
|
|
92
|
+
};
|
|
93
|
+
/** Response body from POST /quote. */
|
|
94
|
+
export type ServerQuoteResponse = {
|
|
95
|
+
results: ServerQuoteResult[];
|
|
96
|
+
};
|
|
97
|
+
export type ServerQuoteClient = {
|
|
98
|
+
gasLimits: number[];
|
|
99
|
+
is7702: boolean;
|
|
100
|
+
maxFeePerGas: string | undefined;
|
|
101
|
+
maxPriorityFeePerGas: string | undefined;
|
|
102
|
+
};
|
|
103
|
+
/** Normalized server quote stored in TransactionPayQuote.original. */
|
|
104
|
+
export type ServerQuote = {
|
|
105
|
+
id: string;
|
|
106
|
+
provider: ServerProviderName;
|
|
107
|
+
input: ServerQuoteAmount;
|
|
108
|
+
output: ServerQuoteAmount;
|
|
109
|
+
fees: ServerQuoteFees;
|
|
110
|
+
duration: number;
|
|
111
|
+
client: ServerQuoteClient;
|
|
112
|
+
steps: ServerQuoteStep[];
|
|
113
|
+
gasless: boolean;
|
|
114
|
+
};
|
|
115
|
+
/** Status values returned by GET /status. */
|
|
116
|
+
export declare enum ServerStatus {
|
|
117
|
+
Pending = "PENDING",
|
|
118
|
+
Submitted = "SUBMITTED",
|
|
119
|
+
Confirmed = "CONFIRMED",
|
|
120
|
+
Failed = "FAILED",
|
|
121
|
+
Refunded = "REFUNDED",
|
|
122
|
+
Unknown = "UNKNOWN"
|
|
123
|
+
}
|
|
124
|
+
/** Response body from GET /status. */
|
|
125
|
+
export type ServerStatusResponse = {
|
|
126
|
+
status: ServerStatus;
|
|
127
|
+
sourceHash?: Hex;
|
|
128
|
+
targetHash?: Hex;
|
|
129
|
+
error?: string;
|
|
130
|
+
};
|
|
131
|
+
/** Request body for POST /submit. */
|
|
132
|
+
export type ServerSubmitRequest = {
|
|
133
|
+
provider: ServerProviderName;
|
|
134
|
+
id: string;
|
|
135
|
+
chainId: number;
|
|
136
|
+
to: Hex;
|
|
137
|
+
data: Hex;
|
|
138
|
+
value: string;
|
|
139
|
+
authorizationList?: {
|
|
140
|
+
chainId: number;
|
|
141
|
+
address: Hex;
|
|
142
|
+
nonce: number;
|
|
143
|
+
yParity: number;
|
|
144
|
+
r: Hex;
|
|
145
|
+
s: Hex;
|
|
146
|
+
}[];
|
|
147
|
+
};
|
|
148
|
+
/** Response body from POST /submit. */
|
|
149
|
+
export type ServerSubmitResponse = {
|
|
150
|
+
success: boolean;
|
|
151
|
+
error?: string;
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../src/strategy/server/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Provider names supported by the server intents API. */
|
|
2
|
+
export var ServerProviderName;
|
|
3
|
+
(function (ServerProviderName) {
|
|
4
|
+
ServerProviderName["Relay"] = "relay";
|
|
5
|
+
ServerProviderName["Across"] = "across";
|
|
6
|
+
})(ServerProviderName || (ServerProviderName = {}));
|
|
7
|
+
/** Trade type for server quote requests. */
|
|
8
|
+
export var ServerTradeType;
|
|
9
|
+
(function (ServerTradeType) {
|
|
10
|
+
ServerTradeType["ExactInput"] = "EXACT_INPUT";
|
|
11
|
+
ServerTradeType["ExpectedOutput"] = "EXPECTED_OUTPUT";
|
|
12
|
+
})(ServerTradeType || (ServerTradeType = {}));
|
|
13
|
+
/** Status values returned by GET /status. */
|
|
14
|
+
export var ServerStatus;
|
|
15
|
+
(function (ServerStatus) {
|
|
16
|
+
ServerStatus["Pending"] = "PENDING";
|
|
17
|
+
ServerStatus["Submitted"] = "SUBMITTED";
|
|
18
|
+
ServerStatus["Confirmed"] = "CONFIRMED";
|
|
19
|
+
ServerStatus["Failed"] = "FAILED";
|
|
20
|
+
ServerStatus["Refunded"] = "REFUNDED";
|
|
21
|
+
ServerStatus["Unknown"] = "UNKNOWN";
|
|
22
|
+
})(ServerStatus || (ServerStatus = {}));
|
|
23
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../src/strategy/server/types.ts"],"names":[],"mappings":"AAEA,0DAA0D;AAC1D,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,uCAAiB,CAAA;AACnB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,4CAA4C;AAC5C,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,6CAA0B,CAAA;IAC1B,qDAAkC,CAAA;AACpC,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AA+GD,6CAA6C;AAC7C,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;AACrB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB","sourcesContent":["import type { Hex } from '@metamask/utils';\n\n/** Provider names supported by the server intents API. */\nexport enum ServerProviderName {\n Relay = 'relay',\n Across = 'across',\n}\n\n/** Trade type for server quote requests. */\nexport enum ServerTradeType {\n ExactInput = 'EXACT_INPUT',\n ExpectedOutput = 'EXPECTED_OUTPUT',\n}\n\n/** Token amount with chain and token context. */\nexport type ServerQuoteAmount = {\n chainId: number;\n token: string;\n decimals: number;\n raw: string;\n formatted: string;\n};\n\n/** A single on-chain step returned by the server quote endpoint. */\nexport type ServerQuoteStep = {\n chainId: number;\n to: Hex;\n data: Hex;\n value: string;\n gasLimit?: string;\n maxFeePerGas?: string;\n maxPriorityFeePerGas?: string;\n};\n\n/** A call to include in the quote request (for delegation flows). */\nexport type ServerCall = {\n to: Hex;\n data: Hex;\n value: Hex;\n};\n\n/** EIP-7702 authorization entry for quote and submit requests. */\nexport type ServerAuthorization = {\n address: Hex;\n chainId: number;\n nonce: number;\n r: Hex;\n s: Hex;\n yParity: number;\n};\n\n/** Request body for POST /quote. */\nexport type ServerQuoteRequest = {\n source: { chainId: number; token: Hex };\n target: { chainId: number; token: Hex };\n amount: string;\n tradeType: ServerTradeType;\n sender: Hex;\n recipient: Hex;\n refundTo?: Hex;\n slippage?: number;\n providers?: ServerProviderName[];\n calls?: ServerCall[];\n authorizationList?: ServerAuthorization[];\n supportsGasless?: boolean;\n};\n\n/** Error detail from a rejected quote result. */\nexport type ServerQuoteError = {\n code?: string;\n message: string;\n};\n\n/** A successful quote payload nested inside a ServerQuoteResult. */\nexport type ServerQuotePayload = {\n id: string;\n input: ServerQuoteAmount;\n output: ServerQuoteAmount;\n fees: ServerQuoteFees;\n duration: number;\n steps: ServerQuoteStep[];\n gasless: boolean;\n};\n\n/** Fee breakdown from a quote. */\nexport type ServerQuoteFees = {\n metamask: string;\n provider: string;\n subsidized: boolean;\n};\n\n/** A single provider result within the quote response. */\nexport type ServerQuoteResult = {\n provider: ServerProviderName;\n quote?: ServerQuotePayload;\n error?: ServerQuoteError;\n};\n\n/** Response body from POST /quote. */\nexport type ServerQuoteResponse = {\n results: ServerQuoteResult[];\n};\n\nexport type ServerQuoteClient = {\n gasLimits: number[];\n is7702: boolean;\n maxFeePerGas: string | undefined;\n maxPriorityFeePerGas: string | undefined;\n};\n\n/** Normalized server quote stored in TransactionPayQuote.original. */\nexport type ServerQuote = {\n id: string;\n provider: ServerProviderName;\n input: ServerQuoteAmount;\n output: ServerQuoteAmount;\n fees: ServerQuoteFees;\n duration: number;\n client: ServerQuoteClient;\n steps: ServerQuoteStep[];\n gasless: boolean;\n};\n\n/** Status values returned by GET /status. */\nexport enum ServerStatus {\n Pending = 'PENDING',\n Submitted = 'SUBMITTED',\n Confirmed = 'CONFIRMED',\n Failed = 'FAILED',\n Refunded = 'REFUNDED',\n Unknown = 'UNKNOWN',\n}\n\n/** Response body from GET /status. */\nexport type ServerStatusResponse = {\n status: ServerStatus;\n sourceHash?: Hex;\n targetHash?: Hex;\n error?: string;\n};\n\n/** Request body for POST /submit. */\nexport type ServerSubmitRequest = {\n provider: ServerProviderName;\n id: string;\n chainId: number;\n to: Hex;\n data: Hex;\n value: string;\n authorizationList?: {\n chainId: number;\n address: Hex;\n nonce: number;\n yParity: number;\n r: Hex;\n s: Hex;\n }[];\n};\n\n/** Response body from POST /submit. */\nexport type ServerSubmitResponse = {\n success: boolean;\n error?: string;\n};\n"]}
|
|
@@ -30,6 +30,7 @@ function getMessengerMock({ skipRegister, } = {}) {
|
|
|
30
30
|
const getAccountTrackerControllerStateMock = jest.fn();
|
|
31
31
|
const getNetworkClientByIdMock = jest.fn();
|
|
32
32
|
const getDelegationTransactionMock = jest.fn();
|
|
33
|
+
const getPaymentOverrideDataMock = jest.fn().mockResolvedValue({ calls: [] });
|
|
33
34
|
const polymarketGetDepositWalletAddressMock = jest.fn();
|
|
34
35
|
const polymarketSubmitDepositWalletBatchMock = jest.fn();
|
|
35
36
|
const getGasFeeTokensMock = jest.fn();
|
|
@@ -69,6 +70,7 @@ function getMessengerMock({ skipRegister, } = {}) {
|
|
|
69
70
|
messenger.registerActionHandler('CurrencyRateController:getState', getCurrencyRateControllerStateMock);
|
|
70
71
|
messenger.registerActionHandler('NetworkController:getNetworkClientById', getNetworkClientByIdMock);
|
|
71
72
|
messenger.registerActionHandler('TransactionPayController:getDelegationTransaction', getDelegationTransactionMock);
|
|
73
|
+
messenger.registerActionHandler('TransactionPayController:getPaymentOverrideData', getPaymentOverrideDataMock);
|
|
72
74
|
messenger.registerActionHandler('TransactionPayController:polymarketGetDepositWalletAddress', polymarketGetDepositWalletAddressMock);
|
|
73
75
|
messenger.registerActionHandler('TransactionPayController:polymarketSubmitDepositWalletBatch', polymarketSubmitDepositWalletBatchMock);
|
|
74
76
|
messenger.registerActionHandler('TransactionController:getGasFeeTokens', getGasFeeTokensMock);
|
|
@@ -91,6 +93,7 @@ function getMessengerMock({ skipRegister, } = {}) {
|
|
|
91
93
|
getControllerStateMock,
|
|
92
94
|
getCurrencyRateControllerStateMock,
|
|
93
95
|
getDelegationTransactionMock,
|
|
96
|
+
getPaymentOverrideDataMock,
|
|
94
97
|
getGasFeeControllerStateMock,
|
|
95
98
|
getGasFeeTokensMock,
|
|
96
99
|
getKeyringControllerStateMock,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messenger-mock.cjs","sourceRoot":"","sources":["../../src/tests/messenger-mock.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TokensControllerGetStateAction } from '@metamask/assets-controllers';\nimport type { TokenBalancesControllerGetStateAction } from '@metamask/assets-controllers';\nimport type { TokenRatesControllerGetStateAction } from '@metamask/assets-controllers';\nimport type { AccountTrackerControllerGetStateAction } from '@metamask/assets-controllers';\nimport type {\n BridgeStatusControllerGetStateAction,\n BridgeStatusControllerSubmitTxAction,\n} from '@metamask/bridge-status-controller';\nimport type { KeyringControllerGetStateAction } from '@metamask/keyring-controller';\nimport type {\n MessengerActions,\n MessengerEvents,\n MockAnyNamespace,\n} from '@metamask/messenger';\nimport { Messenger, MOCK_ANY_NAMESPACE } from '@metamask/messenger';\nimport type { NetworkControllerGetNetworkClientByIdAction } from '@metamask/network-controller';\nimport type { NetworkControllerFindNetworkClientIdByChainIdAction } from '@metamask/network-controller';\nimport type { RemoteFeatureFlagControllerGetStateAction } from '@metamask/remote-feature-flag-controller';\nimport type {\n TransactionControllerAddTransactionAction,\n TransactionControllerAddTransactionBatchAction,\n TransactionControllerEstimateGasAction,\n TransactionControllerEstimateGasBatchAction,\n TransactionControllerGetGasFeeTokensAction,\n TransactionControllerGetStateAction,\n} from '@metamask/transaction-controller';\nimport type { TransactionControllerUpdateTransactionAction } from '@metamask/transaction-controller';\n\nimport type { TransactionPayControllerMessenger } from '..';\nimport type {\n TransactionPayControllerGetDelegationTransactionAction,\n TransactionPayControllerGetStrategyAction,\n TransactionPayControllerPolymarketGetDepositWalletAddressAction,\n TransactionPayControllerPolymarketSubmitDepositWalletBatchAction,\n} from '../TransactionPayController-method-action-types';\nimport type { TransactionPayControllerGetStateAction } from '../types';\n\ntype AllActions = MessengerActions<TransactionPayControllerMessenger>;\ntype AllEvents = MessengerEvents<TransactionPayControllerMessenger>;\ntype RootMessenger = Messenger<MockAnyNamespace, AllActions, AllEvents>;\n\n/**\n * Creates a mock controller messenger for testing.\n *\n * @param options - Options for creating the messenger mock.\n * @param options.skipRegister - Whether to skip registering action handlers.\n * @returns The mock messenger and associated mock functions.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function getMessengerMock({\n skipRegister,\n}: { skipRegister?: boolean } = {}) {\n const getControllerStateMock: jest.MockedFn<\n TransactionPayControllerGetStateAction['handler']\n > = jest.fn();\n\n const getStrategyMock: jest.MockedFn<\n TransactionPayControllerGetStrategyAction['handler']\n > = jest.fn();\n\n const getTransactionControllerStateMock: jest.MockedFn<\n TransactionControllerGetStateAction['handler']\n > = jest.fn();\n\n const addTransactionMock: jest.MockedFn<\n TransactionControllerAddTransactionAction['handler']\n > = jest.fn();\n\n const addTransactionBatchMock: jest.MockedFn<\n TransactionControllerAddTransactionBatchAction['handler']\n > = jest.fn();\n\n const findNetworkClientIdByChainIdMock: jest.MockedFn<\n NetworkControllerFindNetworkClientIdByChainIdAction['handler']\n > = jest.fn();\n\n const fetchQuotesMock = jest.fn();\n\n const getRemoteFeatureFlagControllerStateMock: jest.MockedFn<\n RemoteFeatureFlagControllerGetStateAction['handler']\n > = jest.fn();\n\n const getGasFeeControllerStateMock = jest.fn();\n\n const submitTransactionMock: jest.MockedFunction<\n BridgeStatusControllerSubmitTxAction['handler']\n > = jest.fn();\n\n const updateTransactionMock: jest.MockedFn<\n TransactionControllerUpdateTransactionAction['handler']\n > = jest.fn();\n\n const getBridgeStatusControllerStateMock: jest.MockedFn<\n BridgeStatusControllerGetStateAction['handler']\n > = jest.fn();\n\n const getTokensControllerStateMock: jest.MockedFn<\n TokensControllerGetStateAction['handler']\n > = jest.fn();\n\n const getTokenBalanceControllerStateMock: jest.MockedFn<\n TokenBalancesControllerGetStateAction['handler']\n > = jest.fn();\n\n const getTokenRatesControllerStateMock: jest.MockedFn<\n TokenRatesControllerGetStateAction['handler']\n > = jest.fn();\n\n const getCurrencyRateControllerStateMock = jest.fn();\n\n const getAccountTrackerControllerStateMock: jest.MockedFn<\n AccountTrackerControllerGetStateAction['handler']\n > = jest.fn();\n\n const getNetworkClientByIdMock: jest.MockedFn<\n NetworkControllerGetNetworkClientByIdAction['handler']\n > = jest.fn();\n\n const getDelegationTransactionMock: jest.MockedFn<\n TransactionPayControllerGetDelegationTransactionAction['handler']\n > = jest.fn();\n\n const polymarketGetDepositWalletAddressMock: jest.MockedFn<\n TransactionPayControllerPolymarketGetDepositWalletAddressAction['handler']\n > = jest.fn();\n\n const polymarketSubmitDepositWalletBatchMock: jest.MockedFn<\n TransactionPayControllerPolymarketSubmitDepositWalletBatchAction['handler']\n > = jest.fn();\n\n const getGasFeeTokensMock: jest.MockedFn<\n TransactionControllerGetGasFeeTokensAction['handler']\n > = jest.fn();\n\n const estimateGasMock: jest.MockedFn<\n TransactionControllerEstimateGasAction['handler']\n > = jest.fn();\n\n const estimateGasBatchMock: jest.MockedFn<\n TransactionControllerEstimateGasBatchAction['handler']\n > = jest.fn();\n\n const getAssetsControllerStateMock = jest.fn();\n\n const getKeyringControllerStateMock: jest.MockedFn<\n KeyringControllerGetStateAction['handler']\n > = jest.fn().mockReturnValue({\n isUnlocked: true,\n keyrings: [\n {\n type: 'HD Key Tree',\n accounts: ['0x1234567890123456789012345678901234567891'],\n metadata: { id: 'hd-keyring', name: 'HD Key Tree' },\n },\n ],\n });\n\n const messenger: RootMessenger = new Messenger({\n namespace: MOCK_ANY_NAMESPACE,\n });\n\n if (skipRegister !== true) {\n messenger.registerActionHandler(\n 'TransactionPayController:getState',\n getControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:getStrategy',\n getStrategyMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:getState',\n getTransactionControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:addTransaction',\n addTransactionMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:addTransactionBatch',\n addTransactionBatchMock,\n );\n\n messenger.registerActionHandler(\n 'NetworkController:findNetworkClientIdByChainId',\n findNetworkClientIdByChainIdMock,\n );\n\n messenger.registerActionHandler(\n 'BridgeController:fetchQuotes',\n fetchQuotesMock,\n );\n\n messenger.registerActionHandler(\n 'RemoteFeatureFlagController:getState',\n getRemoteFeatureFlagControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'BridgeStatusController:submitTx',\n submitTransactionMock,\n );\n\n messenger.registerActionHandler(\n 'GasFeeController:getState',\n getGasFeeControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:updateTransaction',\n updateTransactionMock,\n );\n\n messenger.registerActionHandler(\n 'BridgeStatusController:getState',\n getBridgeStatusControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TokensController:getState',\n getTokensControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TokenBalancesController:getState',\n getTokenBalanceControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TokenRatesController:getState',\n getTokenRatesControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'AccountTrackerController:getState',\n getAccountTrackerControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'CurrencyRateController:getState',\n getCurrencyRateControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'NetworkController:getNetworkClientById',\n getNetworkClientByIdMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:getDelegationTransaction',\n getDelegationTransactionMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:polymarketGetDepositWalletAddress',\n polymarketGetDepositWalletAddressMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:polymarketSubmitDepositWalletBatch',\n polymarketSubmitDepositWalletBatchMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:getGasFeeTokens',\n getGasFeeTokensMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:estimateGas',\n estimateGasMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:estimateGasBatch',\n estimateGasBatchMock,\n );\n\n messenger.registerActionHandler(\n 'AssetsController:getStateForTransactionPay',\n getAssetsControllerStateMock,\n );\n }\n\n messenger.registerActionHandler(\n 'KeyringController:getState',\n getKeyringControllerStateMock,\n );\n\n const publish = messenger.publish.bind(messenger);\n\n return {\n addTransactionMock,\n getAssetsControllerStateMock,\n addTransactionBatchMock,\n estimateGasMock,\n estimateGasBatchMock,\n fetchQuotesMock,\n findNetworkClientIdByChainIdMock,\n getAccountTrackerControllerStateMock,\n getBridgeStatusControllerStateMock,\n getControllerStateMock,\n getCurrencyRateControllerStateMock,\n getDelegationTransactionMock,\n getGasFeeControllerStateMock,\n getGasFeeTokensMock,\n getKeyringControllerStateMock,\n getNetworkClientByIdMock,\n getRemoteFeatureFlagControllerStateMock,\n getStrategyMock,\n getTokenBalanceControllerStateMock,\n getTokenRatesControllerStateMock,\n getTokensControllerStateMock,\n getTransactionControllerStateMock,\n messenger: messenger as TransactionPayControllerMessenger,\n polymarketGetDepositWalletAddressMock,\n polymarketSubmitDepositWalletBatchMock,\n publish,\n submitTransactionMock,\n updateTransactionMock,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"messenger-mock.cjs","sourceRoot":"","sources":["../../src/tests/messenger-mock.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TokensControllerGetStateAction } from '@metamask/assets-controllers';\nimport type { TokenBalancesControllerGetStateAction } from '@metamask/assets-controllers';\nimport type { TokenRatesControllerGetStateAction } from '@metamask/assets-controllers';\nimport type { AccountTrackerControllerGetStateAction } from '@metamask/assets-controllers';\nimport type {\n BridgeStatusControllerGetStateAction,\n BridgeStatusControllerSubmitTxAction,\n} from '@metamask/bridge-status-controller';\nimport type { KeyringControllerGetStateAction } from '@metamask/keyring-controller';\nimport type {\n MessengerActions,\n MessengerEvents,\n MockAnyNamespace,\n} from '@metamask/messenger';\nimport { Messenger, MOCK_ANY_NAMESPACE } from '@metamask/messenger';\nimport type { NetworkControllerGetNetworkClientByIdAction } from '@metamask/network-controller';\nimport type { NetworkControllerFindNetworkClientIdByChainIdAction } from '@metamask/network-controller';\nimport type { RemoteFeatureFlagControllerGetStateAction } from '@metamask/remote-feature-flag-controller';\nimport type {\n TransactionControllerAddTransactionAction,\n TransactionControllerAddTransactionBatchAction,\n TransactionControllerEstimateGasAction,\n TransactionControllerEstimateGasBatchAction,\n TransactionControllerGetGasFeeTokensAction,\n TransactionControllerGetStateAction,\n} from '@metamask/transaction-controller';\nimport type { TransactionControllerUpdateTransactionAction } from '@metamask/transaction-controller';\n\nimport type { TransactionPayControllerMessenger } from '..';\nimport type {\n TransactionPayControllerGetDelegationTransactionAction,\n TransactionPayControllerGetPaymentOverrideDataAction,\n TransactionPayControllerGetStrategyAction,\n TransactionPayControllerPolymarketGetDepositWalletAddressAction,\n TransactionPayControllerPolymarketSubmitDepositWalletBatchAction,\n} from '../TransactionPayController-method-action-types';\nimport type { TransactionPayControllerGetStateAction } from '../types';\n\ntype AllActions = MessengerActions<TransactionPayControllerMessenger>;\ntype AllEvents = MessengerEvents<TransactionPayControllerMessenger>;\ntype RootMessenger = Messenger<MockAnyNamespace, AllActions, AllEvents>;\n\n/**\n * Creates a mock controller messenger for testing.\n *\n * @param options - Options for creating the messenger mock.\n * @param options.skipRegister - Whether to skip registering action handlers.\n * @returns The mock messenger and associated mock functions.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function getMessengerMock({\n skipRegister,\n}: { skipRegister?: boolean } = {}) {\n const getControllerStateMock: jest.MockedFn<\n TransactionPayControllerGetStateAction['handler']\n > = jest.fn();\n\n const getStrategyMock: jest.MockedFn<\n TransactionPayControllerGetStrategyAction['handler']\n > = jest.fn();\n\n const getTransactionControllerStateMock: jest.MockedFn<\n TransactionControllerGetStateAction['handler']\n > = jest.fn();\n\n const addTransactionMock: jest.MockedFn<\n TransactionControllerAddTransactionAction['handler']\n > = jest.fn();\n\n const addTransactionBatchMock: jest.MockedFn<\n TransactionControllerAddTransactionBatchAction['handler']\n > = jest.fn();\n\n const findNetworkClientIdByChainIdMock: jest.MockedFn<\n NetworkControllerFindNetworkClientIdByChainIdAction['handler']\n > = jest.fn();\n\n const fetchQuotesMock = jest.fn();\n\n const getRemoteFeatureFlagControllerStateMock: jest.MockedFn<\n RemoteFeatureFlagControllerGetStateAction['handler']\n > = jest.fn();\n\n const getGasFeeControllerStateMock = jest.fn();\n\n const submitTransactionMock: jest.MockedFunction<\n BridgeStatusControllerSubmitTxAction['handler']\n > = jest.fn();\n\n const updateTransactionMock: jest.MockedFn<\n TransactionControllerUpdateTransactionAction['handler']\n > = jest.fn();\n\n const getBridgeStatusControllerStateMock: jest.MockedFn<\n BridgeStatusControllerGetStateAction['handler']\n > = jest.fn();\n\n const getTokensControllerStateMock: jest.MockedFn<\n TokensControllerGetStateAction['handler']\n > = jest.fn();\n\n const getTokenBalanceControllerStateMock: jest.MockedFn<\n TokenBalancesControllerGetStateAction['handler']\n > = jest.fn();\n\n const getTokenRatesControllerStateMock: jest.MockedFn<\n TokenRatesControllerGetStateAction['handler']\n > = jest.fn();\n\n const getCurrencyRateControllerStateMock = jest.fn();\n\n const getAccountTrackerControllerStateMock: jest.MockedFn<\n AccountTrackerControllerGetStateAction['handler']\n > = jest.fn();\n\n const getNetworkClientByIdMock: jest.MockedFn<\n NetworkControllerGetNetworkClientByIdAction['handler']\n > = jest.fn();\n\n const getDelegationTransactionMock: jest.MockedFn<\n TransactionPayControllerGetDelegationTransactionAction['handler']\n > = jest.fn();\n\n const getPaymentOverrideDataMock: jest.MockedFn<\n TransactionPayControllerGetPaymentOverrideDataAction['handler']\n > = jest.fn().mockResolvedValue({ calls: [] });\n\n const polymarketGetDepositWalletAddressMock: jest.MockedFn<\n TransactionPayControllerPolymarketGetDepositWalletAddressAction['handler']\n > = jest.fn();\n\n const polymarketSubmitDepositWalletBatchMock: jest.MockedFn<\n TransactionPayControllerPolymarketSubmitDepositWalletBatchAction['handler']\n > = jest.fn();\n\n const getGasFeeTokensMock: jest.MockedFn<\n TransactionControllerGetGasFeeTokensAction['handler']\n > = jest.fn();\n\n const estimateGasMock: jest.MockedFn<\n TransactionControllerEstimateGasAction['handler']\n > = jest.fn();\n\n const estimateGasBatchMock: jest.MockedFn<\n TransactionControllerEstimateGasBatchAction['handler']\n > = jest.fn();\n\n const getAssetsControllerStateMock = jest.fn();\n\n const getKeyringControllerStateMock: jest.MockedFn<\n KeyringControllerGetStateAction['handler']\n > = jest.fn().mockReturnValue({\n isUnlocked: true,\n keyrings: [\n {\n type: 'HD Key Tree',\n accounts: ['0x1234567890123456789012345678901234567891'],\n metadata: { id: 'hd-keyring', name: 'HD Key Tree' },\n },\n ],\n });\n\n const messenger: RootMessenger = new Messenger({\n namespace: MOCK_ANY_NAMESPACE,\n });\n\n if (skipRegister !== true) {\n messenger.registerActionHandler(\n 'TransactionPayController:getState',\n getControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:getStrategy',\n getStrategyMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:getState',\n getTransactionControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:addTransaction',\n addTransactionMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:addTransactionBatch',\n addTransactionBatchMock,\n );\n\n messenger.registerActionHandler(\n 'NetworkController:findNetworkClientIdByChainId',\n findNetworkClientIdByChainIdMock,\n );\n\n messenger.registerActionHandler(\n 'BridgeController:fetchQuotes',\n fetchQuotesMock,\n );\n\n messenger.registerActionHandler(\n 'RemoteFeatureFlagController:getState',\n getRemoteFeatureFlagControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'BridgeStatusController:submitTx',\n submitTransactionMock,\n );\n\n messenger.registerActionHandler(\n 'GasFeeController:getState',\n getGasFeeControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:updateTransaction',\n updateTransactionMock,\n );\n\n messenger.registerActionHandler(\n 'BridgeStatusController:getState',\n getBridgeStatusControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TokensController:getState',\n getTokensControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TokenBalancesController:getState',\n getTokenBalanceControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'TokenRatesController:getState',\n getTokenRatesControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'AccountTrackerController:getState',\n getAccountTrackerControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'CurrencyRateController:getState',\n getCurrencyRateControllerStateMock,\n );\n\n messenger.registerActionHandler(\n 'NetworkController:getNetworkClientById',\n getNetworkClientByIdMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:getDelegationTransaction',\n getDelegationTransactionMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:getPaymentOverrideData',\n getPaymentOverrideDataMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:polymarketGetDepositWalletAddress',\n polymarketGetDepositWalletAddressMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionPayController:polymarketSubmitDepositWalletBatch',\n polymarketSubmitDepositWalletBatchMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:getGasFeeTokens',\n getGasFeeTokensMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:estimateGas',\n estimateGasMock,\n );\n\n messenger.registerActionHandler(\n 'TransactionController:estimateGasBatch',\n estimateGasBatchMock,\n );\n\n messenger.registerActionHandler(\n 'AssetsController:getStateForTransactionPay',\n getAssetsControllerStateMock,\n );\n }\n\n messenger.registerActionHandler(\n 'KeyringController:getState',\n getKeyringControllerStateMock,\n );\n\n const publish = messenger.publish.bind(messenger);\n\n return {\n addTransactionMock,\n getAssetsControllerStateMock,\n addTransactionBatchMock,\n estimateGasMock,\n estimateGasBatchMock,\n fetchQuotesMock,\n findNetworkClientIdByChainIdMock,\n getAccountTrackerControllerStateMock,\n getBridgeStatusControllerStateMock,\n getControllerStateMock,\n getCurrencyRateControllerStateMock,\n getDelegationTransactionMock,\n getPaymentOverrideDataMock,\n getGasFeeControllerStateMock,\n getGasFeeTokensMock,\n getKeyringControllerStateMock,\n getNetworkClientByIdMock,\n getRemoteFeatureFlagControllerStateMock,\n getStrategyMock,\n getTokenBalanceControllerStateMock,\n getTokenRatesControllerStateMock,\n getTokensControllerStateMock,\n getTransactionControllerStateMock,\n messenger: messenger as TransactionPayControllerMessenger,\n polymarketGetDepositWalletAddressMock,\n polymarketSubmitDepositWalletBatchMock,\n publish,\n submitTransactionMock,\n updateTransactionMock,\n };\n}\n"]}
|
|
@@ -45,6 +45,7 @@ export declare function getMessengerMock({ skipRegister, }?: {
|
|
|
45
45
|
to: `0x${string}`;
|
|
46
46
|
value: `0x${string}`;
|
|
47
47
|
}>>;
|
|
48
|
+
getPaymentOverrideDataMock: jest.MockedFn<(request: import("../index.cjs").GetPaymentOverrideDataRequest) => Promise<import("../index.cjs").GetPaymentOverrideDataResponse>>;
|
|
48
49
|
getGasFeeControllerStateMock: jest.Mock<any, any, any>;
|
|
49
50
|
getGasFeeTokensMock: jest.MockedFn<(request: import("@metamask/transaction-controller").GetGasFeeTokensRequest) => Promise<import("@metamask/transaction-controller").GasFeeToken[]>>;
|
|
50
51
|
getKeyringControllerStateMock: jest.MockedFn<() => import("@metamask/keyring-controller").KeyringControllerState>;
|
|
@@ -74,7 +75,7 @@ export declare function getMessengerMock({ skipRegister, }?: {
|
|
|
74
75
|
sourceHash: `0x${string}`;
|
|
75
76
|
}>>;
|
|
76
77
|
publish: <EventType extends "AssetsController:stateChange" | "BridgeStatusController:stateChange" | "CurrencyRateController:stateChange" | "TokenRatesController:stateChange" | "TokensController:stateChange" | "TransactionController:stateChange" | "TransactionController:unapprovedTransactionAdded" | "TransactionPayController:stateChange">(eventType: EventType & `${string}:${string}`, ...payload: import("@metamask/messenger").ExtractEventPayload<import("@metamask/assets-controller").AssetsControllerStateChangeEvent, EventType> | import("@metamask/messenger").ExtractEventPayload<import("@metamask/bridge-status-controller").BridgeStatusControllerStateChangeEvent, EventType> | import("@metamask/messenger").ExtractEventPayload<import("@metamask/assets-controllers").CurrencyRateStateChange, EventType> | import("@metamask/messenger").ExtractEventPayload<import("@metamask/assets-controllers").TokenRatesControllerStateChangeEvent, EventType> | import("@metamask/messenger").ExtractEventPayload<import("@metamask/assets-controllers").TokensControllerStateChangeEvent, EventType> | import("@metamask/messenger").ExtractEventPayload<import("@metamask/transaction-controller").TransactionControllerStateChangeEvent, EventType> | import("@metamask/messenger").ExtractEventPayload<import("@metamask/transaction-controller").TransactionControllerUnapprovedTransactionAddedEvent, EventType> | import("@metamask/messenger").ExtractEventPayload<import("../index.cjs").TransactionPayControllerStateChangeEvent, EventType>) => void;
|
|
77
|
-
submitTransactionMock: jest.MockedFunction<(accountAddress: string,
|
|
78
|
+
submitTransactionMock: jest.MockedFunction<(accountAddress: string, maybeQuoteResponses: ({
|
|
78
79
|
quote: {
|
|
79
80
|
gasIncluded?: boolean | undefined;
|
|
80
81
|
gasIncluded7702?: boolean | undefined;
|
|
@@ -292,12 +293,231 @@ export declare function getMessengerMock({ skipRegister, }?: {
|
|
|
292
293
|
effectiveGas?: number | undefined;
|
|
293
294
|
} | undefined;
|
|
294
295
|
quoteRequestIndex?: number | undefined;
|
|
295
|
-
} & import("@metamask/bridge-controller").QuoteMetadata
|
|
296
|
+
} & import("@metamask/bridge-controller").QuoteMetadata) | ({
|
|
297
|
+
quote: {
|
|
298
|
+
gasIncluded?: boolean | undefined;
|
|
299
|
+
gasIncluded7702?: boolean | undefined;
|
|
300
|
+
gasSponsored?: boolean | undefined;
|
|
301
|
+
} & {
|
|
302
|
+
srcChainId: number;
|
|
303
|
+
destChainId: number;
|
|
304
|
+
srcAsset: {
|
|
305
|
+
symbol: string;
|
|
306
|
+
chainId: number;
|
|
307
|
+
address: string;
|
|
308
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
309
|
+
name: string;
|
|
310
|
+
decimals: number;
|
|
311
|
+
icon?: string | null | undefined;
|
|
312
|
+
iconUrl?: string | null | undefined;
|
|
313
|
+
};
|
|
314
|
+
destAsset: {
|
|
315
|
+
symbol: string;
|
|
316
|
+
chainId: number;
|
|
317
|
+
address: string;
|
|
318
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
319
|
+
name: string;
|
|
320
|
+
decimals: number;
|
|
321
|
+
icon?: string | null | undefined;
|
|
322
|
+
iconUrl?: string | null | undefined;
|
|
323
|
+
};
|
|
324
|
+
requestId: string;
|
|
325
|
+
srcTokenAmount: string;
|
|
326
|
+
destTokenAmount: string;
|
|
327
|
+
minDestTokenAmount: string;
|
|
328
|
+
feeData: {
|
|
329
|
+
metabridge: {
|
|
330
|
+
amount: string;
|
|
331
|
+
asset: {
|
|
332
|
+
symbol: string;
|
|
333
|
+
chainId: number;
|
|
334
|
+
address: string;
|
|
335
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
336
|
+
name: string;
|
|
337
|
+
decimals: number;
|
|
338
|
+
icon?: string | null | undefined;
|
|
339
|
+
iconUrl?: string | null | undefined;
|
|
340
|
+
};
|
|
341
|
+
};
|
|
342
|
+
txFee?: ({
|
|
343
|
+
amount: string;
|
|
344
|
+
asset: {
|
|
345
|
+
symbol: string;
|
|
346
|
+
chainId: number;
|
|
347
|
+
address: string;
|
|
348
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
349
|
+
name: string;
|
|
350
|
+
decimals: number;
|
|
351
|
+
icon?: string | null | undefined;
|
|
352
|
+
iconUrl?: string | null | undefined;
|
|
353
|
+
};
|
|
354
|
+
} & {
|
|
355
|
+
maxFeePerGas: string;
|
|
356
|
+
maxPriorityFeePerGas: string;
|
|
357
|
+
}) | undefined;
|
|
358
|
+
};
|
|
359
|
+
bridgeId: string;
|
|
360
|
+
bridges: string[];
|
|
361
|
+
steps: {
|
|
362
|
+
action: import("@metamask/bridge-controller").ActionTypes;
|
|
363
|
+
srcChainId: number;
|
|
364
|
+
srcAsset: {
|
|
365
|
+
symbol: string;
|
|
366
|
+
chainId: number;
|
|
367
|
+
address: string;
|
|
368
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
369
|
+
name: string;
|
|
370
|
+
decimals: number;
|
|
371
|
+
icon?: string | null | undefined;
|
|
372
|
+
iconUrl?: string | null | undefined;
|
|
373
|
+
};
|
|
374
|
+
destAsset: {
|
|
375
|
+
symbol: string;
|
|
376
|
+
chainId: number;
|
|
377
|
+
address: string;
|
|
378
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
379
|
+
name: string;
|
|
380
|
+
decimals: number;
|
|
381
|
+
icon?: string | null | undefined;
|
|
382
|
+
iconUrl?: string | null | undefined;
|
|
383
|
+
};
|
|
384
|
+
srcAmount: string;
|
|
385
|
+
destAmount: string;
|
|
386
|
+
protocol: {
|
|
387
|
+
name: string;
|
|
388
|
+
icon?: string | undefined;
|
|
389
|
+
displayName?: string | undefined;
|
|
390
|
+
};
|
|
391
|
+
destChainId?: number | undefined;
|
|
392
|
+
}[];
|
|
393
|
+
refuel?: {
|
|
394
|
+
action: import("@metamask/bridge-controller").ActionTypes;
|
|
395
|
+
srcChainId: number;
|
|
396
|
+
srcAsset: {
|
|
397
|
+
symbol: string;
|
|
398
|
+
chainId: number;
|
|
399
|
+
address: string;
|
|
400
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
401
|
+
name: string;
|
|
402
|
+
decimals: number;
|
|
403
|
+
icon?: string | null | undefined;
|
|
404
|
+
iconUrl?: string | null | undefined;
|
|
405
|
+
};
|
|
406
|
+
destAsset: {
|
|
407
|
+
symbol: string;
|
|
408
|
+
chainId: number;
|
|
409
|
+
address: string;
|
|
410
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
411
|
+
name: string;
|
|
412
|
+
decimals: number;
|
|
413
|
+
icon?: string | null | undefined;
|
|
414
|
+
iconUrl?: string | null | undefined;
|
|
415
|
+
};
|
|
416
|
+
srcAmount: string;
|
|
417
|
+
destAmount: string;
|
|
418
|
+
protocol: {
|
|
419
|
+
name: string;
|
|
420
|
+
icon?: string | undefined;
|
|
421
|
+
displayName?: string | undefined;
|
|
422
|
+
};
|
|
423
|
+
destChainId?: number | undefined;
|
|
424
|
+
} | undefined;
|
|
425
|
+
priceData?: {
|
|
426
|
+
totalFromAmountUsd?: string | undefined;
|
|
427
|
+
totalToAmountUsd?: string | undefined;
|
|
428
|
+
priceImpact?: string | undefined;
|
|
429
|
+
totalFeeAmountUsd?: string | undefined;
|
|
430
|
+
} | undefined;
|
|
431
|
+
intent?: {
|
|
432
|
+
protocol: string;
|
|
433
|
+
order: {
|
|
434
|
+
sellToken: `0x${string}`;
|
|
435
|
+
buyToken: `0x${string}`;
|
|
436
|
+
validTo: string | number;
|
|
437
|
+
appData: string;
|
|
438
|
+
appDataHash: `0x${string}`;
|
|
439
|
+
feeAmount: string;
|
|
440
|
+
kind: "buy" | "sell";
|
|
441
|
+
partiallyFillable: boolean;
|
|
442
|
+
receiver?: `0x${string}` | undefined;
|
|
443
|
+
sellAmount?: string | undefined;
|
|
444
|
+
buyAmount?: string | undefined;
|
|
445
|
+
from?: `0x${string}` | undefined;
|
|
446
|
+
};
|
|
447
|
+
typedData: {
|
|
448
|
+
types: Record<string, {
|
|
449
|
+
name: string;
|
|
450
|
+
type: string;
|
|
451
|
+
}[]>;
|
|
452
|
+
primaryType: string;
|
|
453
|
+
domain: Record<string, any>;
|
|
454
|
+
message: Record<string, any>;
|
|
455
|
+
};
|
|
456
|
+
settlementContract?: `0x${string}` | undefined;
|
|
457
|
+
} | undefined;
|
|
458
|
+
};
|
|
459
|
+
estimatedProcessingTimeInSeconds: number;
|
|
460
|
+
trade: string | {
|
|
461
|
+
chainId: number;
|
|
462
|
+
from: `0x${string}`;
|
|
463
|
+
to: `0x${string}`;
|
|
464
|
+
value: `0x${string}`;
|
|
465
|
+
data: `0x${string}`;
|
|
466
|
+
gasLimit: number | null;
|
|
467
|
+
effectiveGas?: number | undefined;
|
|
468
|
+
} | {
|
|
469
|
+
unsignedPsbtBase64: string;
|
|
470
|
+
inputsToSign: {}[] | null;
|
|
471
|
+
} | {
|
|
472
|
+
raw_data_hex: string;
|
|
473
|
+
visible?: boolean | undefined;
|
|
474
|
+
raw_data?: {
|
|
475
|
+
contract?: {
|
|
476
|
+
type?: string | undefined;
|
|
477
|
+
}[] | undefined;
|
|
478
|
+
fee_limit?: number | undefined;
|
|
479
|
+
} | null | undefined;
|
|
480
|
+
};
|
|
481
|
+
quoteId?: string | undefined;
|
|
482
|
+
approval?: {
|
|
483
|
+
chainId: number;
|
|
484
|
+
from: `0x${string}`;
|
|
485
|
+
to: `0x${string}`;
|
|
486
|
+
value: `0x${string}`;
|
|
487
|
+
data: `0x${string}`;
|
|
488
|
+
gasLimit: number | null;
|
|
489
|
+
effectiveGas?: number | undefined;
|
|
490
|
+
} | {
|
|
491
|
+
raw_data_hex: string;
|
|
492
|
+
visible?: boolean | undefined;
|
|
493
|
+
raw_data?: {
|
|
494
|
+
contract?: {
|
|
495
|
+
type?: string | undefined;
|
|
496
|
+
}[] | undefined;
|
|
497
|
+
fee_limit?: number | undefined;
|
|
498
|
+
} | null | undefined;
|
|
499
|
+
} | undefined;
|
|
500
|
+
} & {
|
|
501
|
+
trade: import("@metamask/bridge-controller").Trade;
|
|
502
|
+
approval?: import("@metamask/bridge-controller").Trade | undefined;
|
|
503
|
+
featureId?: import("@metamask/bridge-controller").FeatureId | undefined;
|
|
504
|
+
resetApproval?: {
|
|
505
|
+
chainId: number;
|
|
506
|
+
from: `0x${string}`;
|
|
507
|
+
to: `0x${string}`;
|
|
508
|
+
value: `0x${string}`;
|
|
509
|
+
data: `0x${string}`;
|
|
510
|
+
gasLimit: number | null;
|
|
511
|
+
effectiveGas?: number | undefined;
|
|
512
|
+
} | undefined;
|
|
513
|
+
quoteRequestIndex?: number | undefined;
|
|
514
|
+
} & import("@metamask/bridge-controller").QuoteMetadata)[], isStxEnabled: boolean, quotesReceivedContext?: (import("@metamask/bridge-controller").TradeData & {
|
|
296
515
|
warnings: import("@metamask/bridge-controller").QuoteWarning[];
|
|
297
516
|
best_quote_provider: `${string}_${string}` | undefined;
|
|
298
517
|
price_impact: number;
|
|
299
518
|
can_submit: boolean;
|
|
300
519
|
usd_balance_source?: number | undefined;
|
|
520
|
+
has_sufficient_gas_for_quote?: boolean | null | undefined;
|
|
301
521
|
} & {
|
|
302
522
|
location?: import("@metamask/bridge-controller").MetaMetricsSwapsEventSource | undefined;
|
|
303
523
|
ab_tests?: Record<string, string> | undefined;
|
|
@@ -308,7 +528,39 @@ export declare function getMessengerMock({ skipRegister, }?: {
|
|
|
308
528
|
}) | undefined, location?: import("@metamask/bridge-controller").MetaMetricsSwapsEventSource | undefined, abTests?: Record<string, string> | undefined, activeAbTests?: {
|
|
309
529
|
key: string;
|
|
310
530
|
value: string;
|
|
311
|
-
}[] | undefined, tokenSecurityTypeDestination?: string | null | undefined
|
|
531
|
+
}[] | undefined, tokenSecurityTypeDestination?: string | null | undefined, batchSellTrades?: ({
|
|
532
|
+
transactions: ({
|
|
533
|
+
chainId: number;
|
|
534
|
+
from: `0x${string}`;
|
|
535
|
+
to: `0x${string}`;
|
|
536
|
+
value: `0x${string}`;
|
|
537
|
+
data: `0x${string}`;
|
|
538
|
+
gasLimit: number | null;
|
|
539
|
+
effectiveGas?: number | undefined;
|
|
540
|
+
} & {
|
|
541
|
+
maxFeePerGas: `0x${string}`;
|
|
542
|
+
maxPriorityFeePerGas: `0x${string}`;
|
|
543
|
+
} & {
|
|
544
|
+
type: import("@metamask/bridge-controller").BatchSellTransactionType;
|
|
545
|
+
})[];
|
|
546
|
+
fee?: {
|
|
547
|
+
amount: string;
|
|
548
|
+
asset: {
|
|
549
|
+
symbol: string;
|
|
550
|
+
chainId: number;
|
|
551
|
+
address: string;
|
|
552
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
553
|
+
name: string;
|
|
554
|
+
decimals: number;
|
|
555
|
+
icon?: string | null | undefined;
|
|
556
|
+
iconUrl?: string | null | undefined;
|
|
557
|
+
};
|
|
558
|
+
} | undefined;
|
|
559
|
+
} & {
|
|
560
|
+
gasIncluded?: boolean | undefined;
|
|
561
|
+
gasIncluded7702?: boolean | undefined;
|
|
562
|
+
gasSponsored?: boolean | undefined;
|
|
563
|
+
}) | null | undefined) => Promise<import("@metamask/transaction-controller").TransactionMeta>>;
|
|
312
564
|
updateTransactionMock: jest.MockedFn<(transactionMeta: import("@metamask/transaction-controller").TransactionMeta, note: string) => void>;
|
|
313
565
|
};
|
|
314
566
|
//# sourceMappingURL=messenger-mock.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messenger-mock.d.cts","sourceRoot":"","sources":["../../src/tests/messenger-mock.ts"],"names":[],"mappings":";AA4BA,OAAO,KAAK,EAAE,iCAAiC,EAAE,qBAAW;
|
|
1
|
+
{"version":3,"file":"messenger-mock.d.cts","sourceRoot":"","sources":["../../src/tests/messenger-mock.ts"],"names":[],"mappings":";AA4BA,OAAO,KAAK,EAAE,iCAAiC,EAAE,qBAAW;AAc5D;;;;;;GAMG;AAEH,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,GACb,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4RjC"}
|