Skip to content

Commit

Permalink
fix (cherry-pick): incomplete transactions on startup (#26972)
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewwalsh0 authored Sep 17, 2024
1 parent ad728f7 commit 04d6bd2
Show file tree
Hide file tree
Showing 14 changed files with 6,437 additions and 825 deletions.
6,174 changes: 6,174 additions & 0 deletions .yarn/patches/@metamask-transaction-controller-npm-34.0.0-8bdfa87aaf.patch

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions app/scripts/background.js
Original file line number Diff line number Diff line change
Expand Up @@ -972,8 +972,6 @@ export function setupController(
updateBadge,
);

controller.txController.initApprovals();

/**
* Formats a count for display as a badge label.
*
Expand Down
19 changes: 0 additions & 19 deletions app/scripts/lib/transaction/mmi-hooks.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { TransactionStatus } from '@metamask/transaction-controller';
import {
afterTransactionSign,
beforeCheckPendingTransaction,
beforeTransactionApproveOnInit,
beforeTransactionPublish,
getAdditionalSignArguments,
} from './mmi-hooks';
Expand Down Expand Up @@ -85,24 +84,6 @@ describe('MMI hooks', () => {
});
});

describe('beforeTransactionApproveOnInit', () => {
it('returns true if txMeta has custodyStatus', () => {
// TODO: Replace `any` with type
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const txMeta = { custodyStatus: TransactionStatus.approved } as any;
const result = beforeTransactionApproveOnInit(txMeta);
expect(result).toBe(false);
});

it('returns false if txMeta has no custodyStatus', () => {
// TODO: Replace `any` with type
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const txMeta = { to: toMocked } as any;
const result = beforeTransactionApproveOnInit(txMeta);
expect(result).toBe(true);
});
});

describe('beforeCheckPendingTransaction', () => {
it('returns true if txMeta has custodyStatus', () => {
const txMeta = {
Expand Down
12 changes: 0 additions & 12 deletions app/scripts/lib/transaction/mmi-hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,18 +53,6 @@ export function getAdditionalSignArguments(
return [txMeta.custodyStatus ? txMeta : undefined];
}

/**
* Whether or not should run the logic before approve the transaction when transaction controller is rebooted.
*
* @param txMeta - The transaction meta.
*/

export function beforeTransactionApproveOnInit(
txMeta: TransactionMeta,
): boolean {
return !txMeta?.custodyStatus;
}

/**
* Whether or not should run the logic before checking the transaction when checking pending transactions.
*
Expand Down
2 changes: 0 additions & 2 deletions app/scripts/metamask-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,6 @@ import {
afterTransactionSign as afterTransactionSignMMI,
beforeCheckPendingTransaction as beforeCheckPendingTransactionMMI,
beforeTransactionPublish as beforeTransactionPublishMMI,
beforeTransactionApproveOnInit as beforeApproveOnInitMMI,
getAdditionalSignArguments as getAdditionalSignArgumentsMMI,
} from './lib/transaction/mmi-hooks';
///: END:ONLY_INCLUDE_IF
Expand Down Expand Up @@ -1764,7 +1763,6 @@ export default class MetamaskController extends EventEmitter {
),
beforeCheckPendingTransaction:
beforeCheckPendingTransactionMMI.bind(this),
beforeApproveOnInit: beforeApproveOnInitMMI.bind(this),
beforePublish: beforeTransactionPublishMMI.bind(this),
getAdditionalSignArguments: getAdditionalSignArgumentsMMI.bind(this),
///: END:ONLY_INCLUDE_IF
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,6 @@
"@trezor/schema-utils@npm:1.0.2": "patch:@trezor/schema-utils@npm%3A1.0.2#~/.yarn/patches/@trezor-schema-utils-npm-1.0.2-7dd48689b2.patch",
"lavamoat-core@npm:^15.1.1": "patch:lavamoat-core@npm%3A15.1.1#~/.yarn/patches/lavamoat-core-npm-15.1.1-51fbe39988.patch",
"@metamask/snaps-sdk": "^6.2.1",
"@metamask/transaction-controller": "^34.0.0",
"@swc/types@0.1.5": "^0.1.6",
"@babel/runtime@npm:^7.7.6": "patch:@babel/runtime@npm%3A7.24.0#~/.yarn/patches/@babel-runtime-npm-7.24.0-7eb1dd11a2.patch",
"@babel/runtime@npm:^7.9.2": "patch:@babel/runtime@npm%3A7.24.0#~/.yarn/patches/@babel-runtime-npm-7.24.0-7eb1dd11a2.patch",
Expand Down Expand Up @@ -266,6 +265,7 @@
"@metamask/nonce-tracker@npm:^5.0.0": "patch:@metamask/nonce-tracker@npm%3A5.0.0#~/.yarn/patches/@metamask-nonce-tracker-npm-5.0.0-d81478218e.patch",
"@metamask/keyring-controller@npm:^17.1.0": "patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch",
"@trezor/connect-web@npm:^9.1.11": "patch:@trezor/connect-web@npm%3A9.3.0#~/.yarn/patches/@trezor-connect-web-npm-9.3.0-040ab10d9a.patch",
"@metamask/transaction-controller@npm:^34.0.0": "patch:@metamask/transaction-controller@npm%3A34.0.0#~/.yarn/patches/@metamask-transaction-controller-npm-34.0.0-8bdfa87aaf.patch",
"path-to-regexp": "1.9.0"
},
"dependencies": {
Expand Down Expand Up @@ -356,7 +356,7 @@
"@metamask/snaps-rpc-methods": "^11.0.0",
"@metamask/snaps-sdk": "^6.2.1",
"@metamask/snaps-utils": "^8.0.1",
"@metamask/transaction-controller": "^34.0.0",
"@metamask/transaction-controller": "patch:@metamask/transaction-controller@npm%3A34.0.0#~/.yarn/patches/@metamask-transaction-controller-npm-34.0.0-8bdfa87aaf.patch",
"@metamask/user-operation-controller": "^13.0.0",
"@metamask/utils": "^8.2.1",
"@ngraveio/bc-ur": "^1.1.12",
Expand Down
Loading

0 comments on commit 04d6bd2

Please sign in to comment.