From d7c3617daf2da3308688ad8af6474b0fbcfba3f1 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Tue, 3 Sep 2024 09:27:22 -0700 Subject: [PATCH] Add utils for deriving verified zappers/handles --- packages/app/src/handles.ts | 11 ++++++++++- packages/app/src/zappers.ts | 13 +++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/packages/app/src/handles.ts b/packages/app/src/handles.ts index c94ff74..fbe51d0 100644 --- a/packages/app/src/handles.ts +++ b/packages/app/src/handles.ts @@ -1,8 +1,10 @@ -import {writable} from 'svelte/store' +import {writable, derived} from 'svelte/store' import {withGetter} from '@welshman/store' +import {type SubscribeRequest} from "@welshman/net" import {uniq, uniqBy, batcher, postJson, last} from '@welshman/lib' import {env} from './core' import {collection} from './collection' +import {deriveProfile} from './profiles' export type Handle = { nip05: string @@ -53,5 +55,12 @@ export const { }), }) +export const deriveHandleForPubkey = (pubkey: string, request: Partial = {}) => + derived( + [handlesByNip05, deriveProfile(pubkey, request)], + ([$handlesByNip05, $profile]) => + $profile?.nip05 ? $handlesByNip05.get($profile?.nip05) : undefined + ) + export const displayHandle = (handle: Handle) => handle.nip05.startsWith("_@") ? last(handle.nip05.split("@")) : handle.nip05 diff --git a/packages/app/src/zappers.ts b/packages/app/src/zappers.ts index 85b7e98..523d095 100644 --- a/packages/app/src/zappers.ts +++ b/packages/app/src/zappers.ts @@ -1,9 +1,11 @@ -import {writable} from 'svelte/store' +import {writable, derived} from 'svelte/store' import {withGetter} from '@welshman/store' -import type {Zapper} from '@welshman/util' +import {type Zapper} from '@welshman/util' +import {type SubscribeRequest} from "@welshman/net" import {uniq, identity, bech32ToHex, tryCatch, uniqBy, batcher, postJson} from '@welshman/lib' import {env} from './core' import {collection} from './collection' +import {deriveProfile} from './profiles' export const zappers = withGetter(writable([])) @@ -49,3 +51,10 @@ export const { }), }) +export const deriveZapperForPubkey = (pubkey: string, request: Partial = {}) => + derived( + [zappersByLnurl, deriveProfile(pubkey, request)], + ([$zappersByLnurl, $profile]) => + $profile?.lnurl ? $zappersByLnurl.get($profile?.lnurl) : undefined + ) +