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] Minimum staking values for each actor #612

Open
10 tasks
Olshansk opened this issue Jun 17, 2024 · 2 comments · Fixed by #808 · 4 remaining pull requests
Open
10 tasks

[Utility] Minimum staking values for each actor #612

Olshansk opened this issue Jun 17, 2024 · 2 comments · Fixed by #808 · 4 remaining pull requests
Assignees
Labels
on-chain On-chain business logic protocol General core protocol related changes tokenomics Token Economics - what else do you need? utility

Comments

@Olshansk
Copy link
Member

Olshansk commented Jun 17, 2024

Objective

Introduce a minimum stake (MinStake) requirement for Gateways, Suppliers, and Applications in the network.

Status

Origin Document

In Morse, if you run:

	curl --location -X 'POST' -H 'Content-Type: application/json' "${POCKET_ENDPOINT}/v1/query/allParams" | jq

We find the following param under node_params

    {
      "param_key": "pos/StakeMinimum",
      "param_value": "15000000000"
    },

Goals

  • Establish a clear MinStake requirement for Gateways, Suppliers & Applications
  • Enhance network security and reliability by having "something at stake"
  • Create AT LEAST Morse feature parity

Deliverables

  • Add the MinStakeGateway governance parameter
  • Add the MinStakeApplication governance parameter
  • Add the MinStakeSupplier governance parameter
  • Update docusouras documentation on these params
  • Add at least one minimum E2E and unit test for each
  • Communicate the changes to the network participants.

Non-goals / Non-deliverables

  • Implementing any staking-related penalties or rewards beyond the initial MinStake requirements.
  • Making changes to the staking mechanisms unrelated to the MinStake values.
  • Addressing any other network roles not specified in this issue (e.g., Validators).

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 to ensure MinStake enforcement.
  • Makefile: Add new targets to the Makefile to facilitate testing and deployment of MinStake functionality.
  • Documentation: Update architectural or development READMEs; use mermaid diagrams where appropriate.

Creator: @Olshansk
Co-Owners: @bryanchriswhite

@Olshansk Olshansk added protocol General core protocol related changes on-chain On-chain business logic labels Jun 17, 2024
@Olshansk Olshansk added this to the Shannon Beta TestNet Launch milestone Jun 17, 2024
@Olshansk Olshansk added tokenomics Token Economics - what else do you need? utility labels Jun 17, 2024
@bryanchriswhite
Copy link
Contributor

I started a notion doc to plan this work out. @Olshansk PTAL and provide any feedback there.

@Olshansk
Copy link
Member Author

I started a notion doc to plan this work out. @Olshansk PTAL and provide any feedback there.

@bryanchriswhite Document reviewed and LGTM. Left a bunch of 👍 and a bit of feedback, but nothing blocking!

@bryanchriswhite bryanchriswhite linked a pull request Sep 27, 2024 that will close this issue
15 tasks
@bryanchriswhite bryanchriswhite linked a pull request Sep 27, 2024 that will close this issue
15 tasks
bryanchriswhite added a commit that referenced this issue Sep 30, 2024
## Summary

```
ignite scaffold message update-param --module gateway --signer authority name as_type --response params
```

Adds the `MsgUpdateParam` message so that the gateway module may update
individual parameters. The gateway module's `min_stake` param will be
added in #809.

## Issue

- #612 

## Type of change

Select one or more from the following:

- [x] New feature, functionality or library
- [x] Consensus breaking; add the `consensus-breaking` label if so. See
#791 for details
- [ ] Bug fix
- [ ] 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

- [ ] I have tested my changes using the available tooling
- [ ] I have commented my code
- [ ] 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: Redouane Lakrache <[email protected]>
@bryanchriswhite bryanchriswhite linked a pull request Sep 30, 2024 that will close this issue
15 tasks
@bryanchriswhite bryanchriswhite linked a pull request Sep 30, 2024 that will close this issue
15 tasks
@bryanchriswhite bryanchriswhite linked a pull request Sep 30, 2024 that will close this issue
15 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment