Add negentropy/diff

This commit is contained in:
Jon Staab
2025-03-21 13:21:04 -07:00
parent 158f6d50f9
commit 6f0b6acddb
4 changed files with 712 additions and 13 deletions
+31 -8
View File
@@ -4,37 +4,53 @@ import type {SignedEvent} from "@welshman/util"
export enum RelayMessageType {
Auth = "AUTH",
Event = "EVENT",
Eose = "EOSE",
Event = "EVENT",
NegErr = "NEG-ERR",
NegMsg = "NEG-MSG",
Ok = "OK",
}
export type RelayAuthPayload = [string]
export type RelayEosePayload = [string, SignedEvent]
export type RelayEventPayload = [string, SignedEvent]
export type RelayEosePayload = [string, SignedEvent]
export type RelayNegErrPayload = [string, string]
export type RelayNegMsgPayload = [string, string]
export type RelayOkPayload = [string, boolean, string]
export type RelayAuthMessage = ["AUTH", ...RelayAuthPayload]
export type RelayAuthMessage = [RelayMessageType.Auth, ...RelayAuthPayload]
export type RelayEventMessage = ["EVENT", ...RelayEventPayload]
export type RelayEoseMessage = [RelayMessageType.Eose, ...RelayEosePayload]
export type RelayEoseMessage = ["EOSE", ...RelayEosePayload]
export type RelayEventMessage = [RelayMessageType.Event, ...RelayEventPayload]
export type RelayOkMessage = ["OK", ...RelayOkPayload]
export type RelayNegErrMessage = [RelayMessageType.NegErr, ...RelayNegErrPayload]
export type RelayNegMsgMessage = [RelayMessageType.NegMsg, ...RelayNegMsgPayload]
export type RelayOkMessage = [RelayMessageType.Ok, ...RelayOkPayload]
export type RelayMessage = any[]
export const isRelayAuthMessage = (m: RelayMessage): m is RelayAuthMessage =>
m[0] === RelayMessageType.Auth
export const isRelayEoseMessage = (m: RelayMessage): m is RelayEoseMessage =>
m[0] === RelayMessageType.Eose
export const isRelayEventMessage = (m: RelayMessage): m is RelayEventMessage =>
m[0] === RelayMessageType.Event
export const isRelayEoseMessage = (m: RelayMessage): m is RelayEoseMessage =>
m[0] === RelayMessageType.Eose
export const isRelayNegErrMessage = (m: RelayMessage): m is RelayNegErrMessage =>
m[0] === RelayMessageType.NegErr
export const isRelayNegMsgMessage = (m: RelayMessage): m is RelayNegMsgMessage =>
m[0] === RelayMessageType.NegMsg
export const isRelayOkMessage = (m: RelayMessage): m is RelayOkMessage =>
m[0] === RelayMessageType.Ok
@@ -42,3 +58,10 @@ export const isRelayOkMessage = (m: RelayMessage): m is RelayOkMessage =>
// client -> relay
export type ClientMessage = any[]
export enum ClientMessageType {
Auth = "AUTH",
Event = "EVENT",
NegClose = "NEG-CLOSE",
Req = "REQ",
}