:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
1867 matches across 12 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | AGENTS.md | 434 | export function getDefaultTokensControllerState(): TokensControllerState { |
| LOW | ui/ducks/domains.js | 106 | function enrichResolutionsWithAddressBook(resolutions, state) { |
| LOW | ui/ducks/app/app.ts | 722 | export function openBasicFunctionalityModal(): Action { |
| LOW | ui/ducks/app/app.ts | 728 | export function hideBasicFunctionalityModal(): Action { |
| LOW | ui/ducks/app/app.ts | 734 | export function onboardingToggleBasicFunctionalityOn(): Action { |
| LOW | ui/ducks/app/app.ts | 740 | export function onboardingToggleBasicFunctionalityOff(): Action { |
| LOW | ui/ducks/app/app.ts | 746 | export function onboardingToggleBackupAndSyncOn(): Action { |
| LOW | ui/ducks/app/app.ts | 752 | export function onboardingToggleBackupAndSyncOff(): Action { |
| LOW | ui/ducks/app/app.ts | 758 | export function toggleGasLoadingAnimation( |
| LOW | ui/ducks/app/app.ts | 764 | export function setLedgerWebHidConnectedStatus( |
| LOW | ui/ducks/app/app.ts | 780 | export function setOnBoardedInThisUISession( |
| LOW | ui/ducks/app/app.ts | 819 | export function getGasLoadingAnimationIsShowing(state: AppSliceState): boolean { |
| LOW | ui/ducks/app/app.ts | 823 | export function getLedgerWebHidConnectedStatus( |
| LOW | ui/ducks/app/app.ts | 833 | export function getShowSupportDataConsentModal(state: AppSliceState): boolean { |
| LOW | ui/ducks/app/app.ts | 837 | export function openDeleteMetaMetricsDataModal(): Action { |
| LOW | ui/ducks/app/app.ts | 843 | export function hideDeleteMetaMetricsDataModal(): Action { |
| LOW | ui/ducks/app/app.ts | 849 | export function openDataDeletionErrorModal(): Action { |
| LOW | ui/ducks/app/app.ts | 855 | export function hideDataDeletionErrorModal(): Action { |
| LOW | ui/ducks/swaps/swaps.js | 303 | export function shouldShowCustomPriceTooLowWarning(state) { |
| LOW | ui/ducks/swaps/swaps.js | 1411 | export function fetchMetaSwapsGasPriceEstimates() { |
| LOW | ui/ducks/swaps/swaps.js | 1462 | export function fetchSwapsSmartTransactionFees({ |
| LOW | ui/ducks/swaps/swaps.js | 1490 | export function cancelSwapsSmartTransaction(uuid) { |
| LOW | ui/ducks/metamask/metamask.js | 314 | export function getConversionRateByTicker(state, ticker) { |
| LOW | ui/ducks/metamask/metamask.js | 320 | export function getSendHexDataFeatureFlagState(state) { |
| LOW | ui/ducks/metamask/metamask.js | 330 | function getGasFeeControllerEstimateType(state) { |
| LOW | ui/ducks/metamask/metamask.js | 334 | function getGasFeeControllerEstimateTypeByChainId(state, chainId) { |
| LOW | ui/ducks/metamask/metamask.js | 338 | function getGasFeeControllerEstimates(state) { |
| LOW | ui/ducks/metamask/metamask.js | 342 | function getGasFeeControllerEstimatesByChainId(state, chainId) { |
| LOW | ui/ducks/metamask/metamask.js | 346 | function getTransactionGasFeeEstimates(state) { |
| LOW | ui/ducks/metamask/metamask.js | 351 | function getTransactionGasFeeEstimatesByChainId(state, chainId) { |
| LOW | ui/ducks/metamask/metamask.js | 426 | export function getEstimatedGasFeeTimeBounds(state) { |
| LOW | ui/ducks/metamask/metamask.js | 430 | export function getEstimatedGasFeeTimeBoundsByChainId(state, chainId) { |
| LOW | ui/ducks/metamask/metamask.js | 455 | export function getIsGasEstimatesLoadingByChainId( |
| LOW | ui/ducks/metamask/metamask.js | 480 | export function getIsNetworkBusyByChainId(state, chainId) { |
| LOW | ui/ducks/metamask/metamask.js | 498 | export function getIsWalletResetInProgress(state) { |
| LOW | ui/ducks/metamask/metamask.js | 514 | export function getIsPrimarySeedPhraseBackedUp(state) { |
| LOW | ui/ducks/metamask/metamask.js | 529 | export function getIsSeedlessPasswordOutdated(state) { |
| LOW | ui/ducks/metamask/metamask.js | 540 | export function doesUserHaveALedgerAccount(state) { |
| LOW | ui/ducks/metamask/metamask.js | 564 | export function getPasskeyAutoUnlockSuppressed(state) { |
| LOW | ui/contexts/transaction-modal.js | 52 | export function useTransactionModalContext() { |
| LOW | …exts/metamask-notifications/metamask-notifications.tsx | 68 | export function useBasicFunctionalityDisableEffect() { |
| LOW | …exts/metamask-notifications/metamask-notifications.tsx | 89 | export function useFetchInitialNotificationsEffect() { |
| LOW | …exts/metamask-notifications/metamask-notifications.tsx | 123 | export function useEnableNotificationsByDefaultEffect() { |
| LOW | …ntexts/hardware-wallets/HardwareWalletStateManager.tsx | 220 | function keyringTypeToHardwareWalletType( |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 51 | export async function queryCameraPermissionWithStatus(): Promise<{ |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 76 | async function queryCameraPermissionDomState(): Promise<PermissionState | null> { |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 147 | export async function checkHardwareWalletPermission( |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 165 | export async function checkCameraPermissionState(): Promise<HardwareConnectionPermissionState> { |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 249 | export async function requestHardwareWalletPermission( |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 373 | export async function getConnectedLedgerDevices(): Promise<HIDDevice[]> { |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 391 | export async function getConnectedTrezorDevices(): Promise<USBDevice[]> { |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 519 | export function subscribeToHardwareWalletEvents( |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 540 | export function isRestrictedCameraEnvironment(): boolean { |
| LOW | ui/contexts/hardware-wallets/webConnectionUtils.ts | 572 | export async function handleContinueWithPermissionCheck( |
| LOW | ui/contexts/hardware-wallets/errors.ts | 27 | export function createHardwareWalletError( |
| LOW | ui/contexts/hardware-wallets/errors.ts | 121 | export function getConnectionStateFromError( |
| LOW | ui/contexts/hardware-wallets/errors.ts | 171 | export function isRetryableHardwareWalletError(error: HardwareWalletError) { |
| LOW | ui/contexts/hardware-wallets/utils.ts | 27 | export function keyringTypeToHardwareWalletType( |
| LOW | ui/contexts/hardware-wallets/useHardwareFooter.ts | 39 | export function isHardwareConnectionReadyForConfirmFooter( |
| LOW | ui/contexts/hardware-wallets/rpcErrorUtils.ts | 182 | function isSerializedRpcHardwareWalletError( |
| 1431 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 207 | // Step sizes for tick marks based on max leverage |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 272 | // $15,000,000 for max leverage >= 25 |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 274 | // $5,000,000 for max leverage in [20, 25) |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 276 | // $2,000,000 for max leverage in [10, 20) |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 278 | // $500,000 for max leverage < 10 |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 322 | // Ensures accurate decimal handling in margin/leverage calculations |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 330 | // Fallback max leverage when market data is unavailable |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 332 | // Most HyperLiquid assets support at least 50x leverage |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 101 | // Leverage threshold for warning users about high leverage |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 168 | // Max leverage cache duration (milliseconds) |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 169 | // How long to cache max leverage values per asset (leverage rarely changes) |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 208 | TickStepLow: 5, // Step size when max leverage <= 20 |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 209 | TickStepMedium: 10, // Step size when max leverage <= 50 |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 210 | TickStepHigh: 20, // Step size when max leverage > 50 |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 48 | DefaultMaxLeverage: 3 as number, // Default fallback max leverage when market data is unavailable - conservative defau |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 102 | HighLeverageWarning: 20, // Show warning when leverage > 20x |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 518 | 'https://support.metamask.io/manage-crypto/trade/perps/leverage-and-liquidation/?utm_source=extension#what-is-auto-d |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 751 | leverage?: number; // Last used leverage for this market |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 849 | leverage?: number; // Leverage to apply for the order (e.g., 10 for 10x leverage) |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 850 | existingPositionLeverage?: number; // Existing position leverage for validation (protocol constraint) |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 881 | maxLeverage: number; // Maximum allowed leverage for this asset |
| MEDIUM | ui/__mocks__/perps/perps-controller/index.ts | 999 | maxLeverage: number; // HyperLiquid: max leverage |
| MEDIUM | …/components/app/perps/order-entry/order-entry.test.tsx | 219 | // Margin = notional / leverage = $1,000 / 3 = $333.33 (fees are a separate line item) |
| MEDIUM | …er-entry/components/amount-input/amount-input.test.tsx | 297 | // Size $5000 with available $1000 × 10x leverage = max size $10000 |
| MEDIUM | …r-entry/components/leverage-slider/leverage-slider.tsx | 123 | // closure. Falls back to `leverage` (the parent-owned source of truth) |
| MEDIUM | …ponents/auto-close-section/auto-close-section.test.tsx | 486 | // Test a non-integer: leverage=3, entry=45000, tp=45500 |
| MEDIUM | …ponents/auto-close-section/auto-close-section.test.tsx | 509 | // 10% RoE at leverage=10: priceChange = 10/(10*100) = 1% -> 45000 * 1.01 = 45450 |
| MEDIUM | …ponents/auto-close-section/auto-close-section.test.tsx | 534 | // -10% RoE at leverage=10: priceChange = -10/(10*100) = -1% -> 45000 * 0.99 = 44550 |
| MEDIUM | …ponents/auto-close-section/auto-close-section.test.tsx | 560 | // -11% RoE at leverage=10: priceChange = -11/(10*100) = -1.1% -> 45000 * 0.989 = 44505 |
| MEDIUM | …ponents/auto-close-section/auto-close-section.test.tsx | 585 | // +10% RoE at leverage=10: priceChange = 1% -> 45000 * 1.01 = 45450 |
| MEDIUM | …ponents/auto-close-section/auto-close-section.test.tsx | 611 | // -10% RoE at leverage=10: priceChange = -1% -> $2,000 * 0.99 = $1,980 (not $2,970) |
| MEDIUM | …ponents/auto-close-section/auto-close-section.test.tsx | 638 | // 10% RoE at leverage=10: priceChange = 1% -> $2,000 * 1.01 = $2,020 (not $3,030) |
| MEDIUM | …ponents/auto-close-section/auto-close-section.test.tsx | 663 | // SL at $1,980 with limit entry $2,000 at 10x leverage: |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 51 | const positionWithTPSL = mockPositions[0]; // ETH: entry=2850, leverage=3, TP=3200.00, SL=2600.00, size=2.5 (long) |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 323 | // ETH: entry=2850, leverage=3 (long) |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 342 | // ETH: entry=2850, leverage=3 (long) |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 484 | // ETH: entry=2850, leverage=3, +50% RoE -> 2850 * (1 + 50/300) = 2850 * 1.1667 = 3325 |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 500 | // ETH: entry=2850, leverage=3, -50% signed RoE -> 2850 * (1 + (-50)/300) = 2850 * 0.8333 = 2375 |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 516 | // SOL: entry=95, leverage=10, +15% signed RoE -> 95 * (1 + 15/1000) = 95 * 1.015 = 96.425 |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 558 | // SOL: entry=95, leverage=10, defaulted -10% signed RoE -> 95 * 0.99 = 94.05 |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 639 | // SOL: entry=95, leverage=10. +25% signed RoE -> 95*(1+25/1000) = 95*1.025 = 97.375 |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 654 | // SOL: entry=95, leverage=10. Typing +10 (SL above entry for lock-in-profit scenario) |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 673 | // SOL: entry=95, leverage=10. 011 normalizes to -11% signed RoE |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 727 | // SOL: entry=95, leverage=10 |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 1004 | // mockPositions[1] is BTC with size=-0.5 (short), entry=45000, leverage=15 |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 1008 | // BTC short: entry=45000, leverage=15 |
| MEDIUM | …p/perps/update-tpsl/update-tpsl-modal-content.test.tsx | 1025 | // BTC short: entry=45000, leverage=15 |
| MEDIUM | …multichain/import-nfts-modal/import-nfts-modal.test.js | 323 | // Get the actual networkClientId that was used in the addNftVerifyOwnership call (use last call to be robust agains |
| MEDIUM | ui/hooks/perps/usePerpsOrderForm.ts | 246 | // reset amount/leverage—only the effect above updates formState.type. |
| MEDIUM | ui/hooks/perps/usePerpsOrderForm.test.ts | 392 | // amount=$15, leverage=3x, currentPrice=$24.95, markPrice=$25.65, szDecimals=1 |
| MEDIUM | ui/hooks/perps/usePerpsOrderForm.test.ts | 469 | // Size = $10,000, leverage = 10x → margin = $10,000 / 10 = $1,000 |
| MEDIUM | ui/hooks/perps/usePerpsOrderForm.test.ts | 489 | // orderValue should be $5000 (the size), not $25000 (size × leverage) |
| MEDIUM | ui/hooks/perps/usePerpsOrderForm.test.ts | 509 | // Size $5000, available $1000, leverage 10x → maxSize $10000 → 50% |
| MEDIUM | ui/hooks/perps/usePerpsOrderForm.test.ts | 516 | // Same size $5000, now leverage 5x → maxSize $5000 → 100% |
| MEDIUM | ui/hooks/perps/usePerpsOrderForm.test.ts | 569 | // orderValue equals the entered amount ($1000) regardless of leverage. |
| MEDIUM | ui/hooks/perps/marginUtils.ts | 23 | FallbackMaxLeverage: 50, // Fallback max leverage when market data is unavailable |
| MEDIUM | ui/hooks/perps/usePerpsMarginCalculations.test.ts | 9 | const position = mockPositions[0]; // ETH long, marginUsed 2375, leverage 3 |
| MEDIUM | ui/pages/perps/perps-order-entry-page.test.tsx | 804 | // spendableBalance is 10125, default leverage is 3, so max amount = 30375 |
| MEDIUM | ui/pages/perps/perps-market-detail-page.test.tsx | 1295 | // ETH is long, entry=2850, leverage=3. |
| MEDIUM | ui/pages/perps/perps-market-detail-page.test.tsx | 1314 | // ETH is long, entry=2850, leverage=3. |
| 5 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | ui/pages/settings/search-config.ts | 115 | // ── Registry (auto-derived) ───────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useSecurityAlerts.test.ts | 56 | // ─── txAlert ────────────────────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useSecurityAlerts.test.ts | 142 | // ─── securityWarnings ───────────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useSecurityAlerts.test.ts | 309 | // ─── memoization ────────────────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 40 | // ─── assetHasSecurityData ────────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 60 | // ─── assetIsVerified ─────────────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 116 | // ─── assetIsSuspicious ───────────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 163 | // ─── assetIsMalicious ────────────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 200 | // ─── assetSuspiciousLocalizedFeatures ───────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 335 | // ─── assetMaliciousLocalizedFeatures ────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 460 | // ─── assetSuspiciousFeatures ────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 537 | // ─── assetMaliciousFeatures ─────────────────────────────────────────────── |
| MEDIUM | ui/pages/bridge/hooks/useAssetSecurityData.test.ts | 646 | // ─── memoization ────────────────────────────────────────────────────────── |
| MEDIUM | …confirmations/confirmation/templates/approval-types.ts | 36 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | …confirmations/confirmation/templates/approval-types.ts | 50 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | …ect/dapp-connection-control-bar-network-picker.spec.ts | 23 | // ── Shared fixture options ───────────────────────────────────────────────── |
| MEDIUM | …ect/dapp-connection-control-bar-network-picker.spec.ts | 47 | // ── Shared helpers ───────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/mm-connect/connect-evm.spec.ts | 26 | // ── Shared fixture options ───────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/mm-connect/connect-evm.spec.ts | 32 | // ── Shared helpers ───────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-activity.spec.ts | 27 | // ─── Filter dropdown UI ──────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-activity.spec.ts | 56 | // ─── Filter by Trades ────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-activity.spec.ts | 86 | // ─── Filter by Orders ───────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-activity.spec.ts | 115 | // ─── Filter by Funding ──────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-activity.spec.ts | 144 | // ─── Filter by Deposits ─────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-activity.spec.ts | 173 | // ─── Click transaction → market detail ──────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-activity.spec.ts | 208 | // ─── Recent activity section on Perps home ──────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-position-lifecycle.spec.ts | 41 | // ─── Open position flows ─────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-position-lifecycle.spec.ts | 89 | // ─── Close the position ───────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-position-lifecycle.spec.ts | 160 | // ─── Close the position ───────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-position-lifecycle.spec.ts | 186 | // ─── Close position flows ────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-position-lifecycle.spec.ts | 373 | // ─── Reverse position flows ──────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-position-lifecycle.spec.ts | 491 | // ─── Margin management ───────────────────────────────────────────────────── |
| MEDIUM | test/e2e/tests/perps/perps-position-lifecycle.spec.ts | 598 | // ─── Position card on home page ──────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 25 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 27 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 65 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 67 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 92 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 94 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 124 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 126 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 156 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 158 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 233 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 235 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 287 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 289 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 307 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 309 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 342 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 344 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 359 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 361 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 400 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 402 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 504 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 506 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 580 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | test/e2e/page-objects/pages/test-dapp-mm-connect.ts | 582 | // ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | .devcontainer/install.sh | 2 | #------------------------------------------------------------------------------------------------------------- |
| 4 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | builds.yml | 321 | # Used for debugging changes to the phishing warning page. |
| LOW | builds.yml | 341 | - METAMASK_VERSION |
| LOW | builds.yml | 401 | # Uses yaml anchors to DRY - https://juju.is/docs/sdk/yaml-anchors-and-aliases |
| LOW | builds.yml | 421 | |
| LOW | .eslintrc.base.js | 81 | // prev: ['multiline-block-like', 'multiline-expression'], |
| LOW | .yarnrc.yml | 21 | # @metamask/jazzicon v2.0.0 but there is work done on that repository to |
| LOW | tsconfig.json | 1 | { |
| LOW | AGENTS.md | 361 | yarn test:e2e:single path/to/test.spec.js --browser=chrome |
| LOW | AGENTS.md | 1601 | # 3. Update LavaMoat policies |
| LOW | ui/ducks/bridge/bridge.test.ts | 261 | { |
| LOW | ui/providers/perps/README.mock.md | 121 | |
| LOW | ui/providers/perps/README.mock.md | 161 | |
| LOW | ui/components/app/musd/musd-events.ts | 501 | cta_text: params.ctaText, |
| LOW | ui/components/app/srp-quiz-modal/types.ts | 1 | import { ButtonSize, ButtonVariant } from '../../component-library'; |
| LOW | ui/components/app/name/name-details/name-display.tsx | 101 | name: true, |
| LOW | …nts/multichain/network-list-menu/network-list-menu.tsx | 121 | // Displays the search box and network list |
| LOW | …hain/network-manager/hooks/useNetworkChangeHandlers.ts | 41 | // Displays the page for adding an additional RPC URL |
| LOW | ui/hooks/useEventFragment.js | 21 | * @returns |
| LOW | ui/hooks/shield/metrics/utils.ts | 41 | default_payment_currency: params.defaultPaymentCurrency, |
| LOW | ui/hooks/bridge/useRewards.test.ts | 321 | // return null; |
| LOW | ui/hooks/bridge/useRewards.test.ts | 341 | // {}, |
| LOW | ui/hooks/bridge/useRewards.test.ts | 361 | // return mockGetQuoteRequest({} as never); |
| LOW | ui/hooks/perps/usePerpsTransactionHistory.ts | 101 | const [transactions, setTransactions] = useState<PerpsTransaction[]>([]); |
| LOW | ui/hooks/perps/usePerpsTransactionHistory.ts | 141 | // This ensures new trades appear immediately without waiting for REST refetch |
| LOW | ui/pages/home/home.component.js | 261 | // future sibling like `/perpsNew` from silently resuming off a stale |
| LOW | …unts-connect-page/multichain-accounts-connect-page.tsx | 281 | // - EIP-1193 wallet_requestPermissions with restrictNetworkSwitching |
| LOW | ui/pages/bridge/quotes/bridge-quotes-modal.tsx | 81 | best_quote_provider: formatProviderLabel(recommendedQuote.quote), |
| LOW | ui/pages/bridge/quotes/multichain-bridge-quote-card.tsx | 241 | UnifiedSwapBridgeEventName.AllQuotesOpened, |
| LOW | …ges/bridge/awaiting-signatures/awaiting-signatures.tsx | 61 | // eslint-disable-next-line @typescript-eslint/naming-convention |
| LOW | ui/pages/perps/perps-order-entry-page.tsx | 1141 | orderParams.trackingData = buildPerpsVipTrackingData({ |
| LOW | ui/pages/perps/perps-market-detail-page.tsx | 461 | // |
| LOW | ui/pages/perps/perps-market-detail-page.tsx | 701 | // The server returns pre-aggregated candles - do NOT fetch 1m candles and |
| LOW | ui/pages/perps/perps-market-detail-page.tsx | 721 | // |------------------------------------|-------------------------------------| |
| LOW | …confirmations/confirmation/templates/approval-types.ts | 41 | // not the assertion.** Without this guard nothing else checks that the two |
| LOW | …cation-components/types/notifications/notifications.ts | 41 | Account?: NotificationFC<Notif>; |
| LOW | ui/helpers/constants/design-system.ts | 21 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| LOW | ui/helpers/constants/design-system.ts | 41 | borderMuted = 'border-muted', |
| LOW | ui/helpers/constants/design-system.ts | 61 | // eslint-disable-next-line @typescript-eslint/naming-convention |
| LOW | ui/helpers/constants/design-system.ts | 81 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| LOW | ui/helpers/constants/design-system.ts | 101 | goerli = 'goerli', |
| LOW | ui/helpers/constants/design-system.ts | 121 | // eslint-disable-next-line @typescript-eslint/naming-convention |
| LOW | ui/helpers/constants/design-system.ts | 141 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| LOW | ui/helpers/constants/design-system.ts | 161 | backgroundPressed = 'background-pressed', |
| LOW | ui/helpers/constants/design-system.ts | 181 | // eslint-disable-next-line @typescript-eslint/naming-convention |
| LOW | ui/helpers/constants/design-system.ts | 201 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| LOW | ui/helpers/constants/design-system.ts | 221 | sepolia = 'sepolia', |
| LOW | ui/helpers/constants/design-system.ts | 241 | // eslint-disable-next-line @typescript-eslint/naming-convention |
| LOW | ui/helpers/constants/design-system.ts | 261 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| LOW | ui/helpers/constants/design-system.ts | 281 | infoMuted = 'info-muted', |
| LOW | ui/helpers/constants/design-system.ts | 321 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| LOW | ui/helpers/constants/design-system.ts | 341 | primaryDefault = 'primary-default', |
| LOW | ui/helpers/constants/design-system.ts | 361 | // eslint-disable-next-line @typescript-eslint/naming-convention |
| LOW | ui/helpers/constants/design-system.ts | 381 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| LOW | ui/helpers/constants/design-system.ts | 421 | // eslint-disable-next-line @typescript-eslint/naming-convention |
| LOW | ui/helpers/constants/design-system.ts | 441 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| LOW | ui/helpers/constants/design-system.ts | 461 | inherit = 'inherit', |
| LOW | ui/helpers/constants/design-system.ts | 521 | export enum TextVariant { |
| LOW | ui/helpers/constants/design-system.ts | 541 | // eslint-disable-next-line @typescript-eslint/naming-convention |
| LOW | ui/helpers/constants/design-system.ts | 641 | // which is for aligning all items not one |
| LOW | ui/helpers/constants/design-system.ts | 661 | // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860 |
| 78 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ui/index.test.js | 115 | socialLoginEmail: 'test@test.com', |
| LOW | ui/components/ui/info-tooltip/info-tooltip.stories.js | 25 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consec |
| LOW | ui/components/ui/info-tooltip/info-tooltip.stories.js | 25 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consec |
| LOW | ui/components/ui/info-tooltip/info-tooltip.stories.js | 32 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consec |
| LOW | ui/components/ui/info-tooltip/info-tooltip.stories.js | 32 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consec |
| LOW | ui/components/ui/info-tooltip/info-tooltip.stories.js | 39 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consec |
| LOW | ui/components/ui/info-tooltip/info-tooltip.stories.js | 39 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consec |
| LOW | ui/components/ui/info-tooltip/info-tooltip.stories.js | 46 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consec |
| LOW | ui/components/ui/info-tooltip/info-tooltip.stories.js | 46 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consec |
| LOW | …ts/ui/actionable-message/actionable-message.stories.js | 34 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mag |
| LOW | …ts/ui/actionable-message/actionable-message.stories.js | 34 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mag |
| LOW | ui/components/ui/popover/popover.stories.js | 74 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod |
| LOW | ui/components/ui/popover/popover.stories.js | 74 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod |
| LOW | ui/components/ui/textarea/textarea.test.js | 13 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporld, Lorem ipsum dolor sit amet, conse |
| LOW | ui/components/ui/textarea/textarea.test.js | 13 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporld, Lorem ipsum dolor sit amet, conse |
| LOW | ui/components/ui/textarea/textarea.stories.js | 71 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporld, Lorem ipsum dolor sit amet, conse |
| LOW | ui/components/ui/textarea/textarea.stories.js | 71 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporld, Lorem ipsum dolor sit amet, conse |
| LOW | …omponents/ui/nickname-popover/nickname-popover.test.js | 29 | nickname="John Doe" |
| LOW | …onents/ui/export-text-container/export-text.stories.js | 22 | text: ' Lorem ipsum dolor sit amet, consectetur adipiscing elit.', |
| LOW | …onents/ui/export-text-container/export-text.stories.js | 22 | text: ' Lorem ipsum dolor sit amet, consectetur adipiscing elit.', |
| LOW | …p/alert-system/general-alert/general-alert.stories.tsx | 8 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sapien tellus, elementum sit ' + |
| LOW | …p/alert-system/general-alert/general-alert.stories.tsx | 8 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sapien tellus, elementum sit ' + |
| LOW | ui/components/app/snaps/copyable/copyable.stories.js | 34 | text: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ultrices arcu quis lorem luctus, consequat vulp |
| LOW | ui/components/app/snaps/copyable/copyable.stories.js | 34 | text: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ultrices arcu quis lorem luctus, consequat vulp |
| LOW | ui/components/app/confirm/info/row/hook.test.ts | 82 | const mockContactName = 'John Doe'; |
| LOW | ui/components/app/confirm/info/row/hook.test.ts | 142 | getAddressBookEntry: { name: 'John Doe' }, |
| LOW | ui/components/app/confirm/info/row/hook.test.ts | 156 | const mockContactName = 'John Doe'; |
| LOW | ui/components/app/confirm/info/row/text.stories.tsx | 23 | text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore m |
| LOW | ui/components/app/confirm/info/row/text.stories.tsx | 23 | text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore m |
| LOW | ui/components/app/confirm/info/row/text.stories.tsx | 25 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna |
| LOW | ui/components/app/confirm/info/row/text.stories.tsx | 25 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna |
| LOW | ui/components/app/confirm/info/row/text.stories.tsx | 30 | text: 'Lorem ipsum dolor sit amet.', |
| LOW | ui/components/app/confirm/info/row/text.stories.tsx | 30 | text: 'Lorem ipsum dolor sit amet.', |
| LOW | …ification-list-item/notification-list-item.stories.tsx | 38 | text: 'Lorem ipsum', |
| LOW | …ification-list-item/notification-list-item.stories.tsx | 41 | text: 'dolor sit amet', |
| LOW | …ification-list-item/notification-list-item.stories.tsx | 50 | text: 'Lorem Ipsum is simply dummy text of the printing and', |
| LOW | …list-item-text/notification-list-item-text.stories.tsx | 40 | text: 'Lorem ipsum', |
| LOW | …list-item-text/notification-list-item-text.stories.tsx | 43 | text: 'dolor sit amet', |
| LOW | …list-item-text/notification-list-item-text.stories.tsx | 114 | text: 'Lorem ipsum', |
| LOW | …list-item-text/notification-list-item-text.stories.tsx | 117 | text: 'dolor sit amet', |
| LOW | …list-item-text/notification-list-item-text.stories.tsx | 128 | text: 'Lorem ipsum', |
| LOW | …list-item-text/notification-list-item-text.stories.tsx | 131 | text: 'dolor sit amet', |
| LOW | …omponent-library/modal-footer/modal-footer.stories.tsx | 147 | children: 'Lorem ipsum dolor sit ', |
| LOW | …ents/component-library/container/container.stories.tsx | 25 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam aliquam, nisl eget aliquam ultrices, nunc nunc al |
| LOW | …ents/component-library/container/container.stories.tsx | 25 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam aliquam, nisl eget aliquam ultrices, nunc nunc al |
| LOW | …ponents/component-library/container/container.test.tsx | 28 | Small breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscing |
| LOW | …ponents/component-library/container/container.test.tsx | 28 | Small breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscing |
| LOW | …ponents/component-library/container/container.test.tsx | 38 | Medium breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscing |
| LOW | …ponents/component-library/container/container.test.tsx | 38 | Medium breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscing |
| LOW | …ponents/component-library/container/container.test.tsx | 48 | Large breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscing |
| LOW | …ponents/component-library/container/container.test.tsx | 48 | Large breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscing |
| LOW | …ponent-library/select-button/select-button.stories.tsx | 35 | description: 'Lorem ipsum Lorem ipsum', |
| LOW | …ponent-library/modal-content/modal-content.stories.tsx | 39 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam euismod |
| LOW | …ponent-library/modal-content/modal-content.stories.tsx | 39 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam euismod |
| LOW | ui/components/component-library/modal/modal.stories.tsx | 68 | Lorem ipsum dolor sit amet, conse{' '} |
| LOW | ui/components/component-library/modal/modal.stories.tsx | 68 | Lorem ipsum dolor sit amet, conse{' '} |
| LOW | …ts/component-library/modal-body/modal-body.stories.tsx | 45 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae elit libero, a pharetra augue. Nullam id dol |
| LOW | …ts/component-library/modal-body/modal-body.stories.tsx | 45 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae elit libero, a pharetra augue. Nullam id dol |
| LOW | …ts/component-library/modal-body/modal-body.stories.tsx | 66 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae |
| LOW | …ts/component-library/modal-body/modal-body.stories.tsx | 66 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae |
| 18 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts | 86 | // Step 1: Check WebHID availability |
| LOW | ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts | 95 | // Step 2: Check if device is physically connected |
| LOW | ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts | 105 | // Step 3: Check if device is unlocked. This is only for Nano S and Nano X because there |
| LOW | ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts | 114 | // Step 4: Attempt to create a transport for the device |
| LOW | …er-entry/components/amount-input/amount-input.test.tsx | 390 | // Step 1: type "0" — partial; USD clears but field keeps "0" |
| LOW | …er-entry/components/amount-input/amount-input.test.tsx | 395 | // Step 2: type "0." — field keeps "0." |
| LOW | …er-entry/components/amount-input/amount-input.test.tsx | 399 | // Step 3: type "0.5" — field shows "0.5" and USD is computed |
| LOW | …e-testing-ai-analyzer/generate-release-testing-plan.ts | 66 | // Step 1: Fetch PR information |
| LOW | …e-testing-ai-analyzer/generate-release-testing-plan.ts | 73 | // Step 2: Categorize files |
| LOW | …e-testing-ai-analyzer/generate-release-testing-plan.ts | 83 | // Step 3: Analyze with LLM (with fallback: GPT-5 → Claude → Gemini) |
| LOW | …e-testing-ai-analyzer/generate-release-testing-plan.ts | 197 | // Step 4: Build testing plan |
| LOW | …e-testing-ai-analyzer/generate-release-testing-plan.ts | 205 | // Step 5: Validate output quality |
| LOW | …e-testing-ai-analyzer/generate-release-testing-plan.ts | 217 | // Step 6: Output results |
| LOW | test/e2e/tests/multichain/aggregated-balances.spec.ts | 61 | console.log('// Step 1: Log in and set up page objects'); |
| LOW | test/e2e/page-objects/flows/test-dapp.flow.ts | 26 | // Step 1: Click connect account button in TestDApp |
| LOW | test/e2e/page-objects/flows/test-dapp.flow.ts | 29 | // Step 2: Handle Dialog interaction |
| LOW | test/e2e/page-objects/flows/test-dapp.flow.ts | 35 | // Step 3: Switch back to TestDApp and verify if needed |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | development/metamaskbot-build-announce/test-plan.ts | 224 | md += `*Generated by AI Test Plan Analyzer (${plan.modelUsed}) at ${plan.generatedAt}*\n\n`; |
| HIGH | development/metamaskbot-build-announce/index.ts | 75 | // Add AI-generated test plan section when a test plan was generated. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | development/generate-attributions.sh | 49 | # Check if the script is running in a CI environment (GitHub Actions sets the CI variable to true) |
| LOW | .github/workflows/block-stable-main-to-main.yml | 23 | # Check if source branch matches exact pattern: stable-main-X.Y.Z |
| LOW | .github/workflows/block-stable-sync-to-release.yml | 22 | # Check if source branch matches stable-sync-* targeting release/X.Y.Z |
| LOW | .github/workflows/tag-release-branch.yml | 86 | # Check if there's a GitHub release for this tag |
| LOW | .github/scripts/bundle-stats-commit.sh | 49 | # Check if the SHA already exists in the stats file |
| LOW | .github/scripts/release-create-gh-release.sh | 52 | # Check if tag already exists via API |
| LOW | .github/scripts/release-create-gh-release.sh | 133 | # Check if release already exists (idempotency + SHA verification) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | test/e2e/send-eth-with-private-key-test/web3js.js | 2 | "use strict";var _typeof2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:funct |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .github/workflows/tag-release-branch.yml | 186 | # Create main tag if needed |
| MEDIUM | .github/scripts/release-create-gh-release.sh | 122 | # Create main release tag |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | ui/helpers/utils/util.test.js | 237 | it('should return None when given nothing', () => { |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …/e2e/tests/state-persistence/state-persistence.spec.ts | 221 | delete storage['temp-cronjob-storage']; // <- don't forget to delete this line if you remove temp-cronjob-storage |