Skip to content

Commit 69d1ae2

Browse files
fix: cp-7.60.0 predict withdraw using gas station (MetaMask#23255)
## **Description** Fix Predict withdraw when using gas station with insufficient existing token balance. Bump `transaction-controller` and `transaction-pay-controller`. ## **Changelog** CHANGELOG entry: null ## **Related issues** Fixes: MetaMask#23137 MetaMask#23126 ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Prevents gas-fee token injection/external sign when `txMeta.isGasFeeTokenIgnoredIfBalance` is set; wires Remote Feature Flag messenger action; bumps transaction/transaction-pay controllers. > > - **Confirmations**: > - Update `useTransactionConfirm` to skip adding `batchTransactions` and `isExternalSign` when `txMeta.isGasFeeTokenIgnoredIfBalance` is true. > - Include `isGasFeeTokenIgnoredIfBalance` in metadata handling for smart transactions and 7702 flows. > - **Tests**: > - Add tests ensuring no gas-fee token batching or external signing when `isGasFeeTokenIgnoredIfBalance` is set. > - **Messaging**: > - Allow `RemoteFeatureFlagController:getState` in `transaction-controller` init messenger. > - **Dependencies**: > - Bump `@metamask/transaction-controller` to `62.3.0` and `@metamask/transaction-pay-controller` to `10.1.0` (with corresponding lockfile updates). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ccbc4d8. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
1 parent d910f89 commit 69d1ae2

5 files changed

Lines changed: 200 additions & 28 deletions

File tree

app/components/Views/confirmations/hooks/transactions/useTransactionConfirm.test.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ describe('useTransactionConfirm', () => {
342342
maxPriorityFeePerGas: '0x2',
343343
} as unknown as ReturnType<typeof useSelectedGasFeeToken>);
344344
});
345+
345346
it('adds batchTransactions and gas properties when smart transaction is enabled', async () => {
346347
const { result } = renderHook();
347348

@@ -380,6 +381,25 @@ describe('useTransactionConfirm', () => {
380381
}),
381382
});
382383
});
384+
385+
it('does nothing if isGasFeeTokenIgnoredIfBalance', async () => {
386+
useTransactionMetadataRequestMock.mockReturnValue({
387+
id: transactionIdMock,
388+
isGasFeeTokenIgnoredIfBalance: true,
389+
} as unknown as TransactionMeta);
390+
391+
const { result } = renderHook();
392+
393+
await act(async () => {
394+
await result.current.onConfirm();
395+
});
396+
397+
expect(onApprovalConfirm).toHaveBeenCalledWith(expect.anything(), {
398+
txMeta: expect.not.objectContaining({
399+
batchTransactions: expect.any(Array),
400+
}),
401+
});
402+
});
383403
});
384404

385405
describe('handleGasless7702', () => {
@@ -438,5 +458,28 @@ describe('useTransactionConfirm', () => {
438458
txMeta: expect.not.objectContaining({ isExternalSign: true }),
439459
});
440460
});
461+
462+
it('does nothing if isGasFeeTokenIgnoredIfBalance', async () => {
463+
isSendBundleSupportedMock.mockReturnValue(Promise.resolve(false));
464+
465+
useSelectedGasFeeTokenMock.mockReturnValue({
466+
transferTransaction: { data: '0xabc' },
467+
} as unknown as ReturnType<typeof useSelectedGasFeeToken>);
468+
469+
useTransactionMetadataRequestMock.mockReturnValue({
470+
id: transactionIdMock,
471+
isGasFeeTokenIgnoredIfBalance: true,
472+
} as unknown as TransactionMeta);
473+
474+
const { result } = renderHook();
475+
476+
await act(async () => {
477+
await result.current.onConfirm();
478+
});
479+
480+
expect(onApprovalConfirm).toHaveBeenCalledWith(expect.anything(), {
481+
txMeta: expect.not.objectContaining({ isExternalSign: true }),
482+
});
483+
});
441484
});
442485
});

app/components/Views/confirmations/hooks/transactions/useTransactionConfirm.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ export function useTransactionConfirm() {
3333
const navigation = useNavigation();
3434
const transactionMetadata = useTransactionMetadataRequest();
3535
const selectedGasFeeToken = useSelectedGasFeeToken();
36-
const { chainId, type } = transactionMetadata ?? {};
36+
const { chainId, isGasFeeTokenIgnoredIfBalance, type } =
37+
transactionMetadata ?? {};
3738
const { isFullScreenConfirmation } = useFullScreenConfirmation();
3839
const quotes = useTransactionPayQuotes();
3940

@@ -49,7 +50,7 @@ export function useTransactionConfirm() {
4950

5051
const handleSmartTransaction = useCallback(
5152
(updatedMetadata: TransactionMeta) => {
52-
if (!selectedGasFeeToken) {
53+
if (!selectedGasFeeToken || isGasFeeTokenIgnoredIfBalance) {
5354
return;
5455
}
5556

@@ -76,14 +77,15 @@ export function useTransactionConfirm() {
7677
},
7778
[
7879
selectedGasFeeToken,
80+
isGasFeeTokenIgnoredIfBalance,
7981
isGaslessSupported,
8082
transactionMetadata?.isGasFeeSponsored,
8183
],
8284
);
8385

8486
const handleGasless7702 = useCallback(
8587
(updatedMetadata: TransactionMeta) => {
86-
if (!selectedGasFeeToken) {
88+
if (!selectedGasFeeToken || isGasFeeTokenIgnoredIfBalance) {
8789
return;
8890
}
8991

@@ -92,6 +94,7 @@ export function useTransactionConfirm() {
9294
isGaslessSupported && transactionMetadata?.isGasFeeSponsored;
9395
},
9496
[
97+
isGasFeeTokenIgnoredIfBalance,
9598
isGaslessSupported,
9699
selectedGasFeeToken,
97100
transactionMetadata?.isGasFeeSponsored,

app/core/Engine/messengers/transaction-controller-messenger/transaction-controller-messenger.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ export function getTransactionControllerInitMessenger(
148148
'NetworkController:getEIP1559Compatibility',
149149
'KeyringController:signEip7702Authorization',
150150
'KeyringController:signTypedMessage',
151+
'RemoteFeatureFlagController:getState',
151152
'TransactionController:addTransaction',
152153
'TransactionController:addTransactionBatch',
153154
'TransactionController:getState',

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@
176176
"@scure/bip32": "1.7.0",
177177
"@metamask/snaps-sdk": "^10.0.0",
178178
"react-native@0.76.9": "patch:react-native@npm%3A0.76.9#./.yarn/patches/react-native-npm-0.76.9-1c25352097.patch",
179-
"@metamask/transaction-controller@npm:^62.2.0": "patch:@metamask/transaction-controller@npm%3A62.2.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch"
179+
"@metamask/transaction-controller@npm:^62.3.0": "patch:@metamask/transaction-controller@npm%3A62.3.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch"
180180
},
181181
"dependencies": {
182182
"@config-plugins/detox": "^9.0.0",
@@ -286,8 +286,8 @@
286286
"@metamask/swappable-obj-proxy": "^2.1.0",
287287
"@metamask/swaps-controller": "^15.0.0",
288288
"@metamask/token-search-discovery-controller": "^4.0.0",
289-
"@metamask/transaction-controller": "patch:@metamask/transaction-controller@npm%3A62.2.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch",
290-
"@metamask/transaction-pay-controller": "^10.0.0",
289+
"@metamask/transaction-controller": "patch:@metamask/transaction-controller@npm%3A62.3.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch",
290+
"@metamask/transaction-pay-controller": "^10.1.0",
291291
"@metamask/tron-wallet-snap": "^1.10.0",
292292
"@metamask/utils": "^11.8.1",
293293
"@ngraveio/bc-ur": "^1.1.6",

yarn.lock

Lines changed: 147 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7408,6 +7408,58 @@ __metadata:
74087408
languageName: node
74097409
linkType: hard
74107410

7411+
"@metamask/assets-controllers@npm:^91.0.0":
7412+
version: 91.0.0
7413+
resolution: "@metamask/assets-controllers@npm:91.0.0"
7414+
dependencies:
7415+
"@ethereumjs/util": "npm:^9.1.0"
7416+
"@ethersproject/abi": "npm:^5.7.0"
7417+
"@ethersproject/address": "npm:^5.7.0"
7418+
"@ethersproject/bignumber": "npm:^5.7.0"
7419+
"@ethersproject/contracts": "npm:^5.7.0"
7420+
"@ethersproject/providers": "npm:^5.7.0"
7421+
"@metamask/abi-utils": "npm:^2.0.3"
7422+
"@metamask/base-controller": "npm:^9.0.0"
7423+
"@metamask/contract-metadata": "npm:^2.4.0"
7424+
"@metamask/controller-utils": "npm:^11.16.0"
7425+
"@metamask/eth-query": "npm:^4.0.0"
7426+
"@metamask/keyring-api": "npm:^21.0.0"
7427+
"@metamask/messenger": "npm:^0.3.0"
7428+
"@metamask/metamask-eth-abis": "npm:^3.1.1"
7429+
"@metamask/polling-controller": "npm:^16.0.0"
7430+
"@metamask/rpc-errors": "npm:^7.0.2"
7431+
"@metamask/snaps-sdk": "npm:^9.0.0"
7432+
"@metamask/snaps-utils": "npm:^11.0.0"
7433+
"@metamask/utils": "npm:^11.8.1"
7434+
"@types/bn.js": "npm:^5.1.5"
7435+
"@types/uuid": "npm:^8.3.0"
7436+
async-mutex: "npm:^0.5.0"
7437+
bitcoin-address-validation: "npm:^2.2.3"
7438+
bn.js: "npm:^5.2.1"
7439+
immer: "npm:^9.0.6"
7440+
lodash: "npm:^4.17.21"
7441+
multiformats: "npm:^9.9.0"
7442+
reselect: "npm:^5.1.1"
7443+
single-call-balance-checker-abi: "npm:^1.0.0"
7444+
uuid: "npm:^8.3.2"
7445+
peerDependencies:
7446+
"@metamask/account-tree-controller": ^4.0.0
7447+
"@metamask/accounts-controller": ^35.0.0
7448+
"@metamask/approval-controller": ^8.0.0
7449+
"@metamask/core-backend": ^5.0.0
7450+
"@metamask/keyring-controller": ^25.0.0
7451+
"@metamask/network-controller": ^26.0.0
7452+
"@metamask/permission-controller": ^12.0.0
7453+
"@metamask/phishing-controller": ^16.0.0
7454+
"@metamask/preferences-controller": ^22.0.0
7455+
"@metamask/providers": ^22.0.0
7456+
"@metamask/snaps-controllers": ^14.0.0
7457+
"@metamask/transaction-controller": ^62.0.0
7458+
webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0
7459+
checksum: 10/8e43d631a5ae86fc4801912e79d944ad087a605bb7a5e2813de64b6e068dc26482d25d37c3e2272e435a71ee8a7dafe875edb46cbfbcd150fb474588b45e6ff4
7460+
languageName: node
7461+
linkType: hard
7462+
74117463
"@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A89.0.1#~/.yarn/patches/@metamask-assets-controllers-npm-89.0.1-02fa7acd54.patch":
74127464
version: 89.0.1
74137465
resolution: "@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A89.0.1#~/.yarn/patches/@metamask-assets-controllers-npm-89.0.1-02fa7acd54.patch::version=89.0.1&hash=6be0d3"
@@ -7561,6 +7613,38 @@ __metadata:
75617613
languageName: node
75627614
linkType: hard
75637615

7616+
"@metamask/bridge-controller@npm:^63.0.0":
7617+
version: 63.0.0
7618+
resolution: "@metamask/bridge-controller@npm:63.0.0"
7619+
dependencies:
7620+
"@ethersproject/address": "npm:^5.7.0"
7621+
"@ethersproject/bignumber": "npm:^5.7.0"
7622+
"@ethersproject/constants": "npm:^5.7.0"
7623+
"@ethersproject/contracts": "npm:^5.7.0"
7624+
"@ethersproject/providers": "npm:^5.7.0"
7625+
"@metamask/base-controller": "npm:^9.0.0"
7626+
"@metamask/controller-utils": "npm:^11.16.0"
7627+
"@metamask/gas-fee-controller": "npm:^26.0.0"
7628+
"@metamask/keyring-api": "npm:^21.0.0"
7629+
"@metamask/messenger": "npm:^0.3.0"
7630+
"@metamask/metamask-eth-abis": "npm:^3.1.1"
7631+
"@metamask/multichain-network-controller": "npm:^3.0.0"
7632+
"@metamask/polling-controller": "npm:^16.0.0"
7633+
"@metamask/utils": "npm:^11.8.1"
7634+
bignumber.js: "npm:^9.1.2"
7635+
reselect: "npm:^5.1.1"
7636+
uuid: "npm:^8.3.2"
7637+
peerDependencies:
7638+
"@metamask/accounts-controller": ^35.0.0
7639+
"@metamask/assets-controllers": ^91.0.0
7640+
"@metamask/network-controller": ^26.0.0
7641+
"@metamask/remote-feature-flag-controller": ^2.0.0
7642+
"@metamask/snaps-controllers": ^14.0.0
7643+
"@metamask/transaction-controller": ^62.0.0
7644+
checksum: 10/53125ecf3938d8ec7c5b33b6ee7302b475616f73c24e2303a702fc31b446f9b7335adaf9451edc7070989542595dc6ac4199fd09d94f614e196e8066edc2855e
7645+
languageName: node
7646+
linkType: hard
7647+
75647648
"@metamask/bridge-status-controller@npm:^61.0.0":
75657649
version: 61.0.0
75667650
resolution: "@metamask/bridge-status-controller@npm:61.0.0"
@@ -7583,6 +7667,28 @@ __metadata:
75837667
languageName: node
75847668
linkType: hard
75857669

7670+
"@metamask/bridge-status-controller@npm:^63.0.0":
7671+
version: 63.0.0
7672+
resolution: "@metamask/bridge-status-controller@npm:63.0.0"
7673+
dependencies:
7674+
"@metamask/base-controller": "npm:^9.0.0"
7675+
"@metamask/controller-utils": "npm:^11.16.0"
7676+
"@metamask/polling-controller": "npm:^16.0.0"
7677+
"@metamask/superstruct": "npm:^3.1.0"
7678+
"@metamask/utils": "npm:^11.8.1"
7679+
bignumber.js: "npm:^9.1.2"
7680+
uuid: "npm:^8.3.2"
7681+
peerDependencies:
7682+
"@metamask/accounts-controller": ^35.0.0
7683+
"@metamask/bridge-controller": ^63.0.0
7684+
"@metamask/gas-fee-controller": ^26.0.0
7685+
"@metamask/network-controller": ^26.0.0
7686+
"@metamask/snaps-controllers": ^14.0.0
7687+
"@metamask/transaction-controller": ^62.0.0
7688+
checksum: 10/04a814032f57d988f8b753c789ebd9293ee6205825d92b15d41c9fd9f11e39835d5920186e5a4bede8231d0af26b391e699def6a95be21e04c231d1761c821b6
7689+
languageName: node
7690+
linkType: hard
7691+
75867692
"@metamask/browser-passworder@npm:^4.3.0":
75877693
version: 4.3.0
75887694
resolution: "@metamask/browser-passworder@npm:4.3.0"
@@ -8553,6 +8659,26 @@ __metadata:
85538659
languageName: node
85548660
linkType: hard
85558661

8662+
"@metamask/multichain-network-controller@npm:^3.0.0":
8663+
version: 3.0.0
8664+
resolution: "@metamask/multichain-network-controller@npm:3.0.0"
8665+
dependencies:
8666+
"@metamask/base-controller": "npm:^9.0.0"
8667+
"@metamask/controller-utils": "npm:^11.16.0"
8668+
"@metamask/keyring-api": "npm:^21.0.0"
8669+
"@metamask/keyring-internal-api": "npm:^9.0.0"
8670+
"@metamask/messenger": "npm:^0.3.0"
8671+
"@metamask/superstruct": "npm:^3.1.0"
8672+
"@metamask/utils": "npm:^11.8.1"
8673+
"@solana/addresses": "npm:^2.0.0"
8674+
lodash: "npm:^4.17.21"
8675+
peerDependencies:
8676+
"@metamask/accounts-controller": ^35.0.0
8677+
"@metamask/network-controller": ^26.0.0
8678+
checksum: 10/b167cd4bed12285c1e37f74a681371c453936e1aaa7e1207fb98cd97cbfa8831ca9e96a569a8787caac3f5a831627435e001dc8febaad2e61a142e4298f57d2f
8679+
languageName: node
8680+
linkType: hard
8681+
85568682
"@metamask/multichain-transactions-controller@npm:^6.0.0":
85578683
version: 6.0.0
85588684
resolution: "@metamask/multichain-transactions-controller@npm:6.0.0"
@@ -9437,9 +9563,9 @@ __metadata:
94379563
languageName: node
94389564
linkType: hard
94399565

9440-
"@metamask/transaction-controller@npm:62.2.0":
9441-
version: 62.2.0
9442-
resolution: "@metamask/transaction-controller@npm:62.2.0"
9566+
"@metamask/transaction-controller@npm:62.3.0, @metamask/transaction-controller@npm:^62.2.0":
9567+
version: 62.3.0
9568+
resolution: "@metamask/transaction-controller@npm:62.3.0"
94439569
dependencies:
94449570
"@ethereumjs/common": "npm:^4.4.0"
94459571
"@ethereumjs/tx": "npm:^5.4.0"
@@ -9471,7 +9597,7 @@ __metadata:
94719597
peerDependencies:
94729598
"@babel/runtime": ^7.0.0
94739599
"@metamask/eth-block-tracker": ">=9"
9474-
checksum: 10/978884a159300253960443c331422da9355d26f118b6caa59a4924a99ccadae677a41330bf94497f1cb686cc68bea30431220621e4a9d1576652cb5a3489977a
9600+
checksum: 10/c6e4024359567692b8d2f29ccca678124692d28dca547a0bdec829d81aeda381f51840d981a047d69ae60fb24033b6a45d22bb1e8751f4de46a4f26733c30278
94759601
languageName: node
94769602
linkType: hard
94779603

@@ -9513,9 +9639,9 @@ __metadata:
95139639
languageName: node
95149640
linkType: hard
95159641

9516-
"@metamask/transaction-controller@patch:@metamask/transaction-controller@npm%3A62.2.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch":
9517-
version: 62.2.0
9518-
resolution: "@metamask/transaction-controller@patch:@metamask/transaction-controller@npm%3A62.2.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch::version=62.2.0&hash=1a3342"
9642+
"@metamask/transaction-controller@patch:@metamask/transaction-controller@npm%3A62.3.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch":
9643+
version: 62.3.0
9644+
resolution: "@metamask/transaction-controller@patch:@metamask/transaction-controller@npm%3A62.3.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch::version=62.3.0&hash=1a3342"
95199645
dependencies:
95209646
"@ethereumjs/common": "npm:^4.4.0"
95219647
"@ethereumjs/tx": "npm:^5.4.0"
@@ -9547,34 +9673,33 @@ __metadata:
95479673
peerDependencies:
95489674
"@babel/runtime": ^7.0.0
95499675
"@metamask/eth-block-tracker": ">=9"
9550-
checksum: 10/aeac45f777786d040d4860cd49fc2665a632cd834eef3f5ef73e1a7fad95ead6bfb02a597a0b60f9bcc7036c0a88fa0affe27a5d9f11f595cb3cffdc13a446d4
9676+
checksum: 10/a8d7360285485c1d81b1eed2e7b744d82941450fe0825d195bc69d830576a5587624841a7e9f4e75169be2e77db4cde714ca4b35fc04ef6039625de1250849d6
95519677
languageName: node
95529678
linkType: hard
95539679

9554-
"@metamask/transaction-pay-controller@npm:^10.0.0":
9555-
version: 10.0.0
9556-
resolution: "@metamask/transaction-pay-controller@npm:10.0.0"
9680+
"@metamask/transaction-pay-controller@npm:^10.1.0":
9681+
version: 10.1.0
9682+
resolution: "@metamask/transaction-pay-controller@npm:10.1.0"
95579683
dependencies:
95589684
"@ethersproject/abi": "npm:^5.7.0"
95599685
"@ethersproject/contracts": "npm:^5.7.0"
9686+
"@metamask/assets-controllers": "npm:^91.0.0"
95609687
"@metamask/base-controller": "npm:^9.0.0"
9688+
"@metamask/bridge-controller": "npm:^63.0.0"
9689+
"@metamask/bridge-status-controller": "npm:^63.0.0"
95619690
"@metamask/controller-utils": "npm:^11.16.0"
9691+
"@metamask/gas-fee-controller": "npm:^26.0.0"
95629692
"@metamask/messenger": "npm:^0.3.0"
95639693
"@metamask/metamask-eth-abis": "npm:^3.1.1"
9694+
"@metamask/network-controller": "npm:^26.0.0"
9695+
"@metamask/remote-feature-flag-controller": "npm:^2.0.1"
9696+
"@metamask/transaction-controller": "npm:^62.2.0"
95649697
"@metamask/utils": "npm:^11.8.1"
95659698
bignumber.js: "npm:^9.1.2"
95669699
bn.js: "npm:^5.2.1"
95679700
immer: "npm:^9.0.6"
95689701
lodash: "npm:^4.17.21"
9569-
peerDependencies:
9570-
"@metamask/assets-controllers": ^91.0.0
9571-
"@metamask/bridge-controller": ^63.0.0
9572-
"@metamask/bridge-status-controller": ^63.0.0
9573-
"@metamask/gas-fee-controller": ^26.0.0
9574-
"@metamask/network-controller": ^26.0.0
9575-
"@metamask/remote-feature-flag-controller": ^2.0.0
9576-
"@metamask/transaction-controller": ^62.0.0
9577-
checksum: 10/596b50c04ee658bd16aefc8000d8cdbe2ac04e82636e9029b828c352377ca1e1af6b3c33f129ea28ba966553f513f42988e6ad50bc4edb99c59a68467fe6a1f6
9702+
checksum: 10/59b7b07879b7ea36871906efd5b8c3328c16e72780a02b29a814544b2f970d9e625f286cd43f9e4b08cb8e9bffab66e12b296bfc36161c28b033b3b69093bd91
95789703
languageName: node
95799704
linkType: hard
95809705

@@ -35612,8 +35737,8 @@ __metadata:
3561235737
"@metamask/test-dapp-multichain": "npm:^0.17.1"
3561335738
"@metamask/test-dapp-solana": "npm:^0.3.0"
3561435739
"@metamask/token-search-discovery-controller": "npm:^4.0.0"
35615-
"@metamask/transaction-controller": "patch:@metamask/transaction-controller@npm%3A62.2.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch"
35616-
"@metamask/transaction-pay-controller": "npm:^10.0.0"
35740+
"@metamask/transaction-controller": "patch:@metamask/transaction-controller@npm%3A62.3.0#~/.yarn/patches/@metamask-transaction-controller-npm-61.0.0-cccac388c7.patch"
35741+
"@metamask/transaction-pay-controller": "npm:^10.1.0"
3561735742
"@metamask/tron-wallet-snap": "npm:^1.10.0"
3561835743
"@metamask/utils": "npm:^11.8.1"
3561935744
"@ngraveio/bc-ur": "npm:^1.1.6"

0 commit comments

Comments
 (0)