upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--22.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/22.md b/22.md
new file mode 100644
index 0000000..0192307
--- /dev/null
+++ b/22.md
@@ -0,0 +1,31 @@
1NIP-22
2======
3
4Unacceptable Event `created_at` time
5---------------------------
6
7`draft` `optional` `author:jeffthibault`
8
9Relays may support notifying clients that the event they published has an unacceptable `created_at` time. A relay will consider the `created_at` time unacceptable if the `created_at` time is more than **[limit]** before the event was received by the relay (in the past) OR if the `created_at` time is later than the time the event was received by the relay (in the future).
10
11If a relay supports this NIP, the relay SHOULD send the client a `NOTICE` message saying the event was not stored because the `created_at` time was unacceptable.
12
13Client Behavior
14---------------
15
16Clients SHOULD use the `supported_nips` field to learn if a relay supports event `created_at` time checks.
17
18Motivation
19----------
20
21The motivation for this NIP is to prevent clients from saying they published an event *significantly* earlier than they actually did or saying they published an event in the future.
22
23The event `created_at` field is just a unix timestamp (integer) so one could set it to a time in the past or future. For example, the `created_at` field could be set to a time 10 years ago even though it was created today and it could still be a valid event. One could also set the `created_at` field to a time 10 years in the future and it could still be a valid event. This NIP aims to set a maximum amount of time elapsed between when an event was created and when it was *actually* published and prevent events from being from the future.
24
25Relay Logic
26-----------
27
28```
29if time.now - event.created_at > limit OR event.created_at > time.now:
30 send NOTICE
31```