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

[Utility][Morse Parity] Staked App Transfer #657

Closed
5 tasks
Olshansk opened this issue Jul 4, 2024 · 1 comment · Fixed by #743, #788 or #789
Closed
5 tasks

[Utility][Morse Parity] Staked App Transfer #657

Olshansk opened this issue Jul 4, 2024 · 1 comment · Fixed by #743, #788 or #789
Assignees
Labels
on-chain On-chain business logic protocol General core protocol related changes utility

Comments

@Olshansk
Copy link
Member

Olshansk commented Jul 4, 2024

Objective

Achieve Morse parity w.r.t app stake transfer.

Origin Document

Goals

  • Allow staked apps to transfer their stake without needing to unbond
  • Get to Morse parity

Deliverables

  • Re-implemnt the feature in pocket-core in Morse

Non-goals / Non-deliverables

  • Introducing any new functionality above what exists in Morse already

General deliverables

  • Comments: Add/update TODOs and comments alongside the source code so it is easier to follow.
  • Testing: Add new tests (unit and/or E2E) to the test suite.
  • Makefile: Add new targets to the Makefile to make the new functionality easier to use.
  • Documentation: Update architectural or development READMEs; use mermaid diagrams where appropriate.

Creator: @Olshansk
Co-Owners: @moatus

@Olshansk Olshansk added protocol General core protocol related changes on-chain On-chain business logic utility labels Jul 4, 2024
@Olshansk Olshansk self-assigned this Jul 4, 2024
@Olshansk Olshansk added this to Shannon Jul 4, 2024
@Olshansk Olshansk added this to the Shannon Beta TestNet Launch milestone Jul 4, 2024
@Olshansk Olshansk moved this to 🔖 Ready in Shannon Jul 4, 2024
@Olshansk Olshansk removed their assignment Jul 26, 2024
@Olshansk
Copy link
Member Author

@adshmh Let me know when you have cycles to pick this one up. I'll provide some more details, and can help with the design of the user-interface, but it'll involve a few things like:

  1. Using ignite to scaffold new types + transactions -> committing those
  2. Implementing the business logic, CLI component, etc...
  3. Documentation for the CLI + docs
  4. Unit + Integration + E2E tests
  5. Ensuring parity with more

Let's pair when you get around to it.

@bryanchriswhite bryanchriswhite moved this from 🔖 Ready to 🏗 In progress in Shannon Aug 13, 2024
@bryanchriswhite bryanchriswhite moved this from 🏗 In progress to 👀 In review in Shannon Aug 22, 2024
@bryanchriswhite bryanchriswhite linked a pull request Aug 26, 2024 that will close this issue
14 tasks
bryanchriswhite added a commit that referenced this issue Sep 23, 2024
## Summary

- Add `MsgTransferApplicationStake`.
- Implement application stake transfer to new "beneficiary" application
(unstakes original application).

## Dependents

- #788
- #789

## Issue

- #657

## Type of change

Select one or more:

- [x] New feature, functionality or library
- [ ] Bug fix
- [ ] Code health or cleanup
- [ ] Documentation
- [ ] Other (specify)

## Testing

**Documentation changes** (only if making doc changes)
- [ ] `make docusaurus_start`; only needed if you make doc changes

