Add some state management stuff

This commit is contained in:
Jon Staab
2024-08-06 15:46:37 -07:00
parent 36a920df51
commit fb04a68168
18 changed files with 5474 additions and 5206 deletions
+38
View File
@@ -0,0 +1,38 @@
import type {SignedEvent} from "@welshman/util"
import {Repository, Relay} from "@welshman/util"
import {NetworkContext, Tracker} from "@welshman/net"
export const DUFFLEPUD_URL = "https://dufflepud.onrender.com"
export const repository = new Repository()
export const relay = new Relay(repository)
export const tracker = new Tracker()
const seenChallenges = new Set()
Object.assign(NetworkContext, {
onEvent: (url: string, event: SignedEvent) => tracker.track(event.id, url),
isDeleted: (url: string, event: SignedEvent) => repository.isDeleted(event),
// onAuth: async (url, challenge) => {
// if (seenChallenges.has(challenge)) {
// return
// }
// seenChallenges.add(challenge)
// const event = await signer.get().signAsUser(
// createEvent(22242, {
// tags: [
// ["relay", url],
// ["challenge", challenge],
// ],
// }),
// )
// NetworkContext.pool.get(url).send(["AUTH", event])
// return event
// },
})