diff --git a/waku/waku_archive/archive.nim b/waku/waku_archive/archive.nim index 604f8a82b..53053585f 100644 --- a/waku/waku_archive/archive.nim +++ b/waku/waku_archive/archive.nim @@ -22,6 +22,7 @@ logScope: const DefaultPageSize*: uint = 20 MaxPageSize*: uint = 100 + MaxContentTopicsPerQuery*: int = 10 # Retention policy WakuArchiveDefaultRetentionPolicyInterval* = chronos.minutes(30) @@ -125,6 +126,9 @@ proc findMessages*( if cursor == EmptyWakuMessageHash: return err(ArchiveError.invalidQuery("all zeroes cursor hash")) + if query.contentTopics.len > MaxContentTopicsPerQuery: + return err(ArchiveError.invalidQuery("too many content topics")) + let maxPageSize = if query.pageSize <= 0: DefaultPageSize