From The bounty

In Loopring Protocol 2.0 we have introduced a new fee model. One of the many changes is that a part of the fee earned by wallets and miners is reserved to burn LRC (we call this the burn rate). If the fee is paid in LRC this is straightforward, we simply burn the LRC directly. If the fee is paid in a non-LRC token, however, we first have to sell the non-LRC token for LRC so the LRC can be burned. Task

You are free to sell the tokens in any way you like. Of course, we’d like to burn as much LRC as possible with these funds. Selling the funds should also be completely trustless. Anyone will be able to trigger the function that is used to sell the non-LRC and burn the LRC.

Our solution

Even the bounty suggested to use kyber networks or gnosis; we though that's is best, if loopring as a protocol uses it's own mechanisms to do the exchange between to LRC so it can burn LRC.

So, what we do is use the BurnManager to create online orders of the loopring protocol. The problem, is that we need to know the price for the markets LCR<>anyToken. We expect this to be provided off chain, as a parameter to the smart contract transaction.

Here again, we can use the existing loopring services to learn about prices. We use the relay-cluster rpc API to get quotePrices.

Other details

Since prices changes, our contract, can "on demand" update the price of the order. That in fact means cancelling the previous order and creating a new one, with the new price.

For that we neeed to add 'cancellation' feature to the online Orderbook within loopring.

Share this project: