Repository navigation
Feature: Bulk Add Members to Pools in UI #314
Description
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:
- A text area where users can paste a list of wallet addresses (e.g., comma-separated, or one per line).
- 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
addMembersfunction on theDirectPaymentsPoolorUBIPoolcontract, passing the array of member addresses. For theextraDataparameter, 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 theaddMembersfunction)/Users/hadarro/workspace/GoodDollar/SegmentedUBI/packages/contracts/contracts/UBI/UBIPool.sol(specifically theaddMembersfunction)- The
useMemberManagementhook (likely located inpackages/app/src/hooks/managePool/useMemberManagement.tsor similar) will need to be updated to support this new functionality.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsQA Needed
Activity
edehvictor commentedon Feb 16, 2026
Hello @sirpy, please can I work on this. Again, what's the tier for this issue. It wasn't specified
sirpy commentedon Feb 19, 2026
@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?
edehvictor commentedon Feb 19, 2026
Hi @sirpy,
I'm interested in working on this project as soon as possible.
sirpy commentedon Feb 19, 2026
@edehvictor ok assigned.
sirpy commentedon Feb 19, 2026
@edehvictor accept the invite to the goodbuilders-dev team, it should give you permissions to commit to my PR
edehvictor commentedon Feb 20, 2026
@sirpy, accepted!
edehvictor commentedon Mar 2, 2026
"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
sirpy commentedon Mar 3, 2026
@L03TJ3
8 remaining items
0xcoredev commentedon Mar 23, 2026
Is this issue open, can I work on it
LuxeLily commentedon Mar 23, 2026
Assign to me please
romeoscript commentedon Mar 26, 2026
@L03TJ3 can i work on this ?
L03TJ3 commentedon Mar 26, 2026
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.
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.
0xcoredev commentedon Mar 27, 2026
Acknowledged, Thank you @L03TJ3