**Local Testing** (only if making code changes)
- [x] **Unit Tests**: `make go_develop_and_test`
- [x] **LocalNet E2E Tests**: `make test_e2e`
- See [quickstart
guide](https://dev.poktroll.com/developer_guide/quickstart) for
instructions

**PR Testing** (only if making code changes)
- [x] **DevNet E2E Tests**: Add the `devnet-test-e2e` label to the PR.
- **THIS IS VERY EXPENSIVE**, so only do it after all the reviews are
complete.
- Optionally run `make trigger_ci` if you want to re-trigger tests
without any code changes
- If tests fail, try re-running failed tests only using the GitHub UI as
shown
[here](https://github.com/pokt-network/poktroll/assets/1892194/607984e9-0615-4569-9452-4c730190c1d2)


## Sanity Checklist

- [x] I have tested my changes using the available tooling
- [x] I have commented my code
- [x] I have performed a self-review of my own code; both comments &
source code
- [ ] I create and reference any new tickets, if applicable
- [x] I have left TODOs throughout the codebase, if applicable

---------

Co-authored-by: Daniel Olshansky <[email protected]>
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Shannon Sep 23, 2024
@bryanchriswhite bryanchriswhite moved this from ✅ Done to 👀 In review in Shannon Sep 23, 2024
bryanchriswhite added a commit that referenced this issue Sep 23, 2024
## Summary

- Renaming the application module `TransferApplicationStake` messages to
`TransferApplication`

## Depends on 

- #743

## Dependents

- #789

## Issue

- #657

## Type of change

Select one or more:

- [ ] New feature, functionality or library
- [ ] Bug fix
- [x] Code health or cleanup
- [ ] Documentation
- [ ] Other (specify)

## Testing

- [ ] **Documentation**: `make docusaurus_start`; only needed if you
make doc changes
- [ ] **Unit Tests**: `make go_develop_and_test`
- [ ] **LocalNet E2E Tests**: `make test_e2e`
- [ ] **DevNet E2E Tests**: Add the `devnet-test-e2e` label to the PR.

## Sanity Checklist

- [x] I have tested my changes using the available tooling
- [ ] I have commented my code
- [x] I have performed a self-review of my own code; both comments &
source code
- [ ] I create and reference any new tickets, if applicable
- [ ] I have left TODOs throughout the codebase, if applicable

---------

Co-authored-by: Daniel Olshansky <[email protected]>
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Shannon Sep 23, 2024
@bryanchriswhite bryanchriswhite moved this from ✅ Done to 👀 In review in Shannon Sep 23, 2024
bryanchriswhite added a commit that referenced this issue Oct 4, 2024
## Summary

- Reconcile the need for a transfer period with #743.
- Ensure the app transfer message handler returns grpc status errors
consistently.
- Improve some shared E2E tests.
- Implement `ApplicationIntegrationSuite` test suite.
- Port app transfer E2E tests to integration tests.

## Depends on

- #827 
- #788 
- #743

## Issue

- #657

## Type of change

Select one or more:

- [x] New feature, functionality or library
- [ ] Bug fix
- [ ] Code health or cleanup
- [ ] Documentation
- [ ] Other (specify)

## Testing

<!-- READ & DELETE:
- Documentation changes: only keep this if you're making documentation
changes
- Unit Testing: Remove this if you didn't make code changes
- E2E Testing: Remove this if you didn't make code changes
- See the quickstart guide for instructions:
https://dev.poktroll.com/developer_guide/quickstart
- DevNet E2E Testing: Remove this if you didn't make code changes
- THIS IS VERY EXPENSIVE: only do it after all the reviews are complete.
- Optionally run `make trigger_ci` if you want to re-trigger tests
without any code changes
- If tests fail, try re-running failed tests only using the GitHub UI as
shown
[here](https://github.com/pokt-network/poktroll/assets/1892194/607984e9-0615-4569-9452-4c730190c1d2)
-->

- [ ] **Documentation**: `make docusaurus_start`; only needed if you
make doc changes
- [ ] **Unit Tests**: `make go_develop_and_test`
- [x] **LocalNet E2E Tests**: `make test_e2e`
- [x] **DevNet E2E Tests**: Add the `devnet-test-e2e` label to the PR.

## Sanity Checklist

- [x] I have tested my changes using the available tooling
- [x] I have commented my code
- [x] I have performed a self-review of my own code; both comments &
source code
- [ ] I create and reference any new tickets, if applicable
- [x] I have left TODOs throughout the codebase, if applicable

---------

Co-authored-by: Daniel Olshansky <[email protected]>
Co-authored-by: Redouane Lakrache <[email protected]>
Co-authored-by: red-0ne <[email protected]>
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Shannon Oct 4, 2024
okdas pushed a commit that referenced this issue Nov 14, 2024
## Summary

- Add `MsgTransferApplicationStake`.
- Implement application stake transfer to new "beneficiary" application
(unstakes original application).

## Dependents

- #788
- #789

## Issue

- #657

## Type of change

Select one or more:

- [x] New feature, functionality or library
- [ ] Bug fix
- [ ] Code health or cleanup
- [ ] Documentation
- [ ] Other (specify)

## Testing

**Documentation changes** (only if making doc changes)
- [ ] `make docusaurus_start`; only needed if you make doc changes

**Local Testing** (only if making code changes)
- [x] **Unit Tests**: `make go_develop_and_test`
- [x] **LocalNet E2E Tests**: `make test_e2e`
- See [quickstart
guide](https://dev.poktroll.com/developer_guide/quickstart) for
instructions

**PR Testing** (only if making code changes)
- [x] **DevNet E2E Tests**: Add the `devnet-test-e2e` label to the PR.
- **THIS IS VERY EXPENSIVE**, so only do it after all the reviews are
complete.
- Optionally run `make trigger_ci` if you want to re-trigger tests
without any code changes
- If tests fail, try re-running failed tests only using the GitHub UI as
shown
[here](https://github.com/pokt-network/poktroll/assets/1892194/607984e9-0615-4569-9452-4c730190c1d2)


## Sanity Checklist

- [x] I have tested my changes using the available tooling
- [x] I have commented my code
- [x] I have performed a self-review of my own code; both comments &
source code
- [ ] I create and reference any new tickets, if applicable
- [x] I have left TODOs throughout the codebase, if applicable

---------

Co-authored-by: Daniel Olshansky <[email protected]>
okdas pushed a commit that referenced this issue Nov 14, 2024
## Summary

- Renaming the application module `TransferApplicationStake` messages to
`TransferApplication`

## Depends on 

- #743

## Dependents

- #789

## Issue

- #657

## Type of change

Select one or more:

- [ ] New feature, functionality or library
- [ ] Bug fix
- [x] Code health or cleanup
- [ ] Documentation
- [ ] Other (specify)

## Testing

- [ ] **Documentation**: `make docusaurus_start`; only needed if you
make doc changes
- [ ] **Unit Tests**: `make go_develop_and_test`
- [ ] **LocalNet E2E Tests**: `make test_e2e`
- [ ] **DevNet E2E Tests**: Add the `devnet-test-e2e` label to the PR.

## Sanity Checklist

- [x] I have tested my changes using the available tooling
- [ ] I have commented my code
- [x] I have performed a self-review of my own code; both comments &
source code
- [ ] I create and reference any new tickets, if applicable
- [ ] I have left TODOs throughout the codebase, if applicable

---------

Co-authored-by: Daniel Olshansky <[email protected]>
okdas pushed a commit that referenced this issue Nov 14, 2024
## Summary

- Reconcile the need for a transfer period with #743.
- Ensure the app transfer message handler returns grpc status errors
consistently.
- Improve some shared E2E tests.
- Implement `ApplicationIntegrationSuite` test suite.
- Port app transfer E2E tests to integration tests.

## Depends on

- #827 
- #788 
- #743

## Issue

- #657

## Type of change

Select one or more:

- [x] New feature, functionality or library
- [ ] Bug fix
- [ ] Code health or cleanup
- [ ] Documentation
- [ ] Other (specify)

## Testing

<!-- READ & DELETE:
- Documentation changes: only keep this if you're making documentation
changes
- Unit Testing: Remove this if you didn't make code changes
- E2E Testing: Remove this if you didn't make code changes
- See the quickstart guide for instructions:
https://dev.poktroll.com/developer_guide/quickstart
- DevNet E2E Testing: Remove this if you didn't make code changes
- THIS IS VERY EXPENSIVE: only do it after all the reviews are complete.
- Optionally run `make trigger_ci` if you want to re-trigger tests
without any code changes
- If tests fail, try re-running failed tests only using the GitHub UI as
shown
[here](https://github.com/pokt-network/poktroll/assets/1892194/607984e9-0615-4569-9452-4c730190c1d2)
-->

- [ ] **Documentation**: `make docusaurus_start`; only needed if you
make doc changes
- [ ] **Unit Tests**: `make go_develop_and_test`
- [x] **LocalNet E2E Tests**: `make test_e2e`
- [x] **DevNet E2E Tests**: Add the `devnet-test-e2e` label to the PR.

## Sanity Checklist

- [x] I have tested my changes using the available tooling
- [x] I have commented my code
- [x] I have performed a self-review of my own code; both comments &
source code
- [ ] I create and reference any new tickets, if applicable
- [x] I have left TODOs throughout the codebase, if applicable

---------

Co-authored-by: Daniel Olshansky <[email protected]>
Co-authored-by: Redouane Lakrache <[email protected]>
Co-authored-by: red-0ne <[email protected]>
bryanchriswhite added a commit that referenced this issue Nov 20, 2024
## Summary

Add docusaurus docs for application transfer under the "operate" > "user
guide" section.

## Issue

- #657

## Type of change

Select one or more:

- [ ] New feature, functionality or library
- [ ] Bug fix
- [ ] Code health or cleanup
- [x] Documentation
- [ ] Other (specify)

## Testing

- [x] **Documentation**: `make docusaurus_start`; only needed if you
make doc changes
- [ ] **Unit Tests**: `make go_develop_and_test`
- [ ] **LocalNet E2E Tests**: `make test_e2e`
- [ ] **DevNet E2E Tests**: Add the `devnet-test-e2e` label to the PR.

## Sanity Checklist

- [ ] I have tested my changes using the available tooling
- [ ] I have commented my code
- [x] I have performed a self-review of my own code; both comments &
source code
- [ ] I create and reference any new tickets, if applicable
- [ ] I have left TODOs throughout the codebase, if applicable

---------

Co-authored-by: Daniel Olshansky <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment