Skip to content

Conversation

paveltimosh
Copy link
Contributor

NOTE

Please enable "Allow edits by maintainers" while putting up the PR.


  • If you would like to add a volume/fees/revenue adapter please submit the PR here.
  • If you would like to add a liquidations adapter, please refer to this readme document for details.
  1. Once your adapter has been merged, it takes time to show on the UI. If more than 24 hours have passed, please let us know in Discord.
  2. Sorry, We no longer accept fetch adapter for new projects, we prefer the tvl to computed from blockchain data, if you have trouble with creating a the adapter, please hop onto our discord, we are happy to assist you.
  3. Please fill the form below only if the PR is for listing a new protocol else it can be ignored/replaced with reason/details about the PR
  4. For updating listing info It is a different repo, you can find your listing in this file: https://github.com/DefiLlama/defillama-server/blob/master/defi/src/protocols/data2.ts, you can edit it there and put up a PR
  5. Do not edit/push package-lock.json file as part of your changes, we use lockfileVersion 2, and most use v1 and using that messes up our CI
  6. No need to go to our discord and announce that you've created a PR, we monitor all PRs and will review it asap

Name (to be shown on DefiLlama):
Twitter Link:
List of audit links if any:
Website Link:
Logo (High resolution, will be shown with rounded borders):
Current TVL:
Treasury Addresses (if the protocol has treasury)
Chain:
Coingecko ID (so your TVL can appear on Coingecko, leave empty if not listed): (https://api.coingecko.com/api/v3/coins/list)
Coinmarketcap ID (so your TVL can appear on Coinmarketcap, leave empty if not listed): (https://api.coinmarketcap.com/data-api/v3/map/all?listing_status=active,inactive,untracked&start=1&limit=10000)
Short Description (to be shown on DefiLlama):
Token address and ticker if any:
Category (full list at https://defillama.com/categories) *Please choose only one:
Oracle Provider(s): Specify the oracle(s) used (e.g., Chainlink, Band, API3, TWAP, etc.):
Implementation Details: Briefly describe how the oracle is integrated into your project:
Documentation/Proof: Provide links to documentation or any other resources that verify the oracle's usage:
forkedFrom (Does your project originate from another project):
methodology (what is being counted as tvl, how is tvl being calculated):
Github org/user (Optional, if your code is open source, we can track activity):

@llamabutler
Copy link

The adapter at projects/mstable-v2 exports TVL:

ethereum                  2.66 M

total                    2.66 M 

);

return {
tether: totalValue / 1e18,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we count token balances in the pools instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pools can contain comples positions like aave lending v3 or pendle, not only base assets. So its better to show only total pool usd value.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we track aave v3 and pendle assets

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see, but could you please add it to new page "mStable V2" astotal usd values?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please refactor the adapter to return balances of the underlying tokens instead of a USD value?

Copy link
Contributor Author

@paveltimosh paveltimosh Oct 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But I got only 5k$
2025-10-07_13-37-30

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont think 0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2 is an erc20?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it's not ERC-20. So waht to do, revert it total usd value without asset balances?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will have no price then. We only price ER20s and some NFTs. To track Aave deposits you should be exporting a balance of a tokens

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@waynebruce0x fixed, please review

@waynebruce0x
Copy link
Collaborator

Error in ethereum: TypeError: Cannot read properties of null (reading 'assets')
    at /home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/projects/mstable-v2/index.js:38:28
    at Array.map (<anonymous>)
    at getLockedAssetsForFunds (/home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/projects/mstable-v2/index.js:37:29)

Is this expected? Does this run successfully when you test?

@paveltimosh
Copy link
Contributor Author

@waynebruce0x Yes, the test passed successfully during local run

const fundCompositions = await api.multiCall({
abi: MSTABLE_POOL_MANAGER_LOGIC_ABI,
calls: poolManagerLogicAddresses,
permitFailure: true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The adapter doesnt run. When a call here fails (currently the third call) it returns null. Then the following map fails because there is no 'assets' on null

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added checking for not null.C ould you please send the output of the adapter before merging the PR?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error in ethereum: TypeError: Cannot read properties of null (reading 'assets')
at /home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/projects/mstable-v2/index.js:38:25
at Array.map ()
at getLockedAssetsForFunds (/home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/projects/mstable-v2/index.js:37:29)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async tvlForChain (/home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/projects/mstable-v2/index.js:74:27)
at async getTvl (/home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/test.js:53:21)
at async /home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/test.js:172:11
at async Promise.all (index 0)
at async Promise.all (index 3)
at async /home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/test.js:198:3

https://github.com/DefiLlama/DefiLlama-Adapters/actions/runs/18386046228/job/52384618140?pr=16500#step:4:62

(lockedTokens, [address], i) => ({ ...lockedTokens, [address]: composition.balances[i] }),
{},
)
if (composition.assets) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

    if (composition) {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants