Jan 22, 1-2 PM (39)
Jan 22, 2-3 PM (14)
Jan 22, 3-4 PM (43)
Jan 22, 4-5 PM (40)
Jan 22, 5-6 PM (22)
Jan 22, 6-7 PM (6)
Jan 22, 7-8 PM (16)
Jan 22, 8-9 PM (17)
Jan 22, 9-10 PM (14)
Jan 22, 10-11 PM (37)
Jan 22, 11-12 AM (32)
Jan 23, 12-1 AM (8)
Jan 23, 1-2 AM (16)
Jan 23, 2-3 AM (6)
Jan 23, 3-4 AM (6)
Jan 23, 4-5 AM (4)
Jan 23, 5-6 AM (5)
Jan 23, 6-7 AM (6)
Jan 23, 7-8 AM (16)
Jan 23, 8-9 AM (35)
Jan 23, 9-10 AM (50)
Jan 23, 10-11 AM (54)
Jan 23, 11-12 PM (129)
Jan 23, 12-1 PM (30)
Jan 23, 1-2 PM (30)
Jan 23, 2-3 PM (35)
Jan 23, 3-4 PM (55)
Jan 23, 4-5 PM (16)
Jan 23, 5-6 PM (37)
Jan 23, 6-7 PM (46)
Jan 23, 7-8 PM (33)
Jan 23, 8-9 PM (13)
Jan 23, 9-10 PM (8)
Jan 23, 10-11 PM (26)
Jan 23, 11-12 AM (24)
Jan 24, 12-1 AM (28)
Jan 24, 1-2 AM (4)
Jan 24, 2-3 AM (11)
Jan 24, 3-4 AM (4)
Jan 24, 4-5 AM (3)
Jan 24, 5-6 AM (0)
Jan 24, 6-7 AM (4)
Jan 24, 7-8 AM (2)
Jan 24, 8-9 AM (1)
Jan 24, 9-10 AM (2)
Jan 24, 10-11 AM (7)
Jan 24, 11-12 PM (4)
Jan 24, 12-1 PM (2)
Jan 24, 1-2 PM (1)
Jan 24, 2-3 PM (10)
Jan 24, 3-4 PM (12)
Jan 24, 4-5 PM (5)
Jan 24, 5-6 PM (13)
Jan 24, 6-7 PM (3)
Jan 24, 7-8 PM (3)
Jan 24, 8-9 PM (6)
Jan 24, 9-10 PM (3)
Jan 24, 10-11 PM (25)
Jan 24, 11-12 AM (23)
Jan 25, 12-1 AM (0)
Jan 25, 1-2 AM (3)
Jan 25, 2-3 AM (0)
Jan 25, 3-4 AM (1)
Jan 25, 4-5 AM (1)
Jan 25, 5-6 AM (1)
Jan 25, 6-7 AM (1)
Jan 25, 7-8 AM (1)
Jan 25, 8-9 AM (1)
Jan 25, 9-10 AM (3)
Jan 25, 10-11 AM (0)
Jan 25, 11-12 PM (1)
Jan 25, 12-1 PM (7)
Jan 25, 1-2 PM (6)
Jan 25, 2-3 PM (12)
Jan 25, 3-4 PM (12)
Jan 25, 4-5 PM (2)
Jan 25, 5-6 PM (1)
Jan 25, 6-7 PM (2)
Jan 25, 7-8 PM (9)
Jan 25, 8-9 PM (5)
Jan 25, 9-10 PM (6)
Jan 25, 10-11 PM (21)
Jan 25, 11-12 AM (22)
Jan 26, 12-1 AM (11)
Jan 26, 1-2 AM (13)
Jan 26, 2-3 AM (15)
Jan 26, 3-4 AM (8)
Jan 26, 4-5 AM (4)
Jan 26, 5-6 AM (0)
Jan 26, 6-7 AM (4)
Jan 26, 7-8 AM (9)
Jan 26, 8-9 AM (48)
Jan 26, 9-10 AM (34)
Jan 26, 10-11 AM (16)
Jan 26, 11-12 PM (23)
Jan 26, 12-1 PM (44)
Jan 26, 1-2 PM (29)
Jan 26, 2-3 PM (33)
Jan 26, 3-4 PM (21)
Jan 26, 4-5 PM (27)
Jan 26, 5-6 PM (18)
Jan 26, 6-7 PM (16)
Jan 26, 7-8 PM (12)
Jan 26, 8-9 PM (19)
Jan 26, 9-10 PM (10)
Jan 26, 10-11 PM (29)
Jan 26, 11-12 AM (37)
Jan 27, 12-1 AM (14)
Jan 27, 1-2 AM (4)
Jan 27, 2-3 AM (4)
Jan 27, 3-4 AM (20)
Jan 27, 4-5 AM (2)
Jan 27, 5-6 AM (1)
Jan 27, 6-7 AM (9)
Jan 27, 7-8 AM (22)
Jan 27, 8-9 AM (26)
Jan 27, 9-10 AM (29)
Jan 27, 10-11 AM (71)
Jan 27, 11-12 PM (38)
Jan 27, 12-1 PM (50)
Jan 27, 1-2 PM (42)
Jan 27, 2-3 PM (24)
Jan 27, 3-4 PM (76)
Jan 27, 4-5 PM (62)
Jan 27, 5-6 PM (14)
Jan 27, 6-7 PM (28)
Jan 27, 7-8 PM (19)
Jan 27, 8-9 PM (7)
Jan 27, 9-10 PM (27)
Jan 27, 10-11 PM (32)
Jan 27, 11-12 AM (11)
Jan 28, 12-1 AM (12)
Jan 28, 1-2 AM (5)
Jan 28, 2-3 AM (8)
Jan 28, 3-4 AM (44)
Jan 28, 4-5 AM (24)
Jan 28, 5-6 AM (9)
Jan 28, 6-7 AM (9)
Jan 28, 7-8 AM (22)
Jan 28, 8-9 AM (69)
Jan 28, 9-10 AM (65)
Jan 28, 10-11 AM (45)
Jan 28, 11-12 PM (50)
Jan 28, 12-1 PM (36)
Jan 28, 1-2 PM (65)
Jan 28, 2-3 PM (52)
Jan 28, 3-4 PM (37)
Jan 28, 4-5 PM (24)
Jan 28, 5-6 PM (24)
Jan 28, 6-7 PM (8)
Jan 28, 7-8 PM (12)
Jan 28, 8-9 PM (6)
Jan 28, 9-10 PM (3)
Jan 28, 10-11 PM (22)
Jan 28, 11-12 AM (44)
Jan 29, 12-1 AM (13)
Jan 29, 1-2 AM (7)
Jan 29, 2-3 AM (15)
Jan 29, 3-4 AM (4)
Jan 29, 4-5 AM (7)
Jan 29, 5-6 AM (11)
Jan 29, 6-7 AM (17)
Jan 29, 7-8 AM (30)
Jan 29, 8-9 AM (63)
Jan 29, 9-10 AM (35)
Jan 29, 10-11 AM (74)
Jan 29, 11-12 PM (26)
Jan 29, 12-1 PM (17)
Jan 29, 1-2 PM (2)
3,374 commits this week Jan 22, 2026 - Jan 29, 2026
feat(hermes): Generalize `doc_sync_topic_message_handler` to allow handling multiple payload types (#792)
* Limit the length of the logged message

* Generalize `doc_sync_topic_message_handler()`

* Split `task.rs` into smaller modules

* Introduce `ipfs::doc_sync` module

* Introduce `reconciliation` module

* Move `create_reconciliation_state()` to a proper module

* Add proper error handling

* Remove wrong comment

* Simplify `make_syn_payload()`

* Rename `DocSyncTopicHandler` -> `TopicHandler`

* Fix lints

* Rewrite the `make_syn_payload()` to be more concise

* Fix lints

* Avoid cloning the `TopicMessageContext`

* Fix lints
refactor: remove legacy networking support and configs
This change removes all code, configuration, and documentation related to
legacy networking (non-P2P) and mixed P2P/legacy modes. The following
updates were made:

- Dropped ENABLE_LEGACY and MIXED_P2P environment variables and logic
  from scripts and documentation.
- Removed legacy topology generation and handling in Python code.
- Updated template configs to always enable P2P and set related fields.
- Simplified cluster setup and node config editing scripts to only use
  P2P topology files.

This streamlines the codebase and ensures all clusters use P2P
networking exclusively.
chore: align pool/drep_delegators endpoints (#390)
## Description
<!--- Describe your changes -->
- Adds a new /pool_invalid_delegators RPC. This fetches any invalid
delegations for a given pool and epoch.
- /pool_delegators now returns valid delegations even if they have 0
balance
- /pool_delegators no longer returns invalid delegations
- /drep_info returns a new `drep_status` field instead of `registered`,
aligned with /pool_info

## Which issue it fixes?
<!--- Link to issue: Closes #issue-number -->

Closes #323

---------

Co-authored-by: RdLrT <[email protected]>