Skip to content

Commit 39ad090

Browse files
authored
release: 7.77.2 (#30421)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until this PR meets the canonical Definition of Ready For Review in `docs/readme/ready-for-review.md`. In short: the template must be materially complete (not just section titles present), all status checks must be currently passing, and the only expected follow-up commits must be reviewer-driven. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Changelog** <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: null ## **Related issues** Fixes: ## **Manual testing steps** ```gherkin Feature: my feature name Scenario: user [verb for user action] Given [describe expected initial app state] When user [verb for user action] Then [describe expected outcome] ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** <!-- Every checklist item must be consciously assessed before marking this PR as "Ready for review". A checked box means you deliberately considered that responsibility, not that you literally performed every action listed. Unchecked boxes are ambiguous: they are not an implicit "N/A" and they are not a silent "skip". See `docs/readme/ready-for-review.md` for the full checklist semantics. --> - [ ] 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). - [ ] I've completed the PR template to the best of my ability - [ ] I've included tests if applicable - [ ] I've documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] 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. #### Performance checks (if applicable) - [ ] I've tested on Android - Ideally on a mid-range device; emulator is acceptable - [ ] I've tested with a power user scenario - Use these [power-user SRPs](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/edit-v2/401401446401?draftShareId=9d77e1e1-4bdc-4be1-9ebb-ccd916988d93) to import wallets with many accounts and tokens - [ ] I've instrumented key operations with Sentry traces for production performance metrics - See [`trace()`](/app/util/trace.ts) for usage and [`addToken`](/app/components/Views/AddAsset/components/AddCustomToken/AddCustomToken.tsx#L274) for an example For performance guidelines and tooling, see the [Performance Guide](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/400085549067/Performance+Guide+for+Engineers). ## **Pre-merge reviewer checklist** <!-- Reviewer checklist items follow the same semantics as the author checklist: an unchecked box is ambiguous, a checked box means the reviewer consciously assessed that responsibility. See `docs/readme/ready-for-review.md`. --> - [ ] 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] > **Medium Risk** > Patches `@metamask/transaction-pay-controller` logic that determines Relay/Aggregator handling for Hyperliquid perps deposits; mistakes here could misroute deposit transactions or affect quote requirements. Scope is small and limited to transaction type classification plus release-version bumps. > > **Overview** > Fixes Hyperliquid perps `deposit-and-order` transactions being treated differently from standard perps deposits by introducing `PERPS_DEPOSIT_TYPES` (covers `perpsDeposit` and `perpsDepositAndOrder`) and using it wherever Relay deposit type mapping and Hyperliquid deposit detection/quote requirements are determined. > > Ships the fix via a Yarn patch to `@metamask/transaction-pay-controller@22.5.0`, and bumps release metadata (`CHANGELOG.md` entry for `7.77.2`, `app/constants/ota.ts` OTA version, plus `package.json`/`yarn.lock` to pin the patched dependency). > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 5cb0c1d. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
2 parents 447d6a1 + 5cb0c1d commit 39ad090

5 files changed

Lines changed: 201 additions & 5 deletions

File tree

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
diff --git a/dist/constants.cjs b/dist/constants.cjs
2+
index cce16d0fc9e3b62d30f4012d19e90b788e12654d..38526d866bfce4e3484caef820ffc10af3da2880 100644
3+
--- a/dist/constants.cjs
4+
+++ b/dist/constants.cjs
5+
@@ -1,7 +1,16 @@
6+
"use strict";
7+
Object.defineProperty(exports, "__esModule", { value: true });
8+
-exports.isTransactionPayStrategy = exports.TransactionPayStrategy = exports.STABLECOINS = exports.SLIP44_COIN_TYPE_BY_CHAIN = exports.USDC_DECIMALS = exports.HYPERCORE_USDC_DECIMALS = exports.HYPERCORE_USDC_ADDRESS = exports.POLYGON_PUSD_ADDRESS = exports.POLYGON_USDCE_ADDRESS = exports.ARBITRUM_USDC_ADDRESS = exports.NATIVE_TOKEN_ADDRESS = exports.CHAIN_ID_HYPERCORE = exports.CHAIN_ID_POLYGON = exports.CHAIN_ID_MAINNET = exports.CHAIN_ID_ARBITRUM = exports.CONTROLLER_NAME = void 0;
9+
+exports.isTransactionPayStrategy = exports.TransactionPayStrategy = exports.STABLECOINS = exports.SLIP44_COIN_TYPE_BY_CHAIN = exports.USDC_DECIMALS = exports.HYPERCORE_USDC_DECIMALS = exports.HYPERCORE_USDC_ADDRESS = exports.POLYGON_PUSD_ADDRESS = exports.POLYGON_USDCE_ADDRESS = exports.ARBITRUM_USDC_ADDRESS = exports.NATIVE_TOKEN_ADDRESS = exports.CHAIN_ID_HYPERCORE = exports.CHAIN_ID_POLYGON = exports.CHAIN_ID_MAINNET = exports.CHAIN_ID_ARBITRUM = exports.PERPS_DEPOSIT_TYPES = exports.CONTROLLER_NAME = void 0;
10+
+const transaction_controller_1 = require("@metamask/transaction-controller");
11+
exports.CONTROLLER_NAME = 'TransactionPayController';
12+
+/**
13+
+ * Parent transaction types that represent a Hyperliquid perps deposit and
14+
+ * share the same Arbitrum-USDC → Hypercore handling in pay strategies.
15+
+ */
16+
+exports.PERPS_DEPOSIT_TYPES = [
17+
+ transaction_controller_1.TransactionType.perpsDeposit,
18+
+ transaction_controller_1.TransactionType.perpsDepositAndOrder,
19+
+];
20+
exports.CHAIN_ID_ARBITRUM = '0xa4b1';
21+
exports.CHAIN_ID_MAINNET = '0x1';
22+
exports.CHAIN_ID_POLYGON = '0x89';
23+
diff --git a/dist/constants.mjs b/dist/constants.mjs
24+
index 7057f74e39a628343b444d82c214bab6e745861f..86cb5db973f6d02f8cc26f41d415ca9e8c112e3a 100644
25+
--- a/dist/constants.mjs
26+
+++ b/dist/constants.mjs
27+
@@ -1,4 +1,13 @@
28+
+import { TransactionType } from "@metamask/transaction-controller";
29+
export const CONTROLLER_NAME = 'TransactionPayController';
30+
+/**
31+
+ * Parent transaction types that represent a Hyperliquid perps deposit and
32+
+ * share the same Arbitrum-USDC → Hypercore handling in pay strategies.
33+
+ */
34+
+export const PERPS_DEPOSIT_TYPES = [
35+
+ TransactionType.perpsDeposit,
36+
+ TransactionType.perpsDepositAndOrder,
37+
+];
38+
export const CHAIN_ID_ARBITRUM = '0xa4b1';
39+
export const CHAIN_ID_MAINNET = '0x1';
40+
export const CHAIN_ID_POLYGON = '0x89';
41+
diff --git a/dist/strategy/relay/constants.cjs b/dist/strategy/relay/constants.cjs
42+
index 6d7417ca501e06cc9add6fc0d176d480f2ad2ee5..3e4c07f98996fe686bd0af4a12dca2bd80f76777 100644
43+
--- a/dist/strategy/relay/constants.cjs
44+
+++ b/dist/strategy/relay/constants.cjs
45+
@@ -2,6 +2,7 @@
46+
Object.defineProperty(exports, "__esModule", { value: true });
47+
exports.RELAY_DEPOSIT_TYPES = exports.RELAY_PENDING_STATUSES = exports.RELAY_FAILURE_STATUSES = exports.TOKEN_TRANSFER_FOUR_BYTE = exports.RELAY_POLLING_INTERVAL = exports.HYPERLIQUID_EXCHANGE_URL = exports.RELAY_STATUS_URL = exports.RELAY_QUOTE_URL = exports.RELAY_EXECUTE_URL = exports.RELAY_AUTHORIZE_URL = exports.RELAY_URL_BASE = void 0;
48+
const transaction_controller_1 = require("@metamask/transaction-controller");
49+
+const constants_1 = require("../../constants.cjs");
50+
exports.RELAY_URL_BASE = 'https://api.relay.link';
51+
exports.RELAY_AUTHORIZE_URL = `${exports.RELAY_URL_BASE}/authorize`;
52+
exports.RELAY_EXECUTE_URL = `${exports.RELAY_URL_BASE}/execute`;
53+
@@ -25,6 +26,9 @@ exports.RELAY_PENDING_STATUSES = [
54+
exports.RELAY_DEPOSIT_TYPES = {
55+
[transaction_controller_1.TransactionType.musdConversion]: transaction_controller_1.TransactionType.musdRelayDeposit,
56+
[transaction_controller_1.TransactionType.predictDeposit]: transaction_controller_1.TransactionType.predictRelayDeposit,
57+
- [transaction_controller_1.TransactionType.perpsDeposit]: transaction_controller_1.TransactionType.perpsRelayDeposit,
58+
+ ...Object.fromEntries(constants_1.PERPS_DEPOSIT_TYPES.map((type) => [
59+
+ type,
60+
+ transaction_controller_1.TransactionType.perpsRelayDeposit,
61+
+ ])),
62+
};
63+
//# sourceMappingURL=constants.cjs.map
64+
\ No newline at end of file
65+
diff --git a/dist/strategy/relay/constants.mjs b/dist/strategy/relay/constants.mjs
66+
index b9c137bac69f17226cdc154ed4be7c0be9cc4a81..2f13964a0841f8feb444c8ce643a7e8529ff40f6 100644
67+
--- a/dist/strategy/relay/constants.mjs
68+
+++ b/dist/strategy/relay/constants.mjs
69+
@@ -1,4 +1,5 @@
70+
import { TransactionType } from "@metamask/transaction-controller";
71+
+import { PERPS_DEPOSIT_TYPES } from "../../constants.mjs";
72+
export const RELAY_URL_BASE = 'https://api.relay.link';
73+
export const RELAY_AUTHORIZE_URL = `${RELAY_URL_BASE}/authorize`;
74+
export const RELAY_EXECUTE_URL = `${RELAY_URL_BASE}/execute`;
75+
@@ -22,6 +23,9 @@ export const RELAY_PENDING_STATUSES = [
76+
export const RELAY_DEPOSIT_TYPES = {
77+
[TransactionType.musdConversion]: TransactionType.musdRelayDeposit,
78+
[TransactionType.predictDeposit]: TransactionType.predictRelayDeposit,
79+
- [TransactionType.perpsDeposit]: TransactionType.perpsRelayDeposit,
80+
+ ...Object.fromEntries(PERPS_DEPOSIT_TYPES.map((type) => [
81+
+ type,
82+
+ TransactionType.perpsRelayDeposit,
83+
+ ])),
84+
};
85+
//# sourceMappingURL=constants.mjs.map
86+
\ No newline at end of file
87+
diff --git a/dist/strategy/relay/relay-quotes.cjs b/dist/strategy/relay/relay-quotes.cjs
88+
index 06a59a8e192576646cc03669164a24880cc18da1..949a30c92bffe55beaf4b41900cf8a2b92a4b7b1 100644
89+
--- a/dist/strategy/relay/relay-quotes.cjs
90+
+++ b/dist/strategy/relay/relay-quotes.cjs
91+
@@ -236,7 +236,8 @@ function normalizeRequest(request, transaction) {
92+
const newRequest = {
93+
...request,
94+
};
95+
- const isPerpsDeposit = transaction.type === transaction_controller_1.TransactionType.perpsDeposit;
96+
+ const isPerpsDeposit = transaction.type !== undefined &&
97+
+ constants_1.PERPS_DEPOSIT_TYPES.includes(transaction.type);
98+
const isHyperliquidDeposit = isPerpsDeposit &&
99+
!request.isPostQuote &&
100+
request.targetChainId === constants_1.CHAIN_ID_ARBITRUM &&
101+
diff --git a/dist/strategy/relay/relay-quotes.mjs b/dist/strategy/relay/relay-quotes.mjs
102+
index 24c425124ca5e726e5454769345e9abb320d5ba7..bb97b697d62e79e497af0f42cbab31d5fdda5903 100644
103+
--- a/dist/strategy/relay/relay-quotes.mjs
104+
+++ b/dist/strategy/relay/relay-quotes.mjs
105+
@@ -5,7 +5,7 @@ import { TransactionType } from "@metamask/transaction-controller";
106+
import { createModuleLogger } from "@metamask/utils";
107+
import { BigNumber } from "bignumber.js";
108+
import { TransactionPayStrategy } from "../../index.mjs";
109+
-import { ARBITRUM_USDC_ADDRESS, CHAIN_ID_ARBITRUM, CHAIN_ID_HYPERCORE, CHAIN_ID_POLYGON, HYPERCORE_USDC_ADDRESS, HYPERCORE_USDC_DECIMALS, NATIVE_TOKEN_ADDRESS, USDC_DECIMALS, STABLECOINS } from "../../constants.mjs";
110+
+import { ARBITRUM_USDC_ADDRESS, CHAIN_ID_ARBITRUM, CHAIN_ID_HYPERCORE, CHAIN_ID_POLYGON, HYPERCORE_USDC_ADDRESS, HYPERCORE_USDC_DECIMALS, NATIVE_TOKEN_ADDRESS, PERPS_DEPOSIT_TYPES, USDC_DECIMALS, STABLECOINS } from "../../constants.mjs";
111+
import { projectLogger } from "../../logger.mjs";
112+
import { getFiatValueFromUsd } from "../../utils/amounts.mjs";
113+
import { getFeatureFlags, getRelayOriginGasOverhead, getSlippage, isEIP7702Chain, isRelayExecuteEnabled } from "../../utils/feature-flags.mjs";
114+
@@ -232,7 +232,8 @@ function normalizeRequest(request, transaction) {
115+
const newRequest = {
116+
...request,
117+
};
118+
- const isPerpsDeposit = transaction.type === TransactionType.perpsDeposit;
119+
+ const isPerpsDeposit = transaction.type !== undefined &&
120+
+ PERPS_DEPOSIT_TYPES.includes(transaction.type);
121+
const isHyperliquidDeposit = isPerpsDeposit &&
122+
!request.isPostQuote &&
123+
request.targetChainId === CHAIN_ID_ARBITRUM &&
124+
diff --git a/dist/utils/source-amounts.cjs b/dist/utils/source-amounts.cjs
125+
index d6d7810e50046a519125bab071a17d1709ab268f..06a4d6552725d00cea1eca309dfa8ca3440eaf92 100644
126+
--- a/dist/utils/source-amounts.cjs
127+
+++ b/dist/utils/source-amounts.cjs
128+
@@ -148,7 +148,8 @@ function isQuoteAlwaysRequired(token, strategy, parentTransactionType) {
129+
return (isHyperliquidDeposit &&
130+
(strategy === __1.TransactionPayStrategy.Relay ||
131+
(strategy === __1.TransactionPayStrategy.Across &&
132+
- parentTransactionType === transaction_controller_1.TransactionType.perpsDeposit)));
133+
+ parentTransactionType !== undefined &&
134+
+ constants_1.PERPS_DEPOSIT_TYPES.includes(parentTransactionType))));
135+
}
136+
function getStrategyContext(transactionId, messenger) {
137+
const transaction = (0, transaction_1.getTransaction)(transactionId, messenger);
138+
diff --git a/dist/utils/source-amounts.mjs b/dist/utils/source-amounts.mjs
139+
index 315c1a4e57dc9945c919bad45e8f826c8b641ffd..2be9c4590b14a0d34375766ebc67c52c02b9f724 100644
140+
--- a/dist/utils/source-amounts.mjs
141+
+++ b/dist/utils/source-amounts.mjs
142+
@@ -2,7 +2,7 @@ import { TransactionType } from "@metamask/transaction-controller";
143+
import { createModuleLogger } from "@metamask/utils";
144+
import { BigNumber } from "bignumber.js";
145+
import { TransactionPayStrategy } from "../index.mjs";
146+
-import { ARBITRUM_USDC_ADDRESS, CHAIN_ID_ARBITRUM } from "../constants.mjs";
147+
+import { ARBITRUM_USDC_ADDRESS, CHAIN_ID_ARBITRUM, PERPS_DEPOSIT_TYPES } from "../constants.mjs";
148+
import { projectLogger } from "../logger.mjs";
149+
import { getTokenFiatRate, isSameToken } from "./token.mjs";
150+
import { getTransaction } from "./transaction.mjs";
151+
@@ -144,7 +144,8 @@ function isQuoteAlwaysRequired(token, strategy, parentTransactionType) {
152+
return (isHyperliquidDeposit &&
153+
(strategy === TransactionPayStrategy.Relay ||
154+
(strategy === TransactionPayStrategy.Across &&
155+
- parentTransactionType === TransactionType.perpsDeposit)));
156+
+ parentTransactionType !== undefined &&
157+
+ PERPS_DEPOSIT_TYPES.includes(parentTransactionType))));
158+
}
159+
function getStrategyContext(transactionId, messenger) {
160+
const transaction = getTransaction(transactionId, messenger);

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [7.77.2]
11+
12+
### Fixed
13+
14+
- Fixed Hyperliquid perps `deposit-and-order` transactions not routing through the correct Relay deposit flow. (#30407)
15+
1016
## [7.77.1]
1117

1218
### Added
@@ -11504,7 +11510,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1150411510
- [#957](https://github.com/MetaMask/metamask-mobile/pull/957): fix timeouts (#957)
1150511511
- [#954](https://github.com/MetaMask/metamask-mobile/pull/954): Bugfix: onboarding navigation (#954)
1150611512

11507-
[Unreleased]: https://github.com/MetaMask/metamask-mobile/compare/v7.77.1...HEAD
11513+
[Unreleased]: https://github.com/MetaMask/metamask-mobile/compare/v7.77.2...HEAD
11514+
[7.77.2]: https://github.com/MetaMask/metamask-mobile/compare/v7.77.1...v7.77.2
1150811515
[7.77.1]: https://github.com/MetaMask/metamask-mobile/compare/v7.77.0...v7.77.1
1150911516
[7.77.0]: https://github.com/MetaMask/metamask-mobile/compare/v7.76.3...v7.77.0
1151011517
[7.76.3]: https://github.com/MetaMask/metamask-mobile/compare/v7.76.0...v7.76.3

app/constants/ota.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import otaConfig from '../../ota.config.js';
1212
* Reset when releasing a new native build as appropriate for that line.
1313
* Kept here (not only in ota.config.js) so changes there do not alter the Expo fingerprint and break CI.
1414
*/
15-
export const OTA_VERSION: string = 'v7.77.1';
15+
export const OTA_VERSION: string = 'v7.77.2';
1616
export const RUNTIME_VERSION = otaConfig.RUNTIME_VERSION;
1717
export const PROJECT_ID = otaConfig.PROJECT_ID;
1818
export const UPDATE_URL = otaConfig.UPDATE_URL;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@
348348
"@metamask/superstruct": "^3.2.1",
349349
"@metamask/swappable-obj-proxy": "^2.1.0",
350350
"@metamask/transaction-controller": "^65.1.0",
351-
"@metamask/transaction-pay-controller": "^22.5.0",
351+
"@metamask/transaction-pay-controller": "patch:@metamask/transaction-pay-controller@npm%3A22.5.0#~/.yarn/patches/@metamask-transaction-pay-controller-npm-22.5.0-847c26b8ac.patch",
352352
"@metamask/tron-wallet-snap": "^1.25.3",
353353
"@metamask/utils": "^11.11.0",
354354
"@myx-trade/sdk": "^0.1.265",

yarn.lock

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10566,7 +10566,7 @@ __metadata:
1056610566
languageName: node
1056710567
linkType: hard
1056810568

10569-
"@metamask/transaction-pay-controller@npm:^22.5.0":
10569+
"@metamask/transaction-pay-controller@npm:22.5.0":
1057010570
version: 22.5.0
1057110571
resolution: "@metamask/transaction-pay-controller@npm:22.5.0"
1057210572
dependencies:
@@ -10595,6 +10595,35 @@ __metadata:
1059510595
languageName: node
1059610596
linkType: hard
1059710597

10598+
"@metamask/transaction-pay-controller@patch:@metamask/transaction-pay-controller@npm%3A22.5.0#~/.yarn/patches/@metamask-transaction-pay-controller-npm-22.5.0-847c26b8ac.patch":
10599+
version: 22.5.0
10600+
resolution: "@metamask/transaction-pay-controller@patch:@metamask/transaction-pay-controller@npm%3A22.5.0#~/.yarn/patches/@metamask-transaction-pay-controller-npm-22.5.0-847c26b8ac.patch::version=22.5.0&hash=6778e3"
10601+
dependencies:
10602+
"@ethersproject/abi": "npm:^5.7.0"
10603+
"@ethersproject/contracts": "npm:^5.7.0"
10604+
"@ethersproject/providers": "npm:^5.7.0"
10605+
"@metamask/assets-controller": "npm:^7.1.2"
10606+
"@metamask/assets-controllers": "npm:^108.1.0"
10607+
"@metamask/base-controller": "npm:^9.1.0"
10608+
"@metamask/bridge-controller": "npm:^72.0.4"
10609+
"@metamask/bridge-status-controller": "npm:^71.1.4"
10610+
"@metamask/controller-utils": "npm:^12.1.0"
10611+
"@metamask/gas-fee-controller": "npm:^26.2.1"
10612+
"@metamask/messenger": "npm:^1.2.0"
10613+
"@metamask/metamask-eth-abis": "npm:^3.1.1"
10614+
"@metamask/network-controller": "npm:^32.0.0"
10615+
"@metamask/ramps-controller": "npm:^13.3.1"
10616+
"@metamask/remote-feature-flag-controller": "npm:^4.2.1"
10617+
"@metamask/transaction-controller": "npm:^65.4.0"
10618+
"@metamask/utils": "npm:^11.9.0"
10619+
bignumber.js: "npm:^9.1.2"
10620+
bn.js: "npm:^5.2.1"
10621+
immer: "npm:^9.0.6"
10622+
lodash: "npm:^4.17.21"
10623+
checksum: 10/baf8b28ed717adb06467f28d8464d5c845faaa1a7cbc866ebdad2001589564304780b363e0d9b4efc5bce2f422668f44cb750df055ec8347ead7c0544c27b420
10624+
languageName: node
10625+
linkType: hard
10626+
1059810627
"@metamask/tron-wallet-snap@npm:^1.25.3":
1059910628
version: 1.25.3
1060010629
resolution: "@metamask/tron-wallet-snap@npm:1.25.3"
@@ -35975,7 +36004,7 @@ __metadata:
3597536004
"@metamask/test-dapp-multichain": "npm:^0.17.1"
3597636005
"@metamask/test-dapp-solana": "npm:^0.3.0"
3597736006
"@metamask/transaction-controller": "npm:^65.1.0"
35978-
"@metamask/transaction-pay-controller": "npm:^22.5.0"
36007+
"@metamask/transaction-pay-controller": "patch:@metamask/transaction-pay-controller@npm%3A22.5.0#~/.yarn/patches/@metamask-transaction-pay-controller-npm-22.5.0-847c26b8ac.patch"
3597936008
"@metamask/tron-wallet-snap": "npm:^1.25.3"
3598036009
"@metamask/utils": "npm:^11.11.0"
3598136010
"@myx-trade/sdk": "npm:^0.1.265"

0 commit comments

Comments
 (0)