using System.Threading.Tasks.Dataflow; using Nostr.Client.Messages; using Nostr.Client.Requests; using NostrRelay; namespace PayForReactions; public class ZapperRelay : INostrRelay, IDisposable { private readonly ReactionQueue _queue; public ZapperRelay(ReactionQueue queue) { _queue = queue; } public ValueTask AcceptConnection(NostrClientContext context) { return ValueTask.FromResult(true); } public async IAsyncEnumerable HandleRequest(NostrClientContext context, NostrRequest req) { yield break; } public async ValueTask HandleEvent(NostrClientContext context, NostrEvent ev) { _queue.Queue.Post(ev); return new(true, ""); } public void Dispose() { } }