Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Whitelisting (tax exemption) feature according to prop #11824 #393

Open
wants to merge 80 commits into
base: main
Choose a base branch
from

Conversation

StrathCole
Copy link
Collaborator

@StrathCole StrathCole commented Dec 1, 2023

Summary of changes

alternative implementation to #388 using message types and v1 governance

Introduce zone-based tax exemption.
Zones are always tax-free internally.
Optionally they can be set to be tax-free for incoming and/or outgoing txs.
Cross-Zone transactions are always taxed, unless cross-zone exemption is also set for the zone

Report of required housekeeping

  • Github issue OR spec proposal link
  • Added Binance whitelist migration
  • Wrote tests
  • Updated API documentation (client/lcd/swagger-ui/swagger.yaml)
  • Added a relevant changelog entry: clog add [section] [stanza] [message]

(FOR ADMIN) Before merging

  • Added appropriate labels to PR
  • Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
  • Confirm added tests are consistent with the intended behavior of changes
  • Ensure all tests pass

Copilot Summary

This pull request introduces a new taxexemption module and integrates it into the existing system. The changes include adding the module's dependencies, updating the application to include the new module, and defining the upgrade handler for the new module.

Integration of taxexemption Module:

  • app/app.go: Added the v9 upgrade and included the TaxExemptionKeeper in the NewTerraApp function. [1] [2] [3]
  • app/keepers/keepers.go: Imported the taxexemption types and keeper, added the TaxExemptionKeeper to the AppKeepers struct, and initialized it in the NewAppKeepers function. [1] [2] [3] [4] [5] [6]
  • app/modules.go: Imported the taxexemption module and added it to various module lists and functions, including appModules, simulationModules, orderBeginBlockers, orderEndBlockers, and orderInitGenesis. [1] [2] [3] [4] [5] [6] [7] [8]

Upgrade Handler:

Documentation Updates:

@StrathCole StrathCole marked this pull request as draft May 14, 2024 12:22
@StrathCole
Copy link
Collaborator Author

I already adjusted this to be compatible with the upcoming v3.0.1 (sdk 0.47). Waiting for the merge to fix remaining issues.

@StrathCole StrathCole marked this pull request as ready for review July 20, 2024 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants