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

Community Pool Liquid Staking - Phase 1/3 - Liquid Stake and Redeem #926

Merged
merged 5 commits into from
Nov 16, 2023

Conversation

ethan-stride
Copy link
Contributor

@ethan-stride ethan-stride commented Sep 6, 2023

Tech Spec

https://docs.google.com/document/d/1U9ah95DABkg_ofSGgkDnhzr4wyJdHCCBExCKCX-t_WM/edit

TODO

Phase 1: Liquid stake funds from the community pool

  • Adding community pool addresses to hostZone proto @ethan-stride
  • Implement IBCTransferCommunityPoolICATokensToStride @ethan-stride
  • Create message types and tx rpc endpoint for human specified partial sweep @ethan-stride
  • Trigger IBC transfer full sweep epochly @ethan-stride
  • Epochly sweep tokens that have been liquid-staked to the return address ICA @ethan-stride
  • Autopilot command to atomically chain IBC transfer with liquid-stake command @ethan-stride
    - [ ] Upgrade handler @sampocs [after merging]
  • ICQ to fetch amount of each stake-able denoms in community deposit ICA @ethan-stride
  • Call fund-community-pool to transfer from return address back to pool @ethan-stride
  • Configure Gaia on dockernet with community pool to allow local testing @sampocs
  • added task: Check denoms of tokens in sweep, pfm tokens for foreign host zones
  • add unittests @ethan-stride
  • add integration tests

Phase 3: Redeem from community pool

  • Add configuration variables to track which tokens types we know how to unstake
  • Add ICA for just redeeming, tokens deposited here will be swept in and unstaked
  • Apply code from phase 1 but with memo in autopilot containing instructions for unstaking instead of staking
  • For foreign host zone tokens, pfm when returning to get correct ibc denoms

@github-actions
Copy link

github-actions bot commented Oct 6, 2023

This pull request has been automatically marked as stale because it has not had any recent activity. It will be closed if no further activity occurs. Thank you!

@github-actions github-actions bot added Stale and removed Stale labels Oct 6, 2023
@ethan-stride ethan-stride marked this pull request as draft October 12, 2023 02:24
@sampocs sampocs changed the title Community Pool Revenue Staking Features Community Pool Revenue Staking - Phase 1/3 Nov 16, 2023
@sampocs sampocs changed the title Community Pool Revenue Staking - Phase 1/3 Community Pool Liquid Staking - Phase 1/3 - Liquid Stake and Redeem Nov 16, 2023
@sampocs sampocs marked this pull request as ready for review November 16, 2023 01:36
Copy link
Collaborator

@sampocs sampocs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢 !!

integration_tests.bats
 ✓ [INTEGRATION-BASIC-GAIA] host zones successfully registered
 ✓ [INTEGRATION-BASIC-GAIA] ibc transfer updates all balances
 ✓ [INTEGRATION-BASIC-GAIA] liquid stake mint and transfer
 ✓ [INTEGRATION-BASIC-GAIA] tokens on GAIA were staked
 ✓ [INTEGRATION-BASIC-GAIA] LSM liquid stake
 ✓ [INTEGRATION-BASIC-GAIA] LSM liquid stake with slash query
 ✓ [INTEGRATION-BASIC-GAIA] packet forwarding automatically liquid stakes
 ✓ [INTEGRATION-BASIC-GAIA] redemption works
 ✓ [INTEGRATION-BASIC-GAIA] claimed tokens are properly distributed
 ✓ [INTEGRATION-BASIC-GAIA] rewards are being reinvested, exchange rate updating
 ✓ [INTEGRATION-BASIC-GAIA] rewards are being distributed to stakers

11 tests, 0 failures

@sampocs sampocs merged commit aa3ad92 into main Nov 16, 2023
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants