# Biweekly report by Genuine Labs Hey, TC community! It's been two weeks, and Genuine Labs is excited to bring you an update on our mission to fuel Terra Classic's growth. The overwhelming support and encouragement from the community is incredibly meaningful to us. We are sincerely thankful for the opportunity to contribute these enhancements to the Luna Classic chain. Highlights of the past 2 weeks include: - Implement `Tax2Gas` module - Change the way wasm handler plugin behave - Upgrade Handler You can find our works here: https://github.com/classic-terra/core/tree/minh/tax2gas Let's go into the details in below sections ## Implement `Tax2Gas` module The `Tax2Gas` module will now hold gas price values of 22 denoms of Terra Classic. The `Tax2Gas` module will define the logic of the `AnteHandler` and `PostHandler`. The taxes now will be converted to gas and consumed at `PostHandler` after `RunMsgs` is called. In simpler terms, the fee will not be fully consumed but the need part will be consumed and the fee will only be consumed on success Tx. ### AnteHandler The `AnteHandler` will only deduct tax that based on consumed gas counted to that point. For example, the total gas need for the transaction is 200000, but as there is a small part of gas is consumed counted to the point of `AnteHandler`, says 50000 gas, we will now convert 50000 gas to taxes based on gas prices defined earlier and try to remove them from the fee user provided. We continue to convert taxes comes from the amount sent to gas. For example, sending `100,000uluna` will make the taxes `100uluna`. We now convert `100uluna` to gas and do check that the gas of transaction is sufficient. ### PostHandler The `PostHandler` will calculate consumed gas at that point, which is kind of majority of the transaction, and convert consumed gas back to taxes. Until this point, we try to deduct the taxes from the fees the user provided. ## Wasm Handler Plugin In current implementation, the contract itself needs to query `tax rate` and `tax cap` from the chain and then calculate the `amount - tax`. This required new contracts outside the ecosystem to implement this and makes harder for them to participate in Terra Classic for various reasons. The new implementation will reduce the sent amount in the msgs that the contract sends. For example, when sending `100,000uluna` the Handler Plugin will calculate the taxes to be `100uluna` and set the amount to be sent to be `99,900uluna` and deduct the `100uluna from the contract`. ## Upgrade Handler Upgrade Handler for V8_1 which includes the adding of new store of `tax2gas` module ## Next Steps We are putting in a lot of effort in the upcoming weeks to overcome challenges and deliver new features smoothly. Specifically, here are the tasks lined up for the next two weeks: - Unit tests for the new module and implementation. - E2E tests. - Manual tests and testnet test. We couldn't be building a better Terra Classic without your incredible support. Thank you for standing with us through the challenges! Best regards, Genuine Labs Team