@@ -21,6 +21,19 @@ export const rootRequestHandler = (request: Request, response: Response, next: N
2121 paymentsUrl . pathname = '/invoices'
2222
2323 const content = settings . limits ?. event ?. content
24+ const eventLimits = settings . limits ?. event
25+ const createdAtLimits = eventLimits ?. createdAt
26+ const hasAdmissionRestriction =
27+ settings . payments ?. enabled === true &&
28+ Boolean ( settings . payments ?. feeSchedules ?. admission ?. some ( ( feeSchedule ) => feeSchedule . enabled ) )
29+ const hasWriteRestriction =
30+ hasAdmissionRestriction ||
31+ ( eventLimits ?. eventId ?. minLeadingZeroBits ?? 0 ) > 0 ||
32+ ( eventLimits ?. pubkey ?. minLeadingZeroBits ?? 0 ) > 0 ||
33+ ( eventLimits ?. pubkey ?. whitelist ?. length ?? 0 ) > 0 ||
34+ ( eventLimits ?. pubkey ?. blacklist ?. length ?? 0 ) > 0 ||
35+ ( eventLimits ?. kind ?. whitelist ?. length ?? 0 ) > 0 ||
36+ ( eventLimits ?. kind ?. blacklist ?. length ?? 0 ) > 0
2437
2538 const pubkey = rawPubkey . startsWith ( 'npub1' ) ? fromBech32 ( rawPubkey ) : rawPubkey
2639 const self = rawSelf ?. startsWith ( 'npub1' ) ? fromBech32 ( rawSelf ) : rawSelf
@@ -49,9 +62,13 @@ export const rootRequestHandler = (request: Request, response: Response, next: N
4962 max_content_length : Array . isArray ( content )
5063 ? content [ 0 ] . maxLength // best guess since we have per-kind limits
5164 : content ?. maxLength ,
52- min_pow_difficulty : settings . limits ?. event ?. eventId ?. minLeadingZeroBits ,
65+ min_pow_difficulty : eventLimits ?. eventId ?. minLeadingZeroBits ,
5366 auth_required : false ,
5467 payment_required : settings . payments ?. enabled ,
68+ created_at_lower_limit : createdAtLimits ?. maxNegativeDelta ,
69+ created_at_upper_limit : createdAtLimits ?. maxPositiveDelta ,
70+ default_limit : 500 ,
71+ restricted_writes : hasWriteRestriction ,
5572 } ,
5673 payments_url : paymentsUrl . toString ( ) ,
5774 fees : Object . getOwnPropertyNames ( settings . payments . feeSchedules ) . reduce (
0 commit comments