@metamask/transaction-pay-controller 22.7.0 → 23.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 +26 -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 +19 -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 +19 -3
- package/dist/TransactionPayController.mjs.map +1 -1
- package/dist/constants.cjs +1 -0
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +1 -0
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.mts +1 -0
- package/dist/constants.d.mts.map +1 -1
- package/dist/constants.mjs +1 -0
- package/dist/constants.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/strategy/across/across-submit.cjs +2 -1
- package/dist/strategy/across/across-submit.cjs.map +1 -1
- package/dist/strategy/across/across-submit.d.cts.map +1 -1
- package/dist/strategy/across/across-submit.d.mts.map +1 -1
- package/dist/strategy/across/across-submit.mjs +2 -1
- package/dist/strategy/across/across-submit.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 +27 -13
- package/dist/strategy/relay/relay-submit.cjs.map +1 -1
- package/dist/strategy/relay/relay-submit.d.cts.map +1 -1
- package/dist/strategy/relay/relay-submit.d.mts.map +1 -1
- package/dist/strategy/relay/relay-submit.mjs +27 -13
- 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 +6 -0
- package/dist/tests/messenger-mock.cjs.map +1 -1
- package/dist/tests/messenger-mock.d.cts +256 -3
- package/dist/tests/messenger-mock.d.cts.map +1 -1
- package/dist/tests/messenger-mock.d.mts +256 -3
- package/dist/tests/messenger-mock.d.mts.map +1 -1
- package/dist/tests/messenger-mock.mjs +6 -0
- package/dist/tests/messenger-mock.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +45 -18
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +45 -18
- 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 +13 -11
- 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 +12 -11
- package/dist/utils/gas.mjs.map +1 -1
- package/dist/utils/provider.cjs +61 -0
- package/dist/utils/provider.cjs.map +1 -0
- package/dist/utils/provider.d.cts +59 -0
- package/dist/utils/provider.d.cts.map +1 -0
- package/dist/utils/provider.d.mts +59 -0
- package/dist/utils/provider.d.mts.map +1 -0
- package/dist/utils/provider.mjs +56 -0
- package/dist/utils/provider.mjs.map +1 -0
- 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/dist/utils/token.cjs +28 -16
- package/dist/utils/token.cjs.map +1 -1
- package/dist/utils/token.d.cts +4 -0
- package/dist/utils/token.d.cts.map +1 -1
- package/dist/utils/token.d.mts +4 -0
- package/dist/utils/token.d.mts.map +1 -1
- package/dist/utils/token.mjs +28 -16
- package/dist/utils/token.mjs.map +1 -1
- package/dist/utils/transaction.cjs +28 -20
- package/dist/utils/transaction.cjs.map +1 -1
- package/dist/utils/transaction.d.cts.map +1 -1
- package/dist/utils/transaction.d.mts.map +1 -1
- package/dist/utils/transaction.mjs +28 -20
- package/dist/utils/transaction.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"]}
|
|
@@ -29,7 +29,9 @@ function getMessengerMock({ skipRegister, } = {}) {
|
|
|
29
29
|
const getCurrencyRateControllerStateMock = jest.fn();
|
|
30
30
|
const getAccountTrackerControllerStateMock = jest.fn();
|
|
31
31
|
const getNetworkClientByIdMock = jest.fn();
|
|
32
|
+
const getNetworkConfigurationByChainIdMock = jest.fn();
|
|
32
33
|
const getDelegationTransactionMock = jest.fn();
|
|
34
|
+
const getPaymentOverrideDataMock = jest.fn().mockResolvedValue({ calls: [] });
|
|
33
35
|
const polymarketGetDepositWalletAddressMock = jest.fn();
|
|
34
36
|
const polymarketSubmitDepositWalletBatchMock = jest.fn();
|
|
35
37
|
const getGasFeeTokensMock = jest.fn();
|
|
@@ -68,7 +70,9 @@ function getMessengerMock({ skipRegister, } = {}) {
|
|
|
68
70
|
messenger.registerActionHandler('AccountTrackerController:getState', getAccountTrackerControllerStateMock);
|
|
69
71
|
messenger.registerActionHandler('CurrencyRateController:getState', getCurrencyRateControllerStateMock);
|
|
70
72
|
messenger.registerActionHandler('NetworkController:getNetworkClientById', getNetworkClientByIdMock);
|
|
73
|
+
messenger.registerActionHandler('NetworkController:getNetworkConfigurationByChainId', getNetworkConfigurationByChainIdMock);
|
|
71
74
|
messenger.registerActionHandler('TransactionPayController:getDelegationTransaction', getDelegationTransactionMock);
|
|
75
|
+
messenger.registerActionHandler('TransactionPayController:getPaymentOverrideData', getPaymentOverrideDataMock);
|
|
72
76
|
messenger.registerActionHandler('TransactionPayController:polymarketGetDepositWalletAddress', polymarketGetDepositWalletAddressMock);
|
|
73
77
|
messenger.registerActionHandler('TransactionPayController:polymarketSubmitDepositWalletBatch', polymarketSubmitDepositWalletBatchMock);
|
|
74
78
|
messenger.registerActionHandler('TransactionController:getGasFeeTokens', getGasFeeTokensMock);
|
|
@@ -91,10 +95,12 @@ function getMessengerMock({ skipRegister, } = {}) {
|
|
|
91
95
|
getControllerStateMock,
|
|
92
96
|
getCurrencyRateControllerStateMock,
|
|
93
97
|
getDelegationTransactionMock,
|
|
98
|
+
getPaymentOverrideDataMock,
|
|
94
99
|
getGasFeeControllerStateMock,
|
|
95
100
|
getGasFeeTokensMock,
|
|
96
101
|
getKeyringControllerStateMock,
|
|
97
102
|
getNetworkClientByIdMock,
|
|
103
|
+
getNetworkConfigurationByChainIdMock,
|
|
98
104
|
getRemoteFeatureFlagControllerStateMock,
|
|
99
105
|
getStrategyMock,
|
|
100
106
|
getTokenBalanceControllerStateMock,
|
|
@@ -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 { NetworkControllerGetNetworkConfigurationByChainIdAction } 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 getNetworkConfigurationByChainIdMock: jest.MockedFn<\n NetworkControllerGetNetworkConfigurationByChainIdAction['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 'NetworkController:getNetworkConfigurationByChainId',\n getNetworkConfigurationByChainIdMock,\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 getNetworkConfigurationByChainIdMock,\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>;
|
|
@@ -52,6 +53,7 @@ export declare function getMessengerMock({ skipRegister, }?: {
|
|
|
52
53
|
(infuraNetworkClientId: import("@metamask/controller-utils").InfuraNetworkType): import("@metamask/network-controller").AutoManagedNetworkClient<import("@metamask/network-controller").InfuraNetworkClientConfiguration>;
|
|
53
54
|
(customNetworkClientId: string): import("@metamask/network-controller").AutoManagedNetworkClient<import("@metamask/network-controller").CustomNetworkClientConfiguration>;
|
|
54
55
|
}>;
|
|
56
|
+
getNetworkConfigurationByChainIdMock: jest.MockedFn<(chainId: `0x${string}`) => import("@metamask/network-controller").NetworkConfiguration | undefined>;
|
|
55
57
|
getRemoteFeatureFlagControllerStateMock: jest.MockedFn<() => import("@metamask/remote-feature-flag-controller").RemoteFeatureFlagControllerState>;
|
|
56
58
|
getStrategyMock: jest.MockedFn<(transaction: import("@metamask/transaction-controller").TransactionMeta) => import("../index.cjs").TransactionPayStrategy>;
|
|
57
59
|
getTokenBalanceControllerStateMock: jest.MockedFn<() => import("@metamask/assets-controllers").TokenBalancesControllerState>;
|
|
@@ -74,7 +76,7 @@ export declare function getMessengerMock({ skipRegister, }?: {
|
|
|
74
76
|
sourceHash: `0x${string}`;
|
|
75
77
|
}>>;
|
|
76
78
|
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,
|
|
79
|
+
submitTransactionMock: jest.MockedFunction<(accountAddress: string, maybeQuoteResponses: ({
|
|
78
80
|
quote: {
|
|
79
81
|
gasIncluded?: boolean | undefined;
|
|
80
82
|
gasIncluded7702?: boolean | undefined;
|
|
@@ -292,12 +294,231 @@ export declare function getMessengerMock({ skipRegister, }?: {
|
|
|
292
294
|
effectiveGas?: number | undefined;
|
|
293
295
|
} | undefined;
|
|
294
296
|
quoteRequestIndex?: number | undefined;
|
|
295
|
-
} & import("@metamask/bridge-controller").QuoteMetadata
|
|
297
|
+
} & import("@metamask/bridge-controller").QuoteMetadata) | ({
|
|
298
|
+
quote: {
|
|
299
|
+
gasIncluded?: boolean | undefined;
|
|
300
|
+
gasIncluded7702?: boolean | undefined;
|
|
301
|
+
gasSponsored?: boolean | undefined;
|
|
302
|
+
} & {
|
|
303
|
+
srcChainId: number;
|
|
304
|
+
destChainId: number;
|
|
305
|
+
srcAsset: {
|
|
306
|
+
symbol: string;
|
|
307
|
+
chainId: number;
|
|
308
|
+
address: string;
|
|
309
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
310
|
+
name: string;
|
|
311
|
+
decimals: number;
|
|
312
|
+
icon?: string | null | undefined;
|
|
313
|
+
iconUrl?: string | null | undefined;
|
|
314
|
+
};
|
|
315
|
+
destAsset: {
|
|
316
|
+
symbol: string;
|
|
317
|
+
chainId: number;
|
|
318
|
+
address: string;
|
|
319
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
320
|
+
name: string;
|
|
321
|
+
decimals: number;
|
|
322
|
+
icon?: string | null | undefined;
|
|
323
|
+
iconUrl?: string | null | undefined;
|
|
324
|
+
};
|
|
325
|
+
requestId: string;
|
|
326
|
+
srcTokenAmount: string;
|
|
327
|
+
destTokenAmount: string;
|
|
328
|
+
minDestTokenAmount: string;
|
|
329
|
+
feeData: {
|
|
330
|
+
metabridge: {
|
|
331
|
+
amount: string;
|
|
332
|
+
asset: {
|
|
333
|
+
symbol: string;
|
|
334
|
+
chainId: number;
|
|
335
|
+
address: string;
|
|
336
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
337
|
+
name: string;
|
|
338
|
+
decimals: number;
|
|
339
|
+
icon?: string | null | undefined;
|
|
340
|
+
iconUrl?: string | null | undefined;
|
|
341
|
+
};
|
|
342
|
+
};
|
|
343
|
+
txFee?: ({
|
|
344
|
+
amount: string;
|
|
345
|
+
asset: {
|
|
346
|
+
symbol: string;
|
|
347
|
+
chainId: number;
|
|
348
|
+
address: string;
|
|
349
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
350
|
+
name: string;
|
|
351
|
+
decimals: number;
|
|
352
|
+
icon?: string | null | undefined;
|
|
353
|
+
iconUrl?: string | null | undefined;
|
|
354
|
+
};
|
|
355
|
+
} & {
|
|
356
|
+
maxFeePerGas: string;
|
|
357
|
+
maxPriorityFeePerGas: string;
|
|
358
|
+
}) | undefined;
|
|
359
|
+
};
|
|
360
|
+
bridgeId: string;
|
|
361
|
+
bridges: string[];
|
|
362
|
+
steps: {
|
|
363
|
+
action: import("@metamask/bridge-controller").ActionTypes;
|
|
364
|
+
srcChainId: number;
|
|
365
|
+
srcAsset: {
|
|
366
|
+
symbol: string;
|
|
367
|
+
chainId: number;
|
|
368
|
+
address: string;
|
|
369
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
370
|
+
name: string;
|
|
371
|
+
decimals: number;
|
|
372
|
+
icon?: string | null | undefined;
|
|
373
|
+
iconUrl?: string | null | undefined;
|
|
374
|
+
};
|
|
375
|
+
destAsset: {
|
|
376
|
+
symbol: string;
|
|
377
|
+
chainId: number;
|
|
378
|
+
address: string;
|
|
379
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
380
|
+
name: string;
|
|
381
|
+
decimals: number;
|
|
382
|
+
icon?: string | null | undefined;
|
|
383
|
+
iconUrl?: string | null | undefined;
|
|
384
|
+
};
|
|
385
|
+
srcAmount: string;
|
|
386
|
+
destAmount: string;
|
|
387
|
+
protocol: {
|
|
388
|
+
name: string;
|
|
389
|
+
icon?: string | undefined;
|
|
390
|
+
displayName?: string | undefined;
|
|
391
|
+
};
|
|
392
|
+
destChainId?: number | undefined;
|
|
393
|
+
}[];
|
|
394
|
+
refuel?: {
|
|
395
|
+
action: import("@metamask/bridge-controller").ActionTypes;
|
|
396
|
+
srcChainId: number;
|
|
397
|
+
srcAsset: {
|
|
398
|
+
symbol: string;
|
|
399
|
+
chainId: number;
|
|
400
|
+
address: string;
|
|
401
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
402
|
+
name: string;
|
|
403
|
+
decimals: number;
|
|
404
|
+
icon?: string | null | undefined;
|
|
405
|
+
iconUrl?: string | null | undefined;
|
|
406
|
+
};
|
|
407
|
+
destAsset: {
|
|
408
|
+
symbol: string;
|
|
409
|
+
chainId: number;
|
|
410
|
+
address: string;
|
|
411
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
412
|
+
name: string;
|
|
413
|
+
decimals: number;
|
|
414
|
+
icon?: string | null | undefined;
|
|
415
|
+
iconUrl?: string | null | undefined;
|
|
416
|
+
};
|
|
417
|
+
srcAmount: string;
|
|
418
|
+
destAmount: string;
|
|
419
|
+
protocol: {
|
|
420
|
+
name: string;
|
|
421
|
+
icon?: string | undefined;
|
|
422
|
+
displayName?: string | undefined;
|
|
423
|
+
};
|
|
424
|
+
destChainId?: number | undefined;
|
|
425
|
+
} | undefined;
|
|
426
|
+
priceData?: {
|
|
427
|
+
totalFromAmountUsd?: string | undefined;
|
|
428
|
+
totalToAmountUsd?: string | undefined;
|
|
429
|
+
priceImpact?: string | undefined;
|
|
430
|
+
totalFeeAmountUsd?: string | undefined;
|
|
431
|
+
} | undefined;
|
|
432
|
+
intent?: {
|
|
433
|
+
protocol: string;
|
|
434
|
+
order: {
|
|
435
|
+
sellToken: `0x${string}`;
|
|
436
|
+
buyToken: `0x${string}`;
|
|
437
|
+
validTo: string | number;
|
|
438
|
+
appData: string;
|
|
439
|
+
appDataHash: `0x${string}`;
|
|
440
|
+
feeAmount: string;
|
|
441
|
+
kind: "buy" | "sell";
|
|
442
|
+
partiallyFillable: boolean;
|
|
443
|
+
receiver?: `0x${string}` | undefined;
|
|
444
|
+
sellAmount?: string | undefined;
|
|
445
|
+
buyAmount?: string | undefined;
|
|
446
|
+
from?: `0x${string}` | undefined;
|
|
447
|
+
};
|
|
448
|
+
typedData: {
|
|
449
|
+
types: Record<string, {
|
|
450
|
+
name: string;
|
|
451
|
+
type: string;
|
|
452
|
+
}[]>;
|
|
453
|
+
primaryType: string;
|
|
454
|
+
domain: Record<string, any>;
|
|
455
|
+
message: Record<string, any>;
|
|
456
|
+
};
|
|
457
|
+
settlementContract?: `0x${string}` | undefined;
|
|
458
|
+
} | undefined;
|
|
459
|
+
};
|
|
460
|
+
estimatedProcessingTimeInSeconds: number;
|
|
461
|
+
trade: string | {
|
|
462
|
+
chainId: number;
|
|
463
|
+
from: `0x${string}`;
|
|
464
|
+
to: `0x${string}`;
|
|
465
|
+
value: `0x${string}`;
|
|
466
|
+
data: `0x${string}`;
|
|
467
|
+
gasLimit: number | null;
|
|
468
|
+
effectiveGas?: number | undefined;
|
|
469
|
+
} | {
|
|
470
|
+
unsignedPsbtBase64: string;
|
|
471
|
+
inputsToSign: {}[] | null;
|
|
472
|
+
} | {
|
|
473
|
+
raw_data_hex: string;
|
|
474
|
+
visible?: boolean | undefined;
|
|
475
|
+
raw_data?: {
|
|
476
|
+
contract?: {
|
|
477
|
+
type?: string | undefined;
|
|
478
|
+
}[] | undefined;
|
|
479
|
+
fee_limit?: number | undefined;
|
|
480
|
+
} | null | undefined;
|
|
481
|
+
};
|
|
482
|
+
quoteId?: string | undefined;
|
|
483
|
+
approval?: {
|
|
484
|
+
chainId: number;
|
|
485
|
+
from: `0x${string}`;
|
|
486
|
+
to: `0x${string}`;
|
|
487
|
+
value: `0x${string}`;
|
|
488
|
+
data: `0x${string}`;
|
|
489
|
+
gasLimit: number | null;
|
|
490
|
+
effectiveGas?: number | undefined;
|
|
491
|
+
} | {
|
|
492
|
+
raw_data_hex: string;
|
|
493
|
+
visible?: boolean | undefined;
|
|
494
|
+
raw_data?: {
|
|
495
|
+
contract?: {
|
|
496
|
+
type?: string | undefined;
|
|
497
|
+
}[] | undefined;
|
|
498
|
+
fee_limit?: number | undefined;
|
|
499
|
+
} | null | undefined;
|
|
500
|
+
} | undefined;
|
|
501
|
+
} & {
|
|
502
|
+
trade: import("@metamask/bridge-controller").Trade;
|
|
503
|
+
approval?: import("@metamask/bridge-controller").Trade | undefined;
|
|
504
|
+
featureId?: import("@metamask/bridge-controller").FeatureId | undefined;
|
|
505
|
+
resetApproval?: {
|
|
506
|
+
chainId: number;
|
|
507
|
+
from: `0x${string}`;
|
|
508
|
+
to: `0x${string}`;
|
|
509
|
+
value: `0x${string}`;
|
|
510
|
+
data: `0x${string}`;
|
|
511
|
+
gasLimit: number | null;
|
|
512
|
+
effectiveGas?: number | undefined;
|
|
513
|
+
} | undefined;
|
|
514
|
+
quoteRequestIndex?: number | undefined;
|
|
515
|
+
} & import("@metamask/bridge-controller").QuoteMetadata)[], isStxEnabled: boolean, quotesReceivedContext?: (import("@metamask/bridge-controller").TradeData & {
|
|
296
516
|
warnings: import("@metamask/bridge-controller").QuoteWarning[];
|
|
297
517
|
best_quote_provider: `${string}_${string}` | undefined;
|
|
298
518
|
price_impact: number;
|
|
299
519
|
can_submit: boolean;
|
|
300
520
|
usd_balance_source?: number | undefined;
|
|
521
|
+
has_sufficient_gas_for_quote?: boolean | null | undefined;
|
|
301
522
|
} & {
|
|
302
523
|
location?: import("@metamask/bridge-controller").MetaMetricsSwapsEventSource | undefined;
|
|
303
524
|
ab_tests?: Record<string, string> | undefined;
|
|
@@ -308,7 +529,39 @@ export declare function getMessengerMock({ skipRegister, }?: {
|
|
|
308
529
|
}) | undefined, location?: import("@metamask/bridge-controller").MetaMetricsSwapsEventSource | undefined, abTests?: Record<string, string> | undefined, activeAbTests?: {
|
|
309
530
|
key: string;
|
|
310
531
|
value: string;
|
|
311
|
-
}[] | undefined, tokenSecurityTypeDestination?: string | null | undefined
|
|
532
|
+
}[] | undefined, tokenSecurityTypeDestination?: string | null | undefined, batchSellTrades?: ({
|
|
533
|
+
transactions: ({
|
|
534
|
+
chainId: number;
|
|
535
|
+
from: `0x${string}`;
|
|
536
|
+
to: `0x${string}`;
|
|
537
|
+
value: `0x${string}`;
|
|
538
|
+
data: `0x${string}`;
|
|
539
|
+
gasLimit: number | null;
|
|
540
|
+
effectiveGas?: number | undefined;
|
|
541
|
+
} & {
|
|
542
|
+
maxFeePerGas: `0x${string}`;
|
|
543
|
+
maxPriorityFeePerGas: `0x${string}`;
|
|
544
|
+
} & {
|
|
545
|
+
type: import("@metamask/bridge-controller").BatchSellTransactionType;
|
|
546
|
+
})[];
|
|
547
|
+
fee?: {
|
|
548
|
+
amount: string;
|
|
549
|
+
asset: {
|
|
550
|
+
symbol: string;
|
|
551
|
+
chainId: number;
|
|
552
|
+
address: string;
|
|
553
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
554
|
+
name: string;
|
|
555
|
+
decimals: number;
|
|
556
|
+
icon?: string | null | undefined;
|
|
557
|
+
iconUrl?: string | null | undefined;
|
|
558
|
+
};
|
|
559
|
+
} | undefined;
|
|
560
|
+
} & {
|
|
561
|
+
gasIncluded?: boolean | undefined;
|
|
562
|
+
gasIncluded7702?: boolean | undefined;
|
|
563
|
+
gasSponsored?: boolean | undefined;
|
|
564
|
+
}) | null | undefined) => Promise<import("@metamask/transaction-controller").TransactionMeta>>;
|
|
312
565
|
updateTransactionMock: jest.MockedFn<(transactionMeta: import("@metamask/transaction-controller").TransactionMeta, note: string) => void>;
|
|
313
566
|
};
|
|
314
567
|
//# 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":";
|
|
1
|
+
{"version":3,"file":"messenger-mock.d.cts","sourceRoot":"","sources":["../../src/tests/messenger-mock.ts"],"names":[],"mappings":";AA6BA,OAAO,KAAK,EAAE,iCAAiC,EAAE,qBAAW;AAc5D;;;;;;GAMG;AAEH,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,GACb,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsSjC"}
|