# Undocumented Duniter concepts

**URL:** https://forum.duniter.org/t/undocumented-duniter-concepts/10168
**Category:** Duniter-v2s
**Created:** [14 December 2022 14:16 UTC](https://forum.duniter.org/t/undocumented-duniter-concepts/10168 "2022-12-14T14:16:18Z")
**Posts on this page:** 1
**Showing post:** 7

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [30 December 2022 11:06 UTC](https://forum.duniter.org/t/undocumented-duniter-concepts/10168/7 "2022-12-30T11:06:40Z")

</div>

Membership events are defined both in Duniter primitives and Membership pallet:

> in Duniter primitives

```rust
pub enum Event<IdtyId, MetaData = ()> {
    /// A membership has acquired
    MembershipAcquired(IdtyId, MetaData),
    /// A membership has expired
    MembershipExpired(IdtyId),
    /// A membership has renewed
    MembershipRenewed(IdtyId),
    /// An identity requested membership
    MembershipRequested(IdtyId),
    /// A membership has revoked
    MembershipRevoked(IdtyId),
    /// A pending membership request has expired
    PendingMembershipExpired(IdtyId),
}

```

> in Membership pallet

```rust
pub enum Event<T: Config<I>, I: 'static = ()> {
    /// A membership has acquired
    /// [idty_id]
    MembershipAcquired(T::IdtyId),
    /// A membership has expired
    /// [idty_id]
    MembershipExpired(T::IdtyId),
    /// A membership has renewed
    /// [idty_id]
    MembershipRenewed(T::IdtyId),
    /// An identity requested membership
    /// [idty_id]
    MembershipRequested(T::IdtyId),
    /// A membership has revoked
    /// [idty_id]
    MembershipRevoked(T::IdtyId),
    /// A pending membership request has expired
    /// [idty_id]
    PendingMembershipExpired(T::IdtyId),
}

```

Not sure if it is useful or redundant.

---

_[View the full topic](https://forum.duniter.org/t/undocumented-duniter-concepts/10168)._
