@devender-startengine
Thanks—great points. Since ERC‑7743 is finalized, its additive transferFrom semantics are fixed. To address naming clarity and formal reasoning, I proposed a general‑purpose “Group” container as ERC‑8063 that subsumes 7743’s pattern.
- Naming in 8063: I use
addMember/“share” for additive joins, and reservetransferonly for an optional extension that models exclusive handoff (not in the base). - Back‑compat mapping: In 8063 terms, 7743’s
transferFrom==addMember. Indexers/wallets should not treat it like ERC‑721’s exclusive transfer. - Core invariants (8063):
- Uniqueness: membership is a set (no duplicates).
- Idempotence: adding an existing member reverts.
- Monotonicity: member set is non‑decreasing except for explicit
removeMember/renounce/archive. - Existence: a group “exists” iff the member set is non‑empty.
- Authorization: creator initializes; current members can
addMember(configurable by policy).
- Events (8063):
MemberAdded,MemberRemoved,Archived. A 7743‑compat shim can emit these alongside existing events for indexer clarity.
I’m happy to fold a short “Invariants and Events” section into the 8063 write‑up and clarify the 7743→8063 mapping. Feedback welcome on duplicate‑add behavior (revert vs no‑op), default authorization, and whether renounce should be mandatory.
Discussion: ERC‑8063: Groups — multi‑member onchain containers for shared resources