One thing I don’t understand here: where does the smart contract get the information of the current luna/usd exchange rate? It can’t be an api call surely, it must be on-chain somehow.
https://docs.terra.money/docs/develop/module-specifications/...
What if the oracle has downtime?