When Burn Luna to Terra, where does the Luna go and Terra come from?

I’m a little confused about the mechanics of converting Luna to Terra( burn luna to mint Terra).
How does the protocol accomplish it?
The Terra documents say the protocol use supply.BurnCoins() to burn offered coins and supply.MintCoins() to mint ask coins. But I can’t find the function on Github.
where does the Luna go and Terra come from? How can find the two functions?

Thanks for your help.

1 Like

Terra Blockchain is built on top of Cosmos SDK so some of these functions are inherited from Cosmos SDK. You can find the code snippet for BurnCoins and MintCoins here (cosmos-sdk/keeper.go at master · cosmos/cosmos-sdk · GitHub).

If i’m not wrong, when a swap happens via the market module

  1. LUNA is burnt and sent to a dead address (terra1untf85jwv3kt0puyyc39myxjvplagr3wstgs5s). Example of a market swap transaction can be found here (Terra Finder)
  2. And in return new UST is minted. The new UST does not come from anywhere as it newly minted.

This article provides a short description of how the market swap happens (Asset Risk Assessment - Terra (UST)) - hope this helps

1 Like

Thank you very much. It really helps me a lot.

1 Like

Can UST be swap from Luna ? One way swap Luna to Ust. If anyone make UST from Luna , terra can pay a little more for it (1% or 2% extra UST) . so people burn luna using terra swap. As a result

  1. Ust market cap up.
  2. Luna burn