Summary
The relay supports limits.event.eventId.minLeadingZeroBits and limits.event.pubkey.minLeadingZeroBits settings to require Proof of Work on events and/or pubkeys. There are no integration tests verifying this enforcement.
What to test
- When
minLeadingZeroBits is 0 (default), any event is accepted regardless of its PoW
- When
minLeadingZeroBits > 0 on event ID, an event without sufficient PoW → rejected with pow: difficulty message
- When
minLeadingZeroBits > 0 on event ID, an event meeting the PoW requirement → accepted
- When
minLeadingZeroBits > 0 on pubkey, events from a pubkey not meeting PoW → rejected
- Events from a pubkey meeting the pubkey PoW requirement → accepted
Relevant code
src/utils/proof-of-work.ts — getLeadingZeroBits
resources/default-settings.yaml — limits.event.eventId.minLeadingZeroBits, limits.event.pubkey.minLeadingZeroBits
src/handlers/event-message-handler.ts
Suggested location
test/integration/features/nip-13/nip-13.feature
Summary
The relay supports
limits.event.eventId.minLeadingZeroBitsandlimits.event.pubkey.minLeadingZeroBitssettings to require Proof of Work on events and/or pubkeys. There are no integration tests verifying this enforcement.What to test
minLeadingZeroBitsis 0 (default), any event is accepted regardless of its PoWminLeadingZeroBits> 0 on event ID, an event without sufficient PoW → rejected withpow: difficultymessageminLeadingZeroBits> 0 on event ID, an event meeting the PoW requirement → acceptedminLeadingZeroBits> 0 on pubkey, events from a pubkey not meeting PoW → rejectedRelevant code
src/utils/proof-of-work.ts—getLeadingZeroBitsresources/default-settings.yaml—limits.event.eventId.minLeadingZeroBits,limits.event.pubkey.minLeadingZeroBitssrc/handlers/event-message-handler.tsSuggested location
test/integration/features/nip-13/nip-13.feature