lightninglabs / lightning-api-ng

Automated API-documentation generation source code for Lightning Lab's FOSS software suite
6 stars 7 forks source link

fungibility of taproot assets minted within one asset group but in multiple batches #25

Closed alex-georgiou closed 11 months ago

alex-georgiou commented 11 months ago

Hello,

I'm not sure if this is really an issue with taproot-assets, or if I have misunderstood something.

I am trying to understand how to issue an asset in multiple batches, so that the total circulating supply is increased every time that I call the MintAsset API endpoint.

So far I have only managed to perform multiple mints so that I end up with multiple asset_ids, all grouped by the same group_key. I have not found a way to issue assets over multiple batches, while preserving the same asset_id over all mints. Is there any way to do this? If there is, please let me know, in which case the remainder of my question is irrelevant.

My understanding is that we can use the group_key to get the circulating supply and hot wallet balance for a group, and we can conceptually think of the group of assets to be "the asset". But if there is no way to perform multiple mints of the same asset _while preserving the same asset_id_, then I think this creates some problems with fungibility:

  1. When sending an asset, I have to decide which asset_id/batch to send from. If I have minted 1000 units of an asset, and then an additional 1000 units of the same asset in the same group but in a different batch, I can't just send 1100 units in one go.

  2. When generating an asset address to receive these, this is done by passing an asset_id to NewAddr. Suppose I have minted an asset over two batches. I now wish to transfer some of this asset. I generate an asset address using the first asset_id. Can I now transfer any assets minted by the second batch to that address? If not, then the assets minted between the two batches are not really fungible.

Does this problem really exist? Or have I misunderstood something regarding assets, asset groups, and minting? I would very much appreciate it if someone could explain this to me.

P.S. By the way, I have to say I'm really impressed overall with the Taproot Assets Protocol and with all of the Lightning Labs projects. Thank you all for your effort, it really adds a lot value to the Bitcoin ecosystem.

jamaljsr commented 11 months ago

Hey @alex-georgiou, this repo is for the API docs, not for the Taproot Assets project. Can you please create an issue in the taproot-assets repo to have your questions answered directly by the team.

I am going to close this issue here because there is no action to to take on the code in this repo.

alex-georgiou commented 11 months ago

OK thank you @jamaljsr. I will do this. I only posted here because my question is about the API, and I clicked on the "Feedback" button at the top of the docs screen, which links to here.