@metamask-previews/transaction-controller 16.0.0-preview.08312b7 → 16.0.0-preview.4ae7d84
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/dist/TransactionController.d.ts +96 -13
- package/dist/TransactionController.d.ts.map +1 -1
- package/dist/TransactionController.js +347 -58
- package/dist/TransactionController.js.map +1 -1
- package/dist/constants.d.ts +2 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -15
- package/dist/constants.js.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.ts +22 -4
- package/dist/helpers/PendingTransactionTracker.d.ts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.js +263 -108
- package/dist/helpers/PendingTransactionTracker.js.map +1 -1
- package/dist/logger.d.ts +0 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +1 -2
- package/dist/logger.js.map +1 -1
- package/dist/types.d.ts +163 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/gas-fees.d.ts +3 -2
- package/dist/utils/gas-fees.d.ts.map +1 -1
- package/dist/utils/gas-fees.js +22 -4
- package/dist/utils/gas-fees.js.map +1 -1
- package/dist/utils/swaps.d.ts +81 -0
- package/dist/utils/swaps.d.ts.map +1 -0
- package/dist/utils/swaps.js +240 -0
- package/dist/utils/swaps.js.map +1 -0
- package/dist/utils/utils.d.ts +11 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +18 -2
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +90 -7
- package/dist/utils/validation.js.map +1 -1
- package/package.json +7 -6
|
@@ -9,7 +9,7 @@ import type { BlockTracker, NetworkState, Provider } from '@metamask/network-con
|
|
|
9
9
|
import type { Hex } from '@metamask/utils';
|
|
10
10
|
import { EventEmitter } from 'events';
|
|
11
11
|
import type { NonceLock } from 'nonce-tracker/dist/NonceTracker';
|
|
12
|
-
import type {
|
|
12
|
+
import type { Events, SavedGasFees, SecurityProviderRequest, SendFlowHistoryEntry, TransactionParams, TransactionMeta, TransactionReceipt, WalletDevice } from './types';
|
|
13
13
|
import { TransactionType } from './types';
|
|
14
14
|
export declare const HARDFORK = Hardfork.London;
|
|
15
15
|
/**
|
|
@@ -86,18 +86,24 @@ declare type AllowedActions = AddApprovalRequest;
|
|
|
86
86
|
* The messenger of the {@link TransactionController}.
|
|
87
87
|
*/
|
|
88
88
|
export declare type TransactionControllerMessenger = RestrictedControllerMessenger<typeof controllerName, AllowedActions, never, AllowedActions['type'], never>;
|
|
89
|
+
export interface TransactionControllerEventEmitter extends EventEmitter {
|
|
90
|
+
on<T extends keyof Events>(eventName: T, listener: (...args: Events[T]) => void): this;
|
|
91
|
+
emit<T extends keyof Events>(eventName: T, ...args: Events[T]): boolean;
|
|
92
|
+
}
|
|
89
93
|
/**
|
|
90
94
|
* Controller responsible for submitting and managing transactions.
|
|
91
95
|
*/
|
|
92
96
|
export declare class TransactionController extends BaseController<TransactionConfig, TransactionState> {
|
|
93
97
|
private ethQuery;
|
|
94
98
|
private readonly isHistoryDisabled;
|
|
99
|
+
private readonly isSwapsDisabled;
|
|
95
100
|
private readonly isSendFlowHistoryDisabled;
|
|
101
|
+
private readonly inProcessOfSigning;
|
|
96
102
|
private readonly nonceTracker;
|
|
97
103
|
private registry;
|
|
98
104
|
private readonly provider;
|
|
99
|
-
private readonly handle?;
|
|
100
105
|
private readonly mutex;
|
|
106
|
+
private readonly getSavedGasFees;
|
|
101
107
|
private readonly getNetworkState;
|
|
102
108
|
private readonly getCurrentAccountEIP1559Compatibility;
|
|
103
109
|
private readonly getCurrentNetworkEIP1559Compatibility;
|
|
@@ -108,12 +114,17 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
108
114
|
private readonly incomingTransactionHelper;
|
|
109
115
|
private readonly securityProviderRequest?;
|
|
110
116
|
private readonly pendingTransactionTracker;
|
|
117
|
+
private readonly afterSign;
|
|
118
|
+
private readonly beforeApproveOnInit;
|
|
119
|
+
private readonly beforeCheckPendingTransaction;
|
|
120
|
+
private readonly beforePublish;
|
|
121
|
+
private readonly getAdditionalSignArguments;
|
|
111
122
|
private failTransaction;
|
|
112
123
|
private registryLookup;
|
|
113
124
|
/**
|
|
114
125
|
* EventEmitter instance used to listen to specific transactional events
|
|
115
126
|
*/
|
|
116
|
-
hub:
|
|
127
|
+
hub: TransactionControllerEventEmitter;
|
|
117
128
|
/**
|
|
118
129
|
* Name of this controller used during composition
|
|
119
130
|
*/
|
|
@@ -121,7 +132,7 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
121
132
|
/**
|
|
122
133
|
* Method used to sign transactions
|
|
123
134
|
*/
|
|
124
|
-
sign?: (transaction: TypedTransaction, from: string) => Promise<TypedTransaction>;
|
|
135
|
+
sign?: (transaction: TypedTransaction, from: string, transactionMeta?: TransactionMeta) => Promise<TypedTransaction>;
|
|
125
136
|
/**
|
|
126
137
|
* Creates a TransactionController instance.
|
|
127
138
|
*
|
|
@@ -129,6 +140,8 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
129
140
|
* @param options.blockTracker - The block tracker used to poll for new blocks data.
|
|
130
141
|
* @param options.disableHistory - Whether to disable storing history in transaction metadata.
|
|
131
142
|
* @param options.disableSendFlowHistory - Explicitly disable transaction metadata history.
|
|
143
|
+
* @param options.disableSwaps - Whether to disable additional processing on swaps transactions.
|
|
144
|
+
* @param options.getSavedGasFees - Gets the saved gas fee config.
|
|
132
145
|
* @param options.getCurrentAccountEIP1559Compatibility - Whether or not the account supports EIP-1559.
|
|
133
146
|
* @param options.getCurrentNetworkEIP1559Compatibility - Whether or not the network supports EIP-1559.
|
|
134
147
|
* @param options.getGasFeeEstimates - Callback to retrieve gas fee estimates.
|
|
@@ -142,22 +155,32 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
142
155
|
* @param options.incomingTransactions.updateTransactions - Whether to update local transactions using remote transaction data.
|
|
143
156
|
* @param options.messenger - The controller messenger.
|
|
144
157
|
* @param options.onNetworkStateChange - Allows subscribing to network controller state changes.
|
|
158
|
+
* @param options.pendingTransactions - Configuration options for pending transaction support.
|
|
159
|
+
* @param options.pendingTransactions.isResubmitEnabled - Whether transaction publishing is automatically retried.
|
|
145
160
|
* @param options.provider - The provider used to create the underlying EthQuery instance.
|
|
146
161
|
* @param options.securityProviderRequest - A function for verifying a transaction, whether it is malicious or not.
|
|
162
|
+
* @param options.hooks - The controller hooks.
|
|
163
|
+
* @param options.hooks.afterSign - Additional logic to execute after signing a transaction. Return false to not change the status to signed.
|
|
164
|
+
* @param options.hooks.beforeApproveOnInit - Additional logic to execute before starting an approval flow for a transaction during initialization. Return false to skip the transaction.
|
|
165
|
+
* @param options.hooks.beforeCheckPendingTransaction - Additional logic to execute before checking pending transactions. Return false to prevent the broadcast of the transaction.
|
|
166
|
+
* @param options.hooks.beforePublish - Additional logic to execute before publishing a transaction. Return false to prevent the broadcast of the transaction.
|
|
167
|
+
* @param options.hooks.getAdditionalSignArguments - Returns additional arguments required to sign a transaction.
|
|
147
168
|
* @param config - Initial options used to configure this controller.
|
|
148
169
|
* @param state - Initial state to set on this controller.
|
|
149
170
|
*/
|
|
150
|
-
constructor({ blockTracker, disableHistory, disableSendFlowHistory, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getGasFeeEstimates, getNetworkState, getPermittedAccounts, getSelectedAddress, incomingTransactions, messenger, onNetworkStateChange, provider, securityProviderRequest, }: {
|
|
171
|
+
constructor({ blockTracker, disableHistory, disableSendFlowHistory, disableSwaps, getSavedGasFees, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getGasFeeEstimates, getNetworkState, getPermittedAccounts, getSelectedAddress, incomingTransactions, messenger, onNetworkStateChange, pendingTransactions, provider, securityProviderRequest, hooks, }: {
|
|
151
172
|
blockTracker: BlockTracker;
|
|
152
173
|
disableHistory: boolean;
|
|
153
174
|
disableSendFlowHistory: boolean;
|
|
175
|
+
disableSwaps: boolean;
|
|
176
|
+
getSavedGasFees?: (chainId: Hex) => SavedGasFees | undefined;
|
|
154
177
|
getCurrentAccountEIP1559Compatibility: () => Promise<boolean>;
|
|
155
178
|
getCurrentNetworkEIP1559Compatibility: () => Promise<boolean>;
|
|
156
179
|
getGasFeeEstimates?: () => Promise<GasFeeState>;
|
|
157
180
|
getNetworkState: () => NetworkState;
|
|
158
181
|
getPermittedAccounts: (origin?: string) => Promise<string[]>;
|
|
159
182
|
getSelectedAddress: () => string;
|
|
160
|
-
incomingTransactions
|
|
183
|
+
incomingTransactions?: {
|
|
161
184
|
includeTokenTransfers?: boolean;
|
|
162
185
|
isEnabled?: () => boolean;
|
|
163
186
|
queryEntireHistory?: boolean;
|
|
@@ -165,8 +188,18 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
165
188
|
};
|
|
166
189
|
messenger: TransactionControllerMessenger;
|
|
167
190
|
onNetworkStateChange: (listener: (state: NetworkState) => void) => void;
|
|
191
|
+
pendingTransactions?: {
|
|
192
|
+
isResubmitEnabled?: boolean;
|
|
193
|
+
};
|
|
168
194
|
provider: Provider;
|
|
169
195
|
securityProviderRequest?: SecurityProviderRequest;
|
|
196
|
+
hooks: {
|
|
197
|
+
afterSign?: (transactionMeta: TransactionMeta, signedTx: TypedTransaction) => boolean;
|
|
198
|
+
beforeApproveOnInit?: (transactionMeta: TransactionMeta) => boolean;
|
|
199
|
+
beforeCheckPendingTransaction?: (transactionMeta: TransactionMeta) => boolean;
|
|
200
|
+
beforePublish?: (transactionMeta: TransactionMeta) => boolean;
|
|
201
|
+
getAdditionalSignArguments?: (transactionMeta: TransactionMeta) => (TransactionMeta | undefined)[];
|
|
202
|
+
};
|
|
170
203
|
}, config?: Partial<TransactionConfig>, state?: Partial<TransactionState>);
|
|
171
204
|
/**
|
|
172
205
|
* Handle new method data request.
|
|
@@ -190,9 +223,12 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
190
223
|
* @param opts.securityAlertResponse - Response from security validator.
|
|
191
224
|
* @param opts.sendFlowHistory - The sendFlowHistory entries to add.
|
|
192
225
|
* @param opts.type - Type of transaction to add, such as 'cancel' or 'swap'.
|
|
226
|
+
* @param opts.swaps - Options for swaps transactions.
|
|
227
|
+
* @param opts.swaps.hasApproveTx - Whether the transaction has an approval transaction.
|
|
228
|
+
* @param opts.swaps.meta - Metadata for swap transaction.
|
|
193
229
|
* @returns Object containing a promise resolving to the transaction hash if approved.
|
|
194
230
|
*/
|
|
195
|
-
addTransaction(txParams: TransactionParams, { actionId, deviceConfirmedOn, method, origin, requireApproval, securityAlertResponse, sendFlowHistory, type, }?: {
|
|
231
|
+
addTransaction(txParams: TransactionParams, { actionId, deviceConfirmedOn, method, origin, requireApproval, securityAlertResponse, sendFlowHistory, swaps, type, }?: {
|
|
196
232
|
actionId?: string;
|
|
197
233
|
deviceConfirmedOn?: WalletDevice;
|
|
198
234
|
method?: string;
|
|
@@ -200,15 +236,15 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
200
236
|
requireApproval?: boolean | undefined;
|
|
201
237
|
securityAlertResponse?: Record<string, unknown>;
|
|
202
238
|
sendFlowHistory?: SendFlowHistoryEntry[];
|
|
239
|
+
swaps?: {
|
|
240
|
+
hasApproveTx?: boolean;
|
|
241
|
+
meta?: Partial<TransactionMeta>;
|
|
242
|
+
};
|
|
203
243
|
type?: TransactionType;
|
|
204
244
|
}): Promise<Result>;
|
|
205
245
|
startIncomingTransactionPolling(): void;
|
|
206
246
|
stopIncomingTransactionPolling(): void;
|
|
207
247
|
updateIncomingTransactions(): Promise<void>;
|
|
208
|
-
/**
|
|
209
|
-
* Creates approvals for all unapproved transactions persisted.
|
|
210
|
-
*/
|
|
211
|
-
initApprovals(): void;
|
|
212
248
|
/**
|
|
213
249
|
* Attempts to cancel a transaction based on its ID by setting its status to "rejected"
|
|
214
250
|
* and emitting a `<tx.id>:finished` hub event.
|
|
@@ -216,10 +252,12 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
216
252
|
* @param transactionId - The ID of the transaction to cancel.
|
|
217
253
|
* @param gasValues - The gas values to use for the cancellation transaction.
|
|
218
254
|
* @param options - The options for the cancellation transaction.
|
|
255
|
+
* @param options.actionId - Unique ID to prevent duplicate requests.
|
|
219
256
|
* @param options.estimatedBaseFee - The estimated base fee of the transaction.
|
|
220
257
|
*/
|
|
221
|
-
stopTransaction(transactionId: string, gasValues?: GasPriceValue | FeeMarketEIP1559Values, { estimatedBaseFee }?: {
|
|
258
|
+
stopTransaction(transactionId: string, gasValues?: GasPriceValue | FeeMarketEIP1559Values, { estimatedBaseFee, actionId, }?: {
|
|
222
259
|
estimatedBaseFee?: string;
|
|
260
|
+
actionId?: string;
|
|
223
261
|
}): Promise<void>;
|
|
224
262
|
/**
|
|
225
263
|
* Attempts to speed up a transaction increasing transaction gasPrice by ten percent.
|
|
@@ -317,6 +355,21 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
317
355
|
userEditedGasLimit?: boolean;
|
|
318
356
|
userFeeLevel?: string;
|
|
319
357
|
}): TransactionMeta;
|
|
358
|
+
/**
|
|
359
|
+
* Update the previous gas values of a transaction.
|
|
360
|
+
*
|
|
361
|
+
* @param transactionId - The ID of the transaction to update.
|
|
362
|
+
* @param previousGas - Previous gas values to update.
|
|
363
|
+
* @param previousGas.gasLimit - Maxmimum number of units of gas to use for this transaction.
|
|
364
|
+
* @param previousGas.maxFeePerGas - Maximum amount per gas to pay for the transaction, including the priority fee.
|
|
365
|
+
* @param previousGas.maxPriorityFeePerGas - Maximum amount per gas to give to validator as incentive.
|
|
366
|
+
* @returns The updated transactionMeta.
|
|
367
|
+
*/
|
|
368
|
+
updatePreviousGasParams(transactionId: string, { gasLimit, maxFeePerGas, maxPriorityFeePerGas, }: {
|
|
369
|
+
gasLimit?: string;
|
|
370
|
+
maxFeePerGas?: string;
|
|
371
|
+
maxPriorityFeePerGas?: string;
|
|
372
|
+
}): TransactionMeta;
|
|
320
373
|
/**
|
|
321
374
|
* Gets the next nonce according to the nonce-tracker.
|
|
322
375
|
* Ensure `releaseLock` is called once processing of the `nonce` value is complete.
|
|
@@ -325,6 +378,33 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
325
378
|
* @returns object with the `nextNonce` `nonceDetails`, and the releaseLock.
|
|
326
379
|
*/
|
|
327
380
|
getNonceLock(address: string): Promise<NonceLock>;
|
|
381
|
+
/**
|
|
382
|
+
* Signs and returns the raw transaction data for provided transaction params list.
|
|
383
|
+
*
|
|
384
|
+
* @param listOfTxParams - The list of transaction params to approve.
|
|
385
|
+
* @returns The raw transactions.
|
|
386
|
+
*/
|
|
387
|
+
approveTransactionsWithSameNonce(listOfTxParams?: TransactionParams[]): Promise<string | string[]>;
|
|
388
|
+
private signExternalTransaction;
|
|
389
|
+
/**
|
|
390
|
+
* Removes unapproved transactions from state.
|
|
391
|
+
*/
|
|
392
|
+
clearUnapprovedTransactions(): void;
|
|
393
|
+
private updateGasProperties;
|
|
394
|
+
private getCurrentChainTransactionsByStatus;
|
|
395
|
+
private onBootCleanup;
|
|
396
|
+
/**
|
|
397
|
+
* Create approvals for all unapproved transactions on current chain.
|
|
398
|
+
*/
|
|
399
|
+
private createApprovalsForUnapprovedTransactions;
|
|
400
|
+
/**
|
|
401
|
+
* Update the gas values of all unapproved transactions on current chain.
|
|
402
|
+
*/
|
|
403
|
+
private loadGasValuesForUnapprovedTransactions;
|
|
404
|
+
/**
|
|
405
|
+
* Force to submit approved transactions on current chain.
|
|
406
|
+
*/
|
|
407
|
+
private submitApprovedTransactions;
|
|
328
408
|
private processApproval;
|
|
329
409
|
/**
|
|
330
410
|
* Approves a transaction and updates it's status in state. If this is not a
|
|
@@ -335,11 +415,13 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
335
415
|
* @param transactionId - The ID of the transaction to approve.
|
|
336
416
|
*/
|
|
337
417
|
private approveTransaction;
|
|
418
|
+
private publishTransaction;
|
|
338
419
|
/**
|
|
339
420
|
* Cancels a transaction based on its ID by setting its status to "rejected"
|
|
340
421
|
* and emitting a `<tx.id>:finished` hub event.
|
|
341
422
|
*
|
|
342
423
|
* @param transactionId - The ID of the transaction to cancel.
|
|
424
|
+
* @param actionId - The actionId passed from UI
|
|
343
425
|
*/
|
|
344
426
|
private cancelTransaction;
|
|
345
427
|
/**
|
|
@@ -389,7 +471,6 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
389
471
|
private getCommonConfiguration;
|
|
390
472
|
private onIncomingTransactions;
|
|
391
473
|
private onUpdatedLastFetchedBlockNumbers;
|
|
392
|
-
private onPendingTransactionsUpdate;
|
|
393
474
|
private generateDappSuggestedGasFees;
|
|
394
475
|
/**
|
|
395
476
|
* Validates and adds external provided transaction to state.
|
|
@@ -427,6 +508,8 @@ export declare class TransactionController extends BaseController<TransactionCon
|
|
|
427
508
|
*/
|
|
428
509
|
private updateTransactionMetaRSV;
|
|
429
510
|
private getEIP1559Compatibility;
|
|
511
|
+
private addPendingTransactionTrackerListeners;
|
|
512
|
+
private signTransaction;
|
|
430
513
|
}
|
|
431
514
|
export default TransactionController;
|
|
432
515
|
//# sourceMappingURL=TransactionController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionController.d.ts","sourceRoot":"","sources":["../src/TransactionController.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,6BAA6B,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAOjE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"TransactionController.d.ts","sourceRoot":"","sources":["../src/TransactionController.ts"],"names":[],"mappings":"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"}
|