Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

bug: hidden reserves are still offered as collateral swap targets

オープン 初心者向け
#3,131 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@shivam-V8 がすでに取り組んでいます。

2026年10月12日 から。

  • #3132 @shivam-V8 による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
88/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
react, typescript
領域
frontend, web-dev

調査の方向性

src/components/transactions/Swap/modals/request/CollateralSwapModalContent.tsx の getTokensTo を読み、そのフィルターを src/modules/dashboard/lists/SupplyAssetsList/SupplyAssetsList.tsx および src/modules/dashboard/lists/Swap/modals/request/DebtSwapModalContent.tsx のフィルターと比較してください。isAssetHidden が現在のマーケットをどのように受け取るかを確認し、既存の凍結・一時停止中のアセットと GHO に関するルールが引き続き適用される一方で、非表示のリザーブが担保スワップの交換先から除外されることを検証してください。

索引モデルが issue の本文から書いたものです。

説明

Describe the bug

Reserves hidden via HIDDEN_ASSETS or the NEXT_PUBLIC_HIDDEN_RESERVES environment variable are still offered as destination assets in the collateral swap modal. Every other asset list in the app filters them out, including the neighbouring debt-swap modal, so this one list is the outlier.

getTokensTo in src/components/transactions/Swap/modals/request/CollateralSwapModalContent.tsx:217-221 filters only on frozen/paused and the GHO rule:

const tokensToSupply = reserves.filter(
  (reserve: ComputedReserveData) =>
    !(reserve.isFrozen || reserve.isPaused) &&
    !displayGhoForMintableMarket({ symbol: reserve.symbol, currentMarket: currentMarket })
);

The supply list applies the same predicate plus the hidden check (src/modules/dashboard/lists/SupplyAssetsList/SupplyAssetsList.tsx:85-91):

const tokensToSupply = reserves
  .filter(
    (reserve: ComputedReserveData) =>
      !(reserve.isFrozen || reserve.isPaused) &&
      !displayGhoForMintableMarket({ symbol: reserve.symbol, currentMarket }) &&
      !isAssetHidden(currentMarketData.market, reserve.underlyingAsset)
  )

isAssetHidden is defined at src/modules/dashboard/lists/constants.ts:39 and is applied consistently elsewhere — BorrowAssetsList.tsx:104, BorrowedPositionsList.tsx:111, SuppliedPositionsList.tsx:101, MarketAssetsListContainer.tsx:90, and Swap/modals/request/DebtSwapModalContent.tsx:173. Only the collateral-swap target list omits it.

To Reproduce

Steps to reproduce the behavior:

  1. Deploy (or run locally) with a reserve address listed in NEXT_PUBLIC_HIDDEN_RESERVES, or use a market with an entry in HIDDEN_ASSETS (e.g. aCRED on Horizon)
  2. Confirm the reserve is correctly absent from "Assets to supply" on the Dashboard
  3. Open a supplied position's Swap (collateral swap) modal
  4. Open the destination token selector
  5. The hidden reserve is listed and can be selected as the swap target

Expected behavior

A reserve hidden by HIDDEN_ASSETS or NEXT_PUBLIC_HIDDEN_RESERVES should not be offered as a collateral-swap destination, matching the supply list and the debt-swap modal.

Screenshots

n/a — reproducible from the source as described above.

Desktop (please complete the following information):

  • OS: any
  • Browser: any (not browser-specific)
  • Version: main @ 32cc548b9

Smartphone (please complete the following information):

  • Device: any
  • OS: any
  • Browser: any (same code path)
  • Version: main @ 32cc548b9

Additional context

The fix is to add !isAssetHidden(currentMarket, reserve.underlyingAsset) to that filter, mirroring DebtSwapModalContent. One detail: getTokensTo's currentMarket parameter is currently typed string while isAssetHidden takes a CustomMarket; the value passed in is store.currentMarket, which is already a CustomMarket, so the parameter type can simply be narrowed — again matching the debt-swap modal, which types it CustomMarket. Happy to open a PR.

主要言語
TypeScript
スター
537
フォーク
495
平均マージ
1日 13時間
マージ済み PR(30日)
14

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aave/interface のほかの issue

aave/interface の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。