# `Baobab.ClumpMeta`
[🔗](https://github.com/mwmiller/baobab_ex/blob/main/lib/baobab/clumpmeta.ex#L1)

Functions for interacting with clump metadata
May be useful between consumers to communicate intent

# `block`

```elixir
@spec block(term(), binary()) :: [term()] | {:error, String.t()}
```

Create a block of a given type:

- author: 32 byte-raw or 43-byte base62-encoded value
- log_id: 64 bit unsigned integer
- log_spec: `{author, log_id}`

Returns the current block list

# `block`

# `blocked?`

Returns a boolean indicating whether the supplied spec is blocked on the supplied clump

Includes the specifications from `block/2` and `{author, log_id, seq_num}`

# `blocks_list`

```elixir
@spec blocks_list(binary()) :: [term()] | {:error, String.t()}
```

Lists current blocks on the supplied clump_id

# `filter_blocked`

```elixir
@spec filter_blocked([tuple()], binary()) :: [tuple()] | {:error, String.t()}
```

Filter out blocked clump logs from a supplied list of entry
tuples ({`author`, `log_id`, `seq_num`})

# `unblock`

```elixir
@spec unblock(term(), binary()) :: :ok | {:error, String.t()}
```

Remove an extant block specified as per `block/2`

Returns the current block list

---

*Consult [api-reference.md](api-reference.md) for complete listing*
