solana-labs / explorer

Explorer for Solana clusters
https://explorer.solana.com
MIT License
214 stars 278 forks source link

Distinction should be made between circulating, circulating withheld, permalocked, and burned supply #354

Open tapirtoken opened 1 month ago

tapirtoken commented 1 month ago

Describe the bug

With reference to the existing supply display bug:

https://github.com/solana-labs/explorer/issues/324

There are at least 4 categories of supply which have materially different economic and risk significance, and should be partitioned in the UI for clarity:

  1. Circulating

These tokens are free to transfer.

  1. Circulating Withheld

These tokens were collected from transfer fees and are not circulating but might eventually be because the Withdraw Authority is not Null.

  1. Permalocked

These tokens were either collected as transfer fees with Null as Withdraw Authority, or were sent to

1nc1nerator11111111111111111111111111111111

In either case, if they're LP tokens, they still own a share in LP fees.

  1. Burned

These tokens were destroyed using a Burn instruction. If these are LP tokens, the corresponding ownership share of the LP no longer exists. Major difference with #3.

Example Links

Here's an LP token that was used with the former TAPIR mint address:

B92UoeqcQZysFHmVz6bPjCLbFMH8gnYH2iqWf8Piou2j

As you can see, the supply is over 10M. But the 10M was sent to the incinerator (but not burned) long ago:

4vdhsQZPtRdwWyTcCdMLdr94fTMzjvtwtqMSzYqFDF3QZqS8bubj1FnW3JrxL9y418yxKmU8uvrjM4uEstsWiEm2

Now, that 10M isn't fully burned because it still represents an ownership share in the LP (and thus prevents other holders from usurping the entire pool). However, it's also not circulating in the sense that it would allow us to withdraw liquidity. A distinction should be made in the UI.