Skip to content

Feature: Bulk Add Members to Pools in UI #314

Open

Description

@sirpy

Feature: Bulk Add Members to Pools in UI

Is your feature request related to a problem? Please describe.
Currently, pool managers can only add members one by one through the "Member Management" tab in the UI. This becomes a tedious and time-consuming process when a large number of members need to be added to a pool. The underlying smart contracts (DirectPaymentsPool.sol and UBIPool.sol) already support bulk addition via the addMembers function, but this functionality is not exposed in the user interface.

Describe the solution you'd like
We need to implement a feature in the "Member Management" section of the ManageCollectivePage.tsx that allows pool managers to add multiple members simultaneously. This could involve:

  1. A text area where users can paste a list of wallet addresses (e.g., comma-separated, or one per line).
  2. Optionally, a file upload mechanism for a CSV file containing a list of addresses.

Upon submission, the UI should call the addMembers function on the relevant pool contract (DirectPaymentsPool or UBIPool) with the provided list of addresses.

Describe alternatives you've considered
The current alternative is to manually add each member, which is inefficient for large-scale operations. Direct interaction with the smart contract (e.g., via Etherscan or a custom script) is also possible but is not user-friendly for non-technical managers.

Acceptance Criteria

  • A new UI component (e.g., a dedicated section or a button triggering a modal) is added to the "Member Management" tab on ManageCollectivePage.tsx.
  • The component provides an input method for multiple wallet addresses (e.g., a multi-line text area).
  • The input addresses are validated (e.g., basic address format check).
  • Upon submission, the UI calls the addMembers function on the DirectPaymentsPool or UBIPool contract, passing the array of member addresses. For the extraData parameter, an empty array of bytes ([]) should be passed for all members in the initial implementation, as the current contract logic allows for this.
  • The UI provides clear feedback to the user during the transaction (e.g., "Adding members...", "Transaction confirmed", "Error: ...").
  • Successfully added members should appear in the "Current Members" list after the transaction is confirmed and the data is refreshed.
  • The feature should be accessible only to users with the MANAGER_ROLE.

Relevant Files:

  • /Users/hadarro/workspace/GoodDollar/SegmentedUBI/packages/app/src/pages/ManageCollectivePage.tsx
  • /Users/hadarro/workspace/GoodDollar/SegmentedUBI/packages/contracts/contracts/DirectPayments/DirectPaymentsPool.sol (specifically the addMembers function)
  • /Users/hadarro/workspace/GoodDollar/SegmentedUBI/packages/contracts/contracts/UBI/UBIPool.sol (specifically the addMembers function)
  • The useMemberManagement hook (likely located in packages/app/src/hooks/managePool/useMemberManagement.ts or similar) will need to be updated to support this new functionality.

Activity

  1. edehvictor commented on Feb 16, 2026

    @edehvictor

    Hello @sirpy, please can I work on this. Again, what's the tier for this issue. It wasn't specified

  2. sirpy commented on Feb 19, 2026

    @sirpy
    ContributorAuthor

    @edehvictor
    I've already created a pull request for it.
    You can assigned to fix, review and test the PR for a common tier.
    Interested?

  3. edehvictor commented on Feb 19, 2026

    @edehvictor

    Hi @sirpy,
    I'm interested in working on this project as soon as possible.

  4. sirpy commented on Feb 19, 2026

    @sirpy
    ContributorAuthor

    @edehvictor ok assigned.

    1. review
    2. fix AI reported issues
    3. test + provide video
  5. sirpy commented on Feb 19, 2026

    @sirpy
    ContributorAuthor

    @edehvictor accept the invite to the goodbuilders-dev team, it should give you permissions to commit to my PR

  6. edehvictor commented on Feb 20, 2026

    @edehvictor

    @sirpy, accepted!

  7. moved this to Ready-For-Assignment in GoodBountieson Feb 24, 2026
  8. moved this from Ready-For-Assignment to In Progress in GoodBountieson Feb 24, 2026
  9. moved this from In Progress to In Review in GoodBountieson Feb 24, 2026
  10. edehvictor commented on Mar 2, 2026

    @edehvictor

    "Hey @sirpy, I've completed the assignment! I fixed the AI-reported issues, tested the flow, and posted the QA video over in PR #315. It is ready for your final review!
    https://www.loom.com/share/8aa1f027d3ec4d09a0df32e96fae5a62

  11. sirpy commented on Mar 3, 2026

    @sirpy
    ContributorAuthor
  12. 8 remaining items

  13. 0xcoredev commented on Mar 23, 2026

    @0xcoredev
    Contributor

    Is this issue open, can I work on it

  14. LuxeLily commented on Mar 23, 2026

    @LuxeLily

    Assign to me please

  15. moved this from Ready-For-Assignment to In Review in GoodBountieson Mar 26, 2026
  16. moved this from In Review to Ready-For-Assignment in GoodBountieson Mar 26, 2026
  17. romeoscript commented on Mar 26, 2026

    @romeoscript

    @L03TJ3 can i work on this ?

  18. L03TJ3 commented on Mar 26, 2026

    @L03TJ3
    Collaborator

    Okay, you will be assigned @iYukay
    The details of this bounty, whats left to do is the following:
    This PR: #315
    adds the ability to bulk-add AFTER a pool is deployed.

    • review
    • fix AI reported issues
    • test + provide video + a report on result.

    To test the changes, you will need to deploy your own goodcollective pool.

    Since you worked on the flow to support bulk-add during the create-a-pool flow, that is outside of this ticket.

  19. moved this from Ready-For-Assignment to In Progress in GoodBountieson Mar 26, 2026
  20. 0xcoredev commented on Mar 27, 2026

    @0xcoredev
    Contributor

    Acknowledged, Thank you @L03TJ3

  21. deleted a comment from zhaog100 on Mar 27, 2026
  22. deleted a comment from zhaog100 on Mar 27, 2026
  23. moved this from In Progress to In Review in GoodBountieson Apr 2, 2026
  24. moved this from In Review to Blocked in GoodBountieson Apr 3, 2026
  25. moved this from Blocked to In Review in GoodBountieson Jun 12, 2026
  26. moved this from In Review to QA-Needed in GoodBountieson Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions