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

Add Group Module #7633

Closed
4 tasks
aaronc opened this issue Oct 22, 2020 · 5 comments
Closed
4 tasks

Add Group Module #7633

aaronc opened this issue Oct 22, 2020 · 5 comments
Assignees

Comments

@aaronc
Copy link
Member

aaronc commented Oct 22, 2020

Summary

Add group module to the Cosmos SDK. (Part of #7074)

Problem Definition

In #5236 it was proposed that the group module live outside of the SDK maintained by Regen Network in our own fork of cosmos-modules. That is where it currently lives: https://github.com/regen-network/regen-ledger/tree/marie/136-x-group/x/group

The main rationale for this decision was lack of bandwidth on the SDK team to support this module. This is no longer an immediate problem as the Regen team is now one of the principle maintainers of the SDK.

Nevertheless, our team also believes in a tightly scoped SDK and growing the ecosystem of modules around the SDK (#7421) so this is not a sufficient reason on its own.

The biggest motivations for including the group module in the SDK are:

  • the amount of community enthusiasm around this module being a core part of "cosmos" and included in gaia, and
  • in particular the desire of the ICF to focus on governance as a primary theme for 2021 and in particular the idea that on-chain governance would involve sub-committees - possibly managed by the group module

It was even discussed in some conversations that there could be some convergence of the group module and x/gov as both support proposals and voting simply with different underlying methods (fixed weights vs delegated stake).

If there is to be some integration of the group module into on-chain governance, it will be much easier to do this work within the SDK.

Proposal

We propose merging the group module in https://github.com/regen-network/cosmos-modules/tree/master/incubator/group with its supporting ORM/Table Store package (#7098) into the Cosmos SDK and continuing development here. This would include adding ADRs for both pieces.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@aaronc aaronc mentioned this issue Oct 22, 2020
4 tasks
@aaronc aaronc added this to the v0.41 milestone Oct 22, 2020
@clevinson
Copy link
Contributor

Strongly in favor of this.

Also, worth noting that group module is an important part of our strategy for improved key management (key rotation, on-chain multi-sig accounts), which gets a lot of attention in the SDK community as well.

@aaronc
Copy link
Member Author

aaronc commented Oct 23, 2020

/cc @okwme @hxrts

@hxrts
Copy link
Contributor

hxrts commented Oct 26, 2020

Definitely onboard with this. I think it will also encourage community feedback on the groups module design as well.

Do you think there will be particular groups features that some chains will want disabled? I can't think of any offhand, but if so we should try to make this straightforward for devs.

@shanev
Copy link

shanev commented May 27, 2021

I implemented some of the client code in this at a hackathon a few years ago! Now replaced by gRPC. Anyway, would love to see this in the SDK 👍

mergify bot pushed a commit that referenced this issue Jul 9, 2021
<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->

## Description

ref: #7633

<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->

Following up on #9089, this PR is the first step towards the migration of [x/group](https://github.com/regen-network/regen-ledger/tree/master/x/group) into the SDK. It introduces the group module proto definitions (types, tx, query) and other types.
The rest of the code (module, server, client, genesis...) is dependent on various other discussions (#9238, #9182, #9237, #7773) and will be added in follow-up PRs incrementally.

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] added `!` to the type prefix if API or client breaking change
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [x] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [x] updated the relevant documentation or specification
- [x] reviewed "Files changed" and left comments if necessary
- [x] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
@aaronc aaronc modified the milestones: Feature Backlog, v0.44 Jul 23, 2021
@clevinson clevinson added the Epic label Aug 6, 2021
@clevinson clevinson modified the milestones: v0.45, v1.0 Oct 15, 2021
@aaronc aaronc modified the milestones: v1.0, v0.45 Nov 12, 2021
ChristianBorst pushed a commit to althea-net/cosmos-sdk that referenced this issue Jan 20, 2022
<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->

## Description

ref: cosmos/cosmos-sdk#7633

<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->

Following up on cosmos/cosmos-sdk#9089, this PR is the first step towards the migration of [x/group](https://github.com/regen-network/regen-ledger/tree/master/x/group) into the SDK. It introduces the group module proto definitions (types, tx, query) and other types.
The rest of the code (module, server, client, genesis...) is dependent on various other discussions (cosmos/cosmos-sdk#9238, cosmos/cosmos-sdk#9182, cosmos/cosmos-sdk#9237, cosmos/cosmos-sdk#7773) and will be added in follow-up PRs incrementally.

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] added `!` to the type prefix if API or client breaking change
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [x] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [x] updated the relevant documentation or specification
- [x] reviewed "Files changed" and left comments if necessary
- [x] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
@tac0turtle tac0turtle moved this to 💪 In Progress in Cosmos-SDK May 12, 2022
@tac0turtle
Copy link
Member

With the audit issue closing can this be closed as well @blushi ?

@blushi blushi closed this as completed May 23, 2022
Repository owner moved this from 💪 In Progress to 👏 Done in Cosmos-SDK May 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

7 participants