From d600b4ae2d2c09fcdc4396da3307ed82f0825593 Mon Sep 17 00:00:00 2001 From: Simo Date: Thu, 11 Dec 2025 13:09:42 +0100 Subject: [PATCH 1/4] show wave is closed when chat is disabled and wave type is chat + change some season ending text to more general Signed-off-by: Simo --- components/waves/CreateDropContent.tsx | 62 +- test_output_specific.txt | 3046 ++++++++++++++++++++++++ type_check_current.txt | 886 +++++++ 3 files changed, 3968 insertions(+), 26 deletions(-) create mode 100644 test_output_specific.txt create mode 100644 type_check_current.txt diff --git a/components/waves/CreateDropContent.tsx b/components/waves/CreateDropContent.tsx index b773c2af3a..f4a1cdfebd 100644 --- a/components/waves/CreateDropContent.tsx +++ b/components/waves/CreateDropContent.tsx @@ -470,12 +470,12 @@ const CreateDropContent: React.FC = ({ () => editorState ? exportDropMarkdown(editorState, [ - ...SAFE_MARKDOWN_TRANSFORMERS, - MENTION_TRANSFORMER, - HASHTAG_TRANSFORMER, - IMAGE_TRANSFORMER, - EMOJI_TRANSFORMER, - ]) + ...SAFE_MARKDOWN_TRANSFORMERS, + MENTION_TRANSFORMER, + HASHTAG_TRANSFORMER, + IMAGE_TRANSFORMER, + EMOJI_TRANSFORMER, + ]) : null, [editorState] ); @@ -613,24 +613,24 @@ const CreateDropContent: React.FC = ({ ): CreateDropConfig => { const hasPartsInDrop = (drop?.parts.length ?? 0) > 0; const hasCurrentContent = !!(markdown?.trim().length || files.length); - + const newParts = hasPartsInDrop && !hasCurrentContent ? drop?.parts ?? [] : [ - ...(drop?.parts ?? []), - { - content: markdown?.length ? markdown : null, - quoted_drop: - activeDrop?.action === ActiveDropAction.QUOTE - ? { - drop_id: activeDrop.drop.id, - drop_part_id: activeDrop.partId, - } - : null, - media: files, - }, - ]; - + ...(drop?.parts ?? []), + { + content: markdown?.length ? markdown : null, + quoted_drop: + activeDrop?.action === ActiveDropAction.QUOTE + ? { + drop_id: activeDrop.drop.id, + drop_part_id: activeDrop.partId, + } + : null, + media: files, + }, + ]; + const parts = ensurePartsWithFallback(newParts, hasMetadata); return { @@ -805,7 +805,7 @@ const CreateDropContent: React.FC = ({ activeDrop, isDropMode ? ApiDropType.Participatory : ApiDropType.Chat ); - + if (optimisticDrop) { addOptimisticDrop({ drop: optimisticDrop }); setTimeout( @@ -830,7 +830,7 @@ const CreateDropContent: React.FC = ({ } setFiles([]); refreshState(); - + submitDrop({ drop: updatedDropRequest, dropId: optimisticDrop?.id ?? null, @@ -875,15 +875,15 @@ const CreateDropContent: React.FC = ({ ) { return; } - + const hasPartsInDrop = (drop?.parts.length ?? 0) > 0; const hasCurrentContent = !!(getMarkdown?.trim().length || files.length); - + if (hasPartsInDrop && hasCurrentContent) { finalizeAndAddDropPart(); return; } - + await prepareAndSubmitDrop(getUpdatedDrop()); }; @@ -1044,6 +1044,16 @@ const CreateDropContent: React.FC = ({ } }, [isApp, editingDropId, activeDrop, onCancelReplyQuote]); + const isChatClosed = wave.wave.type === ApiWaveType.Chat && !wave.chat.enabled; + + if (isChatClosed) { + return ( +
+ Wave is closed +
+ ); + } + return (
43 | chat: { isEnabled: chatEnabled }, + | ^ + 44 | pauses: { filterDecisionsDuringPauses }, + 45 | } = useWave(wave); + 46 | const { + + at isEnabled (components/brain/my-stream/MyStreamWaveDesktopTabs.tsx:43:35) + at Object.Component [as react_stack_bottom_frame] (node_modules/react-dom/cjs/react-dom-client.development.js:25904:20) + at callComponentInDEV (node_modules/react-dom/cjs/react-dom-client.development.js:7662:22) + at renderWithHooks (node_modules/react-dom/cjs/react-dom-client.development.js:10166:19) + at updateFunctionComponent (node_modules/react-dom/cjs/react-dom-client.development.js:11778:18) + at callback (node_modules/react-dom/cjs/react-dom-client.development.js:874:13) + at runWithFiberInDEV (node_modules/react-dom/cjs/react-dom-client.development.js:17641:22) + at performUnitOfWork (node_modules/react-dom/cjs/react-dom-client.development.js:17469:41) + at workLoopSync (node_modules/react-dom/cjs/react-dom-client.development.js:17450:11) + at renderRootSync (node_modules/react-dom/cjs/react-dom-client.development.js:16583:35) + at performWorkOnRoot (node_modules/react-dom/cjs/react-dom-client.development.js:18957:7) + at callback (node_modules/react/cjs/react.development.js:590:34) + at flushActQueue (node_modules/react/cjs/react.development.js:884:10) + at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25) + at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:25) + at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10) + at renderComponent (__tests__/components/brain/my-stream/MyStreamWaveDesktopTabs.test.tsx:69:16) + at Object. (__tests__/components/brain/my-stream/MyStreamWaveDesktopTabs.test.tsx:111:5) + +PASS __tests__/components/brain/ContentTabContext.test.tsx +--------------------------------------------------------------------------------------------------|---------|----------|---------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s +--------------------------------------------------------------------------------------------------|---------|----------|---------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +All files | 0.27 | 0.11 | 0.15 | 0.28 | + app | 0 | 0 | 0 | 0 | + error.tsx | 0 | 0 | 0 | 0 | 3-23 + global-error.tsx | 0 | 0 | 0 | 0 | 3-22 + layout.tsx | 0 | 0 | 0 | 0 | 1-39 + not-found.tsx | 0 | 100 | 0 | 0 | 1-15 + page.tsx | 0 | 0 | 0 | 0 | 1-50 + app/6529-gradient | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-16 + app/6529-gradient/[id] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-45 + app/[user] | 0 | 100 | 0 | 0 | + not-found.tsx | 0 | 100 | 0 | 0 | 1-15 + page.tsx | 0 | 100 | 0 | 0 | 1-21 + app/[user]/_lib | 0 | 0 | 0 | 0 | + userTabPageFactory.tsx | 0 | 0 | 0 | 0 | 1-162 + app/[user]/collected | 0 | 100 | 100 | 0 | + page.tsx | 0 | 100 | 100 | 0 | 1-18 + app/[user]/followers | 0 | 100 | 100 | 0 | + page.tsx | 0 | 100 | 100 | 0 | 1-17 + app/[user]/groups | 0 | 100 | 100 | 0 | + page.tsx | 0 | 100 | 100 | 0 | 1-17 + app/[user]/identity | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-71 + app/[user]/proxy | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-22 + app/[user]/rep | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-76 + app/[user]/stats | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-22 + app/[user]/subscriptions | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-22 + app/[user]/waves | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-22 + app/[user]/xtdh | 0 | 100 | 100 | 0 | + page.tsx | 0 | 100 | 100 | 0 | 1-17 + app/about/100m-project | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-344 + app/about/[section] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-60 + app/about/media | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-963 + app/about/mission | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-397 + app/about/open-metaverse | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-539 + app/about/press | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-2004 + app/about/rules | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-427 + app/accept-connection-sharing | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-149 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/access | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-80 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/api/alchemy/collections | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-35 + app/api/alchemy/contract | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-30 + app/api/alchemy/owner-nfts | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-43 + app/api/alchemy/token-metadata | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-60 + app/api/farcaster | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-751 + app/api/open-graph | 0 | 0 | 0 | 0 | + ens.ts | 0 | 0 | 0 | 0 | 1-604 + route.ts | 0 | 0 | 0 | 0 | 1-355 + utils.ts | 0 | 0 | 0 | 0 | 1-708 + app/api/open-graph/compound | 0 | 0 | 0 | 0 | + abis.ts | 0 | 100 | 100 | 0 | 1-58 + client.ts | 0 | 100 | 100 | 0 | 1-4 + registry.ts | 0 | 100 | 0 | 0 | 1-52 + service.ts | 0 | 0 | 0 | 0 | 1-1213 + app/api/open-graph/proxy-image | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-180 + app/api/pepe/resolve | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-867 + app/api/sentry-example-api | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-13 + app/api/tiktok | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-441 + app/api/version | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-7 + app/api/wikimedia-card | 0 | 0 | 0 | 0 | + route.ts | 0 | 0 | 0 | 0 | 1-1020 + app/author/6529er6529-io | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-463 + app/author/ladysabrina | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-678 + app/author/nft6529 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-339 + app/author/teexels | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-338 + app/blog/a-tale-of-two-artists | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1341 + app/blog/disney-deekay-their-secret-to-animation | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1158 + app/blog/from-fibonacci-to-fidenza | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1341 + app/buidl | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-11 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/capital | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-861 + app/capital/company-portfolio | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1023 + app/capital/fund | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-498 + app/casabatllo | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-409 + app/category/blog | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-649 + app/category/news | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-435 + app/cdn-cgi/l/email-protection | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-143 + app/city/6529-museum-district | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/consolidation-mapping-tool | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-26 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/delegation-mapping-tool | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-26 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/delegation/[...section] | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-104 + page.tsx | 0 | 0 | 0 | 0 | 1-76 + app/discover | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-16 + app/dispute-resolution | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-12 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/education | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-476 + app/education/education-collaboration-form | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-725 + app/education/podcasts | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-787 + app/education/tweetstorms | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-979 + app/element_category/columns | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/element_category/sections | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/email-signatures | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-543 + app/emma | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-71 + app/emma/plans | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-35 + app/emma/plans/[id] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-31 + app/error | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-21 + app/feed | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/gm-or-die-small-mp4 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/meme-accounting | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-29 + app/meme-calendar | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-11 + app/meme-gas | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-29 + app/meme-lab | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-16 + app/meme-lab/[id] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-30 + app/meme-lab/[id]/distribution | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-29 + app/meme-lab/collection/[collection] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-28 + app/messages | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-7 + page.tsx | 0 | 0 | 0 | 0 | 1-23 + app/messages/create | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-18 + page.tsx | 0 | 100 | 0 | 0 | 1-7 + app/museum | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1799 + app/museum/1-of-1-art | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-331 + app/museum/6529-fam | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-331 + app/museum/6529-fam-2021 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-442 + app/museum/6529-fund-szn1 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1043 + app/museum/6529-fund-szn1/act-of-kindness | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-567 + app/museum/6529-fund-szn1/an-incomparable-love | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-575 + app/museum/6529-fund-szn1/archeology-of-the-future | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-586 + app/museum/6529-fund-szn1/azuki | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-779 + app/museum/6529-fund-szn1/ballad-of-ghosts | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-561 + app/museum/6529-fund-szn1/bored-ape-yacht-club | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-903 + app/museum/6529-fund-szn1/capsule-house | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1715 + app/museum/6529-fund-szn1/chromie-squiggle | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-857 + app/museum/6529-fund-szn1/clonex | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-581 + app/museum/6529-fund-szn1/cod | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1635 + app/museum/6529-fund-szn1/conflicting-metaphysics | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-581 + app/museum/6529-fund-szn1/construction-token | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-623 + app/museum/6529-fund-szn1/cryptoad-punks | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-564 + app/museum/6529-fund-szn1/cryptoadz | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-803 + app/museum/6529-fund-szn1/cryptocubes | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-562 + app/museum/6529-fund-szn1/cryptopunks | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-884 + app/museum/6529-fund-szn1/dead-ringers | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-542 + app/museum/6529-fund-szn1/entretiempos | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1039 + app/museum/6529-fund-szn1/fakerares | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-632 + app/museum/6529-fund-szn1/faraway | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-574 + app/museum/6529-fund-szn1/fidenza | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-664 + app/museum/6529-fund-szn1/gazers | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-733 + app/museum/6529-fund-szn1/genesis | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-632 + app/museum/6529-fund-szn1/grifters | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-564 + app/museum/6529-fund-szn1/image-with-arrow | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-574 + app/museum/6529-fund-szn1/incomplete-control | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-987 + app/museum/6529-fund-szn1/intensify-modeling | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-566 + app/museum/6529-fund-szn1/invisible-friends | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-581 + app/museum/6529-fund-szn1/jiometory-no-compute | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-572 + app/museum/6529-fund-szn1/madhouse | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-623 + app/museum/6529-fund-szn1/meridian | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-825 + app/museum/6529-fund-szn1/mfers | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-578 + app/museum/6529-fund-szn1/non-either | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-870 + app/museum/6529-fund-szn1/nouns | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-564 + app/museum/6529-fund-szn1/nuclear-nerds | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-651 + app/museum/6529-fund-szn1/primary-colors-of-neural-bricolage | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-717 + app/museum/6529-fund-szn1/proof-grails-protoglyph | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-573 + app/museum/6529-fund-szn1/proof-grails-wall | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-594 + app/museum/6529-fund-szn1/queens-kings | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-812 + app/museum/6529-fund-szn1/rarepepe | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-974 + app/museum/6529-fund-szn1/ringers | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-640 + app/museum/6529-fund-szn1/screens | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-876 + app/museum/6529-fund-szn1/subscapes | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-585 + app/museum/6529-fund-szn1/the-key-the-trial | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-570 + app/museum/6529-fund-szn1/twin-flames | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-626 + app/museum/6529-fund-szn1/videodrome | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-635 + app/museum/6529-fund-szn1/where-my-vans-go | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-710 + app/museum/6529-fund-szn1/wild-child-2022 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-568 + app/museum/6529-fund-szn1/xcopy | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-682 + app/museum/6529-fund-szn2 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-657 + app/museum/6529-general-assembly | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-331 + app/museum/6529-gradient-collector-curated | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-458 + app/museum/6529-photo-a | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-445 + app/museum/6529-photo-b | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-444 + app/museum/6529-public-domain | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-444 + app/museum/ac-museum | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-443 + app/museum/ack-bar | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-443 + app/museum/batsoupyum-museum-1 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-443 + app/museum/batsoupyum-museum-2 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-443 + app/museum/bharat-krymo-museum-1 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-443 + app/museum/bharat-krymo-museum-2 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-443 + app/museum/bharat-krymo-museum-3 | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-443 + app/museum/bonafidehan-museum | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-444 + app/museum/early-nft-art | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-445 + app/museum/general-assembly | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-444 + app/museum/generative-art | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-331 + app/museum/genesis | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1218 + app/museum/genesis/27-bit-digital | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-854 + app/museum/genesis/720-minutes | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-950 + app/museum/genesis/aerial-view | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-946 + app/museum/genesis/algobots | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-855 + app/museum/genesis/algorhythms | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-869 + app/museum/genesis/apparitions | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-862 + app/museum/genesis/archetype | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-860 + app/museum/genesis/asemica | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1362 + app/museum/genesis/autoglyphs | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-658 + app/museum/genesis/autology | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1274 + app/museum/genesis/bent | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1172 + app/museum/genesis/bubble-bobbly | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-875 + app/museum/genesis/century | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1168 + app/museum/genesis/chimera | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-960 + app/museum/genesis/chromie-squiggle | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1477 + app/museum/genesis/construction-token | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-844 + app/museum/genesis/cosmic-reef | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1162 + app/museum/genesis/cryptoarte | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-839 + app/museum/genesis/cryptoblots | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-935 + app/museum/genesis/cryptocube | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-656 + app/museum/genesis/dreams | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-950 + app/museum/genesis/dynamic-slices | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-725 + app/museum/genesis/edifice | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-951 + app/museum/genesis/elementals | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-852 + app/museum/genesis/elevated-deconstructions | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-952 + app/museum/genesis/endless-nameless | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-941 + app/museum/genesis/entretiempos | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1271 + app/museum/genesis/fidenza | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-954 + app/museum/genesis/fragments-of-an-infinite-field | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1578 + app/museum/genesis/frammenti | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-857 + app/museum/genesis/gazers | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1567 + app/museum/genesis/genesis-dca | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-849 + app/museum/genesis/geometry-runners | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-850 + app/museum/genesis/glitch-crystal-monsters | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-864 + app/museum/genesis/great-hall-of-generative-art | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-699 + app/museum/genesis/hyperhash | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1371 + app/museum/genesis/ignition | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-855 + app/museum/genesis/incomplete-control | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-770 + app/museum/genesis/inspirals | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-860 + app/museum/genesis/jiometory-no-compute | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1603 + app/museum/genesis/kai-gen | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1543 + app/museum/genesis/labios | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-641 + app/museum/genesis/lost-robbies | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-692 + app/museum/genesis/meridian | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1059 + app/museum/genesis/nimbuds | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1058 + app/museum/genesis/para-bellum | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-950 + app/museum/genesis/phase | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-955 + app/museum/genesis/pigments | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-855 + app/museum/genesis/ringers | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-860 + app/museum/genesis/screens | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1068 + app/museum/genesis/scribbled-boundaries | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-869 + app/museum/genesis/secret-surprise | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-404 + app/museum/genesis/singularity | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-940 + app/museum/genesis/skulptuur | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1184 + app/museum/genesis/spectron | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-862 + app/museum/genesis/squiggly-wtf | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-649 + app/museum/genesis/subscapes | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-957 + app/museum/genesis/synapses | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-867 + app/museum/genesis/the-blocks-of-art | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-850 + app/museum/genesis/trossets | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-856 + app/museum/genesis/unigrids | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-862 + app/museum/genesis/vortex | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1178 + app/museum/genesis/watercolor-dreams | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-859 + app/museum/genesis/willow-shield | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-630 + app/museum/imagined-worlds | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-445 + app/museum/nft-photography | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-331 + app/museum/sozet-lounge | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-443 + app/museum/sunshine-square | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-442 + app/museum/temple-of-gm | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-447 + app/museum/the-institutions | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-331 + app/museum/yongoh-kim | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-446 + app/network | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 2-21 + app/network/activity | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-27 + page.tsx | 0 | 100 | 0 | 0 | 1-31 + app/network/definitions | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-103 + page.tsx | 0 | 100 | 0 | 0 | 1-9 + app/network/groups | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-15 + app/network/levels | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-10 + page.tsx | 0 | 100 | 0 | 0 | 1-9 + app/network/nerd/[[...focus]] | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-47 + page.tsx | 0 | 0 | 0 | 0 | 2-37 + app/network/prenodes | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-21 + app/network/stats | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-27 + app/network/tdh | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-13 + page.tsx | 0 | 100 | 0 | 0 | 1-9 + app/network/tdh/historic-boosts | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-182 + page.tsx | 0 | 100 | 0 | 0 | 1-9 + app/network/xtdh | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-9 + page.tsx | 0 | 100 | 0 | 0 | 1-9 + app/news/introducing-om | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-497 + app/nextgen/[[...view]] | 0 | 0 | 0 | 0 | + NextGenPageClient.tsx | 0 | 0 | 0 | 0 | 3-50 + page.tsx | 0 | 0 | 0 | 0 | 1-39 + view-utils.ts | 0 | 0 | 0 | 0 | 1-8 + app/nextgen/collection/[collection] | 0 | 0 | 0 | 0 | + CollectionPageShell.tsx | 0 | 0 | 0 | 0 | 3-21 + page-utils.ts | 0 | 0 | 0 | 0 | 1-62 + useShallowRedirect.ts | 0 | 0 | 0 | 0 | 3-25 + app/nextgen/collection/[collection]/[[...view]] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-50 + app/nextgen/collection/[collection]/art | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-36 + app/nextgen/collection/[collection]/distribution-plan | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-36 + app/nextgen/collection/[collection]/mint | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-36 + app/nextgen/collection/[collection]/trait-sets | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-36 + app/nextgen/manager | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-12 + app/nextgen/token/[token]/[[...view]] | 0 | 0 | 0 | 0 | + NextGenTokenPageClient.tsx | 0 | 0 | 0 | 0 | 3-52 + page-utils.ts | 0 | 0 | 0 | 0 | 6-68 + page.tsx | 0 | 0 | 0 | 0 | 1-50 + app/nft-activity | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-11 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/notifications | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-6 + page.tsx | 0 | 0 | 0 | 0 | 1-42 + app/om | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1359 + app/om/6529-museum-district | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-1829 + app/om/OM | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-12 + app/om/community-galleries | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-685 + app/om/discord | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-434 + app/om/instruction-manual | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-601 + app/om/join-om | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-762 + app/om/om-groups | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-432 + app/om/partnership-request | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-12 + app/open-data | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-15 + app/open-data/meme-subscriptions | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-15 + app/open-data/network-metrics | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-17 + app/open-data/rememes | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-15 + app/open-data/royalties | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-15 + app/open-data/team | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-15 + app/open-mobile | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-60 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/rememes | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-16 + app/rememes/[contract]/[id] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-53 + app/rememes/add | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-16 + app/restricted | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-37 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/sentry-example-page | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 3-60 + app/slide-page/6529-initiatives | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-11 + app/slide-page/homepage-slider | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-11 + app/the-memes | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-17 + app/the-memes/[id] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-30 + app/the-memes/[id]/distribution | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-29 + app/the-memes/mint | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-26 + app/tools/api | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-399 + app/tools/app-wallets | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-10 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/tools/app-wallets/[app-wallet-address] | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-18 + page.tsx | 0 | 0 | 0 | 0 | 1-21 + app/tools/app-wallets/import-wallet | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-10 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/tools/block-finder | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-175 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/tools/subscriptions-report | 0 | 100 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-10 + page.tsx | 0 | 100 | 0 | 0 | 1-10 + app/waves | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 100 | 0 | 0 | 3-7 + page.tsx | 0 | 0 | 0 | 0 | 1-150 + app/waves/[wave] | 0 | 0 | 0 | 0 | + page.tsx | 0 | 0 | 0 | 0 | 1-9 + app/waves/create | 0 | 0 | 0 | 0 | + page.client.tsx | 0 | 0 | 0 | 0 | 3-18 + page.tsx | 0 | 100 | 0 | 0 | 1-7 + app/xtdh | 0 | 100 | 0 | 0 | + page.tsx | 0 | 100 | 0 | 0 | 1-15 + components/6529Gradient | 0 | 0 | 0 | 0 | + 6529Gradient.tsx | 0 | 0 | 0 | 0 | 3-238 + GradientPage.tsx | 0 | 0 | 0 | 0 | 3-308 + components/about | 0 | 0 | 0 | 0 | + About.tsx | 0 | 0 | 0 | 0 | 3-273 + AboutApply.tsx | 0 | 100 | 0 | 0 | 1-6 + AboutContactUs.tsx | 0 | 100 | 0 | 0 | 1-5 + AboutCookiePolicy.tsx | 0 | 0 | 0 | 0 | 3-32 + AboutCopyright.tsx | 0 | 100 | 0 | 0 | 1-5 + AboutDataDecentral.tsx | 0 | 100 | 0 | 0 | 1-5 + AboutGDRC1.tsx | 0 | 100 | 0 | 0 | 3-15 + AboutGradients.tsx | 0 | 100 | 0 | 0 | 1-6 + AboutHTML.tsx | 0 | 0 | 0 | 0 | 3-28 + AboutLicense.tsx | 0 | 100 | 0 | 0 | 1-6 + AboutMemeLab.tsx | 0 | 100 | 0 | 0 | 1-5 + AboutMemes.tsx | 0 | 100 | 0 | 0 | 1-7 + AboutMinting.tsx | 0 | 100 | 0 | 0 | 1-5 + AboutNFTDelegation.tsx | 0 | 100 | 0 | 0 | 1-5 + AboutNakamotoThreshold.tsx | 0 | 100 | 0 | 0 | 1-5 + AboutPrimaryAddress.tsx | 0 | 0 | 0 | 0 | 3-163 + AboutPrivacyPolicy.tsx | 0 | 100 | 0 | 0 | 1-7 + AboutReleaseNotes.tsx | 0 | 100 | 0 | 0 | 3-14 + AboutSubscriptions.tsx | 0 | 100 | 0 | 0 | 1-4 + AboutTermsOfService.tsx | 0 | 100 | 0 | 0 | 1-7 + about.helpers.ts | 0 | 0 | 0 | 0 | 1-4 + components/address | 0 | 0 | 0 | 0 | + Address.tsx | 0 | 0 | 0 | 0 | 4-159 + WalletAddress.tsx | 0 | 0 | 0 | 0 | 3-171 + components/allowlist-tool | 0 | 0 | 0 | 0 | + allowlist-tool.types.ts | 0 | 0 | 0 | 0 | 97-187 + components/allowlist-tool/common | 0 | 0 | 0 | 0 | + AllowlistToolLoader.tsx | 0 | 0 | 0 | 0 | 1-17 + components/allowlist-tool/common/animation | 0 | 0 | 0 | 0 | + AllowlistToolAnimationHeightOpacity.tsx | 0 | 0 | 0 | 0 | 1-14 + AllowlistToolAnimationOpacity.tsx | 0 | 0 | 0 | 0 | 1-15 + AllowlistToolAnimationWrapper.tsx | 0 | 0 | 0 | 0 | 1-13 + components/allowlist-tool/common/modals | 0 | 0 | 0 | 0 | + AllowlistToolCommonModalWrapper.tsx | 0 | 0 | 0 | 0 | 3-88 + components/allowlist-tool/common/select-menu-multiple | 0 | 0 | 0 | 0 | + AllowlistToolSelectMenuMultiple.tsx | 0 | 0 | 0 | 0 | 3-89 + AllowlistToolSelectMenuMultipleList.tsx | 0 | 0 | 0 | 0 | 3-22 + AllowlistToolSelectMenuMultipleListItem.tsx | 0 | 0 | 0 | 0 | 3-25 + components/allowlist-tool/icons | 0 | 100 | 0 | 0 | + AllowlistToolCsvIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + components/app-wallets | 0 | 0 | 0 | 0 | + AppWallet.tsx | 0 | 0 | 0 | 0 | 3-546 + AppWalletAvatar.tsx | 0 | 0 | 0 | 0 | 1-8 + AppWalletCard.tsx | 0 | 0 | 0 | 0 | 1-12 + AppWalletImport.tsx | 0 | 0 | 0 | 0 | 3-326 + AppWalletModal.tsx | 0 | 0 | 0 | 0 | 2-343 + AppWallets.tsx | 0 | 0 | 0 | 0 | 3-73 + AppWalletsContext.tsx | 0 | 0 | 0 | 0 | 2-272 + AppWalletsUnsupported.tsx | 0 | 0 | 0 | 0 | 1-8 + app-wallet-helpers.ts | 0 | 0 | 0 | 0 | 1-61 + components/auth | 0 | 0 | 0 | 0 | + Auth.tsx | 0 | 0 | 0 | 0 | 3-630 + SeizeConnectContext.tsx | 0 | 0 | 0 | 0 | 3-625 + components/auth/error-boundary | 0 | 0 | 0 | 0 | + WalletErrorBoundary.tsx | 0 | 0 | 0 | 0 | 1-90 + index.ts | 0 | 100 | 0 | 0 | 6 + components/block-picker | 0 | 0 | 0 | 0 | + BlockPickerBlockNumberIncludes.tsx | 0 | 0 | 0 | 0 | 3-29 + BlockPickerDateSelect.tsx | 0 | 100 | 0 | 0 | 1-46 + BlockPickerTimeWindowSelect.tsx | 0 | 0 | 0 | 0 | 3-74 + BlockPickerTimeWindowSelectList.tsx | 0 | 0 | 0 | 0 | 3-26 + components/block-picker/advanced | 0 | 0 | 0 | 0 | + BlockPickerAdvancedItemBlock.tsx | 0 | 0 | 0 | 0 | 3-72 + components/block-picker/result | 0 | 0 | 0 | 0 | + BlockPickerResult.tsx | 0 | 0 | 0 | 0 | 2-14 + BlockPickerResultHeader.tsx | 0 | 100 | 0 | 0 | 1-11 + BlockPickerResultTable.tsx | 0 | 100 | 0 | 0 | 2-16 + BlockPickerResultTableHeader.tsx | 0 | 100 | 0 | 0 | 1-2 + BlockPickerResultTableRow.tsx | 0 | 0 | 0 | 0 | 4-40 + BlockPickerResultTableRowModal.tsx | 0 | 0 | 0 | 0 | 2-23 + components/brain | 22.58 | 5.36 | 30 | 21.5 | + BrainDesktopDrop.tsx | 0 | 100 | 0 | 0 | 2-18 + BrainMobile.tsx | 0 | 0 | 0 | 0 | 3-323 + ContentTabContext.tsx | 69.01 | 44 | 75 | 66.15 | 62,81,97,107,114-146,158,164 + constants.ts | 0 | 100 | 100 | 0 | 1 + components/brain/content | 0 | 0 | 0 | 0 | + BrainContent.tsx | 0 | 0 | 0 | 0 | 3-87 + BrainContentPinnedWave.tsx | 0 | 0 | 0 | 0 | 3-168 + BrainContentPinnedWaves.tsx | 0 | 0 | 0 | 0 | 3-181 + components/brain/content/input | 0 | 0 | 0 | 0 | + BrainContentInput.tsx | 0 | 0 | 0 | 0 | 3-50 + components/brain/direct-messages | 0 | 0 | 0 | 0 | + DirectMessagesList.tsx | 0 | 0 | 0 | 0 | 3-159 + components/brain/feed | 0 | 0 | 0 | 0 | + FeedItem.tsx | 0 | 0 | 0 | 0 | 1-71 + FeedItems.tsx | 0 | 100 | 0 | 0 | 2-30 + FeedScrollContainer.tsx | 0 | 0 | 0 | 0 | 3-296 + FeedWrapper.tsx | 0 | 100 | 0 | 0 | 3-40 + components/brain/feed/items/drop-created | 0 | 0 | 0 | 0 | + FeedItemDropCreated.tsx | 0 | 0 | 0 | 0 | 3-63 + components/brain/feed/items/drop-replied | 0 | 0 | 0 | 0 | + FeedItemDropReplied.tsx | 0 | 0 | 0 | 0 | 3-65 + components/brain/feed/items/wave-created | 0 | 0 | 0 | 0 | + FeedItemWaveCreated.tsx | 0 | 0 | 0 | 0 | 7-69 + components/brain/left-sidebar | 0 | 0 | 0 | 0 | + BrainLeftSidebarCreateADirectMessageButton.tsx | 0 | 0 | 0 | 0 | 3-40 + components/brain/left-sidebar/waves | 0 | 0 | 0 | 0 | + BrainLeftSidebarWave.tsx | 0 | 0 | 0 | 0 | 3-162 + BrainLeftSidebarWaveDropTime.tsx | 0 | 0 | 0 | 0 | 3-37 + BrainLeftSidebarWavePin.tsx | 0 | 0 | 0 | 0 | 3-173 + BrainLeftSidebarWaves.tsx | 0 | 0 | 0 | 0 | 1-33 + JoinedToggle.tsx | 0 | 0 | 0 | 0 | 3-66 + SectionHeader.tsx | 0 | 0 | 0 | 0 | 1-33 + UnifiedWavesList.tsx | 0 | 0 | 0 | 0 | 4-122 + UnifiedWavesListEmpty.tsx | 0 | 0 | 0 | 0 | 1-28 + UnifiedWavesListLoader.tsx | 0 | 0 | 0 | 0 | 1-17 + UnifiedWavesListWaves.tsx | 0 | 0 | 0 | 0 | 3-240 + WavesFilterToggle.tsx | 0 | 0 | 0 | 0 | 3-92 + components/brain/left-sidebar/web | 0 | 0 | 0 | 0 | + WebBrainLeftSidebarWaves.tsx | 0 | 0 | 0 | 0 | 1-38 + WebDirectMessagesList.tsx | 0 | 0 | 0 | 0 | 3-235 + WebLeftSidebar.tsx | 0 | 0 | 0 | 0 | 3-61 + WebUnifiedWavesList.tsx | 0 | 0 | 0 | 0 | 4-76 + WebUnifiedWavesListWaves.tsx | 0 | 0 | 0 | 0 | 3-301 + components/brain/left-sidebar/web/WebBrainLeftSidebarWave | 0 | 0 | 0 | 0 | + index.tsx | 0 | 0 | 0 | 0 | 3-111 + components/brain/left-sidebar/web/WebBrainLeftSidebarWave/hooks | 0 | 0 | 0 | 0 | + useWaveNameTruncation.ts | 0 | 0 | 0 | 0 | 1-59 + useWaveNavigation.ts | 0 | 0 | 0 | 0 | 1-80 + components/brain/left-sidebar/web/WebBrainLeftSidebarWave/subcomponents | 0 | 0 | 0 | 0 | + CollapsedWave.tsx | 0 | 0 | 0 | 0 | 1-32 + ExpandedWave.tsx | 0 | 0 | 0 | 0 | 2-55 + WaveAvatar.tsx | 0 | 0 | 0 | 0 | 1-30 + WaveTooltip.tsx | 0 | 100 | 0 | 0 | 2-12 + components/brain/left-sidebar/web/WebBrainLeftSidebarWave/utils | 0 | 0 | 0 | 0 | + formatWaveName.ts | 0 | 0 | 0 | 0 | 1-32 + components/brain/mobile | 0 | 0 | 0 | 0 | + BrainMobileAbout.tsx | 0 | 0 | 0 | 0 | 3-77 + BrainMobileMessages.tsx | 0 | 100 | 0 | 0 | 3-20 + BrainMobileTabs.tsx | 0 | 0 | 0 | 0 | 3-299 + BrainMobileWaves.tsx | 0 | 100 | 0 | 0 | 3-23 + components/brain/my-stream | 19.81 | 19.75 | 16.12 | 19.31 | + MyStream.tsx | 0 | 0 | 0 | 0 | 4-49 + MyStreamWave.tsx | 0 | 0 | 0 | 0 | 3-115 + MyStreamWaveChat.tsx | 0 | 0 | 0 | 0 | 3-139 + MyStreamWaveDesktopTabs.tsx | 78.57 | 68.08 | 55.55 | 77.77 | 65,75,82,91-94,99,104-114,157,207 + MyStreamWaveFAQ.tsx | 0 | 100 | 0 | 0 | 4-512 + MyStreamWaveLeaderboard.tsx | 0 | 0 | 0 | 0 | 3-161 + MyStreamWaveOutcome.tsx | 0 | 100 | 0 | 0 | 3-35 + MyStreamWaveTabsLeaderboard.tsx | 0 | 0 | 0 | 0 | 1-71 + components/brain/my-stream/layout | 0 | 0 | 0 | 0 | + LayoutContext.tsx | 0 | 0 | 0 | 0 | 3-521 + MyStreamNoItems.tsx | 0 | 0 | 0 | 0 | 1-11 + components/brain/my-stream/tabs | 0 | 0 | 0 | 0 | + MyStreamWaveTabs.tsx | 0 | 0 | 0 | 0 | 3-45 + MyStreamWaveTabsDefault.tsx | 0 | 0 | 0 | 0 | 1-93 + MyStreamWaveTabsMeme.tsx | 0 | 0 | 0 | 0 | 3-182 + MyStreamWaveTabsMemeSubmit.tsx | 0 | 0 | 0 | 0 | 3-269 + components/brain/my-stream/votes | 0 | 0 | 0 | 0 | + MyStreamWaveMyVote.tsx | 0 | 0 | 0 | 0 | 1-208 + MyStreamWaveMyVoteInput.tsx | 0 | 0 | 0 | 0 | 3-191 + MyStreamWaveMyVoteVotes.tsx | 0 | 0 | 0 | 0 | 1-32 + MyStreamWaveMyVotes.tsx | 0 | 0 | 0 | 0 | 3-120 + MyStreamWaveMyVotesReset.tsx | 0 | 0 | 0 | 0 | 3-112 + MyStreamWaveMyVotesResetProgress.tsx | 0 | 0 | 0 | 0 | 1-34 + components/brain/notifications | 0 | 0 | 0 | 0 | + NotificationItem.tsx | 0 | 0 | 0 | 0 | 2-119 + NotificationItems.tsx | 0 | 0 | 0 | 0 | 1-69 + NotificationsCauseFilter.tsx | 0 | 0 | 0 | 0 | 3-162 + NotificationsContainer.tsx | 0 | 100 | 0 | 0 | 3-30 + NotificationsFollowBtn.tsx | 0 | 0 | 0 | 0 | 3-159 + NotificationsWrapper.tsx | 0 | 0 | 0 | 0 | 3-91 + index.tsx | 0 | 0 | 0 | 0 | 3-71 + components/brain/notifications/all-drops | 0 | 0 | 0 | 0 | + NotificationAllDrops.tsx | 0 | 0 | 0 | 0 | 3-113 + components/brain/notifications/drop-quoted | 0 | 0 | 0 | 0 | + NotificationDropQuoted.tsx | 0 | 0 | 0 | 0 | 3-46 + components/brain/notifications/drop-reacted | 0 | 0 | 0 | 0 | + NotificationDropReacted.tsx | 0 | 0 | 0 | 0 | 3-146 + components/brain/notifications/drop-replied | 0 | 0 | 0 | 0 | + NotificationDropReplied.tsx | 0 | 0 | 0 | 0 | 4-45 + components/brain/notifications/hooks | 0 | 0 | 0 | 0 | + useNotificationsController.ts | 0 | 0 | 0 | 0 | 3-377 + useNotificationsScroll.ts | 0 | 0 | 0 | 0 | 3-229 + components/brain/notifications/identity-mentioned | 0 | 100 | 0 | 0 | + NotificationIdentityMentioned.tsx | 0 | 100 | 0 | 0 | 4-42 + components/brain/notifications/identity-subscribed | 0 | 100 | 0 | 0 | + NotificationIdentitySubscribed.tsx | 0 | 100 | 0 | 0 | 2-12 + components/brain/notifications/priority-alert | 0 | 0 | 0 | 0 | + NotificationPriorityAlert.tsx | 0 | 0 | 0 | 0 | 3-109 + components/brain/notifications/subcomponents | 0 | 0 | 0 | 0 | + NotificationHeader.tsx | 0 | 0 | 0 | 0 | 1-19 + NotificationsContent.tsx | 0 | 0 | 0 | 0 | 4-106 + NotificationsStateMessage.tsx | 0 | 0 | 0 | 0 | 15-19 + components/brain/notifications/utils | 0 | 0 | 0 | 0 | + constants.ts | 0 | 100 | 100 | 0 | 1-5 + getNotificationErrorDetails.ts | 0 | 0 | 0 | 0 | 1-32 + navigationUtils.ts | 0 | 0 | 0 | 0 | 1-37 + components/brain/notifications/wave-created | 0 | 0 | 0 | 0 | + NotificationWaveCreated.tsx | 0 | 0 | 0 | 0 | 1-41 + components/brain/right-sidebar | 0 | 0 | 0 | 0 | + BrainRightSidebar.tsx | 0 | 0 | 0 | 0 | 3-169 + BrainRightSidebarContent.tsx | 0 | 100 | 0 | 0 | 1-21 + BrainRightSidebarFollowers.tsx | 0 | 100 | 0 | 0 | 1-17 + WaveContent.tsx | 0 | 0 | 0 | 0 | 3-158 + components/client-only | 0 | 0 | 0 | 0 | + ClientOnly.tsx | 0 | 0 | 0 | 0 | 3-20 + components/code-example | 0 | 0 | 0 | 0 | + CodeExample.tsx | 0 | 0 | 0 | 0 | 3-31 + components/collections-dropdown | 0 | 0 | 0 | 0 | + CollectionsDropdown.tsx | 0 | 0 | 0 | 0 | 3-53 + components/common | 2.93 | 2.73 | 3.38 | 2.7 | + CompactMenu.tsx | 0 | 100 | 0 | 0 | 1 + ConnectWallet.tsx | 0 | 100 | 0 | 0 | 3-33 + DateAccordion.tsx | 0 | 0 | 0 | 0 | 1-25 + EmptyState.tsx | 0 | 100 | 0 | 0 | 9-10 + FallbackImage.tsx | 0 | 0 | 0 | 0 | 3-92 + SandboxedExternalIframe.tsx | 0 | 0 | 0 | 0 | 3-169 + SpinnerLoader.tsx | 0 | 0 | 0 | 0 | 1-19 + SystemAdjustmentPill.tsx | 0 | 100 | 0 | 0 | 1 + TabToggle.tsx | 90.9 | 60 | 66.66 | 88.88 | 31 + TabToggleWithOverflow.tsx | 0 | 0 | 0 | 0 | 3-197 + TimePicker.tsx | 0 | 0 | 0 | 0 | 1-153 + TooltipIconButton.tsx | 0 | 0 | 0 | 0 | 3-84 + components/common/icons | 0 | 100 | 0 | 0 | + BellIcon.tsx | 0 | 100 | 0 | 0 | 1-20 + ChatBubbleIcon.tsx | 0 | 100 | 0 | 0 | 1-20 + DiscoverIcon.tsx | 0 | 100 | 0 | 0 | 1-16 + HomeIcon.tsx | 0 | 100 | 0 | 0 | 1-20 + LogoIcon.tsx | 0 | 100 | 0 | 0 | 1-30 + Squares2X2Icon.tsx | 0 | 100 | 0 | 0 | 1-20 + UsersIcon.tsx | 0 | 100 | 0 | 0 | 1-19 + WavesIcon.tsx | 0 | 100 | 0 | 0 | 1-26 + components/common/profile | 0 | 0 | 0 | 0 | + ProfileAvatar.tsx | 0 | 0 | 0 | 0 | 3-30 + ProfileBadge.tsx | 0 | 0 | 0 | 0 | 3-70 + ProfileHandle.tsx | 0 | 0 | 0 | 0 | 3-46 + ProfileLevel.tsx | 0 | 0 | 0 | 0 | 2-49 + components/community | 0 | 0 | 0 | 0 | + CommunityMembers.tsx | 0 | 0 | 0 | 0 | 3-260 + components/community-downloads | 0 | 0 | 0 | 0 | + CommunityDownloads.tsx | 0 | 0 | 0 | 0 | 3-81 + CommunityDownloadsComponent.tsx | 0 | 0 | 0 | 0 | 3-69 + CommunityDownloadsHelpers.tsx | 0 | 0 | 0 | 0 | 3-79 + CommunityDownloadsRememes.tsx | 0 | 100 | 0 | 0 | 3-9 + CommunityDownloadsRoyalties.tsx | 0 | 100 | 0 | 0 | 3-10 + CommunityDownloadsSubscriptions.tsx | 0 | 0 | 0 | 0 | 3-70 + CommunityDownloadsTDH.tsx | 0 | 0 | 0 | 0 | 3-26 + CommunityDownloadsTeam.tsx | 0 | 100 | 0 | 0 | 3-38 + components/community/members-table | 0 | 0 | 0 | 0 | + CommunityMembersMobileCard.tsx | 0 | 0 | 0 | 0 | 1-32 + CommunityMembersMobileFilterBar.tsx | 0 | 0 | 0 | 0 | 1-44 + CommunityMembersTable.tsx | 0 | 100 | 0 | 0 | 4-56 + CommunityMembersTableHeader.tsx | 0 | 100 | 0 | 0 | 3-81 + CommunityMembersTableHeaderSortableContent.tsx | 0 | 0 | 0 | 0 | 3-41 + CommunityMembersTableRow.tsx | 0 | 0 | 0 | 0 | 1-29 + components/communityStats | 0 | 0 | 0 | 0 | + CommunityStats.tsx | 0 | 0 | 0 | 0 | 3-271 + components/compact-menu | 0 | 0 | 0 | 0 | + constants.ts | 0 | 100 | 100 | 0 | 3-19 + index.tsx | 0 | 0 | 0 | 0 | 3-102 + components/compact-menu/hooks | 0 | 0 | 0 | 0 | + useCompactMenuFocus.ts | 0 | 0 | 0 | 0 | 1-41 + components/compact-menu/subcomponents | 0 | 0 | 0 | 0 | + CompactMenuItemButton.tsx | 0 | 0 | 0 | 0 | 1-57 + CompactMenuItemsPanel.tsx | 0 | 0 | 0 | 0 | 1-60 + CompactMenuTrigger.tsx | 0 | 0 | 0 | 0 | 1-59 + components/cookies | 0 | 0 | 0 | 0 | + CookieConsentContext.tsx | 0 | 0 | 0 | 0 | 3-175 + CookiesBanner.tsx | 0 | 0 | 0 | 0 | 3-21 + components/date-countdown | 0 | 0 | 0 | 0 | + DateCountdown.tsx | 0 | 0 | 0 | 0 | 3-96 + components/datePickerModal | 0 | 0 | 0 | 0 | + DatePickerModal.tsx | 0 | 0 | 0 | 0 | 3-201 + components/delegation | 0 | 0 | 0 | 0 | + CollectionDelegation.tsx | 0 | 0 | 0 | 0 | 3-1892 + CollectionDelegation.utils.ts | 0 | 0 | 0 | 0 | 1-121 + DelegationCenter.tsx | 0 | 0 | 0 | 0 | 3-273 + DelegationCenterMenu.tsx | 0 | 0 | 0 | 0 | 3-467 + DelegationFormParts.tsx | 0 | 0 | 0 | 0 | 3-457 + DelegationWallet.tsx | 0 | 0 | 0 | 0 | 1-20 + NewAssignPrimaryAddress.tsx | 0 | 0 | 0 | 0 | 3-236 + NewConsolidation.tsx | 0 | 0 | 0 | 0 | 3-117 + NewDelegation.tsx | 0 | 0 | 0 | 0 | 3-286 + NewSubDelegation.tsx | 0 | 0 | 0 | 0 | 3-114 + RevokeDelegationWithSub.tsx | 0 | 0 | 0 | 0 | 3-175 + UpdateDelegation.tsx | 0 | 0 | 0 | 0 | 3-278 + delegation-constants.ts | 0 | 100 | 100 | 0 | 1-147 + delegation-shared.ts | 0 | 0 | 0 | 0 | 1-28 + components/delegation/html | 0 | 0 | 0 | 0 | + DelegationHTML.tsx | 0 | 0 | 0 | 0 | 3-59 + components/delegation/walletChecker | 0 | 0 | 0 | 0 | + WalletChecker.tsx | 0 | 0 | 0 | 0 | 3-825 + components/distribution | 0 | 0 | 0 | 0 | + Distribution.tsx | 0 | 0 | 0 | 0 | 3-348 + components/distribution-plan-tool | 0 | 0 | 0 | 0 | + DistributionPlanToolContext.tsx | 0 | 0 | 0 | 0 | 3-225 + DistributionPlanToolPage.tsx | 0 | 0 | 0 | 0 | 3-73 + components/distribution-plan-tool/build-phases | 0 | 0 | 0 | 0 | + BuildPhases.tsx | 0 | 0 | 0 | 0 | 3-105 + components/distribution-plan-tool/build-phases/build-phase | 0 | 0 | 0 | 0 | + BuildPhase.tsx | 0 | 0 | 0 | 0 | 3-47 + components/distribution-plan-tool/build-phases/build-phase/form | 0 | 0 | 0 | 0 | + BuildPhaseForm.tsx | 0 | 0 | 0 | 0 | 3-51 + BuildPhaseFormConfigModal.tsx | 0 | 0 | 0 | 0 | 3-821 + components/distribution-plan-tool/build-phases/build-phase/form/component-config | 0 | 0 | 0 | 0 | + BuildPhaseFormConfigModalSidebar.tsx | 0 | 0 | 0 | 0 | 5-30 + BuildPhaseFormConfigModalTitle.tsx | 0 | 100 | 0 | 0 | 1-17 + ComponentAddSpots.tsx | 0 | 0 | 0 | 0 | 3-78 + ComponentConfigMeta.tsx | 0 | 100 | 0 | 0 | 15-20 + ComponentConfigNextBtn.tsx | 0 | 0 | 0 | 0 | 3-44 + ComponentSelectRandomHolders.tsx | 0 | 0 | 0 | 0 | 3-275 + FinalizeComponent.tsx | 0 | 0 | 0 | 0 | 4-69 + FinalizeSnapshot.tsx | 0 | 0 | 0 | 0 | 4-47 + SnapshotExcludeComponentWinners.tsx | 0 | 0 | 0 | 0 | 3-164 + SnapshotExcludeOtherSnapshots.tsx | 0 | 0 | 0 | 0 | 3-236 + SnapshotSelectTokenIds.tsx | 0 | 100 | 0 | 0 | 3-88 + SnapshotSelectTopHolders.tsx | 0 | 0 | 0 | 0 | 3-297 + components/distribution-plan-tool/build-phases/build-phase/form/component-config/select-snapshot | 0 | 0 | 0 | 0 | + SelectSnapshot.tsx | 0 | 0 | 0 | 0 | 3-69 + SelectSnapshotDropdown.tsx | 0 | 0 | 0 | 0 | 3-61 + SelectSnapshotDropdownList.tsx | 0 | 0 | 0 | 0 | 2-21 + SelectSnapshotDropdownListItem.tsx | 0 | 0 | 0 | 0 | 3-44 + components/distribution-plan-tool/build-phases/build-phase/form/component-config/snapshots-table | 0 | 0 | 0 | 0 | + FinalizeSnapshotsTable.tsx | 0 | 0 | 0 | 0 | 4-179 + FinalizeSnapshotsTableExcludedComponentsTooltip.tsx | 0 | 100 | 0 | 0 | 2-53 + FinalizeSnapshotsTableExcludedSnapshotsTooltip.tsx | 0 | 0 | 0 | 0 | 3-115 + FinalizeSnapshotsTableRow.tsx | 0 | 0 | 0 | 0 | 2-144 + FinalizeSnapshotsTableSnapshotTooltip.tsx | 0 | 0 | 0 | 0 | 1-33 + FinalizeSnapshotsTableSnapshotTooltipCustomSnapshot.tsx | 0 | 0 | 0 | 0 | 3-48 + FinalizeSnapshotsTableSnapshotTooltipDefaultSnapshot.tsx | 0 | 0 | 0 | 0 | 3-63 + FinalizeSnapshotsTableSnapshotTooltipTableRow.tsx | 0 | 100 | 0 | 0 | 1-8 + components/distribution-plan-tool/build-phases/build-phase/form/component-config/utils | 0 | 0 | 0 | 0 | + ComponentRandomHoldersWeight.tsx | 0 | 0 | 0 | 0 | 1-41 + ComponentRandomHoldersWeightItem.tsx | 0 | 100 | 0 | 0 | 3-34 + components/distribution-plan-tool/build-phases/build-phase/table | 0 | 0 | 0 | 0 | + BuildPhaseTable.tsx | 0 | 100 | 0 | 0 | 1-11 + BuildPhaseTableBody.tsx | 0 | 100 | 0 | 0 | 1-12 + BuildPhaseTableHeader.tsx | 0 | 100 | 0 | 0 | 1-4 + BuildPhaseTableRow.tsx | 0 | 0 | 0 | 0 | 2-10 + components/distribution-plan-tool/common | 0 | 0 | 0 | 0 | + CircleLoader.tsx | 0 | 0 | 0 | 0 | 1-22 + Countdown.tsx | 0 | 0 | 0 | 0 | 3-51 + CsvIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + DistributionPlanAddOperationBtn.tsx | 0 | 0 | 0 | 0 | 1-8 + DistributionPlanDeleteOperationButton.tsx | 0 | 0 | 0 | 0 | 3-30 + DistributionPlanEmptyTablePlaceholder.tsx | 0 | 100 | 0 | 0 | 1-8 + DistributionPlanErrorWarning.tsx | 0 | 0 | 0 | 0 | 3-10 + DistributionPlanNextStepBtn.tsx | 0 | 0 | 0 | 0 | 3-21 + DistributionPlanPrimaryBtn.tsx | 0 | 0 | 0 | 0 | 3-42 + DistributionPlanSecondaryText.tsx | 0 | 100 | 0 | 0 | 1-6 + DistributionPlanStepWrapper.tsx | 0 | 100 | 0 | 0 | 1-6 + DistributionPlanTableBodyWrapper.tsx | 0 | 100 | 0 | 0 | 1-8 + DistributionPlanTableHeaderWrapper.tsx | 0 | 100 | 0 | 0 | 1-6 + DistributionPlanTableRowWrapper.tsx | 0 | 100 | 0 | 0 | 1-8 + DistributionPlanTableWrapper.tsx | 0 | 100 | 0 | 0 | 1-6 + DistributionPlanVerifiedIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + DistributionPlanWarnings.tsx | 0 | 0 | 0 | 0 | 3-14 + JsonIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ManifoldIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + RoundedCsvIconButton.tsx | 0 | 0 | 0 | 0 | 1-11 + RoundedJsonIconButton.tsx | 0 | 0 | 0 | 0 | 1-11 + RoundedManifoldIconButton.tsx | 0 | 0 | 0 | 0 | 1-11 + StepHeader.tsx | 0 | 0 | 0 | 0 | 3-109 + components/distribution-plan-tool/connect | 0 | 0 | 0 | 0 | + distribution-plan-tool-connect.tsx | 0 | 0 | 0 | 0 | 3-41 + distribution-plan-tool-connected.tsx | 0 | 0 | 0 | 0 | 3-18 + distribution-plan-tool-not-connected.tsx | 0 | 100 | 0 | 0 | 1-2 + components/distribution-plan-tool/create-custom-snapshots | 0 | 0 | 0 | 0 | + CreateCustomSnapshots.tsx | 0 | 0 | 0 | 0 | 3-129 + components/distribution-plan-tool/create-custom-snapshots/form | 0 | 0 | 0 | 0 | + CreateCustomSnapshotForm.tsx | 0 | 0 | 0 | 0 | 3-443 + CreateCustomSnapshotFormAddWalletsModal.tsx | 0 | 0 | 0 | 0 | 2-87 + CreateCustomSnapshotFormTable.tsx | 0 | 100 | 0 | 0 | 2-18 + CreateCustomSnapshotFormTableItem.tsx | 0 | 100 | 0 | 0 | 3-24 + CreateCustomSnapshotFormUpload.tsx | 0 | 0 | 0 | 0 | 7-54 + components/distribution-plan-tool/create-custom-snapshots/table | 0 | 100 | 0 | 0 | + CreateCustomSnapshotTable.tsx | 0 | 100 | 0 | 0 | 1-11 + CreateCustomSnapshotTableBody.tsx | 0 | 100 | 0 | 0 | 2-12 + CreateCustomSnapshotTableHeader.tsx | 0 | 100 | 0 | 0 | 1-4 + CreateCustomSnapshotTableRow.tsx | 0 | 100 | 0 | 0 | 2-9 + components/distribution-plan-tool/create-phases | 0 | 0 | 0 | 0 | + CreatePhases.tsx | 0 | 0 | 0 | 0 | 3-65 + components/distribution-plan-tool/create-phases/form | 0 | 0 | 0 | 0 | + CreatePhasesForm.tsx | 0 | 0 | 0 | 0 | 3-64 + components/distribution-plan-tool/create-phases/table | 0 | 100 | 0 | 0 | + CreatePhasesTable.tsx | 0 | 100 | 0 | 0 | 1-11 + CreatePhasesTableBody.tsx | 0 | 100 | 0 | 0 | 1-12 + CreatePhasesTableHeader.tsx | 0 | 100 | 0 | 0 | 1-4 + CreateTablePhasesRow.tsx | 0 | 100 | 0 | 0 | 1-10 + components/distribution-plan-tool/create-plan | 0 | 0 | 0 | 0 | + CreateDistributionPlan.tsx | 0 | 0 | 0 | 0 | 4-95 + CreatePlan.tsx | 0 | 0 | 0 | 0 | 3-64 + DistributionPlanToolCreatePlan.tsx | 0 | 100 | 0 | 0 | 3-39 + components/distribution-plan-tool/create-snapshots | 0 | 0 | 0 | 0 | + CreateSnapshots.tsx | 0 | 0 | 0 | 0 | 3-163 + components/distribution-plan-tool/create-snapshots/form | 0 | 0 | 0 | 0 | + CreateSnapshotForm.tsx | 0 | 0 | 0 | 0 | 3-170 + CreateSnapshotFormSearchCollection.tsx | 0 | 0 | 0 | 0 | 3-141 + CreateSnapshotFormSearchCollectionDropdown.tsx | 0 | 0 | 0 | 0 | 2-17 + CreateSnapshotFormSearchCollectionDropdownItem.tsx | 0 | 0 | 0 | 0 | 4-83 + CreateSnapshotFormSearchCollectionDropdownTable.tsx | 0 | 100 | 0 | 0 | 2-40 + CreateSnapshotFormSearchCollectionInput.tsx | 0 | 0 | 0 | 0 | 1-16 + CreateSnapshotFormSearchCollectionMemesModal.tsx | 0 | 0 | 0 | 0 | 3-113 + components/distribution-plan-tool/create-snapshots/table | 0 | 0 | 0 | 0 | + CreateSnapshotTable.tsx | 0 | 100 | 0 | 0 | 1-11 + CreateSnapshotTableBody.tsx | 0 | 100 | 0 | 0 | 3-14 + CreateSnapshotTableHeader.tsx | 0 | 100 | 0 | 0 | 1-4 + CreateSnapshotTableRow.tsx | 0 | 0 | 0 | 0 | 3-126 + CreateSnapshotTableRowDownload.tsx | 0 | 0 | 0 | 0 | 3-89 + components/distribution-plan-tool/distribution-plan-tool-sidebar | 0 | 0 | 0 | 0 | + DistributionPlanStep.tsx | 0 | 0 | 0 | 0 | 3-45 + DistributionPlanStepCurrent.tsx | 0 | 0 | 0 | 0 | 1-13 + DistributionPlanStepDone.tsx | 0 | 0 | 0 | 0 | 3-35 + DistributionPlanStepUpcoming.tsx | 0 | 0 | 0 | 0 | 1-13 + DistributionPlanToolSidebar.tsx | 0 | 100 | 0 | 0 | 3-72 + components/distribution-plan-tool/map-delegations | 0 | 0 | 0 | 0 | + MapDelegations.tsx | 0 | 0 | 0 | 0 | 3-69 + MapDelegationsDone.tsx | 0 | 100 | 0 | 0 | 1-2 + MapDelegationsForm.tsx | 0 | 0 | 0 | 0 | 3-62 + components/distribution-plan-tool/plans | 0 | 0 | 0 | 0 | + DistributionPlanToolPlans.tsx | 0 | 0 | 0 | 0 | 3-69 + DistributionPlanToolPlansLoading.tsx | 0 | 100 | 0 | 0 | 1-6 + DistributionPlanToolPlansNoPlans.tsx | 0 | 100 | 0 | 0 | 1-2 + DistributionPlanToolPlansTable.tsx | 0 | 100 | 0 | 0 | 4-49 + DistributionPlanToolPlansTableItem.tsx | 0 | 0 | 0 | 0 | 4-59 + components/distribution-plan-tool/review-distribution-plan | 0 | 100 | 0 | 0 | + ReviewDistributionPlan.tsx | 0 | 100 | 0 | 0 | 1-7 + components/distribution-plan-tool/review-distribution-plan/table | 0 | 0 | 0 | 0 | + ReviewDistributionPlanTable.tsx | 0 | 0 | 0 | 0 | 3-86 + ReviewDistributionPlanTableBody.tsx | 0 | 100 | 0 | 0 | 3-28 + ReviewDistributionPlanTableHeader.tsx | 0 | 0 | 0 | 0 | 6-159 + ReviewDistributionPlanTableRow.tsx | 0 | 0 | 0 | 0 | 4-207 + ReviewDistributionPlanTableSubscription.tsx | 0 | 0 | 0 | 0 | 4-271 + ReviewDistributionPlanTableSubscriptionFooter.tsx | 0 | 0 | 0 | 0 | 3-120 + components/distribution-plan-tool/run-operations | 0 | 0 | 0 | 0 | + RunOperations.tsx | 0 | 0 | 0 | 0 | 3-58 + components/distribution-plan-tool/wrapper | 0 | 100 | 0 | 0 | + DistributionPlanToolWrapper.tsx | 0 | 100 | 0 | 0 | 3-12 + components/dotLoader | 0 | 0 | 0 | 0 | + DotLoader.tsx | 0 | 0 | 0 | 0 | 1-20 + components/download | 0 | 0 | 0 | 0 | + Download.tsx | 0 | 0 | 0 | 0 | 3-108 + components/downloadUrlWidget | 0 | 0 | 0 | 0 | + DownloadUrlWidget.tsx | 0 | 0 | 0 | 0 | 1-55 + components/drops/create | 0 | 0 | 0 | 0 | + DropEditor.tsx | 0 | 0 | 0 | 0 | 3-175 + types.ts | 0 | 0 | 0 | 0 | 1-8 + components/drops/create/compact | 0 | 0 | 0 | 0 | + CreateDropCompact.tsx | 0 | 0 | 0 | 0 | 3-214 + components/drops/create/full | 0 | 0 | 0 | 0 | + CreateDropFull.tsx | 0 | 0 | 0 | 0 | 4-181 + components/drops/create/full/desktop | 0 | 0 | 0 | 0 | + CreateDropFullDesktop.tsx | 0 | 0 | 0 | 0 | 3-267 + CreateDropFullDesktopMetadata.tsx | 0 | 0 | 0 | 0 | 3-58 + components/drops/create/full/mobile | 0 | 0 | 0 | 0 | + CreateDropFullMobile.tsx | 0 | 0 | 0 | 0 | 3-262 + CreateDropFullMobileMetadata.tsx | 0 | 0 | 0 | 0 | 3-50 + CreateDropFullMobileWrapper.tsx | 0 | 0 | 0 | 0 | 1-28 + components/drops/create/lexical | 0 | 100 | 100 | 0 | + ExampleTheme.ts | 0 | 100 | 100 | 0 | 8-76 + components/drops/create/lexical/nodes | 0 | 0 | 0 | 0 | + EmojiNode.tsx | 0 | 0 | 0 | 0 | 1-85 + HashtagNode.ts | 0 | 0 | 0 | 0 | 9-130 + ImageComponent.tsx | 0 | 0 | 0 | 0 | 3-51 + ImageNode.tsx | 0 | 0 | 0 | 0 | 20-175 + MentionNode.ts | 0 | 0 | 0 | 0 | 9-128 + components/drops/create/lexical/plugins | 0 | 0 | 0 | 0 | + AutoFocusPlugin.tsx | 0 | 100 | 0 | 0 | 3-14 + ClearEditorPlugin.tsx | 0 | 100 | 0 | 0 | 1-27 + DragDropPastePlugin.tsx | 0 | 0 | 0 | 0 | 3-85 + MaxLengthPlugin.tsx | 0 | 0 | 0 | 0 | 11-59 + PlainTextPastePlugin.tsx | 0 | 0 | 0 | 0 | 3-50 + ToggleViewButtonPlugin.tsx | 0 | 100 | 0 | 0 | 1-6 + components/drops/create/lexical/plugins/emoji | 0 | 0 | 0 | 0 | + EmojiPlugin.ts | 0 | 0 | 0 | 0 | 3-167 + components/drops/create/lexical/plugins/enter | 0 | 0 | 0 | 0 | + EnterKeyPlugin.tsx | 0 | 0 | 0 | 0 | 3-114 + components/drops/create/lexical/plugins/hashtags | 0 | 0 | 0 | 0 | + HashtagsPlugin.tsx | 0 | 0 | 0 | 0 | 3-196 + HashtagsTypeaheadMenu.tsx | 0 | 0 | 0 | 0 | 3-60 + HashtagsTypeaheadMenuItem.tsx | 0 | 0 | 0 | 0 | 1-20 + getPossibleQueryMatch.ts | 0 | 0 | 0 | 0 | 4-90 + components/drops/create/lexical/plugins/mentions | 0 | 0 | 0 | 0 | + MentionsPlugin.tsx | 0 | 0 | 0 | 0 | 3-261 + MentionsTypeaheadMenu.tsx | 0 | 0 | 0 | 0 | 3-60 + MentionsTypeaheadMenuItem.tsx | 0 | 0 | 0 | 0 | 1-20 + components/drops/create/lexical/transformers | 0 | 0 | 0 | 0 | + EmojiTransformer.ts | 0 | 0 | 0 | 0 | 2-22 + HastagTransformer.ts | 0 | 0 | 0 | 0 | 2-28 + ImageTransformer.ts | 0 | 0 | 0 | 0 | 2-18 + MentionTransformer.ts | 0 | 0 | 0 | 0 | 2-28 + markdownTransformers.ts | 0 | 0 | 0 | 0 | 1-47 + components/drops/create/lexical/utils | 0 | 0 | 0 | 0 | + codeContextDetection.ts | 0 | 0 | 0 | 0 | 1-32 + components/drops/create/utils | 0 | 0 | 0 | 0 | + CreateDropActionsRow.tsx | 0 | 0 | 0 | 0 | 3-56 + CreateDropContent.tsx | 0 | 0 | 0 | 0 | 3-339 + CreateDropDesktopFooter.tsx | 0 | 0 | 0 | 0 | 1-27 + CreateDropWrapper.tsx | 0 | 0 | 0 | 0 | 3-514 + DropPfp.tsx | 0 | 0 | 0 | 0 | 1-18 + components/drops/create/utils/author | 0 | 0 | 0 | 0 | + DropAuthor.tsx | 0 | 0 | 0 | 0 | 1-39 + DropAuthorHandle.tsx | 0 | 0 | 0 | 0 | 4-29 + components/drops/create/utils/file | 0 | 0 | 0 | 0 | + CreateDropSelectedFileIcon.tsx | 0 | 0 | 0 | 0 | 1-93 + CreateDropSelectedFilePreview.tsx | 0 | 0 | 0 | 0 | 2-52 + components/drops/create/utils/metadata | 0 | 100 | 0 | 0 | + CreateDropMetadataItem.tsx | 0 | 100 | 0 | 0 | 3-18 + CreateDropMetadataItems.tsx | 0 | 100 | 0 | 0 | 2-13 + components/drops/create/utils/storm | 0 | 0 | 0 | 0 | + CreateDropContentMissingMediaWarning.tsx | 0 | 100 | 0 | 0 | 1-23 + CreateDropContentMissingMetadataWarning.tsx | 0 | 100 | 0 | 0 | 1-46 + CreateDropParts.tsx | 0 | 0 | 0 | 0 | 1-14 + CreateDropStormView.tsx | 0 | 0 | 0 | 0 | 1-47 + CreateDropStormViewPart.tsx | 0 | 0 | 0 | 0 | 1-101 + CreateDropStormViewPartQuote.tsx | 0 | 0 | 0 | 0 | 3-85 + components/drops/view | 0 | 0 | 0 | 0 | + Drops.tsx | 0 | 0 | 0 | 0 | 3-174 + DropsList.tsx | 0 | 0 | 0 | 0 | 3-177 + HighlightDropWrapper.tsx | 0 | 0 | 0 | 0 | 3-261 + components/drops/view/item/content | 0 | 0 | 0 | 0 | + DropListItemContentMention.tsx | 0 | 100 | 0 | 0 | 1-13 + DropListItemContentPart.tsx | 0 | 0 | 0 | 0 | 2-35 + components/drops/view/item/content/media | 0 | 0 | 0 | 0 | + DropListItemContentMedia.tsx | 0 | 0 | 0 | 0 | 1-85 + DropListItemContentMediaAudio.tsx | 0 | 100 | 0 | 0 | 1-6 + DropListItemContentMediaGLB.tsx | 0 | 100 | 0 | 0 | 1-9 + DropListItemContentMediaImage.tsx | 0 | 0 | 0 | 0 | 3-315 + DropListItemContentMediaVideo.tsx | 0 | 0 | 0 | 0 | 3-76 + MediaDisplay.tsx | 0 | 0 | 0 | 0 | 1-82 + MediaDisplayAudio.tsx | 0 | 0 | 0 | 0 | 1-30 + MediaDisplayGLB.tsx | 0 | 0 | 0 | 0 | 3-80 + MediaDisplayImage.tsx | 0 | 0 | 0 | 0 | 3-60 + MediaDisplayVideo.tsx | 0 | 0 | 0 | 0 | 3-92 + components/drops/view/item/content/nft-tag | 0 | 0 | 0 | 0 | + DropListItemContentNft.tsx | 0 | 0 | 0 | 0 | 3-82 + DropListItemContentNftDetails.tsx | 0 | 0 | 0 | 0 | 3-16 + components/drops/view/item/options/delete | 0 | 0 | 0 | 0 | + DropsListItemDeleteDropModal.tsx | 0 | 0 | 0 | 0 | 3-75 + components/drops/view/item/rate/give | 0 | 0 | 0 | 0 | + DropListItemRateGive.tsx | 0 | 0 | 0 | 0 | 3-210 + DropListItemRateGiveChangeButton.tsx | 0 | 0 | 0 | 0 | 3-74 + DropListItemRateGiveSubmit.tsx | 0 | 0 | 0 | 0 | 3-187 + components/drops/view/item/rate/give/clap | 0 | 0 | 0 | 0 | + DropListItemRateGiveClap.tsx | 0 | 0 | 0 | 0 | 3-238 + components/drops/view/part | 0 | 0 | 0 | 0 | + DropPart.tsx | 0 | 0 | 0 | 0 | 3-230 + DropPart.types.ts | 0 | 0 | 0 | 0 | 1-4 + DropPartContent.tsx | 0 | 0 | 0 | 0 | 1-51 + DropPartMarkdown.tsx | 0 | 0 | 0 | 0 | 3-346 + DropPartMarkdownImage.tsx | 0 | 0 | 0 | 0 | 3-227 + DropPartMarkdownWithPropLogger.tsx | 0 | 0 | 0 | 0 | 1-53 + components/drops/view/part/dropPartMarkdown | 0 | 0 | 0 | 0 | + content.tsx | 0 | 0 | 0 | 0 | 1-257 + highlight.ts | 0 | 0 | 0 | 0 | 3-87 + linkHandlers.tsx | 0 | 0 | 0 | 0 | 7-192 + linkUtils.tsx | 0 | 0 | 0 | 0 | 4-119 + pepe.tsx | 0 | 0 | 0 | 0 | 1-56 + renderers.tsx | 0 | 0 | 0 | 0 | 2-103 + tiktok.ts | 0 | 0 | 0 | 0 | 8-61 + twitter.ts | 0 | 0 | 0 | 0 | 1-80 + youtube.ts | 0 | 0 | 0 | 0 | 1-68 + youtubePreview.tsx | 0 | 0 | 0 | 0 | 1-164 + components/drops/view/part/dropPartMarkdown/handlers | 0 | 0 | 0 | 0 | + artBlocks.tsx | 0 | 0 | 0 | 0 | 1-74 + compound.tsx | 0 | 0 | 0 | 0 | 1-28 + ens.tsx | 0 | 100 | 0 | 0 | 1-12 + farcaster.tsx | 0 | 0 | 0 | 0 | 1-23 + gif.tsx | 0 | 0 | 0 | 0 | 1-23 + googleWorkspace.tsx | 0 | 0 | 0 | 0 | 1-29 + index.ts | 0 | 100 | 0 | 0 | 2-28 + pepe.tsx | 0 | 0 | 0 | 0 | 1-12 + seize.tsx | 0 | 0 | 0 | 0 | 4-129 + tiktok.tsx | 0 | 100 | 0 | 0 | 1-7 + twitter.tsx | 0 | 100 | 0 | 0 | 1-7 + wikimedia.tsx | 0 | 100 | 0 | 0 | 1-8 + youtube.tsx | 0 | 100 | 0 | 0 | 1-7 + components/drops/view/utils | 0 | 0 | 0 | 0 | + DropVoteProgressing.tsx | 0 | 0 | 0 | 0 | 1-42 + components/dynamic-head | 0 | 0 | 0 | 0 | + DynamicHeadTitle.tsx | 0 | 0 | 0 | 0 | 3-15 + components/error | 0 | 0 | 0 | 0 | + Error.tsx | 0 | 0 | 0 | 0 | 3-114 + components/eula | 0 | 0 | 0 | 0 | + EULAConsentContext.tsx | 0 | 0 | 0 | 0 | 3-99 + EULAModal.tsx | 0 | 0 | 0 | 0 | 3-40 + components/footer | 0 | 0 | 0 | 0 | + Footer.tsx | 0 | 0 | 0 | 0 | 1-44 + components/gas-royalties | 0 | 0 | 0 | 0 | + Gas.tsx | 0 | 0 | 0 | 0 | 3-141 + GasRoyalties.tsx | 0 | 0 | 0 | 0 | 3-422 + Royalties.tsx | 0 | 0 | 0 | 0 | 3-219 + components/groups/header | 0 | 0 | 0 | 0 | + GroupHeader.tsx | 0 | 100 | 0 | 0 | 1-4 + GroupHeaderSelect.tsx | 0 | 0 | 0 | 0 | 3-42 + components/groups/page | 0 | 0 | 0 | 0 | + Groups.tsx | 0 | 0 | 0 | 0 | 3-73 + GroupsPageListWrapper.tsx | 0 | 0 | 0 | 0 | 3-167 + components/groups/page/create | 0 | 0 | 0 | 0 | + GroupCreate.tsx | 0 | 0 | 0 | 0 | 3-283 + GroupCreateConfigHeader.tsx | 0 | 100 | 0 | 0 | 1-2 + GroupCreateHeader.tsx | 0 | 100 | 0 | 0 | 1-2 + GroupCreateName.tsx | 0 | 100 | 0 | 0 | 1-14 + GroupCreateWrapper.tsx | 0 | 100 | 0 | 0 | 1-6 + components/groups/page/create/actions | 0 | 0 | 0 | 0 | + GroupCreateActions.tsx | 0 | 0 | 0 | 0 | 3-72 + GroupCreateTest.tsx | 0 | 0 | 0 | 0 | 3-95 + components/groups/page/create/config | 0 | 0 | 0 | 0 | + GroupCreateCIC.tsx | 0 | 0 | 0 | 0 | 2-57 + GroupCreateConfig.tsx | 0 | 100 | 0 | 0 | 2-50 + GroupCreateIdentitySelectedItems.tsx | 0 | 0 | 0 | 0 | 3-44 + GroupCreateLevel.tsx | 0 | 100 | 0 | 0 | 2-25 + GroupCreateRep.tsx | 0 | 0 | 0 | 0 | 4-80 + GroupCreateTDH.tsx | 0 | 100 | 0 | 0 | 2-25 + components/groups/page/create/config/common | 0 | 0 | 0 | 0 | + GroupCreateDirection.tsx | 0 | 100 | 0 | 0 | 1-26 + GroupCreateNumericValue.tsx | 0 | 0 | 0 | 0 | 1-24 + components/groups/page/create/config/identities/select | 0 | 0 | 0 | 0 | + GroupCreateIdentitiesSearch.tsx | 0 | 0 | 0 | 0 | 3-48 + GroupCreateIdentitiesSearchItem.tsx | 0 | 0 | 0 | 0 | 2-19 + GroupCreateIdentitiesSearchItems.tsx | 0 | 0 | 0 | 0 | 2-66 + GroupCreateIdentitiesSearchItemsContent.tsx | 0 | 0 | 0 | 0 | 2-38 + GroupCreateIdentitiesSelect.tsx | 0 | 100 | 0 | 0 | 1-16 + components/groups/page/create/config/include-me-and-private | 0 | 0 | 0 | 0 | + GroupCreateIncludeMe.tsx | 0 | 0 | 0 | 0 | 1-21 + GroupCreateIncludeMeAndPrivate.tsx | 0 | 100 | 0 | 0 | 1-15 + GroupCreatePrivate.tsx | 0 | 0 | 0 | 0 | 1-21 + components/groups/page/create/config/nfts | 0 | 0 | 0 | 0 | + GroupCreateCollections.tsx | 0 | 0 | 0 | 0 | 2-51 + GroupCreateNftSearch.tsx | 0 | 0 | 0 | 0 | 3-46 + GroupCreateNftSearchItem.tsx | 0 | 0 | 0 | 0 | 1-61 + GroupCreateNftSearchItems.tsx | 0 | 0 | 0 | 0 | 1-39 + GroupCreateNftSearchItemsContent.tsx | 0 | 0 | 0 | 0 | 3-39 + GroupCreateNfts.tsx | 0 | 0 | 0 | 0 | 1-74 + GroupCreateNftsSelect.tsx | 0 | 100 | 0 | 0 | 3-12 + GroupCreateNftsSelected.tsx | 0 | 100 | 0 | 0 | 5-27 + GroupCreateNftsSelectedItem.tsx | 0 | 0 | 0 | 0 | 1-59 + components/groups/page/create/config/rep | 0 | 0 | 0 | 0 | + PositiveOnlyToggle.tsx | 0 | 0 | 0 | 0 | 1-25 + components/groups/page/create/config/wallets | 0 | 0 | 0 | 0 | + CreateGroupWalletsEmma.tsx | 0 | 0 | 0 | 0 | 3-52 + CreateGroupWalletsUpload.tsx | 0 | 0 | 0 | 0 | 3-127 + GroupCreateWallets.tsx | 0 | 0 | 0 | 0 | 3-165 + GroupCreateWalletsCount.tsx | 0 | 0 | 0 | 0 | 1-13 + GroupCreateWalletsCountText.tsx | 0 | 0 | 0 | 0 | 1-22 + components/groups/page/list | 0 | 0 | 0 | 0 | + GroupsList.tsx | 0 | 0 | 0 | 0 | 3-124 + components/groups/page/list/card | 0 | 0 | 0 | 0 | + GroupCard.tsx | 0 | 0 | 0 | 0 | 3-121 + GroupCardActionWrapper.tsx | 0 | 0 | 0 | 0 | 3-48 + GroupCardChat.tsx | 0 | 0 | 0 | 0 | 1-26 + GroupCardConfig.tsx | 0 | 100 | 0 | 0 | 1-18 + GroupCardConfigs.tsx | 0 | 0 | 0 | 0 | 3-238 + GroupCardContent.tsx | 0 | 0 | 0 | 0 | 3-92 + GroupCardHeader.tsx | 0 | 0 | 0 | 0 | 3-64 + GroupCardView.tsx | 0 | 100 | 0 | 0 | 3-21 + components/groups/page/list/card/actions | 0 | 0 | 0 | 0 | + GroupCardEditActions.tsx | 0 | 0 | 0 | 0 | 3-67 + components/groups/page/list/card/actions/delete | 0 | 0 | 0 | 0 | + GroupCardDelete.tsx | 0 | 0 | 0 | 0 | 3-37 + GroupCardDeleteModal.tsx | 0 | 0 | 0 | 0 | 3-63 + components/groups/page/list/card/utils | 0 | 0 | 0 | 0 | + GroupCardActionCreditDirection.tsx | 0 | 0 | 0 | 0 | 1-47 + GroupCardActionFooter.tsx | 0 | 100 | 0 | 0 | 1-14 + GroupCardActionNumberInput.tsx | 0 | 0 | 0 | 0 | 2-36 + GroupCardActionStats.tsx | 0 | 0 | 0 | 0 | 3-119 + components/groups/page/list/card/vote-all | 0 | 0 | 0 | 0 | + GroupCardVoteAll.tsx | 0 | 0 | 0 | 0 | 3-217 + GroupCardVoteAllInputs.tsx | 0 | 100 | 0 | 0 | 2-66 + components/groups/page/list/search | 0 | 0 | 0 | 0 | + GroupsListSearch.tsx | 0 | 0 | 0 | 0 | 1-69 + components/groups/select | 0 | 0 | 0 | 0 | + GroupItems.tsx | 0 | 100 | 0 | 0 | 1-22 + GroupSelect.tsx | 0 | 0 | 0 | 0 | 3-122 + GroupsSelectActiveGroup.tsx | 0 | 0 | 0 | 0 | 3-81 + components/groups/select/item | 0 | 0 | 0 | 0 | + GroupItem.tsx | 0 | 0 | 0 | 0 | 3-91 + GroupItemWrapper.tsx | 0 | 0 | 0 | 0 | 2-38 + components/groups/sidebar | 0 | 0 | 0 | 0 | + GroupsSidebar.tsx | 0 | 100 | 0 | 0 | 1-5 + GroupsSidebarApp.tsx | 0 | 100 | 0 | 0 | 1-20 + GroupsSidebarAppToggle.tsx | 0 | 0 | 0 | 0 | 1-29 + GroupsSidebarToggle.tsx | 0 | 0 | 0 | 0 | 1-61 + components/header | 0 | 0 | 0 | 0 | + AppHeader.tsx | 0 | 0 | 0 | 0 | 3-152 + AppSidebar.tsx | 0 | 0 | 0 | 0 | 2-151 + AppSidebarHeader.tsx | 0 | 0 | 0 | 0 | 3-48 + AppSidebarMenuItems.tsx | 0 | 0 | 0 | 0 | 1-99 + AppSidebarUserInfo.tsx | 0 | 0 | 0 | 0 | 1-56 + AppSidebarUserStats.tsx | 0 | 0 | 0 | 0 | 1-41 + AppUserConnect.tsx | 0 | 0 | 0 | 0 | 1-55 + HeaderActionButtons.tsx | 0 | 0 | 0 | 0 | 3-63 + HeaderPlaceholder.tsx | 0 | 0 | 0 | 0 | 1-7 + components/header/header-search | 0 | 0 | 0 | 0 | + HeaderSearchButton.tsx | 0 | 0 | 0 | 0 | 3-71 + HeaderSearchModal.tsx | 0 | 0 | 0 | 0 | 3-960 + HeaderSearchModalItem.tsx | 0 | 0 | 0 | 0 | 3-221 + HeaderSearchModalItemMedia.tsx | 0 | 0 | 0 | 0 | 1-55 + HeaderSearchModalPfp.tsx | 0 | 0 | 0 | 0 | 3-37 + HeaderSearchTabToggle.tsx | 0 | 0 | 0 | 0 | 1-44 + components/header/proxy | 0 | 0 | 0 | 0 | + HeaderProxyNewModal.tsx | 0 | 0 | 0 | 0 | 5-284 + components/header/share | 0 | 0 | 0 | 0 | + HeaderQRScanner.tsx | 0 | 0 | 0 | 0 | 3-182 + HeaderShare.tsx | 0 | 0 | 0 | 0 | 3-578 + HeaderShareMobileApps.tsx | 0 | 0 | 0 | 0 | 1-27 + components/header/user | 0 | 100 | 0 | 0 | + HeaderUserConnect.tsx | 0 | 100 | 0 | 0 | 1-8 + components/header/user/proxy | 0 | 0 | 0 | 0 | + HeaderUserProxyDropdown.tsx | 0 | 0 | 0 | 0 | 3-183 + HeaderUserProxyDropdownItem.tsx | 0 | 0 | 0 | 0 | 3-25 + components/home | 0 | 0 | 0 | 0 | + FeaturedNFTDetailsColumn.tsx | 0 | 0 | 0 | 0 | 3-37 + FeaturedNFTDetailsTable.tsx | 0 | 100 | 0 | 0 | 2-19 + FeaturedNFTImageColumn.tsx | 0 | 0 | 0 | 0 | 1-11 + Home.tsx | 0 | 0 | 0 | 0 | 2-26 + HomeApp.tsx | 0 | 0 | 0 | 0 | 5-79 + HomeFeed.tsx | 0 | 0 | 0 | 0 | 3-117 + HomePage.tsx | 0 | 0 | 0 | 0 | 3-28 + HomePageTabs.tsx | 0 | 0 | 0 | 0 | 3-62 + HomeWeb.tsx | 0 | 0 | 0 | 0 | 3-59 + LatestDropSection.tsx | 0 | 100 | 0 | 0 | 2-15 + ManifoldClaimTable.tsx | 0 | 100 | 0 | 0 | 1-16 + MintingApproachSection.tsx | 0 | 100 | 0 | 0 | 1-11 + useHomeTabs.ts | 0 | 0 | 0 | 0 | 3-108 + components/ipfs | 0 | 0 | 0 | 0 | + IPFSContext.tsx | 0 | 0 | 0 | 0 | 3-92 + IPFSService.ts | 0 | 0 | 0 | 0 | 1-80 + components/latest-activity | 0 | 0 | 0 | 0 | + ActivityFilters.tsx | 0 | 0 | 0 | 0 | 3-49 + ActivityHeader.tsx | 0 | 0 | 0 | 0 | 3-17 + ActivityTable.tsx | 0 | 0 | 0 | 0 | 3-46 + LatestActivity.tsx | 0 | 0 | 0 | 0 | 6-91 + LatestActivityRow.tsx | 0 | 0 | 0 | 0 | 1-448 + fetchInitialActivityData.ts | 0 | 0 | 0 | 0 | 5-67 + components/layout | 0 | 0 | 0 | 0 | + AppLayout.tsx | 0 | 0 | 0 | 0 | 3-58 + MobileLayout.tsx | 0 | 0 | 0 | 0 | 1-28 + SmallScreenHeader.tsx | 0 | 0 | 0 | 0 | 3-17 + SmallScreenLayout.tsx | 0 | 0 | 0 | 0 | 3-57 + WebLayout.tsx | 0 | 0 | 0 | 0 | 3-77 + components/layout/sidebar | 0 | 0 | 0 | 0 | + WebSidebar.tsx | 0 | 0 | 0 | 0 | 3-202 + WebSidebarHeader.tsx | 0 | 0 | 0 | 0 | 3-48 + WebSidebarNav.tsx | 0 | 0 | 0 | 0 | 3-382 + WebSidebarUser.tsx | 0 | 0 | 0 | 0 | 3-158 + components/layout/sidebar/nav | 0 | 0 | 0 | 0 | + WebSidebarExpandable.tsx | 0 | 0 | 0 | 0 | 3-151 + WebSidebarExpandableGroup.tsx | 0 | 0 | 0 | 0 | 3-88 + WebSidebarNavItem.tsx | 0 | 0 | 0 | 0 | 3-118 + WebSidebarSubmenu.tsx | 0 | 0 | 0 | 0 | 3-183 + components/leaderboard | 0 | 0 | 0 | 0 | + Leaderboard.tsx | 0 | 0 | 0 | 0 | 3-271 + LeaderboardCardsCollected.tsx | 0 | 0 | 0 | 0 | 4-178 + LeaderboardCollector.tsx | 0 | 0 | 0 | 0 | 2-35 + LeaderboardDownload.tsx | 0 | 0 | 0 | 0 | 1-73 + LeaderboardInteractions.tsx | 0 | 0 | 0 | 0 | 3-199 + LeaderboardSort.tsx | 0 | 0 | 0 | 0 | 1-42 + MemeLabLeaderboard.tsx | 0 | 0 | 0 | 0 | 3-162 + NFTLeaderboard.tsx | 0 | 0 | 0 | 0 | 3-471 + leaderboard_helpers.ts | 0 | 0 | 0 | 0 | 3-205 + components/levels | 0 | 0 | 0 | 0 | + ProgressChart.tsx | 0 | 0 | 0 | 0 | 3-94 + TableOfLevels.tsx | 0 | 100 | 0 | 0 | 1-29 + components/lfg-slideshow | 0 | 0 | 0 | 0 | + LFGSlideshow.tsx | 0 | 0 | 0 | 0 | 3-194 + components/manifoldMinting | 0 | 0 | 0 | 0 | + ManifoldMinting.tsx | 0 | 0 | 0 | 0 | 3-616 + ManifoldMintingConnect.tsx | 0 | 0 | 0 | 0 | 3-207 + ManifoldMintingWidget.tsx | 0 | 0 | 0 | 0 | 3-505 + manifold-types.ts | 0 | 0 | 0 | 0 | 87-92 + components/mapping-tools | 0 | 0 | 0 | 0 | + ConsolidationMappingTool.tsx | 0 | 0 | 0 | 0 | 3-246 + DelegationMappingTool.tsx | 0 | 0 | 0 | 0 | 3-279 + components/meme-calendar | 0 | 0 | 0 | 0 | + MemeCalendar.tsx | 0 | 0 | 0 | 0 | 3-1242 + MemeCalendarOverview.tsx | 0 | 0 | 0 | 0 | 3-534 + MemesMintingCalendar.tsx | 0 | 0 | 0 | 0 | 2-36 + meme-calendar.helpers.tsx | 0 | 0 | 0 | 0 | 1-946 + meme-calendar.overrides.extra.ts | 0 | 100 | 100 | 0 | 3 + meme-calendar.overrides.rescheduled.ts | 0 | 100 | 100 | 0 | 3 + meme-calendar.overrides.skipped.ts | 0 | 100 | 100 | 0 | 3 + meme-calendar.overrides.ts | 0 | 0 | 0 | 0 | 1-83 + meme-calendar.szn1.ts | 0 | 0 | 0 | 0 | 5-61 + components/memelab | 0 | 0 | 0 | 0 | + MemeLab.tsx | 0 | 0 | 0 | 0 | 3-695 + MemeLabCollection.tsx | 0 | 0 | 0 | 0 | 3-218 + MemeLabPage.tsx | 0 | 0 | 0 | 0 | 3-1418 + components/memes/drops | 0 | 0 | 0 | 0 | + MemeDropTrait.tsx | 0 | 0 | 0 | 0 | 1-73 + MemeDropTraits.tsx | 0 | 0 | 0 | 0 | 3-88 + MemeParticipationDrop.tsx | 0 | 0 | 0 | 0 | 3-178 + MemeWinnerArtistInfo.tsx | 0 | 0 | 0 | 0 | 1-68 + MemeWinnerDescription.tsx | 0 | 100 | 0 | 0 | 1-10 + MemeWinnerDrop.tsx | 0 | 0 | 0 | 0 | 3-58 + MemeWinnerHeader.tsx | 0 | 100 | 0 | 0 | 1-10 + MemesLeaderboardDrop.tsx | 0 | 0 | 0 | 0 | 3-202 + MemesLeaderboardDropArtistInfo.tsx | 0 | 0 | 0 | 0 | 3-108 + MemesLeaderboardDropCard.tsx | 0 | 0 | 0 | 0 | 1-42 + MemesLeaderboardDropDescription.tsx | 0 | 100 | 0 | 0 | 1-17 + MemesLeaderboardDropHeader.tsx | 0 | 100 | 0 | 0 | 1-17 + MemesLeaderboardDropVoteSummary.tsx | 0 | 0 | 0 | 0 | 1-116 + components/memes/drops/meme-participation-drop | 0 | 0 | 0 | 0 | + MemeDropActions.tsx | 0 | 0 | 0 | 0 | 1-24 + MemeDropArtistInfo.tsx | 0 | 0 | 0 | 0 | 3-92 + MemeDropDescription.tsx | 0 | 100 | 0 | 0 | 1-10 + MemeDropHeader.tsx | 0 | 100 | 0 | 0 | 1-8 + MemeDropVoteStats.tsx | 0 | 0 | 0 | 0 | 1-60 + components/messages | 0 | 0 | 0 | 0 | + MessagesDesktop.tsx | 0 | 100 | 0 | 0 | 3-25 + MessagesMobile.tsx | 0 | 100 | 0 | 0 | 3-21 + MessagesView.tsx | 0 | 0 | 0 | 0 | 3-77 + components/messages/layout | 0 | 0 | 0 | 0 | + MessagesLayout.tsx | 0 | 0 | 0 | 0 | 3-95 + components/mint-countdown-box | 0 | 0 | 0 | 0 | + MemePageMintCountdown.tsx | 0 | 0 | 0 | 0 | 3-60 + MintCountdownBox.tsx | 0 | 0 | 0 | 0 | 1-70 + components/mobile-wrapper-dialog | 0 | 0 | 0 | 0 | + MobileWrapperDialog.tsx | 0 | 0 | 0 | 0 | 1-66 + components/monitoring | 0 | 0 | 0 | 0 | + AwsRumProvider.tsx | 0 | 0 | 0 | 0 | 3-71 + components/navigation | 0 | 0 | 0 | 0 | + BackButton.tsx | 0 | 0 | 0 | 0 | 3-105 + BottomNavigation.tsx | 0 | 0 | 0 | 0 | 3-126 + NavItem.tsx | 0 | 0 | 0 | 0 | 3-158 + ViewContext.tsx | 0 | 0 | 0 | 0 | 3-210 + isNavItemActive.ts | 0 | 0 | 0 | 0 | 4-88 + components/nextGen | 0 | 0 | 0 | 0 | + NextGenContractWriteStatus.tsx | 0 | 0 | 0 | 0 | 3-115 + nextgen_contracts.ts | 0 | 0 | 0 | 0 | 1-68 + nextgen_entities.ts | 0 | 0 | 0 | 0 | 51-84 + nextgen_helpers.ts | 0 | 0 | 0 | 0 | 3-608 + components/nextGen/admin | 0 | 0 | 0 | 0 | + NextGenAdmin.tsx | 0 | 0 | 0 | 0 | 3-962 + NextGenAdminAcceptAddressesAndPercentages.tsx | 0 | 0 | 0 | 0 | 3-390 + NextGenAdminAddRandomizer.tsx | 0 | 0 | 0 | 0 | 3-127 + NextGenAdminAirdropTokens.tsx | 0 | 0 | 0 | 0 | 3-218 + NextGenAdminArtistSignCollection.tsx | 0 | 0 | 0 | 0 | 3-135 + NextGenAdminChangeMetadataView.tsx | 0 | 0 | 0 | 0 | 3-162 + NextGenAdminCreateCollection.tsx | 0 | 0 | 0 | 0 | 3-160 + NextGenAdminInitializeBurn.tsx | 0 | 0 | 0 | 0 | 3-240 + NextGenAdminInitializeExternalBurnSwap.tsx | 0 | 0 | 0 | 0 | 3-259 + NextGenAdminMintAndAuction.tsx | 0 | 0 | 0 | 0 | 3-148 + NextGenAdminPayArtist.tsx | 0 | 0 | 0 | 0 | 3-147 + NextGenAdminProposeAddressesAndPercentages.tsx | 0 | 0 | 0 | 0 | 3-200 + NextGenAdminRegisterAdmin.tsx | 0 | 0 | 0 | 0 | 3-209 + NextGenAdminSetCosts.tsx | 0 | 0 | 0 | 0 | 3-220 + NextGenAdminSetData.tsx | 0 | 0 | 0 | 0 | 3-168 + NextGenAdminSetFinalSupply.tsx | 0 | 0 | 0 | 0 | 3-110 + NextGenAdminSetPhases.tsx | 0 | 0 | 0 | 0 | 3-272 + NextGenAdminSetSplits.tsx | 0 | 0 | 0 | 0 | 3-200 + NextGenAdminShared.tsx | 0 | 0 | 0 | 0 | 1-129 + NextGenAdminUpdateCollection.tsx | 0 | 0 | 0 | 0 | 3-325 + NextGenAdminUpdateImagesAttributes.tsx | 0 | 0 | 0 | 0 | 3-150 + NextGenAdminUploadAL.tsx | 0 | 0 | 0 | 0 | 3-238 + components/nextGen/collections | 0 | 0 | 0 | 0 | + NextGen.tsx | 0 | 0 | 0 | 0 | 1-197 + NextGenAbout.tsx | 0 | 100 | 0 | 0 | 1-5 + NextGenArtists.tsx | 0 | 0 | 0 | 0 | 3-61 + NextGenCollectionPreview.tsx | 0 | 100 | 0 | 0 | 1-38 + NextGenCollections.tsx | 0 | 0 | 0 | 0 | 3-108 + NextGenNavigationHeader.tsx | 0 | 0 | 0 | 0 | 3-101 + NextGenTokenList.tsx | 0 | 0 | 0 | 0 | 3-200 + NextGenTokenOnChain.tsx | 0 | 0 | 0 | 0 | 3-269 + components/nextGen/collections/collectionParts | 0 | 0 | 0 | 0 | + NextGenCollection.tsx | 0 | 0 | 0 | 0 | 3-84 + NextGenCollectionArt.tsx | 0 | 0 | 0 | 0 | 3-495 + NextGenCollectionArtist.tsx | 0 | 0 | 0 | 0 | 5-81 + NextGenCollectionDetails.tsx | 0 | 0 | 0 | 0 | 4-328 + NextGenCollectionHeader.tsx | 0 | 0 | 0 | 0 | 3-388 + NextGenCollectionProvenance.tsx | 0 | 0 | 0 | 0 | 3-293 + NextGenCollectionSlideshow.tsx | 0 | 100 | 0 | 0 | 1-15 + NextGenTraitSets.tsx | 0 | 0 | 0 | 0 | 3-571 + components/nextGen/collections/collectionParts/art | 0 | 100 | 0 | 0 | + NextGenCollectionArtPage.tsx | 0 | 100 | 0 | 0 | 1-12 + components/nextGen/collections/collectionParts/hooks | 0 | 0 | 0 | 0 | + SlideshowHeader.tsx | 0 | 100 | 0 | 0 | 3-17 + SwiperAutoplayButton.tsx | 0 | 0 | 0 | 0 | 3-33 + TokenSlideshow.tsx | 0 | 0 | 0 | 0 | 3-58 + fetchInitialTokens.ts | 0 | 100 | 0 | 0 | 2-21 + useSlideshowAutoplay.ts | 0 | 0 | 0 | 0 | 1-37 + useSlideshowConfig.ts | 0 | 0 | 0 | 0 | 1-27 + useTokenSlideshow.ts | 0 | 0 | 0 | 0 | 1-80 + components/nextGen/collections/collectionParts/mint | 0 | 0 | 0 | 0 | + NextGenCollectionMint.tsx | 0 | 0 | 0 | 0 | 3-59 + NextGenMint.tsx | 0 | 0 | 0 | 0 | 3-398 + NextGenMintBurnWidget.tsx | 0 | 0 | 0 | 0 | 3-402 + NextGenMintShared.tsx | 0 | 0 | 0 | 0 | 1-65 + NextGenMintWidget.tsx | 0 | 0 | 0 | 0 | 3-581 + NextgenCollectionMintingPlan.tsx | 0 | 0 | 0 | 0 | 3-273 + components/nextGen/collections/nextgenToken | 0 | 0 | 0 | 0 | + Lightbulb.tsx | 0 | 0 | 0 | 0 | 1-37 + NextGenToken.tsx | 0 | 0 | 0 | 0 | 3-308 + NextGenTokenAbout.tsx | 0 | 0 | 0 | 0 | 3-411 + NextGenTokenArt.tsx | 0 | 0 | 0 | 0 | 3-367 + NextGenTokenDownload.tsx | 0 | 0 | 0 | 0 | 3-185 + NextGenTokenImage.tsx | 0 | 0 | 0 | 0 | 2-326 + NextGenTokenProperties.tsx | 0 | 0 | 0 | 0 | 3-416 + NextGenTokenProvenance.tsx | 0 | 0 | 0 | 0 | 3-147 + NextGenTokenRenderCenter.tsx | 0 | 0 | 0 | 0 | 3-188 + NextGenZoomableImage.tsx | 0 | 0 | 0 | 0 | 3-293 + components/nft-attributes | 0 | 0 | 0 | 0 | + NFTAttributes.tsx | 0 | 100 | 0 | 0 | 1-13 + NftStats.tsx | 0 | 0 | 0 | 0 | 1-56 + components/nft-image | 0 | 0 | 0 | 0 | + NFTImage.tsx | 0 | 0 | 0 | 0 | 2-51 + NFTImageBalance.tsx | 0 | 0 | 0 | 0 | 3-58 + NFTModel.tsx | 0 | 0 | 0 | 0 | 1-7 + RememeImage.tsx | 0 | 0 | 0 | 0 | 1-117 + components/nft-image/renderers | 0 | 0 | 0 | 0 | + NFTHTMLRenderer.tsx | 0 | 0 | 0 | 0 | 3-24 + NFTImageRenderer.tsx | 0 | 0 | 0 | 0 | 3-56 + NFTModelRenderer.tsx | 0 | 0 | 0 | 0 | 3-16 + NFTVideoRenderer.tsx | 0 | 0 | 0 | 0 | 3-42 + components/nft-image/utils | 0 | 0 | 0 | 0 | + media-type.ts | 0 | 0 | 0 | 0 | 5-25 + components/nft-marketplace-links | 0 | 0 | 0 | 0 | + NFTMarketplaceLinks.tsx | 0 | 0 | 0 | 0 | 1-16 + components/nft-navigation | 0 | 0 | 0 | 0 | + NftNavigation.tsx | 0 | 0 | 0 | 0 | 1-50 + components/nft-picker | 0 | 0 | 0 | 0 | + NftPicker.tsx | 0 | 100 | 0 | 0 | 2 + NftPicker.types.ts | 0 | 100 | 100 | 0 | 2 + NftPicker.utils.ts | 0 | 100 | 100 | 0 | 2 + index.tsx | 0 | 0 | 0 | 0 | 4-341 + components/nft-picker/hooks | 0 | 0 | 0 | 0 | + index.ts | 0 | 100 | 100 | 0 | 1-3 + useNftSearch.ts | 0 | 0 | 0 | 0 | 1-83 + useNftSelection.ts | 0 | 0 | 0 | 0 | 1-311 + useNftTokenInput.ts | 0 | 0 | 0 | 0 | 1-144 + components/nft-picker/subcomponents | 0 | 0 | 0 | 0 | + AllTokensSelectedCard.tsx | 0 | 100 | 0 | 0 | 1-16 + NftContractHeader.tsx | 0 | 0 | 0 | 0 | 3-22 + NftEditRanges.tsx | 0 | 0 | 0 | 0 | 3-196 + NftPickerActions.tsx | 0 | 0 | 0 | 0 | 1-21 + NftPickerInput.tsx | 0 | 0 | 0 | 0 | 15-29 + NftPickerSearch.tsx | 0 | 0 | 0 | 0 | 4-54 + NftPickerStatus.tsx | 0 | 100 | 0 | 0 | 3-20 + NftSuggestFooter.tsx | 0 | 0 | 0 | 0 | 6-10 + NftSuggestHiddenSelect.tsx | 0 | 0 | 0 | 0 | 1-54 + NftSuggestItem.tsx | 0 | 0 | 0 | 0 | 1-46 + NftSuggestList.tsx | 0 | 0 | 0 | 0 | 1-66 + NftSuggestSentinel.tsx | 0 | 0 | 0 | 0 | 10-16 + NftSuggestVirtualList.tsx | 0 | 0 | 0 | 0 | 3-62 + NftTokenList.tsx | 0 | 0 | 0 | 0 | 10-43 + index.ts | 0 | 100 | 100 | 0 | 1-9 + components/nft-picker/utils | 0 | 0 | 0 | 0 | + constants.ts | 0 | 100 | 100 | 0 | 1-4 + errors.ts | 0 | 0 | 0 | 0 | 2-55 + formatting.ts | 0 | 0 | 0 | 0 | 2-70 + index.ts | 0 | 100 | 100 | 0 | 1-5 + mappers.ts | 0 | 100 | 0 | 0 | 3-4 + parsing.ts | 0 | 0 | 0 | 0 | 2-224 + ranges.ts | 0 | 0 | 0 | 0 | 2-203 + components/nft-transfer | 0 | 0 | 0 | 0 | + TransferModal.tsx | 0 | 0 | 0 | 0 | 3-1489 + TransferModalPfp.tsx | 0 | 0 | 0 | 0 | 3-37 + TransferPanel.tsx | 0 | 0 | 0 | 0 | 3-329 + TransferSingle.tsx | 0 | 0 | 0 | 0 | 3-180 + TransferState.tsx | 0 | 0 | 0 | 0 | 4-217 + TransferToggle.tsx | 0 | 0 | 0 | 0 | 3-57 + components/not-found | 0 | 0 | 0 | 0 | + NotFound.tsx | 0 | 0 | 0 | 0 | 3-23 + components/nothingHereYet | 0 | 100 | 0 | 0 | + NothingHereYetSummer.tsx | 0 | 100 | 0 | 0 | 1-4 + components/notifications | 0 | 0 | 0 | 0 | + NotificationsContext.tsx | 0 | 0 | 0 | 0 | 3-280 + NotificationsPage.tsx | 0 | 0 | 0 | 0 | 3-30 + stable-device-id.ts | 0 | 0 | 0 | 0 | 1-26 + components/pagination | 0 | 0 | 0 | 0 | + Pagination.tsx | 0 | 0 | 0 | 0 | 3-73 + components/pdfViewer | 0 | 0 | 0 | 0 | + PdfViewer.tsx | 0 | 0 | 0 | 0 | 1-26 + components/prenodes | 0 | 0 | 0 | 0 | + PrenodesStatus.tsx | 0 | 0 | 0 | 0 | 3-222 + components/profile-activity | 0 | 0 | 0 | 0 | + ProfileActivityLogs.tsx | 0 | 0 | 0 | 0 | 5-151 + ProfileName.tsx | 0 | 0 | 0 | 0 | 4-45 + components/profile-activity/filter | 0 | 0 | 0 | 0 | + ProfileActivityLogsFilter.tsx | 0 | 0 | 0 | 0 | 3-62 + ProfileActivityLogsFilterList.tsx | 0 | 100 | 0 | 0 | 2-18 + ProfileActivityLogsFilterListItem.tsx | 0 | 0 | 0 | 0 | 3-31 + components/profile-activity/icons | 0 | 0 | 0 | 0 | + ProfileActivityLogsBannerIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsCICRatingIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsCertificateIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsContactIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsGeneralCICStatementIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsHandleIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsIcon.tsx | 0 | 0 | 0 | 0 | 1-63 + ProfileActivityLogsNFTAccountStatementIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsProfileArchivedIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsProfileImageIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsProxyActionChangedIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsProxyActionCreatedIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsProxyActionStateChangedIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsProxyCreatedIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsSocialMediaAccountIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + ProfileActivityLogsSocialMediaVerificationPostIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + components/profile-activity/list | 0 | 0 | 0 | 0 | + ProfileActivityLogsItem.tsx | 0 | 0 | 0 | 0 | 2-67 + ProfileActivityLogsList.tsx | 0 | 0 | 0 | 0 | 2-17 + components/profile-activity/list/items | 0 | 0 | 0 | 0 | + ProfileActivityLogBanner.tsx | 0 | 0 | 0 | 0 | 5-23 + ProfileActivityLogClassification.tsx | 0 | 0 | 0 | 0 | 1-13 + ProfileActivityLogContact.tsx | 0 | 100 | 0 | 0 | 1-14 + ProfileActivityLogGeneralStatement.tsx | 0 | 100 | 0 | 0 | 2-9 + ProfileActivityLogHandle.tsx | 0 | 0 | 0 | 0 | 2-10 + ProfileActivityLogNFTAccount.tsx | 0 | 100 | 0 | 0 | 1-14 + ProfileActivityLogPfp.tsx | 0 | 0 | 0 | 0 | 2-15 + ProfileActivityLogProfileArchived.tsx | 0 | 100 | 0 | 0 | 3-8 + ProfileActivityLogProxy.tsx | 0 | 0 | 0 | 0 | 3-21 + ProfileActivityLogProxyAction.tsx | 0 | 0 | 0 | 0 | 3-23 + ProfileActivityLogProxyActionChange.tsx | 0 | 0 | 0 | 0 | 3-46 + ProfileActivityLogProxyActionState.tsx | 0 | 0 | 0 | 0 | 3-31 + ProfileActivityLogRate.tsx | 0 | 0 | 0 | 0 | 3-99 + ProfileActivityLogSocialMedia.tsx | 0 | 100 | 0 | 0 | 1-14 + ProfileActivityLogSocialMediaVerificationPost.tsx | 0 | 100 | 0 | 0 | 1-14 + components/profile-activity/list/items/utils | 0 | 0 | 0 | 0 | + ProfileActivityLogItemAction.tsx | 0 | 100 | 0 | 0 | 1-6 + ProfileActivityLogItemTimeAgo.tsx | 0 | 100 | 0 | 0 | 2-10 + ProfileActivityLogItemValueWithCopy.tsx | 0 | 0 | 0 | 0 | 3-31 + ProfileActivityLogItemWrapper.tsx | 0 | 0 | 0 | 0 | 1-36 + components/providers | 0 | 0 | 0 | 0 | + AppKitAdapterManager.ts | 0 | 0 | 0 | 0 | 1-336 + CapacitorSetup.tsx | 0 | 0 | 0 | 0 | 3-15 + IpfsImageSetup.tsx | 0 | 0 | 0 | 0 | 3-162 + LayoutErrorFallback.tsx | 0 | 0 | 0 | 0 | 3-18 + LayoutWrapper.tsx | 0 | 0 | 0 | 0 | 3-86 + Providers.tsx | 0 | 100 | 0 | 0 | 1-31 + QueryClientSetup.tsx | 0 | 100 | 0 | 0 | 3-20 + StoreSetup.tsx | 0 | 100 | 0 | 0 | 3-13 + WagmiSetup.tsx | 0 | 0 | 0 | 0 | 3-177 + metadata.ts | 0 | 0 | 0 | 0 | 1-18 + components/react-query-wrapper | 0 | 0 | 0 | 0 | + ReactQueryWrapper.tsx | 0 | 0 | 0 | 0 | 9-1279 + components/react-query-wrapper/utils | 0 | 0 | 0 | 0 | + addDropsToDrops.ts | 0 | 0 | 0 | 0 | 4-62 + increaseWavesOverviewDropsCount.tsx | 0 | 0 | 0 | 0 | 2-108 + query-utils.ts | 0 | 0 | 0 | 0 | 1-31 + toggleWaveFollowing.ts | 0 | 0 | 0 | 0 | 3-23 + components/rememes | 0 | 0 | 0 | 0 | + RememeAddComponent.tsx | 0 | 0 | 0 | 0 | 3-410 + RememeAddPage.tsx | 0 | 0 | 0 | 0 | 3-385 + RememePage.tsx | 0 | 0 | 0 | 0 | 3-526 + Rememes.tsx | 0 | 0 | 0 | 0 | 3-394 + components/scrollTo | 0 | 0 | 0 | 0 | + ScrollToButton.tsx | 0 | 0 | 0 | 0 | 3-37 + components/searchModal | 0 | 0 | 0 | 0 | + SearchModal.tsx | 0 | 0 | 0 | 0 | 3-219 + components/seasons-dropdown | 0 | 0 | 0 | 0 | + SeasonsDropdown.tsx | 0 | 0 | 0 | 0 | 1-27 + components/shared | 0 | 0 | 0 | 0 | + WavesMessagesWrapper.tsx | 0 | 0 | 0 | 0 | 3-193 + components/show-more-button | 0 | 0 | 0 | 0 | + ShowMoreButton.tsx | 0 | 0 | 0 | 0 | 1-21 + components/subscriptions-report | 0 | 0 | 0 | 0 | + SubscriptionsReport.tsx | 0 | 0 | 0 | 0 | 3-336 + components/terms | 0 | 0 | 0 | 0 | + TermsOfServiceModal.tsx | 0 | 0 | 0 | 0 | 3-123 + TermsSignatureFlow.tsx | 0 | 0 | 0 | 0 | 3-107 + components/the-memes | 0 | 0 | 0 | 0 | + ArtistProfileHandle.tsx | 0 | 0 | 0 | 0 | 1-27 + MemeCalendarPeriods.tsx | 0 | 100 | 0 | 0 | 1-30 + MemePage.tsx | 0 | 0 | 0 | 0 | 3-390 + MemePageActivity.tsx | 0 | 0 | 0 | 0 | 3-209 + MemePageArt.tsx | 0 | 0 | 0 | 0 | 3-473 + MemePageCollectors.tsx | 0 | 0 | 0 | 0 | 1-91 + MemePageLive.tsx | 0 | 0 | 0 | 0 | 3-516 + MemePageTimeline.tsx | 0 | 0 | 0 | 0 | 3-40 + MemePageYourCards.tsx | 0 | 0 | 0 | 0 | 1-286 + MemeShared.tsx | 0 | 0 | 0 | 0 | 1-191 + TheMemes.tsx | 0 | 0 | 0 | 0 | 3-586 + TheMemesMint.tsx | 0 | 0 | 0 | 0 | 3-28 + UpcomingMemePage.tsx | 0 | 0 | 0 | 0 | 1-13 + components/timeline | 0 | 0 | 0 | 0 | + Timeline.tsx | 0 | 0 | 0 | 0 | 1-225 + TimelineMedia.tsx | 0 | 0 | 0 | 0 | 1-32 + components/token-list | 0 | 0 | 0 | 0 | + VirtualizedTokenList.tsx | 0 | 0 | 0 | 0 | 3-42 + VirtualizedTokenListContent.tsx | 0 | 0 | 0 | 0 | 1-152 + index.ts | 0 | 100 | 0 | 0 | 1 + utils.ts | 0 | 0 | 0 | 0 | 3-40 + components/token-list/components | 0 | 0 | 0 | 0 | + GridRow.tsx | 0 | 0 | 0 | 0 | 4-78 + TokenRow.tsx | 0 | 0 | 0 | 0 | 1-54 + TokenThumbnail.tsx | 0 | 0 | 0 | 0 | 1-54 + components/token-list/hooks | 0 | 0 | 0 | 0 | + usePersistentScrollOffset.ts | 0 | 0 | 0 | 0 | 1-36 + useTokenMetadataWindow.ts | 0 | 0 | 0 | 0 | 1-54 + useVisibleTokenWindow.ts | 0 | 0 | 0 | 0 | 1-27 + components/user/brain | 0 | 0 | 0 | 0 | + UserPageBrainWrapper.tsx | 0 | 0 | 0 | 0 | 3-42 + UserPageDrops.tsx | 0 | 0 | 0 | 0 | 1-10 + components/user/collected | 0 | 0 | 0 | 0 | + UserPageCollected.tsx | 0 | 0 | 0 | 0 | 3-541 + UserPageCollectedFirstLoading.tsx | 0 | 100 | 0 | 0 | 1-15 + components/user/collected/cards | 0 | 0 | 0 | 0 | + UserPageCollectedCard.tsx | 0 | 0 | 0 | 0 | 1-345 + UserPageCollectedCards.tsx | 0 | 0 | 0 | 0 | 1-87 + UserPageCollectedCardsNoCards.tsx | 0 | 0 | 0 | 0 | 3-66 + UserPageCollectedNetworkCards.tsx | 0 | 0 | 0 | 0 | 1-92 + components/user/collected/filters | 0 | 0 | 0 | 0 | + UserPageCollectedFilters.tsx | 0 | 0 | 0 | 0 | 3-211 + UserPageCollectedFiltersNativeDropdown.tsx | 0 | 100 | 0 | 0 | 1-31 + UserPageCollectedFiltersNetworkCollection.tsx | 0 | 0 | 0 | 0 | 1-39 + UserPageCollectedFiltersSeized.tsx | 0 | 100 | 0 | 0 | 2-38 + UserPageCollectedFiltersSortBy.tsx | 0 | 0 | 0 | 0 | 3-63 + UserPageCollectedFiltersSzn.tsx | 0 | 100 | 0 | 0 | 2-46 + user-page-collected-filters.helpers.ts | 0 | 0 | 0 | 0 | 1-92 + components/user/collected/hooks | 0 | 0 | 0 | 0 | + useXtdhTokensQuery.ts | 0 | 0 | 0 | 0 | 1-54 + components/user/followers | 0 | 0 | 0 | 0 | + UserPageFollowers.tsx | 0 | 0 | 0 | 0 | 3-90 + components/user/groups | 0 | 0 | 0 | 0 | + UserPageGroups.tsx | 0 | 0 | 0 | 0 | 3-66 + components/user/identity | 0 | 0 | 0 | 0 | + UserPageIdentity.tsx | 0 | 100 | 0 | 0 | 2-21 + UserPageIdentityWrapper.tsx | 0 | 0 | 0 | 0 | 5-30 + components/user/identity/activity | 0 | 100 | 0 | 0 | + UserPageIdentityActivityLog.tsx | 0 | 100 | 0 | 0 | 1-14 + components/user/identity/header | 0 | 100 | 0 | 0 | + UserPageIdentityHeader.tsx | 0 | 100 | 0 | 0 | 1-12 + UserPageIdentityHeaderCIC.tsx | 0 | 100 | 0 | 0 | 3-20 + components/user/identity/header/cic-rate | 0 | 0 | 0 | 0 | + UserPageIdentityHeaderCICRate.tsx | 0 | 0 | 0 | 0 | 3-275 + UserPageIdentityHeaderCICRateStats.tsx | 0 | 0 | 0 | 0 | 3-57 + components/user/identity/statements | 0 | 0 | 0 | 0 | + UserPageIdentityStatements.tsx | 0 | 0 | 0 | 0 | 3-86 + components/user/identity/statements/add | 0 | 0 | 0 | 0 | + UserPageIdentityAddStatements.tsx | 0 | 0 | 0 | 0 | 4-73 + UserPageIdentityAddStatementsSelect.tsx | 0 | 100 | 0 | 0 | 1-149 + UserPageIdentityAddStatementsViews.tsx | 0 | 0 | 0 | 0 | 1-58 + UserPageIdentityStatementsAddButton.tsx | 0 | 0 | 0 | 0 | 3-46 + components/user/identity/statements/add/contact | 0 | 100 | 0 | 0 | + UserPageIdentityAddStatementsContact.tsx | 0 | 100 | 0 | 0 | 3-27 + UserPageIdentityAddStatementsContactHeader.tsx | 0 | 100 | 0 | 0 | 1-6 + UserPageIdentityAddStatementsContactItems.tsx | 0 | 100 | 0 | 0 | 1-24 + components/user/identity/statements/add/nft-accounts | 0 | 100 | 0 | 0 | + UserPageIdentityAddStatementsNFTAccountHeader.tsx | 0 | 100 | 0 | 0 | 1-6 + UserPageIdentityAddStatementsNFTAccountItems.tsx | 0 | 100 | 0 | 0 | 1-45 + UserPageIdentityAddStatementsNFTAccounts.tsx | 0 | 100 | 0 | 0 | 3-26 + components/user/identity/statements/add/social-media | 0 | 100 | 0 | 0 | + UserPageIdentityAddStatementsSocialMediaAccount.tsx | 0 | 100 | 0 | 0 | 3-26 + UserPageIdentityAddStatementsSocialMediaAccountHeader.tsx | 0 | 100 | 0 | 0 | 1-6 + UserPageIdentityAddStatementsSocialMediaAccountItems.tsx | 0 | 100 | 0 | 0 | 1-44 + components/user/identity/statements/add/social-media-verification-posts | 0 | 100 | 0 | 0 | + UserPageIdentityAddStatementsSocialMediaPosts.tsx | 0 | 100 | 0 | 0 | 2-16 + UserPageIdentityAddStatementsSocialMediaPostsHeader.tsx | 0 | 100 | 0 | 0 | 1-6 + components/user/identity/statements/consolidated-addresses | 0 | 0 | 0 | 0 | + UserPageIdentityStatementsConsolidatedAddresses.tsx | 0 | 0 | 0 | 0 | 3-134 + UserPageIdentityStatementsConsolidatedAddressesItem.tsx | 0 | 0 | 0 | 0 | 3-142 + UserPageIdentityStatementsConsolidatedAddressesItemPrimary.tsx | 0 | 0 | 0 | 0 | 1-37 + components/user/identity/statements/contacts | 0 | 100 | 0 | 0 | + UserPageIdentityStatementsContacts.tsx | 0 | 100 | 0 | 0 | 2-14 + components/user/identity/statements/header | 0 | 0 | 0 | 0 | + UserPageIdentityAddStatementsHeader.tsx | 0 | 0 | 0 | 0 | 3-45 + components/user/identity/statements/nft-accounts | 0 | 100 | 0 | 0 | + UserPageIdentityStatementsNFTAccounts.tsx | 0 | 100 | 0 | 0 | 2-14 + components/user/identity/statements/social-media-accounts | 0 | 100 | 0 | 0 | + UserPageIdentityStatementsSocialMediaAccounts.tsx | 0 | 100 | 0 | 0 | 2-14 + components/user/identity/statements/social-media-verification-posts | 0 | 100 | 0 | 0 | + UserPageIdentityStatementsSocialMediaVerificationPosts.tsx | 0 | 100 | 0 | 0 | 2-14 + components/user/identity/statements/utils | 0 | 0 | 0 | 0 | + UserPageIdentityAddStatementsForm.tsx | 0 | 0 | 0 | 0 | 3-87 + UserPageIdentityAddStatementsInput.tsx | 0 | 0 | 0 | 0 | 3-65 + UserPageIdentityAddStatementsTypeButton.tsx | 0 | 0 | 0 | 0 | 3-39 + UserPageIdentityDeleteStatementButton.tsx | 0 | 0 | 0 | 0 | 3-77 + UserPageIdentityDeleteStatementModal.tsx | 0 | 0 | 0 | 0 | 3-59 + UserPageIdentityStatementsStatement.tsx | 0 | 0 | 0 | 0 | 3-40 + UserPageIdentityStatementsStatementsList.tsx | 0 | 0 | 0 | 0 | 4-45 + components/user/layout | 0 | 0 | 0 | 0 | + UserPageClientHydrator.tsx | 0 | 0 | 0 | 0 | 3-48 + UserPageLayout.tsx | 0 | 0 | 0 | 0 | 3-20 + UserPageTab.tsx | 0 | 0 | 0 | 0 | 3-62 + UserPageTabs.tsx | 0 | 0 | 0 | 0 | 3-231 + userTabs.config.ts | 0 | 0 | 0 | 0 | 15-118 + components/user/proxy | 0 | 0 | 0 | 0 | + UserPageProxy.tsx | 0 | 0 | 0 | 0 | 3-101 + components/user/proxy/create | 0 | 0 | 0 | 0 | + ProxyCreate.tsx | 0 | 0 | 0 | 0 | 3-98 + components/user/proxy/create/target | 0 | 0 | 0 | 0 | + ProxyCreateTargetSearch.tsx | 0 | 0 | 0 | 0 | 3-154 + components/user/proxy/list | 0 | 0 | 0 | 0 | + ProxyList.tsx | 0 | 0 | 0 | 0 | 3-104 + ProxyListItem.tsx | 0 | 0 | 0 | 0 | 3-134 + components/user/proxy/list/filters | 0 | 100 | 0 | 0 | + ProxyListFilters.tsx | 0 | 100 | 0 | 0 | 1-42 + components/user/proxy/proxy/action | 0 | 0 | 0 | 0 | + ProxyActionAcceptanceButton.tsx | 0 | 0 | 0 | 0 | 3-210 + components/user/proxy/proxy/action/utils/credit | 0 | 0 | 0 | 0 | + ProfileProxyCredit.tsx | 0 | 0 | 0 | 0 | 3-32 + ProfileProxyCreditEdit.tsx | 0 | 0 | 0 | 0 | 3-108 + components/user/proxy/proxy/action/utils/time | 0 | 0 | 0 | 0 | + ProfileProxyEndTime.tsx | 0 | 0 | 0 | 0 | 3-32 + ProfileProxyEndTimeEdit.tsx | 0 | 0 | 0 | 0 | 3-111 + components/user/proxy/proxy/create-action | 0 | 0 | 0 | 0 | + ProxyCreateAction.tsx | 0 | 0 | 0 | 0 | 3-88 + components/user/proxy/proxy/create-action/config | 0 | 0 | 0 | 0 | + ProxyCreateActionConfig.tsx | 0 | 0 | 0 | 0 | 3-89 + ProxyCreateActionConfigAllocateCic.tsx | 0 | 0 | 0 | 0 | 3-44 + ProxyCreateActionConfigAllocateRep.tsx | 0 | 0 | 0 | 0 | 3-43 + ProxyCreateActionConfigCreateDropToWave.tsx | 0 | 100 | 0 | 0 | 2-18 + ProxyCreateActionConfigCreateWave.tsx | 0 | 100 | 0 | 0 | 2-18 + ProxyCreateActionConfigEndTimeSwitch.tsx | 0 | 0 | 0 | 0 | 1-11 + ProxyCreateActionConfigRateWaveDrop.tsx | 0 | 100 | 0 | 0 | 2-18 + ProxyCreateActionConfigReadWave.tsx | 0 | 100 | 0 | 0 | 2-18 + components/user/proxy/proxy/create-action/select-type | 0 | 0 | 0 | 0 | + ProxyCreateActionSelectType.tsx | 0 | 0 | 0 | 0 | 1-70 + ProxyCreateActionSelectTypeItem.tsx | 0 | 100 | 0 | 0 | 1-17 + components/user/proxy/proxy/list | 0 | 0 | 0 | 0 | + ProxyActionRow.tsx | 0 | 0 | 0 | 0 | 6-57 + ProxyActionRowDataMode.tsx | 0 | 0 | 0 | 0 | 2-89 + ProxyActionRowStatus.tsx | 0 | 0 | 0 | 0 | 1-45 + ProxyActions.tsx | 0 | 0 | 0 | 0 | 3-31 + components/user/rep | 0 | 0 | 0 | 0 | + UserPageRep.tsx | 0 | 0 | 0 | 0 | 3-56 + UserPageRepActivityLog.tsx | 0 | 100 | 0 | 0 | 1-14 + UserPageRepWrapper.tsx | 0 | 0 | 0 | 0 | 4-29 + components/user/rep/header | 0 | 0 | 0 | 0 | + UserPageRepHeader.tsx | 0 | 0 | 0 | 0 | 2-9 + components/user/rep/modify-rep | 0 | 0 | 0 | 0 | + UserPageRepModifyModal.tsx | 0 | 0 | 0 | 0 | 3-408 + UserPageRepModifyModalHeader.tsx | 0 | 100 | 0 | 0 | 1-8 + UserPageRepModifyModalRaterStats.tsx | 0 | 0 | 0 | 0 | 3-58 + components/user/rep/new-rep | 0 | 0 | 0 | 0 | + UserPageRepNewRep.tsx | 0 | 0 | 0 | 0 | 3-57 + UserPageRepNewRepError.tsx | 0 | 100 | 0 | 0 | 1-10 + UserPageRepNewRepSearch.tsx | 0 | 0 | 0 | 0 | 3-225 + UserPageRepNewRepSearchDropdown.tsx | 0 | 0 | 0 | 0 | 1-44 + UserPageRepNewRepSearchHeader.tsx | 0 | 0 | 0 | 0 | 3-103 + components/user/rep/reps | 0 | 0 | 0 | 0 | + UserPageRepReps.tsx | 0 | 0 | 0 | 0 | 3-88 + UserPageRepRepsTop.tsx | 0 | 100 | 0 | 0 | 2-16 + UserPageRepsItem.tsx | 0 | 0 | 0 | 0 | 3-82 + components/user/rep/reps/table | 0 | 0 | 0 | 0 | + UserPageRepRepsTable.tsx | 0 | 0 | 0 | 0 | 3-106 + UserPageRepRepsTableBody.tsx | 0 | 100 | 0 | 0 | 2-16 + UserPageRepRepsTableHeader.tsx | 0 | 0 | 0 | 0 | 3-37 + UserPageRepRepsTableHeaderSortableCell.tsx | 0 | 0 | 0 | 0 | 3-41 + UserPageRepRepsTableItem.tsx | 0 | 0 | 0 | 0 | 3-70 + components/user/settings | 0 | 0 | 0 | 0 | + UserSettingsBackground.tsx | 0 | 0 | 0 | 0 | 3-78 + UserSettingsClassification.tsx | 0 | 0 | 0 | 0 | 3-84 + UserSettingsClassificationItem.tsx | 0 | 0 | 0 | 0 | 3-23 + UserSettingsImgSelectFile.tsx | 0 | 0 | 0 | 0 | 3-150 + UserSettingsImgSelectMeme.tsx | 0 | 0 | 0 | 0 | 3-97 + UserSettingsPrimaryWallet.tsx | 0 | 0 | 0 | 0 | 3-86 + UserSettingsPrimaryWalletItem.tsx | 0 | 0 | 0 | 0 | 3-25 + UserSettingsSave.tsx | 0 | 0 | 0 | 0 | 3-22 + UserSettingsUsername.tsx | 0 | 0 | 0 | 0 | 3-91 + components/user/stats | 0 | 0 | 0 | 0 | + UserPageStats.tsx | 0 | 0 | 0 | 0 | 1-62 + UserPageStatsActivityOverview.tsx | 0 | 0 | 0 | 0 | 8-397 + UserPageStatsBoostBreakdown.tsx | 0 | 0 | 0 | 0 | 2-243 + UserPageStatsClient.tsx | 0 | 0 | 0 | 0 | 3-182 + UserPageStatsCollected.tsx | 0 | 0 | 0 | 0 | 3-265 + UserPageStatsTableShared.tsx | 0 | 100 | 0 | 0 | 1-23 + userPageStats.helpers.ts | 0 | 0 | 0 | 0 | 3-22 + components/user/stats/activity | 0 | 0 | 0 | 0 | + UserPageActivityWrapper.tsx | 0 | 0 | 0 | 0 | 4-77 + components/user/stats/activity/distributions | 0 | 0 | 0 | 0 | + UserPageStatsActivityDistributions.tsx | 0 | 0 | 0 | 0 | 3-109 + UserPageStatsActivityDistributionsTable.tsx | 0 | 0 | 0 | 0 | 3-169 + UserPageStatsActivityDistributionsTableItem.tsx | 0 | 100 | 0 | 0 | 3-55 + UserPageStatsActivityDistributionsTableWrapper.tsx | 0 | 0 | 0 | 0 | 3-32 + components/user/stats/activity/tabs | 0 | 0 | 0 | 0 | + UserPageActivityTab.tsx | 0 | 0 | 0 | 0 | 1-27 + UserPageActivityTabs.tsx | 0 | 100 | 0 | 0 | 1-13 + components/user/stats/activity/tdh-history | 0 | 0 | 0 | 0 | + UserPageStatsActivityTDHHistory.tsx | 0 | 0 | 0 | 0 | 1-45 + UserPageStatsActivityTDHHistoryChart.tsx | 0 | 100 | 0 | 0 | 1-58 + UserPageStatsActivityTDHHistoryCharts.tsx | 0 | 0 | 0 | 0 | 3-143 + components/user/stats/activity/wallet | 0 | 0 | 0 | 0 | + UserPageStatsActivityWallet.tsx | 0 | 0 | 0 | 0 | 3-235 + components/user/stats/activity/wallet/filter | 0 | 0 | 0 | 0 | + UserPageStatsActivityWalletFilter.tsx | 0 | 0 | 0 | 0 | 3-88 + UserPageStatsActivityWalletFilterItem.tsx | 0 | 0 | 0 | 0 | 3-18 + components/user/stats/activity/wallet/table | 0 | 0 | 0 | 0 | + UserPageStatsActivityWalletTable.tsx | 0 | 100 | 0 | 0 | 5-24 + UserPageStatsActivityWalletTableWrapper.tsx | 0 | 0 | 0 | 0 | 1-61 + components/user/stats/activity/wallet/table/row | 0 | 0 | 0 | 0 | + UserPageStatsActivityWalletTableRow.tsx | 0 | 0 | 0 | 0 | 3-298 + UserPageStatsActivityWalletTableRowGas.tsx | 0 | 100 | 0 | 0 | 1-13 + UserPageStatsActivityWalletTableRowIcon.tsx | 0 | 0 | 0 | 0 | 1-170 + UserPageStatsActivityWalletTableRowMainAddress.tsx | 0 | 0 | 0 | 0 | 3-55 + UserPageStatsActivityWalletTableRowRoyalties.tsx | 0 | 0 | 0 | 0 | 1-115 + UserPageStatsActivityWalletTableRowSecondAddress.tsx | 0 | 0 | 0 | 0 | 3-81 + components/user/stats/tags | 0 | 0 | 0 | 0 | + UserPageStatsTags.tsx | 0 | 0 | 0 | 0 | 3-134 + UserPageStatsTagsSet.tsx | 0 | 100 | 0 | 0 | 3-10 + components/user/subscriptions | 0 | 0 | 0 | 0 | + UserPageSubscriptions.tsx | 0 | 0 | 0 | 0 | 11-342 + UserPageSubscriptionsAirdropAddress.tsx | 0 | 0 | 0 | 0 | 1-23 + UserPageSubscriptionsBalance.tsx | 0 | 0 | 0 | 0 | 1-31 + UserPageSubscriptionsHistory.tsx | 0 | 0 | 0 | 0 | 1-249 + UserPageSubscriptionsMode.tsx | 0 | 0 | 0 | 0 | 3-76 + UserPageSubscriptionsTopUp.tsx | 0 | 0 | 0 | 0 | 3-325 + UserPageSubscriptionsUpcoming.tsx | 0 | 0 | 0 | 0 | 3-192 + components/user/user-page-header | 0 | 0 | 0 | 0 | + UserPageHeader.tsx | 0 | 0 | 0 | 0 | 3-109 + UserPageHeaderClient.tsx | 0 | 0 | 0 | 0 | 3-181 + UserPageHeaderProfileEnabledAt.tsx | 0 | 0 | 0 | 0 | 1-12 + components/user/user-page-header/about | 0 | 0 | 0 | 0 | + UserPageHeaderAbout.tsx | 0 | 0 | 0 | 0 | 4-76 + UserPageHeaderAboutEdit.tsx | 0 | 0 | 0 | 0 | 3-187 + UserPageHeaderAboutEditError.tsx | 0 | 0 | 0 | 0 | 2-73 + UserPageHeaderAboutStatement.tsx | 0 | 0 | 0 | 0 | 3-15 + components/user/user-page-header/banner | 0 | 0 | 0 | 0 | + UserPageHeaderBanner.tsx | 0 | 0 | 0 | 0 | 3-56 + UserPageHeaderEditBanner.tsx | 0 | 0 | 0 | 0 | 3-114 + components/user/user-page-header/followers | 0 | 0 | 0 | 0 | + UserPageFollowers.tsx | 0 | 0 | 0 | 0 | 1-21 + components/user/user-page-header/name | 0 | 0 | 0 | 0 | + UserPageHeaderEditName.tsx | 0 | 0 | 0 | 0 | 3-118 + UserPageHeaderName.tsx | 0 | 0 | 0 | 0 | 1-33 + UserPageHeaderNameWrapper.tsx | 0 | 0 | 0 | 0 | 3-48 + components/user/user-page-header/name/classification | 0 | 0 | 0 | 0 | + UserPageClassificationWrapper.tsx | 0 | 0 | 0 | 0 | 3-48 + UserPageHeaderEditClassification.tsx | 0 | 0 | 0 | 0 | 3-108 + components/user/user-page-header/pfp | 0 | 0 | 0 | 0 | + UserPageHeaderEditPfp.tsx | 0 | 0 | 0 | 0 | 3-194 + UserPageHeaderPfp.tsx | 0 | 0 | 0 | 0 | 2-29 + UserPageHeaderPfpWrapper.tsx | 0 | 0 | 0 | 0 | 3-65 + components/user/user-page-header/stats | 0 | 0 | 0 | 0 | + UserPageHeaderStats.tsx | 0 | 0 | 0 | 0 | 4-39 + components/user/utils | 0 | 0 | 0 | 0 | + CommonProfileLink.tsx | 0 | 0 | 0 | 0 | 3-24 + UserCICAndLevel.tsx | 0 | 0 | 0 | 0 | 2-38 + UserFollowBtn.tsx | 0 | 0 | 0 | 0 | 3-151 + UserPageErrorWrapper.tsx | 0 | 100 | 0 | 0 | 1-8 + UserTableHeaderWrapper.tsx | 0 | 100 | 0 | 0 | 1-6 + components/user/utils/addresses-select | 0 | 0 | 0 | 0 | + UserAddressesSelectDropdown.tsx | 0 | 0 | 0 | 0 | 4-93 + UserAddressesSelectDropdownItem.tsx | 0 | 0 | 0 | 0 | 2-25 + components/user/utils/icons | 0 | 0 | 0 | 0 | + ArtBlocksIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + BioIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + CommonTableSortIcon.tsx | 0 | 0 | 0 | 0 | 3-64 + DecaArtIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + DiscordIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + EmailIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + EthereumIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + EtherscanIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + FacebookIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + FoundationIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + GithubIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + InstagramIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + KnownOriginIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + LinkIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + LinkedInIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + MakersPlaceIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + MediumIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + MirrorIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + OnCyberIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + OpenseaIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + PepeWTFIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + PhoneIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + RedditIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + SocialStatementIcon.tsx | 0 | 0 | 0 | 0 | 1-101 + SubstackIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + SuperRareIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + TelegramIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + TheLineIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + TikTokIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + WeChatIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + WebsiteIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + WeiboIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + XIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + YoutubeIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + components/user/utils/level | 0 | 0 | 0 | 0 | + UserLevel.tsx | 0 | 0 | 0 | 0 | 1-47 + components/user/utils/profile | 0 | 0 | 0 | 0 | + UserProfileTooltip.tsx | 0 | 0 | 0 | 0 | 1-101 + UserProfileTooltipTopRep.tsx | 0 | 0 | 0 | 0 | 4-32 + components/user/utils/rate | 0 | 0 | 0 | 0 | + UserPageRateWrapper.tsx | 0 | 0 | 0 | 0 | 3-118 + UserRateAdjustmentHelper.tsx | 0 | 0 | 0 | 0 | 1-14 + UserRateAdjustmentHelperValue.tsx | 0 | 0 | 0 | 0 | 3-46 + components/user/utils/raters-table | 0 | 0 | 0 | 0 | + ProfileRatersTable.tsx | 0 | 0 | 0 | 0 | 1-31 + ProfileRatersTableBody.tsx | 0 | 100 | 0 | 0 | 3-15 + ProfileRatersTableHeader.tsx | 0 | 0 | 0 | 0 | 2-33 + ProfileRatersTableHeaderSortableCell.tsx | 0 | 0 | 0 | 0 | 3-33 + ProfileRatersTableItem.tsx | 0 | 0 | 0 | 0 | 3-61 + components/user/utils/raters-table/wrapper | 0 | 0 | 0 | 0 | + ProfileRatersTableWrapper.tsx | 0 | 0 | 0 | 0 | 3-141 + ProfileRatersTableWrapperHeader.tsx | 0 | 0 | 0 | 0 | 1-12 + components/user/utils/set-up-profile | 0 | 0 | 0 | 0 | + UserPageSetUpProfile.tsx | 0 | 0 | 0 | 0 | 3-123 + UserPageSetUpProfileHeader.tsx | 0 | 100 | 0 | 0 | 1-2 + UserPageSetUpProfileWrapper.tsx | 0 | 0 | 0 | 0 | 3-41 + UserSetUpProfileCta.tsx | 0 | 0 | 0 | 0 | 3-20 + components/user/utils/stats | 0 | 0 | 0 | 0 | + UserStatsRow.tsx | 0 | 0 | 0 | 0 | 3-55 + components/user/utils/user-cic-status | 0 | 100 | 0 | 0 | + UserCICStatus.tsx | 0 | 100 | 0 | 0 | 3-40 + components/user/utils/user-cic-type | 0 | 0 | 0 | 0 | + UserCICTypeIcon.tsx | 0 | 100 | 0 | 0 | 1-20 + UserCICTypeIconWrapper.tsx | 0 | 0 | 0 | 0 | 4-22 + components/user/utils/user-cic-type/icons | 0 | 100 | 0 | 0 | + UserCICAccurateIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + UserCICHighlyAccurateIcon.tsx | 0 | 100 | 0 | 0 | 2-3 + UserCICInaccurateIcon.tsx | 0 | 100 | 0 | 0 | 2-3 + UserCICProbablyAccurateIcon.tsx | 0 | 100 | 0 | 0 | 2-3 + UserCICUnknownIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + components/user/utils/user-cic-type/tooltip | 0 | 0 | 0 | 0 | + UserCICTypeIconTooltip.tsx | 0 | 0 | 0 | 0 | 3-64 + UserCICTypeIconTooltipHeaders.tsx | 0 | 100 | 0 | 0 | 1-2 + UserCICTypeIconTooltipRate.tsx | 0 | 100 | 0 | 0 | 1-11 + components/user/waves | 0 | 0 | 0 | 0 | + UserPageWaves.tsx | 0 | 0 | 0 | 0 | 3-196 + UserPageWavesSearch.tsx | 0 | 0 | 0 | 0 | 3-103 + components/user/xtdh | 0 | 0 | 0 | 0 | + UserPageXtdh.tsx | 0 | 0 | 0 | 0 | 3-149 + UserPageXtdhGrant.tsx | 0 | 100 | 0 | 0 | 4 + UserPageXtdhGrantAmount.tsx | 0 | 0 | 0 | 0 | 1-71 + UserPageXtdhGrantSelection.tsx | 0 | 100 | 0 | 0 | 3-16 + UserPageXtdhGrantSubmit.tsx | 0 | 0 | 0 | 0 | 1-114 + UserPageXtdhGrantSummary.tsx | 0 | 0 | 0 | 0 | 7-183 + UserPageXtdhGrantValidity.tsx | 0 | 0 | 0 | 0 | 3-98 + UserPageXtdhGranted.tsx | 0 | 0 | 0 | 0 | 3-15 + UserPageXtdhGrantedList.tsx | 0 | 0 | 0 | 0 | 3-143 + UserPageXtdhStatsHeader.tsx | 0 | 0 | 0 | 0 | 3-48 + UserXtdhStats.tsx | 0 | 0 | 0 | 0 | 1-55 + UserXtdhTestModeBanner.tsx | 0 | 100 | 0 | 0 | 1-2 + components/user/xtdh/granted-list | 0 | 0 | 0 | 0 | + UserPageXtdhGrantedListContent.tsx | 0 | 100 | 0 | 0 | 3-4 + index.tsx | 0 | 0 | 0 | 0 | 1-38 + components/user/xtdh/granted-list/subcomponents | 0 | 0 | 0 | 0 | + GrantedListEmptyState.tsx | 0 | 0 | 0 | 0 | 1-26 + GrantedListError.tsx | 0 | 0 | 0 | 0 | 6-12 + GrantedListMessage.tsx | 0 | 100 | 0 | 0 | 7-8 + GrantedListSkeleton.tsx | 0 | 100 | 0 | 0 | 1-7 + UserPageXtdhGrantList.tsx | 0 | 100 | 0 | 0 | 2-15 + components/user/xtdh/granted-list/subcomponents/UserPageXtdhGrantListItem | 0 | 0 | 0 | 0 | + formatters.ts | 0 | 0 | 0 | 0 | 1-98 + index.tsx | 0 | 0 | 0 | 0 | 3-292 + statusVisuals.ts | 0 | 0 | 0 | 0 | 2-89 + useGrantItemViewModel.ts | 0 | 0 | 0 | 0 | 3-185 + components/user/xtdh/granted-list/subcomponents/UserPageXtdhGrantListItem/hooks | 0 | 0 | 0 | 0 | + useGrantTokensDisclosure.ts | 0 | 0 | 0 | 0 | 3-75 + components/user/xtdh/granted-list/subcomponents/UserPageXtdhGrantListItem/subcomponents | 0 | 0 | 0 | 0 | + GrantDetailsGrid.tsx | 0 | 0 | 0 | 0 | 2-7 + GrantDetailsRow.tsx | 0 | 100 | 0 | 0 | 3-7 + GrantErrorDetails.tsx | 0 | 100 | 0 | 0 | 1-2 + GrantExpiryBadge.tsx | 0 | 0 | 0 | 0 | 1-14 + GrantItemContent.tsx | 0 | 0 | 0 | 0 | 1-20 + GrantItemError.tsx | 0 | 0 | 0 | 0 | 1-16 + GrantItemSkeleton.tsx | 0 | 100 | 0 | 0 | 1-17 + GrantListItemContainer.tsx | 0 | 100 | 0 | 0 | 3-6 + GrantTokensDisclosure.tsx | 0 | 0 | 0 | 0 | 3-176 + GrantTokensPanel.tsx | 0 | 0 | 0 | 0 | 7-34 + StatusBadge.tsx | 0 | 0 | 0 | 0 | 1-18 + index.tsx | 0 | 100 | 100 | 0 | 1-10 + components/user/xtdh/granted-list/subcomponents/UserPageXtdhGrantListItem/utils | 0 | 0 | 0 | 0 | + constants.ts | 0 | 100 | 100 | 0 | 1 + grantTokens.ts | 0 | 0 | 0 | 0 | 1-39 + components/user/xtdh/user-page-xtdh-grant | 0 | 0 | 0 | 0 | + index.tsx | 0 | 0 | 0 | 0 | 3-37 + components/user/xtdh/user-page-xtdh-grant/hooks | 0 | 0 | 0 | 0 | + useUserPageXtdhGrantForm.ts | 0 | 0 | 0 | 0 | 1-184 + components/user/xtdh/user-page-xtdh-grant/utils | 0 | 0 | 0 | 0 | + validateGrantForm.ts | 0 | 0 | 0 | 0 | 1-88 + components/user/xtdh/user-page-xtdh-granted-list | 0 | 0 | 0 | 0 | + constants.ts | 0 | 0 | 0 | 0 | 1-253 + components/user/xtdh/user-page-xtdh-granted-list/components | 0 | 0 | 0 | 0 | + UserPageXtdhGrantedListSubFilters.tsx | 0 | 100 | 0 | 0 | 1-19 + UserPageXtdhGrantedListTabs.tsx | 0 | 0 | 0 | 0 | 1-24 + UserPageXtdhGrantedStatusDropdown.tsx | 0 | 0 | 0 | 0 | 3-212 + components/user/xtdh/user-page-xtdh-granted-list/hooks | 0 | 0 | 0 | 0 | + useUserPageXtdhGrantedListFilters.ts | 0 | 0 | 0 | 0 | 1-194 + components/user/xtdh/user-page-xtdh-stats-header | 0 | 0 | 0 | 0 | + UserPageXtdhStatsHeaderError.tsx | 0 | 100 | 0 | 0 | 6-10 + UserPageXtdhStatsHeaderSkeleton.tsx | 0 | 100 | 0 | 0 | 1-9 + normalizeProfileIdentifier.ts | 0 | 0 | 0 | 0 | 1-15 + components/user/xtdh/utils | 0 | 0 | 0 | 0 | + xtdhGrantFormatters.ts | 0 | 0 | 0 | 0 | 1-205 + components/utils | 0 | 0 | 0 | 0 | + CommonFilterTargetSelect.tsx | 0 | 100 | 0 | 0 | 3-41 + CommonInfoBox.tsx | 0 | 0 | 0 | 0 | 1-8 + CommonIntersectionElement.tsx | 0 | 0 | 0 | 0 | 3-25 + CommonTimeAgo.tsx | 0 | 0 | 0 | 0 | 1-31 + NewVersionToast.tsx | 0 | 0 | 0 | 0 | 3-55 + Spinner.tsx | 0 | 100 | 0 | 0 | 1-4 + components/utils/animation | 0 | 0 | 0 | 0 | + CommonAnimationHeight.tsx | 0 | 0 | 0 | 0 | 3-37 + CommonAnimationOpacity.tsx | 0 | 100 | 0 | 0 | 1-14 + CommonAnimationWrapper.tsx | 0 | 0 | 0 | 0 | 1-13 + CommonCardSkeleton.tsx | 0 | 100 | 0 | 0 | 1-2 + CommonChangeAnimation.tsx | 0 | 100 | 0 | 0 | 1-9 + CommonSkeletonLoader.tsx | 0 | 100 | 0 | 0 | 1-2 + components/utils/button | 0 | 0 | 0 | 0 | + ClosedButton.tsx | 0 | 0 | 0 | 0 | 1-23 + InfoButton.tsx | 0 | 0 | 0 | 0 | 1-37 + PrimaryButton.tsx | 0 | 0 | 0 | 0 | 1-18 + PrimaryButtonLink.tsx | 0 | 0 | 0 | 0 | 1-12 + SecondaryButton.tsx | 0 | 0 | 0 | 0 | 1-27 + WaveDropDeleteButton.tsx | 0 | 0 | 0 | 0 | 3-73 + components/utils/calendar | 0 | 0 | 0 | 0 | + CommonCalendar.tsx | 0 | 0 | 0 | 0 | 3-137 + CommonCalendarDay.tsx | 0 | 0 | 0 | 0 | 2-66 + components/utils/followers | 0 | 0 | 0 | 0 | + Follower.tsx | 0 | 0 | 0 | 0 | 1-14 + FollowersList.tsx | 0 | 100 | 0 | 0 | 2-11 + FollowersListWrapper.tsx | 0 | 0 | 0 | 0 | 2-17 + components/utils/icons | 0 | 0 | 0 | 0 | + CalendarClosedIcon.tsx | 0 | 0 | 0 | 0 | 1-13 + ClockIcon.tsx | 0 | 100 | 0 | 0 | 1-11 + CopyIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + LimitIcon.tsx | 0 | 0 | 0 | 0 | 1-11 + OutsideLinkIcon.tsx | 0 | 100 | 0 | 0 | 1-2 + PencilIcon.tsx | 0 | 0 | 0 | 0 | 1-16 + PermissionIcon.tsx | 0 | 0 | 0 | 0 | 1-12 + components/utils/infinite-scroll | 0 | 0 | 0 | 0 | + CommonInfiniteScrollWrapper.tsx | 0 | 0 | 0 | 0 | 2-16 + InfiniteScrollTrigger.tsx | 0 | 0 | 0 | 0 | 3-25 + components/utils/input | 0 | 0 | 0 | 0 | + CommonInput.tsx | 0 | 0 | 0 | 0 | 23-100 + components/utils/input/collections | 0 | 0 | 0 | 0 | + CollectionsAutocomplete.tsx | 0 | 0 | 0 | 0 | 3-439 + components/utils/input/emma | 0 | 0 | 0 | 0 | + EmmaListSearch.tsx | 0 | 0 | 0 | 0 | 3-55 + EmmaListSearchItem.tsx | 0 | 0 | 0 | 0 | 3-18 + EmmaListSearchItems.tsx | 0 | 0 | 0 | 0 | 3-55 + EmmaListSearchItemsContent.tsx | 0 | 0 | 0 | 0 | 2-38 + components/utils/input/identity | 0 | 0 | 0 | 0 | + IdentitySearch.tsx | 0 | 0 | 0 | 0 | 3-304 + components/utils/input/profile-search | 0 | 0 | 0 | 0 | + CommonProfileSearchItem.tsx | 0 | 0 | 0 | 0 | 1-36 + CommonProfileSearchItems.tsx | 0 | 0 | 0 | 0 | 1-136 + getSelectableIdentity.ts | 0 | 0 | 0 | 0 | 3-10 + components/utils/input/rep-category | 0 | 0 | 0 | 0 | + RepCategorySearch.tsx | 0 | 0 | 0 | 0 | 3-152 + RepCategorySearchDropdown.tsx | 0 | 0 | 0 | 0 | 1-35 + RepCategorySearchItem.tsx | 0 | 0 | 0 | 0 | 1-24 + components/utils/modal | 0 | 0 | 0 | 0 | + CommonConfirmationModal.tsx | 0 | 0 | 0 | 0 | 3-38 + components/utils/radio | 0 | 0 | 0 | 0 | + CommonBorderedRadioButton.tsx | 0 | 0 | 0 | 0 | 11-39 + components/utils/select | 0 | 0 | 0 | 0 | + CommonSelect.tsx | 0 | 0 | 0 | 0 | 1-67 + components/utils/select-group | 0 | 0 | 0 | 0 | + SelectGroupModal.tsx | 0 | 0 | 0 | 0 | 3-38 + SelectGroupModalHeader.tsx | 0 | 100 | 0 | 0 | 1-6 + SelectGroupModalItems.tsx | 0 | 0 | 0 | 0 | 2-31 + SelectGroupModalSearch.tsx | 0 | 100 | 0 | 0 | 1-16 + SelectGroupModalSearchName.tsx | 0 | 0 | 0 | 0 | 1-24 + SelectGroupModalWrapper.tsx | 0 | 0 | 0 | 0 | 1-21 + SelectGroupSearchPanel.tsx | 0 | 0 | 0 | 0 | 3-92 + components/utils/select/dropdown | 0 | 0 | 0 | 0 | + CommonDropdown.tsx | 0 | 0 | 0 | 0 | 3-164 + CommonDropdownItem.tsx | 0 | 0 | 0 | 0 | 3-52 + CommonDropdownItemsDefaultWrapper.tsx | 0 | 0 | 0 | 0 | 3-110 + CommonDropdownItemsMobileWrapper.tsx | 0 | 0 | 0 | 0 | 1-62 + CommonDropdownItemsWrapper.tsx | 0 | 0 | 0 | 0 | 3-41 + components/utils/select/tabs | 0 | 0 | 0 | 0 | + CommonTabs.tsx | 0 | 0 | 0 | 0 | 1-158 + CommonTabsTab.tsx | 0 | 0 | 0 | 0 | 3-93 + components/utils/sidebar | 0 | 0 | 0 | 0 | + SidebarLayout.tsx | 0 | 0 | 0 | 0 | 3-117 + SidebarLayoutApp.tsx | 0 | 100 | 0 | 0 | 3-16 + components/utils/switch | 0 | 0 | 0 | 0 | + CommonSwitch.tsx | 0 | 0 | 0 | 0 | 7-32 + components/utils/table | 0 | 100 | 0 | 0 | + CommonTableWrapper.tsx | 0 | 100 | 0 | 0 | 1-6 + components/utils/table/paginator | 0 | 0 | 0 | 0 | + CommonTablePagination.tsx | 0 | 0 | 0 | 0 | 1-59 + components/utils/time | 0 | 0 | 0 | 0 | + CommonTimeSelect.tsx | 0 | 0 | 0 | 0 | 3-97 + components/utils/tooltip | 0 | 0 | 0 | 0 | + CustomTooltip.tsx | 0 | 0 | 0 | 0 | 3-393 + UserProfileTooltipWrapper.tsx | 0 | 0 | 0 | 0 | 1-24 + components/voting | 0 | 0 | 0 | 0 | + MobileVotingModal.tsx | 0 | 0 | 0 | 0 | 1-38 + VotingModal.tsx | 0 | 0 | 0 | 0 | 4-88 + VotingModalButton.tsx | 0 | 0 | 0 | 0 | 1-42 + index.ts | 0 | 100 | 0 | 0 | 2-3 + components/waves | 0 | 0 | 0 | 0 | + ChatItemHrefButtons.tsx | 0 | 0 | 0 | 0 | 3-40 + CompoundPreview.tsx | 0 | 0 | 0 | 0 | 3-63 + CreateDrop.tsx | 0 | 0 | 0 | 0 | 3-264 + CreateDropActions.tsx | 0 | 0 | 0 | 0 | 3-276 + CreateDropContent.tsx | 0 | 0 | 0 | 0 | 3-1154 + CreateDropContentFiles.tsx | 0 | 0 | 0 | 0 | 1-69 + CreateDropContentRequirements.tsx | 0 | 0 | 0 | 0 | 1-71 + CreateDropContentRequirementsItem.tsx | 0 | 0 | 0 | 0 | 1-135 + CreateDropDropModeToggle.tsx | 0 | 0 | 0 | 0 | 3-100 + CreateDropEmojiPicker.tsx | 0 | 0 | 0 | 0 | 3-156 + CreateDropGifPicker.tsx | 0 | 100 | 0 | 0 | 1-21 + CreateDropInput.tsx | 0 | 0 | 0 | 0 | 3-313 + CreateDropMetadata.tsx | 0 | 0 | 0 | 0 | 1-116 + CreateDropMetadataRow.tsx | 0 | 0 | 0 | 0 | 3-172 + CreateDropReplying.tsx | 0 | 0 | 0 | 0 | 2-22 + CreateDropReplyingWrapper.tsx | 0 | 0 | 0 | 0 | 1-40 + CreateDropStormPart.tsx | 0 | 0 | 0 | 0 | 1-64 + CreateDropStormParts.tsx | 0 | 0 | 0 | 0 | 5-137 + CreateDropSubmit.tsx | 0 | 0 | 0 | 0 | 1-17 + CreateDropWaveWrapper.tsx | 0 | 0 | 0 | 0 | 3-92 + DropPlaceholder.tsx | 0 | 0 | 0 | 0 | 1-73 + FarcasterCard.tsx | 0 | 0 | 0 | 0 | 3-542 + FilePreview.tsx | 0 | 0 | 0 | 0 | 1-112 + GoogleWorkspaceCard.tsx | 0 | 0 | 0 | 0 | 3-150 + GoogleWorkspacePreview.tsx | 0 | 0 | 0 | 0 | 3-76 + LinkHandlerFrame.tsx | 0 | 0 | 0 | 0 | 3-27 + LinkPreviewCard.tsx | 0 | 0 | 0 | 0 | 3-112 + OpenGraphPreview.tsx | 0 | 0 | 0 | 0 | 1-320 + PrivilegedDropCreator.tsx | 0 | 0 | 0 | 0 | 3-70 + StormButton.tsx | 0 | 0 | 0 | 0 | 1-63 + TikTokCard.tsx | 0 | 0 | 0 | 0 | 3-305 + WavePicture.tsx | 0 | 0 | 0 | 0 | 1-103 + Waves.tsx | 0 | 0 | 0 | 0 | 3-180 + WavesDesktop.tsx | 0 | 100 | 0 | 0 | 3-25 + WavesMobile.tsx | 0 | 100 | 0 | 0 | 3-21 + WavesView.tsx | 0 | 0 | 0 | 0 | 3-67 + WikimediaCard.tsx | 0 | 0 | 0 | 0 | 3-460 + components/waves/compound | 0 | 0 | 0 | 0 | + CompoundCard.tsx | 0 | 0 | 0 | 0 | 1-419 + types.ts | 0 | 0 | 0 | 0 | 147-173 + components/waves/create-dm | 0 | 0 | 0 | 0 | + CreateDirectMessage.tsx | 0 | 0 | 0 | 0 | 3-100 + CreateDirectMessageModal.tsx | 0 | 0 | 0 | 0 | 3-45 + components/waves/create-wave | 0 | 0 | 0 | 0 | + CreateWaveFlow.tsx | 0 | 0 | 0 | 0 | 1-52 + CreateWaveModal.tsx | 0 | 0 | 0 | 0 | 3-45 + components/waves/create-wave/approval | 0 | 0 | 0 | 0 | + CreateWaveApproval.tsx | 0 | 100 | 0 | 0 | 1-28 + CreateWaveApprovalThreshold.tsx | 0 | 0 | 0 | 0 | 1-16 + CreateWaveApprovalThresholdTime.tsx | 0 | 0 | 0 | 0 | 3-84 + components/waves/create-wave/dates | 0 | 0 | 0 | 0 | + CreateWaveDates.tsx | 0 | 0 | 0 | 0 | 3-171 + DecisionPointDropdown.tsx | 0 | 0 | 0 | 0 | 3-86 + Decisions.tsx | 0 | 0 | 0 | 0 | 1-198 + DecisionsFirst.tsx | 0 | 0 | 0 | 0 | 3-128 + RollingEndDate.tsx | 0 | 0 | 0 | 0 | 3-137 + StartDates.tsx | 0 | 0 | 0 | 0 | 3-82 + SubsequentDecisions.tsx | 0 | 0 | 0 | 0 | 3-215 + components/waves/create-wave/dates/end-date | 0 | 0 | 0 | 0 | + CreateWaveDatesEndDateSelectPeriod.tsx | 0 | 0 | 0 | 0 | 3-119 + CreateWaveDatesEndDateSelectPeriodItem.tsx | 0 | 0 | 0 | 0 | 1-19 + components/waves/create-wave/description | 0 | 0 | 0 | 0 | + CreateWaveDescription.tsx | 0 | 0 | 0 | 0 | 3-78 + components/waves/create-wave/drops | 0 | 0 | 0 | 0 | + CreateWaveDrops.tsx | 0 | 0 | 0 | 0 | 2-64 + components/waves/create-wave/drops/metadata | 0 | 0 | 0 | 0 | + CreateWaveDropsMetadata.tsx | 0 | 0 | 0 | 0 | 3-89 + CreateWaveDropsMetadataAddRowButton.tsx | 0 | 0 | 0 | 0 | 1-9 + CreateWaveDropsMetadataRow.tsx | 0 | 0 | 0 | 0 | 3-67 + CreateWaveDropsMetadataRowType.tsx | 0 | 0 | 0 | 0 | 1-44 + components/waves/create-wave/drops/terms | 0 | 0 | 0 | 0 | + CreateWaveTermsOfService.tsx | 0 | 0 | 0 | 0 | 3-84 + components/waves/create-wave/drops/types | 0 | 0 | 0 | 0 | + CreateWaveDropsType.tsx | 0 | 0 | 0 | 0 | 1-34 + CreateWaveDropsTypes.tsx | 0 | 0 | 0 | 0 | 1-72 + components/waves/create-wave/groups | 0 | 0 | 0 | 0 | + CreateWaveGroup.tsx | 0 | 0 | 0 | 0 | 3-67 + CreateWaveGroupSearchField.tsx | 0 | 0 | 0 | 0 | 3-341 + CreateWaveGroups.tsx | 0 | 0 | 0 | 0 | 3-48 + components/waves/create-wave/hooks | 0 | 0 | 0 | 0 | + useWaveConfig.ts | 0 | 0 | 0 | 0 | 3-326 + components/waves/create-wave/main-steps | 0 | 0 | 0 | 0 | + CreateWavesMainStep.tsx | 0 | 0 | 0 | 0 | 1-44 + CreateWavesMainStepConnectionLine.tsx | 0 | 0 | 0 | 0 | 1-8 + CreateWavesMainStepIcon.tsx | 0 | 0 | 0 | 0 | 3-70 + CreateWavesMainSteps.tsx | 0 | 100 | 0 | 0 | 2-24 + components/waves/create-wave/outcomes | 0 | 0 | 0 | 0 | + CreateWaveOutcomeTypes.tsx | 0 | 100 | 0 | 0 | 1-18 + CreateWaveOutcomeTypesItem.tsx | 0 | 0 | 0 | 0 | 3-22 + CreateWaveOutcomeWarning.tsx | 0 | 0 | 0 | 0 | 3-52 + CreateWaveOutcomes.tsx | 0 | 0 | 0 | 0 | 1-70 + components/waves/create-wave/outcomes/cic | 0 | 0 | 0 | 0 | + CreateWaveOutcomesCIC.tsx | 0 | 100 | 0 | 0 | 5-36 + CreateWaveOutcomesCICApprove.tsx | 0 | 0 | 0 | 0 | 3-59 + CreateWaveOutcomesCICRank.tsx | 0 | 0 | 0 | 0 | 3-96 + components/waves/create-wave/outcomes/manual | 0 | 0 | 0 | 0 | + CreateWaveOutcomesManual.tsx | 0 | 0 | 0 | 0 | 3-140 + components/waves/create-wave/outcomes/rep | 0 | 0 | 0 | 0 | + CreateWaveOutcomesRep.tsx | 0 | 100 | 0 | 0 | 5-37 + CreateWaveOutcomesRepApprove.tsx | 0 | 0 | 0 | 0 | 3-68 + CreateWaveOutcomesRepRank.tsx | 0 | 0 | 0 | 0 | 3-106 + components/waves/create-wave/outcomes/winners | 0 | 0 | 0 | 0 | + CreateWaveOutcomesWinners.tsx | 0 | 0 | 0 | 0 | 3-79 + CreateWaveOutcomesWinnersAddWinner.tsx | 0 | 100 | 0 | 0 | 1-6 + CreateWaveOutcomesWinnersRow.tsx | 0 | 0 | 0 | 0 | 1-85 + CreateWaveOutcomesWinnersRows.tsx | 0 | 100 | 0 | 0 | 6-39 + components/waves/create-wave/outcomes/winners/rows | 0 | 0 | 0 | 0 | + CreateWaveOutcomesRow.tsx | 0 | 100 | 0 | 0 | 2-44 + CreateWaveOutcomesRows.tsx | 0 | 0 | 0 | 0 | 2-32 + components/waves/create-wave/outcomes/winners/rows/cic | 0 | 0 | 0 | 0 | + CreateWaveOutcomesRowCIC.tsx | 0 | 100 | 0 | 0 | 1-32 + CreateWaveOutcomesRowCICApprove.tsx | 0 | 0 | 0 | 0 | 1-14 + CreateWaveOutcomesRowCICRank.tsx | 0 | 0 | 0 | 0 | 1-11 + components/waves/create-wave/outcomes/winners/rows/manual | 0 | 0 | 0 | 0 | + CreateWaveOutcomesRowManual.tsx | 0 | 100 | 0 | 0 | 1-32 + CreateWaveOutcomesRowManualApprove.tsx | 0 | 0 | 0 | 0 | 1-16 + CreateWaveOutcomesRowManualRank.tsx | 0 | 100 | 0 | 0 | 1-11 + components/waves/create-wave/outcomes/winners/rows/rep | 0 | 0 | 0 | 0 | + CreateWaveOutcomesRowRep.tsx | 0 | 100 | 0 | 0 | 1-32 + CreateWaveOutcomesRowRepApprove.tsx | 0 | 0 | 0 | 0 | 1-15 + CreateWaveOutcomesRowRepRank.tsx | 0 | 0 | 0 | 0 | 1-12 + components/waves/create-wave/overview | 0 | 0 | 0 | 0 | + CreateWaveImageInput.tsx | 0 | 0 | 0 | 0 | 3-144 + CreateWaveNameInput.tsx | 0 | 0 | 0 | 0 | 1-24 + CreateWaveOverview.tsx | 0 | 100 | 0 | 0 | 3-52 + components/waves/create-wave/overview/type | 0 | 100 | 0 | 0 | + CreateWaveType.tsx | 0 | 100 | 0 | 0 | 4-13 + CreateWaveTypeInputs.tsx | 0 | 100 | 0 | 0 | 1-20 + components/waves/create-wave/services | 0 | 0 | 0 | 0 | + multiPartUpload.ts | 0 | 0 | 0 | 0 | 1-232 + waveApiService.ts | 0 | 0 | 0 | 0 | 3-18 + waveDecisionService.ts | 0 | 0 | 0 | 0 | 6-212 + waveGroupService.ts | 0 | 0 | 0 | 0 | 2-92 + waveMediaService.ts | 0 | 0 | 0 | 0 | 5-18 + components/waves/create-wave/types | 0 | 0 | 0 | 0 | + period.ts | 0 | 0 | 0 | 0 | 2-7 + components/waves/create-wave/utils | 0 | 0 | 0 | 0 | + CreateWaveActions.tsx | 0 | 0 | 0 | 0 | 3-60 + CreateWaveBackStep.tsx | 0 | 100 | 0 | 0 | 1-6 + CreateWaveNextStep.tsx | 0 | 0 | 0 | 0 | 3-55 + CreateWaveToggle.tsx | 0 | 0 | 0 | 0 | 8-33 + CreateWaveWarning.tsx | 0 | 100 | 0 | 0 | 1-8 + components/waves/create-wave/voting | 0 | 0 | 0 | 0 | + CreateWaveVoting.tsx | 0 | 0 | 0 | 0 | 3-58 + CreateWaveVotingRep.tsx | 0 | 100 | 0 | 0 | 1-25 + NegativeVotingToggle.tsx | 0 | 0 | 0 | 0 | 7-18 + TimeWeightedVoting.tsx | 0 | 0 | 0 | 0 | 3-169 + types.ts | 0 | 100 | 100 | 0 | 17-19 + utils.ts | 0 | 0 | 0 | 0 | 1-31 + components/waves/create-wave/voting/components | 0 | 0 | 0 | 0 | + AveragingIntervalInput.tsx | 0 | 0 | 0 | 0 | 3-100 + TimeUnitSelector.tsx | 0 | 100 | 0 | 0 | 1-61 + TimeWeightedToggle.tsx | 0 | 0 | 0 | 0 | 1-60 + ValidationFeedback.tsx | 0 | 0 | 0 | 0 | 1-40 + index.ts | 0 | 100 | 0 | 0 | 1-4 + components/waves/drop | 0 | 0 | 0 | 0 | + DefaultSingleWaveDrop.tsx | 0 | 0 | 0 | 0 | 3-35 + MemesSingleWaveDrop.tsx | 0 | 0 | 0 | 0 | 3-35 + MemesSingleWaveDropContent.tsx | 0 | 0 | 0 | 0 | 1-25 + MemesSingleWaveDropInfoPanel.tsx | 0 | 0 | 0 | 0 | 3-57 + SingleWaveDrop.tsx | 0 | 0 | 0 | 0 | 1-30 + SingleWaveDropAuthor.tsx | 0 | 0 | 0 | 0 | 1-17 + SingleWaveDropChat.tsx | 0 | 0 | 0 | 0 | 3-111 + SingleWaveDropClose.tsx | 0 | 100 | 0 | 0 | 1-9 + SingleWaveDropContent.tsx | 0 | 0 | 0 | 0 | 3-17 + SingleWaveDropContentMetadata.tsx | 0 | 0 | 0 | 0 | 3-87 + SingleWaveDropHeader.tsx | 0 | 100 | 0 | 0 | 1-17 + SingleWaveDropInfoActions.tsx | 0 | 0 | 0 | 0 | 1-16 + SingleWaveDropInfoAuthorSection.tsx | 0 | 0 | 0 | 0 | 1-16 + SingleWaveDropInfoContainer.tsx | 0 | 0 | 0 | 0 | 3-17 + SingleWaveDropInfoContent.tsx | 0 | 0 | 0 | 0 | 1-26 + SingleWaveDropInfoDetails.tsx | 0 | 0 | 0 | 0 | 1-30 + SingleWaveDropInfoPanel.tsx | 0 | 0 | 0 | 0 | 1-28 + SingleWaveDropLog.tsx | 0 | 0 | 0 | 0 | 1-69 + SingleWaveDropLogs.tsx | 0 | 0 | 0 | 0 | 3-82 + SingleWaveDropPosition.tsx | 0 | 0 | 0 | 0 | 1-74 + SingleWaveDropTabs.tsx | 0 | 0 | 0 | 0 | 1-42 + SingleWaveDropTraits.tsx | 0 | 0 | 0 | 0 | 3-508 + SingleWaveDropVote.tsx | 0 | 0 | 0 | 0 | 1-26 + SingleWaveDropVoteContent.tsx | 0 | 0 | 0 | 0 | 3-127 + SingleWaveDropVoteInput.tsx | 0 | 0 | 0 | 0 | 3-291 + SingleWaveDropVoteSlider.tsx | 0 | 0 | 0 | 0 | 3-326 + SingleWaveDropVoteStats.tsx | 0 | 100 | 0 | 0 | 1-15 + SingleWaveDropVoteSubmit.tsx | 0 | 0 | 0 | 0 | 3-310 + SingleWaveDropVoter.tsx | 0 | 0 | 0 | 0 | 1-34 + SingleWaveDropVoters.tsx | 0 | 0 | 0 | 0 | 3-84 + SingleWaveDropVotes.tsx | 0 | 0 | 0 | 0 | 3-54 + WinnerBadge.tsx | 0 | 0 | 0 | 0 | 1-20 + components/waves/drop/types | 0 | 0 | 0 | 0 | + slider.types.ts | 0 | 0 | 0 | 0 | 24-118 + components/waves/drops | 0 | 0 | 0 | 0 | + ArtistActiveSubmissionContent.tsx | 0 | 0 | 0 | 0 | 3-113 + ArtistPreviewAppWrapper.tsx | 0 | 0 | 0 | 0 | 3-54 + ArtistPreviewModal.tsx | 0 | 0 | 0 | 0 | 4-111 + ArtistPreviewModalContent.tsx | 0 | 0 | 0 | 0 | 3-107 + ArtistPreviewModalHeader.tsx | 0 | 0 | 0 | 0 | 1-94 + ArtistPreviewModalTabs.tsx | 0 | 0 | 0 | 0 | 1-34 + ArtistSubmissionBadge.tsx | 0 | 0 | 0 | 0 | 3-49 + ArtistWinningArtworksContent.tsx | 0 | 0 | 0 | 0 | 1-117 + ContentDisplay.tsx | 0 | 0 | 0 | 0 | 1-43 + ContentSegmentComponent.tsx | 0 | 0 | 0 | 0 | 1-30 + Drop.tsx | 0 | 0 | 0 | 0 | 3-114 + DropContext.tsx | 0 | 0 | 0 | 0 | 3-38 + DropItemChat.tsx | 0 | 0 | 0 | 0 | 1-29 + DropLoading.tsx | 0 | 100 | 0 | 0 | 1-7 + DropMobileMenuHandler.tsx | 0 | 0 | 0 | 0 | 3-100 + DropNotFound.tsx | 0 | 100 | 0 | 0 | 1-7 + EditDropLexical.tsx | 0 | 0 | 0 | 0 | 3-528 + LightDrop.tsx | 0 | 100 | 0 | 0 | 8-30 + MediaThumbnail.tsx | 0 | 0 | 0 | 0 | 1-12 + ProfileWinnerBadge.tsx | 0 | 0 | 0 | 0 | 3-50 + SubmissionPosition.tsx | 0 | 0 | 0 | 0 | 1-48 + VirtualScrollWrapper.tsx | 0 | 0 | 0 | 0 | 3-168 + WaveDrop.tsx | 0 | 0 | 0 | 0 | 3-417 + WaveDropActions.tsx | 0 | 0 | 0 | 0 | 3-73 + WaveDropActionsAddReaction.tsx | 0 | 0 | 0 | 0 | 3-307 + WaveDropActionsCopyLink.tsx | 0 | 0 | 0 | 0 | 3-98 + WaveDropActionsDownload.tsx | 0 | 0 | 0 | 0 | 3-101 + WaveDropActionsEdit.tsx | 0 | 0 | 0 | 0 | 3-25 + WaveDropActionsOpen.tsx | 0 | 0 | 0 | 0 | 3-75 + WaveDropActionsOptions.tsx | 0 | 0 | 0 | 0 | 3-80 + WaveDropActionsQuote.tsx | 0 | 0 | 0 | 0 | 3-84 + WaveDropActionsRate.tsx | 0 | 0 | 0 | 0 | 1-44 + WaveDropActionsReply.tsx | 0 | 0 | 0 | 0 | 3-83 + WaveDropAuthorPfp.tsx | 0 | 0 | 0 | 0 | 3-69 + WaveDropContent.tsx | 0 | 0 | 0 | 0 | 1-59 + WaveDropFollowAuthor.tsx | 0 | 0 | 0 | 0 | 3-159 + WaveDropHeader.tsx | 0 | 0 | 0 | 0 | 3-174 + WaveDropMetadata.tsx | 0 | 0 | 0 | 0 | 3-86 + WaveDropMobileMenu.tsx | 0 | 0 | 0 | 0 | 3-273 + WaveDropMobileMenuDelete.tsx | 0 | 0 | 0 | 0 | 3-146 + WaveDropMobileMenuEdit.tsx | 0 | 0 | 0 | 0 | 3-44 + WaveDropMobileMenuFollow.tsx | 0 | 0 | 0 | 0 | 3-97 + WaveDropMobileMenuOpen.tsx | 0 | 0 | 0 | 0 | 3-60 + WaveDropPart.tsx | 0 | 0 | 0 | 0 | 3-145 + WaveDropPartContent.tsx | 0 | 0 | 0 | 0 | 3-154 + WaveDropPartContentMarkdown.tsx | 0 | 0 | 0 | 0 | 1-93 + WaveDropPartContentMedias.tsx | 0 | 0 | 0 | 0 | 1-54 + WaveDropPartDrop.tsx | 0 | 0 | 0 | 0 | 1-71 + WaveDropPartTitle.tsx | 0 | 0 | 0 | 0 | 1-19 + WaveDropQuote.tsx | 0 | 0 | 0 | 0 | 3-169 + WaveDropQuoteWithDropId.tsx | 0 | 0 | 0 | 0 | 3-53 + WaveDropQuoteWithSerialNo.tsx | 0 | 0 | 0 | 0 | 3-59 + WaveDropRatings.tsx | 0 | 0 | 0 | 0 | 1-120 + WaveDropReactions.tsx | 0 | 0 | 0 | 0 | 3-366 + WaveDropReply.tsx | 0 | 0 | 0 | 0 | 3-77 + WaveDropsEmptyPlaceholder.tsx | 0 | 0 | 0 | 0 | 1-10 + WaveDropsReverseContainer.tsx | 0 | 0 | 0 | 0 | 3-105 + WaveDropsScrollBottomButton.tsx | 0 | 0 | 0 | 0 | 1-29 + WaveDropsScrollingOverlay.tsx | 0 | 0 | 0 | 0 | 1-15 + blankLinePlaceholders.ts | 0 | 0 | 0 | 0 | 2-24 + media-utils.ts | 0 | 0 | 0 | 0 | 8-126 + normalizeDropMarkdown.ts | 0 | 0 | 0 | 0 | 1-96 + reaction-utils.ts | 0 | 0 | 0 | 0 | 11-85 + useDropContent.ts | 0 | 0 | 0 | 0 | 3-102 + components/waves/drops/participation | 0 | 0 | 0 | 0 | + DefaultParticipationDrop.tsx | 0 | 0 | 0 | 0 | 5-31 + EndedParticipationDrop.tsx | 0 | 0 | 0 | 0 | 5-154 + OngoingParticipationDrop.tsx | 0 | 0 | 0 | 0 | 7-70 + ParticipationDrop.tsx | 0 | 0 | 0 | 0 | 5-31 + ParticipationDropContainer.tsx | 0 | 0 | 0 | 0 | 2-105 + ParticipationDropContent.tsx | 0 | 0 | 0 | 0 | 3-29 + ParticipationDropFooter.tsx | 0 | 0 | 0 | 0 | 3-55 + ParticipationDropHeader.tsx | 0 | 0 | 0 | 0 | 1-67 + ParticipationDropMetadata.tsx | 0 | 0 | 0 | 0 | 4-87 + ParticipationDropRatings.tsx | 0 | 0 | 0 | 0 | 1-14 + components/waves/drops/participation/ratings | 0 | 0 | 0 | 0 | + ParticipationDropRatingsContainer.tsx | 0 | 0 | 0 | 0 | 2-28 + ParticipationDropRatingsTheme.ts | 0 | 0 | 0 | 0 | 3-34 + ParticipationDropRatingsTotalSection.tsx | 0 | 0 | 0 | 0 | 1-19 + ParticipationDropRatingsUserSection.tsx | 0 | 0 | 0 | 0 | 2-23 + ParticipationDropRatingsVoterSection.tsx | 0 | 0 | 0 | 0 | 1-27 + components/waves/drops/participation/ratings/tooltips | 0 | 0 | 0 | 0 | + VoteBreakdownTooltip.tsx | 0 | 0 | 0 | 0 | 1-28 + components/waves/drops/time | 0 | 0 | 0 | 0 | + WaveDropTime.tsx | 0 | 0 | 0 | 0 | 3-91 + components/waves/drops/wave-drops-all | 0 | 0 | 0 | 0 | + index.tsx | 0 | 0 | 0 | 0 | 3-272 + components/waves/drops/wave-drops-all/hooks | 0 | 0 | 0 | 0 | + useWaveDropsClipboard.ts | 0 | 0 | 0 | 0 | 3-1204 + useWaveDropsNotificationRead.ts | 0 | 100 | 0 | 0 | 1-20 + useWaveDropsSerialScroll.ts | 0 | 0 | 0 | 0 | 1-281 + components/waves/drops/wave-drops-all/subcomponents | 0 | 0 | 0 | 0 | + WaveDropsContent.tsx | 0 | 0 | 0 | 0 | 2-88 + WaveDropsMessageListSection.tsx | 0 | 0 | 0 | 0 | 2-71 + WaveDropsTypingIndicator.tsx | 0 | 0 | 0 | 0 | 1-16 + components/waves/drops/wave-drops-all/utils | 0 | 100 | 0 | 0 | + delay.ts | 0 | 100 | 0 | 0 | 1-3 + components/waves/drops/winner | 0 | 0 | 0 | 0 | + DefaultWinnerDrop.tsx | 0 | 0 | 0 | 0 | 3-258 + WinnerDrop.tsx | 0 | 0 | 0 | 0 | 1-37 + WinnerDropBadge.tsx | 0 | 0 | 0 | 0 | 1-104 + components/waves/ens | 0 | 0 | 0 | 0 | + EnsLinkPreview.tsx | 0 | 0 | 0 | 0 | 3-74 + EnsPreviewCard.tsx | 0 | 0 | 0 | 0 | 3-355 + types.ts | 0 | 0 | 0 | 0 | 1-72 + components/waves/followers | 0 | 100 | 0 | 0 | + WaveFollowersList.tsx | 0 | 100 | 0 | 0 | 2-16 + components/waves/groups | 0 | 0 | 0 | 0 | + WaveGroups.tsx | 0 | 0 | 0 | 0 | 1-17 + components/waves/header | 0 | 0 | 0 | 0 | + WaveHeader.tsx | 0 | 0 | 0 | 0 | 3-80 + WaveHeaderDescription.tsx | 0 | 0 | 0 | 0 | 3-187 + WaveHeaderFollow.tsx | 0 | 0 | 0 | 0 | 3-170 + WaveHeaderFollowers.tsx | 0 | 100 | 0 | 0 | 2-11 + WaveHeaderPinButton.tsx | 0 | 0 | 0 | 0 | 3-153 + components/waves/header/name | 0 | 0 | 0 | 0 | + WaveHeaderName.tsx | 0 | 0 | 0 | 0 | 3-17 + WaveHeaderNameEdit.tsx | 0 | 0 | 0 | 0 | 3-32 + WaveHeaderNameEditInput.tsx | 0 | 100 | 0 | 0 | 3-27 + WaveHeaderNameEditModal.tsx | 0 | 0 | 0 | 0 | 3-75 + components/waves/header/options | 0 | 0 | 0 | 0 | + WaveHeaderOptions.tsx | 0 | 0 | 0 | 0 | 3-29 + components/waves/header/options/delete | 0 | 0 | 0 | 0 | + WaveDelete.tsx | 0 | 0 | 0 | 0 | 3-34 + WaveDeleteModal.tsx | 0 | 0 | 0 | 0 | 3-65 + components/waves/hooks | 0 | 0 | 0 | 0 | + useDropMetadata.ts | 0 | 0 | 0 | 0 | 3-106 + components/waves/layout | 0 | 0 | 0 | 0 | + WavesLayout.tsx | 0 | 0 | 0 | 0 | 3-95 + components/waves/leaderboard | 0 | 0 | 0 | 0 | + WaveLeaderboardTime.tsx | 0 | 0 | 0 | 0 | 3-137 + components/waves/leaderboard/content | 0 | 0 | 0 | 0 | + WaveLeaderboardDropContent.tsx | 0 | 0 | 0 | 0 | 3-25 + components/waves/leaderboard/create | 0 | 100 | 0 | 0 | + WaveDropCreate.tsx | 0 | 100 | 0 | 0 | 1-16 + components/waves/leaderboard/drops | 0 | 0 | 0 | 0 | + DefaultWaveLeaderboardDrop.tsx | 0 | 0 | 0 | 0 | 3-138 + WaveLeaderboardDrop.tsx | 0 | 0 | 0 | 0 | 1-23 + WaveLeaderboardDrops.tsx | 0 | 0 | 0 | 0 | 3-64 + WaveLeaderboardEmptyState.tsx | 0 | 0 | 0 | 0 | 1-57 + WaveLeaderboardLoading.tsx | 0 | 100 | 0 | 0 | 1-4 + WaveLeaderboardLoadingBar.tsx | 0 | 100 | 0 | 0 | 1-4 + components/waves/leaderboard/drops/footer | 0 | 100 | 0 | 0 | + WaveLeaderboardDropFooter.tsx | 0 | 100 | 0 | 0 | 1-14 + components/waves/leaderboard/drops/header | 0 | 0 | 0 | 0 | + WaveLeaderboardDropAuthor.tsx | 0 | 0 | 0 | 0 | 1-55 + WaveLeaderboardDropHeader.tsx | 0 | 100 | 0 | 0 | 1-12 + WaveleaderboardDropRaters.tsx | 0 | 0 | 0 | 0 | 1-65 + components/waves/leaderboard/gallery | 0 | 0 | 0 | 0 | + WaveLeaderboardGallery.tsx | 0 | 0 | 0 | 0 | 3-84 + WaveLeaderboardGalleryItem.tsx | 0 | 0 | 0 | 0 | 3-221 + WaveLeaderboardGalleryItemVotes.tsx | 0 | 0 | 0 | 0 | 1-25 + components/waves/leaderboard/header | 0 | 0 | 0 | 0 | + WaveleaderboardHeader.tsx | 0 | 0 | 0 | 0 | 3-97 + WaveleaderboardSort.tsx | 0 | 0 | 0 | 0 | 3-133 + components/waves/leaderboard/sidebar | 0 | 0 | 0 | 0 | + WaveLeaderboardRightSidebarActivityLog.tsx | 0 | 0 | 0 | 0 | 2-23 + WaveLeaderboardRightSidebarActivityLogDrop.tsx | 0 | 0 | 0 | 0 | 3-44 + WaveLeaderboardRightSidebarActivityLogs.tsx | 0 | 0 | 0 | 0 | 1-71 + WaveLeaderboardRightSidebarVoter.tsx | 0 | 0 | 0 | 0 | 1-21 + WaveLeaderboardRightSidebarVoters.tsx | 0 | 0 | 0 | 0 | 1-67 + components/waves/leaderboard/time | 0 | 0 | 0 | 0 | + CompactDroppingPhaseCard.tsx | 0 | 0 | 0 | 0 | 1-23 + CompactTimeCountdown.tsx | 0 | 0 | 0 | 0 | 1-17 + CompactVotingPhaseCard.tsx | 0 | 0 | 0 | 0 | 1-27 + ExpandedTimelineContent.tsx | 0 | 0 | 0 | 0 | 3-74 + HorizontalTimeline.tsx | 0 | 0 | 0 | 0 | 3-186 + HorizontalTimelineDot.tsx | 0 | 0 | 0 | 0 | 1-15 + HorizontalTimelineItem.tsx | 0 | 0 | 0 | 0 | 1-22 + TimeUnitDisplay.tsx | 0 | 100 | 0 | 0 | 1-15 + TimelineToggleHeader.tsx | 0 | 0 | 0 | 0 | 3-84 + components/waves/list | 0 | 0 | 0 | 0 | + WaveItem.tsx | 0 | 0 | 0 | 0 | 3-321 + WaveItemChat.tsx | 0 | 0 | 0 | 0 | 1-14 + WaveItemDropped.tsx | 0 | 0 | 0 | 0 | 3-78 + WaveItemFollow.tsx | 0 | 0 | 0 | 0 | 3-138 + WavesList.tsx | 0 | 0 | 0 | 0 | 3-96 + WavesListSearchResults.tsx | 0 | 0 | 0 | 0 | 1-52 + WavesListWrapper.tsx | 0 | 0 | 0 | 0 | 3-218 + components/waves/list/header | 0 | 0 | 0 | 0 | + WavesListHeader.tsx | 0 | 0 | 0 | 0 | 3-53 + WavesListSearch.tsx | 0 | 0 | 0 | 0 | 1-48 + components/waves/memes | 0 | 0 | 0 | 0 | + MemesArtSubmissionFile.tsx | 0 | 0 | 0 | 0 | 3-435 + MemesArtSubmissionModal.tsx | 0 | 0 | 0 | 0 | 3-60 + MemesArtSubmissionTraits.tsx | 0 | 0 | 0 | 0 | 3-93 + components/waves/memes/file-upload/components | 0 | 0 | 0 | 0 | + BrowserWarning.tsx | 0 | 100 | 0 | 0 | 1-32 + ErrorMessage.tsx | 0 | 0 | 0 | 0 | 1-45 + FilePreview.tsx | 0 | 0 | 0 | 0 | 1-168 + FileTypeIndicator.tsx | 0 | 100 | 0 | 0 | 1-27 + UploadArea.tsx | 0 | 0 | 0 | 0 | 1-115 + VideoFallbackPreview.tsx | 0 | 0 | 0 | 0 | 1-69 + components/waves/memes/file-upload/hooks | 0 | 0 | 0 | 0 | + useAccessibility.ts | 0 | 0 | 0 | 0 | 3-91 + useDragAndDrop.ts | 0 | 0 | 0 | 0 | 3-116 + useFileUploader.ts | 0 | 0 | 0 | 0 | 3-189 + components/waves/memes/file-upload/reducers | 0 | 0 | 0 | 0 | + fileUploadReducer.ts | 0 | 0 | 0 | 0 | 7-136 + components/waves/memes/file-upload/utils | 0 | 0 | 0 | 0 | + browserDetection.ts | 0 | 0 | 0 | 0 | 11-66 + constants.ts | 0 | 100 | 100 | 0 | 10-50 + fileValidation.ts | 0 | 0 | 0 | 0 | 7-188 + formatHelpers.ts | 0 | 0 | 0 | 0 | 7-55 + components/waves/memes/submission | 0 | 0 | 0 | 0 | + MemesArtSubmissionContainer.tsx | 0 | 0 | 0 | 0 | 3-208 + MobileMemesArtSubmissionBtn.tsx | 0 | 0 | 0 | 0 | 3-105 + components/waves/memes/submission/actions | 0 | 0 | 0 | 0 | + validateInteractivePreview.ts | 0 | 0 | 0 | 0 | 3-238 + components/waves/memes/submission/constants | 0 | 0 | 0 | 0 | + media.ts | 0 | 100 | 0 | 0 | 2-26 + security.ts | 0 | 0 | 0 | 0 | 3-227 + components/waves/memes/submission/details | 0 | 0 | 0 | 0 | + ArtworkDetails.tsx | 0 | 0 | 0 | 0 | 3-194 + components/waves/memes/submission/hooks | 0 | 0 | 0 | 0 | + useArtworkSubmissionForm.ts | 0 | 0 | 0 | 0 | 3-579 + useArtworkSubmissionMutation.ts | 0 | 0 | 0 | 0 | 3-337 + components/waves/memes/submission/layout | 0 | 100 | 0 | 0 | + ModalLayout.tsx | 0 | 100 | 0 | 0 | 1-65 + components/waves/memes/submission/steps | 0 | 0 | 0 | 0 | + AgreementStep.tsx | 0 | 0 | 0 | 0 | 1-97 + AgreementStepAgreement.tsx | 0 | 100 | 0 | 0 | 1-83 + ArtworkStep.tsx | 0 | 0 | 0 | 0 | 3-426 + components/waves/memes/submission/types | 0 | 0 | 0 | 0 | + Steps.ts | 0 | 0 | 0 | 0 | 4-6 + components/waves/memes/submission/ui | 0 | 0 | 0 | 0 | + FormSection.tsx | 0 | 0 | 0 | 0 | 1-30 + SubmissionProgress.tsx | 0 | 0 | 0 | 0 | 1-107 + ValidationError.tsx | 0 | 0 | 0 | 0 | 1-31 + components/waves/memes/submission/validation | 0 | 0 | 0 | 0 | + index.ts | 0 | 100 | 100 | 0 | 1 + traitsValidation.ts | 0 | 0 | 0 | 0 | 2-189 + validationHooks.ts | 0 | 0 | 0 | 0 | 3-150 + validationRules.ts | 0 | 0 | 0 | 0 | 5-165 + components/waves/memes/traits | 0 | 0 | 0 | 0 | + BooleanTrait.tsx | 0 | 0 | 0 | 0 | 3-166 + DropdownTrait.tsx | 0 | 0 | 0 | 0 | 4-102 + NumberTrait.tsx | 0 | 0 | 0 | 0 | 3-223 + Section.tsx | 0 | 0 | 0 | 0 | 1-47 + TextTrait.tsx | 0 | 0 | 0 | 0 | 4-155 + TraitField.tsx | 0 | 0 | 0 | 0 | 1-137 + TraitWrapper.tsx | 0 | 0 | 0 | 0 | 1-79 + index.ts | 0 | 100 | 100 | 0 | 1-2 + schema.ts | 0 | 0 | 0 | 0 | 1-524 + components/waves/outcome | 0 | 0 | 0 | 0 | + WaveManualOutcome.tsx | 0 | 0 | 0 | 0 | 3-120 + WaveNICOutcome.tsx | 0 | 0 | 0 | 0 | 3-116 + WaveOutcome.tsx | 0 | 0 | 0 | 0 | 3-39 + WaveRepOutcome.tsx | 0 | 0 | 0 | 0 | 3-127 + components/waves/pepe | 0 | 0 | 0 | 0 | + PepeCard.tsx | 0 | 0 | 0 | 0 | 1-433 + components/waves/small-leaderboard | 0 | 0 | 0 | 0 | + DefaultWaveSmallLeaderboardDrop.tsx | 0 | 0 | 0 | 0 | 1-17 + MemesWaveSmallLeaderboardDrop.tsx | 0 | 0 | 0 | 0 | 1-15 + WaveSmallLeaderboard.tsx | 0 | 0 | 0 | 0 | 3-44 + WaveSmallLeaderboardDefaultDrop.tsx | 0 | 0 | 0 | 0 | 1-43 + WaveSmallLeaderboardDrop.tsx | 0 | 0 | 0 | 0 | 1-27 + WaveSmallLeaderboardItemContent.tsx | 0 | 0 | 0 | 0 | 4-35 + WaveSmallLeaderboardItemOutcomes.tsx | 0 | 0 | 0 | 0 | 3-183 + WaveSmallLeaderboardTopThreeDrop.tsx | 0 | 0 | 0 | 0 | 1-113 + components/waves/specs | 0 | 0 | 0 | 0 | + WaveAuthor.tsx | 0 | 0 | 0 | 0 | 1-10 + WaveNotificationSettings.tsx | 0 | 0 | 0 | 0 | 3-238 + WaveRating.tsx | 0 | 0 | 0 | 0 | 1-18 + WaveRatingRep.tsx | 0 | 0 | 0 | 0 | 1-10 + WaveSpecs.tsx | 0 | 0 | 0 | 0 | 1-17 + WaveTypeIcon.tsx | 0 | 100 | 0 | 0 | 2-9 + components/waves/specs/groups/group | 0 | 0 | 0 | 0 | + WaveGroup.tsx | 0 | 0 | 0 | 0 | 4-29 + WaveGroup.types.ts | 0 | 0 | 0 | 0 | 1-6 + WaveGroupScope.tsx | 0 | 0 | 0 | 0 | 1-16 + WaveGroupTitle.tsx | 0 | 100 | 0 | 0 | 1-15 + components/waves/specs/groups/group/edit | 0 | 0 | 0 | 0 | + WaveGroupEdit.tsx | 0 | 100 | 0 | 0 | 3-41 + WaveGroupEditButton.tsx | 0 | 0 | 0 | 0 | 3-88 + WaveGroupEditButtons.tsx | 0 | 0 | 0 | 0 | 3-87 + WaveGroupManageIdentitiesModal.tsx | 0 | 0 | 0 | 0 | 3-87 + WaveGroupRemove.tsx | 0 | 0 | 0 | 0 | 3-43 + WaveGroupRemoveButton.tsx | 0 | 0 | 0 | 0 | 3-96 + WaveGroupRemoveModal.tsx | 0 | 100 | 0 | 0 | 3-19 + components/waves/specs/groups/group/edit/buttons/hooks | 0 | 0 | 0 | 0 | + useWaveGroupEditButtonsController.ts | 0 | 0 | 0 | 0 | 3-765 + components/waves/specs/groups/group/edit/buttons/subcomponents | 0 | 0 | 0 | 0 | + WaveGroupEditMenu.tsx | 0 | 0 | 0 | 0 | 3-125 + WaveGroupManageIdentitiesModals.tsx | 0 | 0 | 0 | 0 | 3-29 + components/waves/specs/groups/group/edit/buttons/utils | 0 | 0 | 0 | 0 | + waveGroupEdit.ts | 0 | 0 | 0 | 0 | 4-75 + components/waves/specs/groups/group/edit/utils | 0 | 0 | 0 | 0 | + waveGroupUpdate.ts | 0 | 0 | 0 | 0 | 2-75 + components/waves/utils | 0 | 0 | 0 | 0 | + convertMetadataToDropMetadata.ts | 0 | 0 | 0 | 0 | 4-20 + getMissingRequirements.ts | 0 | 0 | 0 | 0 | 1-44 + components/waves/winners | 0 | 0 | 0 | 0 | + DefaultWaveWinnerDropSmall.tsx | 0 | 0 | 0 | 0 | 3-164 + MemesWaveWinnerDropSmall.tsx | 0 | 0 | 0 | 0 | 3-164 + WaveWinnerItemSmall.tsx | 0 | 0 | 0 | 0 | 1-41 + WaveWinners.tsx | 0 | 0 | 0 | 0 | 1-33 + WaveWinnersEmpty.tsx | 0 | 100 | 0 | 0 | 1-6 + WaveWinnersSmall.tsx | 0 | 0 | 0 | 0 | 3-146 + WaveWinnersSmallDecisionSelector.tsx | 0 | 0 | 0 | 0 | 3-100 + WaveWinnersSmallEmpty.tsx | 0 | 0 | 0 | 0 | 1-17 + WaveWinnersSmallLoading.tsx | 0 | 100 | 0 | 0 | 1-4 + WaveWinnersSmallOutcome.tsx | 0 | 0 | 0 | 0 | 3-142 + WaveWinnersTimeline.tsx | 0 | 0 | 0 | 0 | 1-73 + WaveWinnersTimelineLoading.tsx | 0 | 100 | 0 | 0 | 1-43 + components/waves/winners/drops | 0 | 0 | 0 | 0 | + DefaultWaveWinnerDrop.tsx | 0 | 0 | 0 | 0 | 1-141 + DropContentSmall.tsx | 0 | 100 | 0 | 0 | 3-36 + MemesWaveWinnerDrop.tsx | 0 | 0 | 0 | 0 | 3-264 + WaveWinnersDrop.tsx | 0 | 0 | 0 | 0 | 1-31 + WaveWinnersDropContent.tsx | 0 | 0 | 0 | 0 | 3-35 + WaveWinnersDrops.tsx | 0 | 0 | 0 | 0 | 1-35 + components/waves/winners/drops/header | 0 | 0 | 0 | 0 | + WaveWinnersDropHeader.tsx | 0 | 0 | 0 | 0 | 1-20 + WaveWinnersDropHeaderAuthorHandle.tsx | 0 | 0 | 0 | 0 | 1-18 + WaveWinnersDropHeaderAuthorPfp.tsx | 0 | 0 | 0 | 0 | 1-11 + WaveWinnersDropHeaderTotalVotes.tsx | 0 | 0 | 0 | 0 | 2-31 + WaveWinnersDropHeaderVoter.tsx | 0 | 0 | 0 | 0 | 1-22 + WaveWinnersDropHeaderVoters.tsx | 0 | 0 | 0 | 0 | 1-43 + WaveWinnersDropOutcome.tsx | 0 | 0 | 0 | 0 | 1-112 + components/waves/winners/podium | 0 | 0 | 0 | 0 | + WavePodiumItem.tsx | 0 | 0 | 0 | 0 | 1-250 + WavePodiumItemContentOutcomes.tsx | 0 | 0 | 0 | 0 | 3-179 + WaveWinnersEmpty.tsx | 0 | 100 | 0 | 0 | 1-4 + WaveWinnersLoading.tsx | 0 | 100 | 0 | 0 | 1-19 + WaveWinnersPodium.tsx | 0 | 0 | 0 | 0 | 1-32 + WaveWinnersPodiumContent.tsx | 0 | 100 | 0 | 0 | 1-19 + WaveWinnersPodiumPlaceholder.tsx | 0 | 100 | 0 | 0 | 1-18 + components/xtdh | 0 | 0 | 0 | 0 | + XtdhPage.tsx | 0 | 0 | 0 | 0 | 3-89 + profile-utils.ts | 0 | 0 | 0 | 0 | 2-38 + components/xtdh/received | 0 | 0 | 0 | 0 | + constants.ts | 0 | 0 | 0 | 0 | 2-129 + index.tsx | 0 | 0 | 0 | 0 | 3-110 + components/xtdh/received/collection-card-content | 0 | 0 | 0 | 0 | + index.tsx | 0 | 0 | 0 | 0 | 3-190 + components/xtdh/received/collection-card-content/subcomponents | 0 | 100 | 0 | 0 | + XtdhRatePill.tsx | 0 | 100 | 0 | 0 | 1-14 + components/xtdh/received/collection-tokens | 0 | 0 | 0 | 0 | + XtdhTokensList.tsx | 0 | 0 | 0 | 0 | 1-73 + index.tsx | 0 | 0 | 0 | 0 | 3-159 + useXtdhTokenMetadataMap.ts | 0 | 0 | 0 | 0 | 3-75 + components/xtdh/received/collection-tokens/hooks | 0 | 0 | 0 | 0 | + useCollectionContractDetails.ts | 0 | 0 | 0 | 0 | 1-55 + useXtdhTokenSelection.ts | 0 | 100 | 0 | 0 | 1-23 + useXtdhTokensListState.ts | 0 | 0 | 0 | 0 | 1-20 + components/xtdh/received/collection-tokens/subcomponents | 0 | 0 | 0 | 0 | + CollectionBreadcrumbs.tsx | 0 | 0 | 0 | 0 | 10-35 + CollectionLoadMore.tsx | 0 | 0 | 0 | 0 | 7-16 + XtdhTokenListItem.tsx | 0 | 0 | 0 | 0 | 1-73 + XtdhTokenListItemMetrics.tsx | 0 | 100 | 0 | 0 | 10-15 + XtdhTokenListItemThumbnail.tsx | 0 | 0 | 0 | 0 | 1-52 + XtdhTokensFallbacks.tsx | 0 | 0 | 0 | 0 | 12-43 + XtdhTokensSkeleton.tsx | 0 | 100 | 0 | 0 | 1-10 + components/xtdh/received/collection-tokens/token-contributors | 0 | 0 | 0 | 0 | + index.tsx | 0 | 0 | 0 | 0 | 1-81 + components/xtdh/received/collection-tokens/token-contributors/hooks | 0 | 0 | 0 | 0 | + useXtdhTokenContributorsFilters.ts | 0 | 0 | 0 | 0 | 3-123 + useXtdhTokenContributorsListState.ts | 0 | 0 | 0 | 0 | 18-30 + components/xtdh/received/collection-tokens/token-contributors/subcomponents | 0 | 0 | 0 | 0 | + XtdhGrantDetailsPanel.tsx | 0 | 0 | 0 | 0 | 1-106 + XtdhTokenContributorsControls.tsx | 0 | 0 | 0 | 0 | 1-31 + XtdhTokenContributorsList.tsx | 0 | 0 | 0 | 0 | 3-82 + XtdhTokenContributorsListItem.tsx | 0 | 0 | 0 | 0 | 1-72 + components/xtdh/received/collection-tokens/utils | 0 | 0 | 0 | 0 | + getTokenKey.ts | 0 | 0 | 0 | 0 | 3-8 + getTokenLabel.ts | 0 | 0 | 0 | 0 | 1-6 + components/xtdh/received/collections-controls | 0 | 0 | 0 | 0 | + index.tsx | 0 | 0 | 0 | 0 | 1-39 + components/xtdh/received/hooks | 0 | 0 | 0 | 0 | + useXtdhCollectionSelection.ts | 0 | 0 | 0 | 0 | 3-75 + useXtdhCollectionsFilters.ts | 0 | 0 | 0 | 0 | 3-82 + useXtdhTokensFilters.ts | 0 | 0 | 0 | 0 | 3-85 + components/xtdh/received/subcomponents | 0 | 0 | 0 | 0 | + XtdhCollectionsList.tsx | 0 | 0 | 0 | 0 | 3-152 + XtdhContributorSummary.tsx | 0 | 100 | 0 | 0 | 1-14 + components/xtdh/received/tokens-controls | 0 | 0 | 0 | 0 | + index.tsx | 0 | 0 | 0 | 0 | 1-22 + components/xtdh/received/utils | 0 | 0 | 0 | 0 | + formatters.ts | 0 | 0 | 0 | 0 | 1-27 + resultSummary.ts | 0 | 0 | 0 | 0 | 2-25 + components/xtdh/stats | 0 | 0 | 0 | 0 | + XtdhStats.tsx | 0 | 100 | 0 | 0 | 2 + buildGlobalXtdhStatsContent.ts | 0 | 100 | 0 | 0 | 3-17 + constants.ts | 0 | 100 | 100 | 0 | 1 + index.tsx | 0 | 0 | 0 | 0 | 1-13 + components/xtdh/stats-overview | 0 | 100 | 0 | 0 | + Skeletons.tsx | 0 | 100 | 0 | 0 | 1-90 + components/xtdh/stats/subcomponents | 0 | 0 | 0 | 0 | + XtdhLabeledProgressBar.tsx | 0 | 0 | 0 | 0 | 2-16 + XtdhMetricsSection.tsx | 0 | 100 | 0 | 0 | 3-10 + XtdhProgressBar.tsx | 0 | 100 | 0 | 0 | 7-14 + XtdhReceivingSection.tsx | 0 | 100 | 0 | 0 | 3-8 + XtdhStatCard.tsx | 0 | 0 | 0 | 0 | 1-27 + components/xtdh/stats/utils | 0 | 0 | 0 | 0 | + getXtdhStatsSectionClassName.ts | 0 | 0 | 0 | 0 | 2-5 + components/xtdh/user/received | 0 | 100 | 0 | 0 | + index.tsx | 0 | 100 | 0 | 0 | 3-13 + components/you-own-nft-badge | 0 | 100 | 0 | 0 | + YouOwnNftBadge.tsx | 0 | 100 | 0 | 0 | 1-6 + contexts | 0 | 0 | 0 | 0 | + EmojiContext.tsx | 0 | 0 | 0 | 0 | 3-161 + HeaderContext.tsx | 0 | 0 | 0 | 0 | 3-60 + NavigationHistoryContext.tsx | 0 | 0 | 0 | 0 | 3-180 + ScrollPositionContext.tsx | 0 | 0 | 0 | 0 | 3-39 + SeizeSettingsContext.tsx | 0 | 0 | 0 | 0 | 3-125 + TitleContext.tsx | 0 | 0 | 0 | 0 | 3-236 + contexts/wave | 0 | 0 | 0 | 0 | + MyStreamContext.tsx | 0 | 0 | 0 | 0 | 3-305 + WaveEligibilityContext.tsx | 0 | 0 | 0 | 0 | 3-104 + contexts/wave/hooks | 0 | 0 | 0 | 0 | + types.ts | 0 | 100 | 0 | 0 | 30 + useActiveWaveManager.ts | 0 | 0 | 0 | 0 | 3-76 + useEnhancedDmWavesList.ts | 0 | 0 | 0 | 0 | 3-70 + useEnhancedWavesList.ts | 0 | 0 | 0 | 0 | 3-79 + useNewDropCounter.ts | 0 | 0 | 0 | 0 | 3-198 + useWaveAbortController.ts | 0 | 0 | 0 | 0 | 3-63 + useWaveDataFetching.ts | 0 | 0 | 0 | 0 | 3-253 + useWaveDataManager.ts | 0 | 100 | 0 | 0 | 1-31 + useWaveLoadingState.ts | 0 | 0 | 0 | 0 | 3-65 + useWaveMessagesStore.ts | 0 | 0 | 0 | 0 | 3-355 + useWavePagination.ts | 0 | 0 | 0 | 0 | 3-451 + useWaveRealtimeUpdater.ts | 0 | 0 | 0 | 0 | 4-315 + contexts/wave/utils | 0 | 0 | 0 | 0 | + wave-messages-utils.ts | 0 | 0 | 0 | 0 | 1-541 + entities | 0 | 0 | 0 | 0 | + IGroup.ts | 0 | 0 | 0 | 0 | 7-13 + INFT.ts | 0 | 0 | 0 | 0 | 109-113 + INextgen.ts | 0 | 0 | 0 | 0 | 158-160 + IProfile.ts | 0 | 0 | 0 | 0 | 1-468 + IProxy.ts | 0 | 0 | 0 | 0 | 1-80 + ISort.ts | 0 | 0 | 0 | 0 | 1-3 + helpers | 5.11 | 0.27 | 0.73 | 5.52 | + AllowlistToolHelpers.ts | 0 | 0 | 0 | 0 | 1-92 + Helpers.ts | 0 | 0 | 0 | 0 | 1-869 + ProfileHelpers.ts | 0 | 0 | 0 | 0 | 1-28 + SeizeLinkParser.ts | 0 | 0 | 0 | 0 | 1-218 + Types.tsx | 0 | 0 | 0 | 0 | 29-327 + WalletHelpers.ts | 0 | 0 | 0 | 0 | 1-36 + address.helpers.ts | 0 | 0 | 0 | 0 | 1-16 + file.helpers.ts | 0 | 0 | 0 | 0 | 1-21 + format.helpers.ts | 0 | 0 | 0 | 0 | 1-6 + image.helpers.ts | 0 | 0 | 0 | 0 | 1-44 + manifoldDisplayHelpers.ts | 0 | 0 | 0 | 0 | 2-30 + navigation.helpers.ts | 0 | 0 | 0 | 0 | 1-77 + nextgen-utils.ts | 0 | 100 | 0 | 0 | 1-8 + nft.helpers.ts | 0 | 0 | 0 | 0 | 1-23 + profile-logs.helpers.ts | 0 | 0 | 0 | 0 | 5-86 + profile-proxy.helpers.ts | 0 | 0 | 0 | 0 | 1-115 + safeLocalStorage.ts | 0 | 0 | 0 | 0 | 1-9 + safeSessionStorage.ts | 0 | 0 | 0 | 0 | 1-16 + server-signature.helpers.ts | 0 | 0 | 0 | 0 | 1-100 + server.app.helpers.ts | 0 | 0 | 0 | 0 | 1-12 + server.helpers.ts | 0 | 0 | 0 | 0 | 4-128 + stream.helpers.ts | 0 | 0 | 0 | 0 | 3-331 + time.ts | 32 | 3.63 | 2.63 | 32.37 | 5,8,12,16,20,24-25,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202-206,211-213,217,221,225,229,233,237-238,242-248,252-282,286-305,313-338,343-358,362-371,375-397,401-420,427,431,435,439,443 + tooltip.helpers.ts | 0 | 0 | 0 | 0 | 1-45 + video.helpers.ts | 0 | 0 | 0 | 0 | 1-102 + helpers/calendar | 0 | 0 | 0 | 0 | + calendar.helpers.ts | 0 | 0 | 0 | 0 | 7-79 + helpers/waves | 0 | 0 | 0 | 0 | + create-wave.helpers.ts | 0 | 0 | 0 | 0 | 4-407 + create-wave.validation.ts | 0 | 0 | 0 | 0 | 1-341 + drop.helpers.ts | 0 | 0 | 0 | 0 | 1-158 + time.types.ts | 0 | 0 | 0 | 0 | 8-19 + time.utils.ts | 0 | 0 | 0 | 0 | 1-145 + wave-drops.helpers.ts | 0 | 0 | 0 | 0 | 3-89 + wave.helpers.ts | 0 | 0 | 0 | 0 | 15-24 + waves.constants.ts | 0 | 100 | 100 | 0 | 1-152 + waves.helpers.ts | 0 | 0 | 0 | 0 | 5-109 + hooks | 0 | 0 | 0 | 0 | + isMobileDevice.ts | 0 | 0 | 0 | 0 | 3-17 + isMobileScreen.ts | 0 | 0 | 0 | 0 | 3-23 + useActivityData.ts | 0 | 0 | 0 | 0 | 1-119 + useActivityFilters.ts | 0 | 0 | 0 | 0 | 1-43 + useAlchemyNftQueries.ts | 0 | 0 | 0 | 0 | 3-355 + useAndroidKeyboard.ts | 0 | 0 | 0 | 0 | 3-94 + useAppWalletPasswordModal.tsx | 0 | 0 | 0 | 0 | 3-57 + useAuthenticatedContent.tsx | 0 | 0 | 0 | 0 | 3-58 + useCapacitor.ts | 0 | 0 | 0 | 0 | 3-119 + useClientNavigation.ts | 0 | 0 | 0 | 0 | 3-106 + useCountdown.ts | 0 | 0 | 0 | 0 | 3-60 + useCreateModalState.ts | 0 | 0 | 0 | 0 | 3-96 + useDebouncedValue.ts | 0 | 100 | 0 | 0 | 1-9 + useDeepLinkNavigation.ts | 0 | 0 | 0 | 0 | 3-65 + useDeviceInfo.ts | 0 | 0 | 0 | 0 | 3-92 + useDmWavesList.ts | 0 | 100 | 0 | 0 | 3-69 + useDrop.ts | 0 | 0 | 0 | 0 | 1-54 + useDropMessages.ts | 0 | 0 | 0 | 0 | 3-228 + useDropModal.ts | 0 | 0 | 0 | 0 | 1-50 + useDropPriviledges.ts | 0 | 0 | 0 | 0 | 3-94 + useElectron.ts | 0 | 0 | 0 | 0 | 1-3 + useEnsResolution.ts | 0 | 0 | 0 | 0 | 3-123 + useGlobalTdhStats.ts | 0 | 0 | 0 | 0 | 1-65 + useHlsPlayer.ts | 0 | 0 | 0 | 0 | 3-273 + useIdentitiesSearch.tsx | 0 | 0 | 0 | 0 | 1-40 + useIdentity.ts | 0 | 0 | 0 | 0 | 1-33 + useIdentityBalance.ts | 0 | 0 | 0 | 0 | 1-20 + useIdentityTdhStats.ts | 0 | 0 | 0 | 0 | 1-67 + useInView.ts | 0 | 0 | 0 | 0 | 3-28 + useInfiniteScroll.ts | 0 | 0 | 0 | 0 | 1-58 + useIntersectionObserver.ts | 0 | 0 | 0 | 0 | 3-28 + useIsVersionStale.ts | 0 | 0 | 0 | 0 | 3-39 + useLocalPreference.ts | 0 | 0 | 0 | 0 | 3-94 + useLongPressInteraction.ts | 0 | 0 | 0 | 0 | 3-95 + useManifoldClaim.ts | 0 | 0 | 0 | 0 | 3-228 + useManifoldClaimDisplays.tsx | 0 | 0 | 0 | 0 | 1-55 + useMediaQuery.ts | 0 | 0 | 0 | 0 | 1-17 + useMyStreamQuery.ts | 0 | 0 | 0 | 0 | 3-139 + useNFTCollections.ts | 0 | 0 | 0 | 0 | 1-98 + useNftBalance.ts | 0 | 0 | 0 | 0 | 1-29 + useNotificationsQuery.tsx | 0 | 0 | 0 | 0 | 3-179 + useOptimizedVideo.ts | 0 | 0 | 0 | 0 | 3-145 + usePendingGrantsCount.ts | 0 | 0 | 0 | 0 | 1-35 + usePinnedWaves.tsx | 0 | 0 | 0 | 0 | 3-34 + usePinnedWavesServer.ts | 0 | 0 | 0 | 0 | 3-241 + usePrefetchWaveData.ts | 0 | 0 | 0 | 0 | 1-20 + useProgressiveDebounce.ts | 0 | 100 | 0 | 0 | 3-32 + useQueryKeyListener.ts | 0 | 0 | 0 | 0 | 3-24 + useResolvedIpfsUrl.ts | 0 | 0 | 0 | 0 | 1-7 + useScrollBehavior.ts | 0 | 0 | 0 | 0 | 3-156 + useSecureSign.ts | 0 | 0 | 0 | 0 | 3-363 + useShowFollowingWaves.ts | 0 | 0 | 0 | 0 | 3-96 + useSidebarController.ts | 0 | 0 | 0 | 0 | 3-176 + useSidebarSections.ts | 0 | 0 | 0 | 0 | 1-222 + useSidebarState.tsx | 0 | 0 | 0 | 0 | 3-57 + useTdhGrantTokensQuery.ts | 0 | 0 | 0 | 0 | 3-78 + useUnreadIndicator.ts | 0 | 0 | 0 | 0 | 3-52 + useUnreadNotifications.ts | 0 | 0 | 0 | 0 | 3-40 + useUserArtSubmissions.ts | 0 | 0 | 0 | 0 | 3-135 + useUserWinningArtworks.ts | 0 | 0 | 0 | 0 | 1-39 + useVirtualizedWaveDrops.ts | 0 | 0 | 0 | 0 | 3-86 + useVirtualizedWaveMessages.ts | 0 | 0 | 0 | 0 | 3-213 + useVirtualizedWaves.ts | 0 | 0 | 0 | 0 | 3-72 + useWave.ts | 0 | 0 | 0 | 0 | 3-363 + useWaveActivityLogs.ts | 0 | 0 | 0 | 0 | 3-121 + useWaveById.ts | 0 | 0 | 0 | 0 | 1-26 + useWaveData.ts | 0 | 0 | 0 | 0 | 1-42 + useWaveDropsLeaderboard.ts | 0 | 0 | 0 | 0 | 3-306 + useWaveFollowers.ts | 0 | 0 | 0 | 0 | 3-72 + useWaveIsTyping.ts | 0 | 0 | 0 | 0 | 3-139 + useWaveNotificationSubscription.ts | 0 | 0 | 0 | 0 | 1-27 + useWaveTimers.ts | 0 | 0 | 0 | 0 | 3-239 + useWaveTopVoters.ts | 0 | 0 | 0 | 0 | 3-134 + useWaveWebSocket.ts | 0 | 0 | 0 | 0 | 3-110 + useWaves.ts | 0 | 0 | 0 | 0 | 3-129 + useWavesList.ts | 0 | 0 | 0 | 0 | 3-271 + useWavesOverview.ts | 0 | 0 | 0 | 0 | 3-108 + useXtdhCollectionsQuery.ts | 0 | 0 | 0 | 0 | 3-113 + useXtdhGrantQuery.ts | 0 | 0 | 0 | 0 | 1-41 + useXtdhGrantsQuery.ts | 0 | 0 | 0 | 0 | 3-144 + useXtdhTokenContributorsQuery.ts | 0 | 0 | 0 | 0 | 3-127 + useXtdhTokensQuery.ts | 0 | 0 | 0 | 0 | 3-121 + hooks/drops | 0 | 0 | 0 | 0 | + types.ts | 0 | 0 | 0 | 0 | 1-10 + useDropInteractionRules.ts | 0 | 0 | 0 | 0 | 3-130 + useDropOutcomes.tsx | 0 | 0 | 0 | 0 | 3-82 + useDropSignature.ts | 0 | 0 | 0 | 0 | 3-101 + useDropUpdateMutation.ts | 0 | 0 | 0 | 0 | 3-59 + hooks/groups | 0 | 0 | 0 | 0 | + useGroupMutations.ts | 0 | 0 | 0 | 0 | 1-340 + hooks/scroll | 0 | 0 | 0 | 0 | + useIntersectionObserver.ts | 0 | 0 | 0 | 0 | 3-39 + hooks/waves | 0 | 0 | 0 | 0 | + useDecisionPoints.ts | 0 | 0 | 0 | 0 | 1-555 + useWaveDecisions.ts | 0 | 0 | 0 | 0 | 1-39 + lib/cache | 0 | 0 | 0 | 0 | + lruTtl.ts | 0 | 0 | 0 | 0 | 11-72 + lib/ens | 0 | 0 | 0 | 0 | + detect.ts | 0 | 0 | 0 | 0 | 1-107 + lib/fetch | 0 | 0 | 0 | 0 | + ssrFetch.ts | 0 | 0 | 0 | 0 | 1-143 + lib/security | 0 | 0 | 0 | 0 | + urlGuard.ts | 0 | 0 | 0 | 0 | 1-480 + lib/text | 0 | 0 | 0 | 0 | + html.ts | 0 | 0 | 0 | 0 | 6-231 + regex.ts | 0 | 100 | 0 | 0 | 1-10 + lib/url | 0 | 0 | 0 | 0 | + domains.ts | 0 | 0 | 0 | 0 | 1-9 + services | 0 | 0 | 0 | 0 | + 6529api.ts | 0 | 0 | 0 | 0 | 2-110 + alchemy-api.ts | 0 | 0 | 100 | 0 | 2-6 + distribution-plan-api.ts | 0 | 0 | 0 | 0 | 1-136 + distribution-plan.utils.ts | 0 | 100 | 0 | 0 | 1-3 + services/alchemy | 0 | 0 | 0 | 0 | + collections.ts | 0 | 0 | 0 | 0 | 1-118 + index.ts | 0 | 0 | 0 | 0 | 4-11 + owner-nfts.ts | 0 | 0 | 0 | 0 | 1-123 + tokens.ts | 0 | 0 | 0 | 0 | 1-127 + utils.ts | 0 | 0 | 0 | 0 | 1-195 + services/api | 0 | 0 | 0 | 0 | + common-api.ts | 0 | 0 | 0 | 0 | 1-363 + farcaster.ts | 0 | 0 | 0 | 0 | 3-47 + link-preview-api.ts | 0 | 0 | 0 | 0 | 77-122 + pinned-waves-api.ts | 0 | 0 | 0 | 0 | 1-37 + tiktok-preview.ts | 0 | 0 | 0 | 0 | 1-154 + wikimedia-card.ts | 0 | 0 | 0 | 0 | 89-136 + youtube.ts | 0 | 0 | 0 | 0 | 17-31 + services/auth | 0 | 0 | 0 | 0 | + auth.utils.ts | 0 | 0 | 0 | 0 | 1-109 + immediate-validation.utils.ts | 0 | 0 | 0 | 0 | 1-190 + jwt-validation.utils.ts | 0 | 0 | 0 | 0 | 1-257 + token-refresh.utils.ts | 0 | 0 | 0 | 0 | 1-256 + services/groups | 0 | 0 | 0 | 0 | + groupMutations.ts | 0 | 0 | 0 | 0 | 3-180 + services/websocket | 0 | 0 | 0 | 0 | + AppWebSocketProvider.tsx | 0 | 0 | 0 | 0 | 3-51 + WebSocketContext.tsx | 0 | 100 | 100 | 0 | 3-40 + WebSocketProvider.tsx | 0 | 0 | 0 | 0 | 3-307 + WebSocketTypes.ts | 0 | 0 | 0 | 0 | 13-16 + index.ts | 0 | 0 | 0 | 0 | 11-20 + useWebSocket.ts | 0 | 0 | 0 | 0 | 3-31 + useWebSocketHealth.ts | 0 | 0 | 0 | 0 | 3-184 + useWebSocketMessage.ts | 0 | 0 | 0 | 0 | 3-51 + store | 0 | 100 | 0 | 0 | + editSlice.ts | 0 | 100 | 0 | 0 | 1-39 + groupSlice.ts | 0 | 100 | 0 | 0 | 1-39 + store.ts | 0 | 100 | 0 | 0 | 1-7 + utils | 0 | 0 | 0 | 0 | + appkit-initialization.utils.ts | 0 | 0 | 0 | 0 | 3-99 + drop-hasher.ts | 0 | 0 | 0 | 0 | 2-44 + error-extractor.ts | 0 | 0 | 0 | 0 | 1-24 + error-sanitizer.ts | 0 | 0 | 0 | 0 | 6-286 + role-validation.ts | 0 | 0 | 0 | 0 | 7-40 + timeFormatters.ts | 0 | 0 | 0 | 0 | 6-33 + wallet-validation.utils.ts | 0 | 0 | 0 | 0 | 2-100 + wagmiConfig | 0 | 0 | 0 | 0 | + wagmiAppWalletConnector.ts | 0 | 0 | 0 | 0 | 2-316 +--------------------------------------------------------------------------------------------------|---------|----------|---------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Test Suites: 1 failed, 1 passed, 2 total +Tests: 1 failed, 6 passed, 7 total +Snapshots: 0 total +Time: 7.252 s +Ran all test suites matching /__tests__\/components\/brain\/ContentTabContext.test.tsx|__tests__\/components\/brain\/my-stream\/MyStreamWaveDesktopTabs.test.tsx/i. diff --git a/type_check_current.txt b/type_check_current.txt new file mode 100644 index 0000000000..56808e3568 --- /dev/null +++ b/type_check_current.txt @@ -0,0 +1,886 @@ + +> 6529seize@1.0.0 type-check +> tsc --noEmit -p tsconfig.json + +__tests__/app/access.test.tsx(30,35): error TS2339: Property 'children' does not exist on type '{}'. +__tests__/app/access.test.tsx(47,8): error TS2559: Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes'. +__tests__/app/api/farcaster.route.test.ts(1,7): error TS2451: Cannot redeclare block-scoped variable 'nextResponseJson'. +__tests__/app/api/farcaster.route.test.ts(34,7): error TS2451: Cannot redeclare block-scoped variable 'mockFetchPublicUrl'. +__tests__/app/api/farcaster.route.test.ts(48,5): error TS2451: Cannot redeclare block-scoped variable 'GET'. +__tests__/app/api/pepe/resolve.route.test.ts(1,7): error TS2451: Cannot redeclare block-scoped variable 'nextResponseJson'. +__tests__/app/api/pepe/resolve.route.test.ts(21,7): error TS2451: Cannot redeclare block-scoped variable 'mockFetchPublicUrl'. +__tests__/app/api/pepe/resolve.route.test.ts(34,5): error TS2451: Cannot redeclare block-scoped variable 'GET'. +__tests__/app/api/pepe/resolve.route.test.ts(37,6): error TS2322: Type '(request: NextRequest) => Promise | NextResponse>' is not assignable to type '(request: NextRequest) => Promise | NextResponse>'. + Type 'Promise | NextResponse>' is not assignable to type 'Promise | NextResponse>'. + Type 'NextResponse<{ error: string; }> | NextResponse' is not assignable to type 'NextResponse<{ error: string; }> | NextResponse'. + Type 'NextResponse' is not assignable to type 'NextResponse<{ error: string; }> | NextResponse'. + Type 'NextResponse' is not assignable to type 'NextResponse<{ error: string; }>'. + Type 'Preview' is not assignable to type '{ error: string; }'. + Property 'error' is missing in type 'AssetPreview' but required in type '{ error: string; }'. +__tests__/app/delegationMappingToolPage.test.tsx(8,35): error TS2339: Property 'children' does not exist on type '{}'. +__tests__/app/delegationMappingToolPage.test.tsx(40,8): error TS2559: Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes'. +__tests__/app/page.test.tsx(108,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(132,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(159,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(181,11): error TS2322: Type 'null' is not assignable to type 'NextGenCollection'. +__tests__/app/page.test.tsx(197,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(215,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(237,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(261,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(285,12): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(301,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/page.test.tsx(317,10): error TS2741: Property 'isMemeMintingActive' is missing in type '{ featuredNft: any; featuredNextgen: any; initialActivityData: any; initialTokens: any; }' but required in type '{ readonly featuredNft: NFTWithMemesExtendedData; readonly isMemeMintingActive: boolean; readonly featuredNextgen: NextGenCollection; readonly initialActivityData: InitialActivityData; readonly initialTokens: NextGenToken[]; }'. +__tests__/app/wavesPage.test.tsx(41,10): error TS2741: Property 'searchParams' is missing in type '{}' but required in type '{ readonly searchParams: Promise<{ wave?: string | undefined; drop?: string | undefined; }>; }'. +__tests__/auth/role-validation.test.ts(222,16): error TS18046: 'error' is of type 'unknown'. +__tests__/auth/role-validation.test.ts(238,16): error TS18046: 'error' is of type 'unknown'. +__tests__/auth/token-refresh-role-validation.test.ts(97,28): error TS18046: 'redeemResponse' is of type 'unknown'. +__tests__/auth/token-refresh-role-validation.test.ts(99,72): error TS18046: 'redeemResponse' is of type 'unknown'. +__tests__/auth/token-refresh-role-validation.test.ts(105,43): error TS18046: 'redeemResponse' is of type 'unknown'. +__tests__/auth/token-refresh-role-validation.test.ts(133,7): error TS18046: 'redeemResponse' is of type 'unknown'. +__tests__/auth/token-refresh-role-validation.test.ts(134,7): error TS18046: 'redeemResponse' is of type 'unknown'. +__tests__/auth/token-refresh.test.ts(156,18): error TS2339: Property 'statusCode' does not exist on type 'ApiRedeemRefreshTokenResponse | TokenRefreshServerError'. + Property 'statusCode' does not exist on type 'ApiRedeemRefreshTokenResponse'. +__tests__/auth/token-refresh.test.ts(157,18): error TS2339: Property 'serverResponse' does not exist on type 'ApiRedeemRefreshTokenResponse | TokenRefreshServerError'. + Property 'serverResponse' does not exist on type 'ApiRedeemRefreshTokenResponse'. +__tests__/components/auth/Auth.test.tsx(7,26): error TS2440: Import declaration conflicts with local declaration of 'commonApiPost'. +__tests__/components/auth/Auth.test.tsx(116,9): error TS2440: Import declaration conflicts with local declaration of 'commonApiPost'. +__tests__/components/auth/Auth.test.tsx(279,61): error TS7031: Binding element 'params' implicitly has an 'any' type. +__tests__/components/auth/Auth.test.tsx(354,61): error TS7031: Binding element 'params' implicitly has an 'any' type. +__tests__/components/auth/Auth.test.tsx(416,61): error TS7031: Binding element 'callbacks' implicitly has an 'any' type. +__tests__/components/auth/Auth.test.tsx(608,61): error TS7031: Binding element 'callbacks' implicitly has an 'any' type. +__tests__/components/auth/Auth.test.tsx(635,61): error TS7031: Binding element 'callbacks' implicitly has an 'any' type. +__tests__/components/block-picker/BlockPickerBlockNumberIncludes.test.tsx(7,8): error TS2741: Property 'disabled' is missing in type '{ blockNumberIncludes: string; setBlockNumberIncludes: () => void; }' but required in type '{ disabled: boolean; blockNumberIncludes: string; setBlockNumberIncludes: (blockNumberIncludes: string) => void; }'. +__tests__/components/block-picker/BlockPickerBlockNumberIncludes.test.tsx(16,8): error TS2741: Property 'disabled' is missing in type '{ blockNumberIncludes: string; setBlockNumberIncludes: Mock; }' but required in type '{ disabled: boolean; blockNumberIncludes: string; setBlockNumberIncludes: (blockNumberIncludes: string) => void; }'. +__tests__/components/brain/ContentTabContext.test.tsx(23,50): error TS2345: Argument of type '{ isChatWave: true; isMemesWave: false; votingState: WaveVotingState.NOT_STARTED; hasFirstDecisionPassed: false; }' is not assignable to parameter of type 'WaveTabParams'. + Property 'chatEnabled' is missing in type '{ isChatWave: true; isMemesWave: false; votingState: WaveVotingState.NOT_STARTED; hasFirstDecisionPassed: false; }' but required in type 'WaveTabParams'. +__tests__/components/brain/ContentTabContext.test.tsx(31,42): error TS2345: Argument of type '{ isChatWave: false; isMemesWave: true; votingState: WaveVotingState.NOT_STARTED; hasFirstDecisionPassed: false; }' is not assignable to parameter of type 'WaveTabParams'. + Property 'chatEnabled' is missing in type '{ isChatWave: false; isMemesWave: true; votingState: WaveVotingState.NOT_STARTED; hasFirstDecisionPassed: false; }' but required in type 'WaveTabParams'. +__tests__/components/brain/my-stream/MyStream.test.tsx(23,21): error TS7031: Binding element 'children' implicitly has an 'any' type. +__tests__/components/brain/my-stream/MyStream.test.tsx(34,24): error TS7031: Binding element 'children' implicitly has an 'any' type. +__tests__/components/brain/my-stream/MyStreamWave.test.tsx(86,21): error TS7031: Binding element 'children' implicitly has an 'any' type. +__tests__/components/brain/my-stream/MyStreamWave.test.tsx(99,24): error TS7031: Binding element 'children' implicitly has an 'any' type. +__tests__/components/brain/my-stream/tabs/MyStreamWaveTabsDefault.test.tsx(20,67): error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter. +__tests__/components/brain/my-stream/tabs/MyStreamWaveTabsMeme.test.tsx(20,67): error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter. +__tests__/components/brain/my-stream/votes/MyStreamWaveMyVoteInput.test.tsx(20,49): error TS2353: Object literal may only specify known properties, and 'onDropRateChange' does not exist in type 'ReactQueryWrapperContextType'. +__tests__/components/brain/notifications/all-drops/NotificationAllDrops.test.tsx(15,39): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/brain/notifications/all-drops/NotificationAllDrops.test.tsx(38,42): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/brain/notifications/all-drops/NotificationAllDrops.test.tsx(39,5): error TS18048: 'props' is possibly 'undefined'. +__tests__/components/brain/notifications/all-drops/NotificationAllDrops.test.tsx(40,5): error TS18048: 'props' is possibly 'undefined'. +__tests__/components/brain/notifications/NotificationItems.test.tsx(28,43): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/brain/notifications/priority-alert/NotificationPriorityAlert.test.tsx(15,14): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/brain/notifications/priority-alert/NotificationPriorityAlert.test.tsx(91,42): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/brain/notifications/priority-alert/NotificationPriorityAlert.test.tsx(92,5): error TS18048: 'props' is possibly 'undefined'. +__tests__/components/brain/notifications/priority-alert/NotificationPriorityAlert.test.tsx(93,5): error TS18048: 'props' is possibly 'undefined'. +__tests__/components/CreateDropWrapper.test.tsx(67,9): error TS2322: Type '"COMPACT"' is not assignable to type 'CreateDropViewType'. +__tests__/components/CreateDropWrapper.test.tsx(99,9): error TS2322: Type '"FULL"' is not assignable to type 'CreateDropViewType'. +__tests__/components/CreateDropWrapper.test.tsx(134,9): error TS2322: Type '"FULL"' is not assignable to type 'CreateDropViewType'. +__tests__/components/delegation/CollectionDelegation.utils.test.ts(25,37): error TS7006: Parameter 'p' implicitly has an 'any' type. +__tests__/components/distribution-plan-tool/build-phases/build-phase/form/BuildPhaseForm.test.tsx(53,3): error TS2353: Object literal may only specify known properties, and 'buildSpec' does not exist in type 'BuildPhasesPhase'. +__tests__/components/distribution-plan-tool/build-phases/build-phase/form/BuildPhaseFormConfigModal.test.tsx(34,59): error TS2739: Type '{ id: string; components: never[]; }' is missing the following properties from type 'BuildPhasesPhase': allowlistId, name, description, hasRan, order +__tests__/components/distribution-plan-tool/build-phases/build-phase/form/BuildPhaseFormConfigModal.test.tsx(34,112): error TS2739: Type '{ id: string; components: never[]; }' is missing the following properties from type 'BuildPhasesPhase': allowlistId, name, description, hasRan, order +__tests__/components/distribution-plan-tool/build-phases/build-phase/form/BuildPhaseFormConfigModal.test.tsx(65,59): error TS2739: Type '{ id: string; components: any; }' is missing the following properties from type 'BuildPhasesPhase': allowlistId, name, description, hasRan, order +__tests__/components/distribution-plan-tool/build-phases/build-phase/form/BuildPhaseFormConfigModal.test.tsx(65,135): error TS2739: Type '{ id: string; components: any; }' is missing the following properties from type 'BuildPhasesPhase': allowlistId, name, description, hasRan, order +__tests__/components/distribution-plan-tool/build-phases/SnapshotExcludeOtherSnapshots.test.tsx(47,38): error TS2322: Type '{ id: string; name: string; poolType: Pool; }[]' is not assignable to type 'DistributionPlanSnapshot[]'. + Property 'walletsCount' is missing in type '{ id: string; name: string; poolType: Pool; }' but required in type 'DistributionPlanSnapshot'. +__tests__/components/distribution-plan-tool/DistributionPlanToolPage.test.tsx(16,8): error TS2741: Property 'id' is missing in type '{}' but required in type '{ readonly id: string; }'. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTable.test.tsx(11,14): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTable.test.tsx(16,12): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTable.test.tsx(22,16): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTable.test.tsx(63,43): error TS2322: Type '{ phases: any; step: null; setStep: jest.Mock; fetching: boolean; distributionPlan: null; runOperations: jest.Mock; setState: jest.Mock; ... 9 more ...; setToasts: jest.Mock<...>; }' is not assignable to type 'DistributionPlanToolContextType'. + Types of property 'step' are incompatible. + Type 'null' is not assignable to type 'DistributionPlanToolStep'. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTable.test.tsx(76,18): error TS2532: Object is possibly 'undefined'. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTable.test.tsx(76,55): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTable.test.tsx(81,12): error TS2532: Object is possibly 'undefined'. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTable.test.tsx(81,47): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/distribution-plan-tool/review-distribution-plan/table/ReviewDistributionPlanTableHeader.test.tsx(39,58): error TS2322: Type '{ phase: { id: string; name: string; }; components: { id: string; name: string; }[]; }[]' is not assignable to type 'ReviewDistributionPlanTablePhase[]'. + Type '{ phase: { id: string; name: string; }; components: { id: string; name: string; }[]; }' is not assignable to type 'ReviewDistributionPlanTablePhase'. + Types of property 'phase' are incompatible. + Type '{ id: string; name: string; }' is missing the following properties from type 'ReviewDistributionPlanTableItem': type, phaseId, componentId, description, and 2 more. +__tests__/components/distribution-plan-tool/ReviewDistributionPlanTableSubscription.test.tsx(33,55): error TS2739: Type '{ wallet: string; }' is missing the following properties from type 'ApiWallet': 'display', 'tdh' +__tests__/components/distribution-plan-tool/ReviewDistributionPlanTableSubscription.test.tsx(50,17): error TS2739: Type '{ wallet: string; }' is missing the following properties from type 'ApiWallet': 'display', 'tdh' +__tests__/components/drops/create/lexical/nodes/HashtagNode.test.ts(33,12): error TS18047: 'element' is possibly 'null'. +__tests__/components/drops/create/lexical/nodes/HashtagNode.test.ts(33,20): error TS2339: Property 'getAttribute' does not exist on type 'HTMLElement | Text'. + Property 'getAttribute' does not exist on type 'Text'. +__tests__/components/drops/create/lexical/nodes/HashtagNode.test.ts(36,29): error TS2345: Argument of type 'HTMLElement | Text | null' is not assignable to parameter of type 'HTMLElement'. + Type 'null' is not assignable to type 'HTMLElement'. +__tests__/components/drops/create/lexical/nodes/HashtagNode.test.ts(38,38): error TS2345: Argument of type 'HTMLElement | Text | null' is not assignable to parameter of type 'HTMLElement'. + Type 'null' is not assignable to type 'HTMLElement'. +__tests__/components/drops/create/lexical/nodes/HashtagNode.test.ts(39,27): error TS2345: Argument of type 'LexicalNode | LexicalNode[] | null' is not assignable to parameter of type 'LexicalNode | null | undefined'. + Type 'LexicalNode[]' is missing the following properties from type 'LexicalNode': __type, __key, __parent, __prev, and 42 more. +__tests__/components/drops/create/lexical/nodes/HashtagNode.test.ts(40,12): error TS2531: Object is possibly 'null'. +__tests__/components/drops/create/lexical/nodes/HashtagNode.test.ts(40,25): error TS2339: Property 'getTextContent' does not exist on type 'LexicalNode | LexicalNode[]'. + Property 'getTextContent' does not exist on type 'LexicalNode[]'. +__tests__/components/drops/create/lexical/nodes/ImageNode.test.tsx(27,27): error TS2554: Expected 0 arguments, but got 3. +__tests__/components/drops/create/lexical/nodes/MentionNode.test.ts(42,12): error TS18047: 'element' is possibly 'null'. +__tests__/components/drops/create/lexical/nodes/MentionNode.test.ts(42,20): error TS2339: Property 'getAttribute' does not exist on type 'HTMLElement | Text'. + Property 'getAttribute' does not exist on type 'Text'. +__tests__/components/drops/create/lexical/nodes/MentionNode.test.ts(43,12): error TS18047: 'element' is possibly 'null'. +__tests__/components/drops/create/lexical/nodes/MentionNode.test.ts(50,21): error TS2531: Object is possibly 'null'. +__tests__/components/drops/create/lexical/nodes/MentionNode.test.ts(51,12): error TS18047: 'newNode' is possibly 'null'. +__tests__/components/drops/create/lexical/nodes/MentionNode.test.ts(51,20): error TS2339: Property '__mention' does not exist on type 'LexicalNode | LexicalNode[]'. + Property '__mention' does not exist on type 'LexicalNode'. +__tests__/components/drops/create/lexical/plugins/emoji/EmojiPlugin.test.tsx(119,22): error TS2352: Conversion of type 'undefined' to type '(text: string) => void' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. +__tests__/components/drops/create/lexical/plugins/emoji/EmojiPlugin.test.tsx(119,45): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/drops/create/lexical/transformers/EmojiTransformer.test.ts(30,10): error TS2554: Expected 3 arguments, but got 1. +__tests__/components/drops/create/lexical/transformers/EmojiTransformer.test.ts(31,10): error TS2554: Expected 3 arguments, but got 1. +__tests__/components/drops/create/lexical/transformers/HastagTransformer.test.ts(12,32): error TS2554: Expected 3 arguments, but got 1. +__tests__/components/drops/create/lexical/transformers/HastagTransformer.test.ts(13,32): error TS2554: Expected 3 arguments, but got 1. +__tests__/components/drops/create/lexical/transformers/ImageTransformer.test.ts(15,38): error TS2554: Expected 3 arguments, but got 1. +__tests__/components/drops/create/lexical/transformers/ImageTransformer.test.ts(21,41): error TS2345: Argument of type '[string, undefined, string]' is not assignable to parameter of type 'RegExpMatchArray'. + The types returned by 'concat(...)' are incompatible between these types. + Type '(string | undefined)[]' is not assignable to type 'string[]'. + Type 'string | undefined' is not assignable to type 'string'. + Type 'undefined' is not assignable to type 'string'. +__tests__/components/drops/create/lexical/transformers/MentionTransformer.test.ts(10,23): error TS2352: Conversion of type '(node: LexicalNode | null | undefined) => node is MentionNode' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '(node: LexicalNode | null | undefined) => node is MentionNode' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/components/drops/create/lexical/transformers/MentionTransformer.test.ts(15,32): error TS2554: Expected 3 arguments, but got 1. +__tests__/components/drops/create/lexical/transformers/MentionTransformer.test.ts(16,32): error TS2554: Expected 3 arguments, but got 1. +__tests__/components/drops/create/utils/CreateDropWrapper.test.tsx(122,10): error TS2322: Type '{ profile: { id: string; handle: string; pfp: null; cic: number; rep: number; tdh: number; level: number; consolidation: { id: string; classification: string; balance_tdh: number; primary_wallet: string; ... 6 more ...; consolidation_key: string; }; }; ... 21 more ...; onSubmitDrop: Mock<...>; }' is not assignable to type 'CreateDropWrapperProps'. + Types of property 'profile' are incompatible. + Type '{ id: string; handle: string; pfp: null; cic: number; rep: number; tdh: number; level: number; consolidation: { id: string; classification: string; balance_tdh: number; primary_wallet: string; wallets: never[]; ... 5 more ...; consolidation_key: string; }; }' is missing the following properties from type 'ProfileMinWithoutSubs': 'banner1_color', 'banner2_color', 'tdh_rate', 'xtdh', and 5 more. +__tests__/components/drops/create/utils/CreateDropWrapper.test.tsx(232,12): error TS2322: Type '{ profile: { id: string; handle: string; pfp: null; cic: number; rep: number; tdh: number; level: number; consolidation: { id: string; classification: string; balance_tdh: number; primary_wallet: string; ... 6 more ...; consolidation_key: string; }; }; ... 22 more ...; ref: RefObject<...>; }' is not assignable to type 'CreateDropWrapperProps'. + Types of property 'profile' are incompatible. + Type '{ id: string; handle: string; pfp: null; cic: number; rep: number; tdh: number; level: number; consolidation: { id: string; classification: string; balance_tdh: number; primary_wallet: string; wallets: never[]; ... 5 more ...; consolidation_key: string; }; }' is missing the following properties from type 'ProfileMinWithoutSubs': 'banner1_color', 'banner2_color', 'tdh_rate', 'xtdh', and 5 more. +__tests__/components/drops/create/utils/CreateDropWrapper.test.tsx(260,12): error TS2322: Type '{ profile: { id: string; handle: string; pfp: null; cic: number; rep: number; tdh: number; level: number; consolidation: { id: string; classification: string; balance_tdh: number; primary_wallet: string; ... 6 more ...; consolidation_key: string; }; }; ... 22 more ...; ref: RefObject<...>; }' is not assignable to type 'CreateDropWrapperProps'. + Types of property 'profile' are incompatible. + Type '{ id: string; handle: string; pfp: null; cic: number; rep: number; tdh: number; level: number; consolidation: { id: string; classification: string; balance_tdh: number; primary_wallet: string; wallets: never[]; ... 5 more ...; consolidation_key: string; }; }' is missing the following properties from type 'ProfileMinWithoutSubs': 'banner1_color', 'banner2_color', 'tdh_rate', 'xtdh', and 5 more. +__tests__/components/drops/create/utils/storm/CreateDropStormViewPart.test.tsx(40,94): error TS2353: Object literal may only specify known properties, and 'id' does not exist in type 'QuotedDrop'. +__tests__/components/drops/view/item/rate/give/DropListItemRateGiveSubmit.test.tsx(48,49): error TS2353: Object literal may only specify known properties, and 'onDropRateChange' does not exist in type 'ReactQueryWrapperContextType'. +__tests__/components/drops/view/part/DropPart.test.tsx(8,23): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/drops/view/part/DropPart.test.tsx(48,16): error TS2532: Object is possibly 'undefined'. +__tests__/components/drops/view/part/DropPart.test.tsx(48,50): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/drops/view/part/dropPartMarkdown/linkHandlersRegistry.test.tsx(9,6): error TS2300: Duplicate identifier 'EnsureStableSeizeLinkWithSetter'. +__tests__/components/drops/view/part/dropPartMarkdown/linkHandlersRegistry.test.tsx(138,6): error TS2300: Duplicate identifier 'EnsureStableSeizeLinkWithSetter'. +__tests__/components/EnterKeyPlugin.test.tsx(138,6): error TS2352: Conversion of type '(x: unknown) => x is RangeSelection' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '(x: unknown) => x is RangeSelection' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/components/EnterKeyPlugin.test.tsx(139,6): error TS2352: Conversion of type '(x: unknown) => x is NodeSelection' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '(x: unknown) => x is NodeSelection' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/components/EnterKeyPlugin.test.tsx(160,6): error TS2352: Conversion of type '(x: unknown) => x is RangeSelection' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '(x: unknown) => x is RangeSelection' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/components/EnterKeyPlugin.test.tsx(163,6): error TS2352: Conversion of type '(x: unknown) => x is NodeSelection' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '(x: unknown) => x is NodeSelection' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/components/EnterKeyPlugin.test.tsx(198,6): error TS2352: Conversion of type '(x: unknown) => x is RangeSelection' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '(x: unknown) => x is RangeSelection' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/components/gas-royalties/GasRoyaltiesTokenImage.test.tsx(43,12): error TS2531: Object is possibly 'null'. +__tests__/components/groups/page/create/actions/GroupCreateTest.test.tsx(21,3): error TS2578: Unused '@ts-expect-error' directive. +__tests__/components/groups/page/list/card/GroupCardChat.test.tsx(9,97): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/groups/page/list/card/GroupCardChat.test.tsx(12,89): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/groups/page/list/card/GroupCardContent.test.tsx(20,68): error TS2749: 'GroupCardState' refers to a value, but is being used as a type here. Did you mean 'typeof GroupCardState'? +__tests__/components/groups/page/list/card/GroupCardView.test.tsx(8,98): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/groups/page/list/card/GroupCardView.test.tsx(9,100): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/header/AppSidebarUserStats.test.tsx(42,13): error TS2739: Type '{ handle: string; tdh: number; rep: number; profileId: string; }' is missing the following properties from type '{ readonly handle: string; readonly tdh: number; readonly tdh_rate: number; readonly xtdh: number; readonly xtdh_rate: number; readonly rep: number; readonly cic: number; readonly profileId: string | null | undefined; }': tdh_rate, xtdh, xtdh_rate, cic +__tests__/components/header/AppSidebarUserStats.test.tsx(62,13): error TS2739: Type '{ handle: string; tdh: number; rep: number; profileId: undefined; }' is missing the following properties from type '{ readonly handle: string; readonly tdh: number; readonly tdh_rate: number; readonly xtdh: number; readonly xtdh_rate: number; readonly rep: number; readonly cic: number; readonly profileId: string | null | undefined; }': tdh_rate, xtdh, xtdh_rate, cic +__tests__/components/header/AppSidebarUserStats.test.tsx(72,13): error TS2739: Type '{ handle: string; tdh: number; rep: number; profileId: string; }' is missing the following properties from type '{ readonly handle: string; readonly tdh: number; readonly tdh_rate: number; readonly xtdh: number; readonly xtdh_rate: number; readonly rep: number; readonly cic: number; readonly profileId: string | null | undefined; }': tdh_rate, xtdh, xtdh_rate, cic +__tests__/components/header/HeaderSearchModal.test.tsx(269,13): error TS2322: Type '{ name: string; items: { name: string; href: string; }[]; }' is not assignable to type 'never'. +__tests__/components/header/HeaderSearchModal.test.tsx(286,13): error TS2322: Type '{ name: string; items: { name: string; href: string; }[]; }' is not assignable to type 'never'. +__tests__/components/header/HeaderSearchModal.test.tsx(334,13): error TS2322: Type '{ name: string; items: { name: string; href: string; }[]; }' is not assignable to type 'never'. +__tests__/components/home/FeaturedNFTImageColumn.test.tsx(32,43): error TS2352: Conversion of type '{ id: number; name: string; contract: string; collection: string; season: number; meme_name: string; artist: string; mint_date: string; metadata: { name: string; description: string; image: string; animation_url: string; }; animation: null; image: string; }' to type 'NFTWithMemesExtendedData' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: number; name: string; contract: string; collection: string; season: number; meme_name: string; artist: string; mint_date: string; metadata: { name: string; description: string; image: string; animation_url: string; }; animation: null; image: string; }' is missing the following properties from type 'NFT': boosted_tdh, tdh, tdh__raw, tdh_rank, and 18 more. +__tests__/components/home/FeaturedNFTImageColumn.test.tsx(121,38): error TS2322: Type '{ animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; id: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFTWithMemesExtendedData'. + Type '{ animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; id: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFT'. + Types of property 'animation' are incompatible. + Type 'null' is not assignable to type 'string'. +__tests__/components/home/FeaturedNFTImageColumn.test.tsx(138,38): error TS2322: Type '{ animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; id: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFTWithMemesExtendedData'. + Type '{ animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; id: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFT'. + Types of property 'animation' are incompatible. + Type 'null' is not assignable to type 'string'. +__tests__/components/home/FeaturedNFTImageColumn.test.tsx(157,38): error TS2322: Type '{ animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; id: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFTWithMemesExtendedData'. + Type '{ animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; id: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFT'. + Types of property 'animation' are incompatible. + Type 'null' is not assignable to type 'string'. +__tests__/components/home/FeaturedNFTImageColumn.test.tsx(204,38): error TS2322: Type '{ id: number; animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFTWithMemesExtendedData'. + Type '{ id: number; animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFT'. + Types of property 'animation' are incompatible. + Type 'null' is not assignable to type 'string'. +__tests__/components/home/FeaturedNFTImageColumn.test.tsx(225,35): error TS2322: Type '{ id: number; animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFTWithMemesExtendedData'. + Type '{ id: number; animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFT'. + Types of property 'animation' are incompatible. + Type 'null' is not assignable to type 'string'. +__tests__/components/home/FeaturedNFTImageColumn.test.tsx(279,40): error TS2322: Type '{ animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; id: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFTWithMemesExtendedData'. + Type '{ animation: null; metadata: any; boosted_tdh: number; tdh: number; tdh__raw: number; tdh_rank: number; hodl_rate: number; id: number; contract: string; created_at: Date; mint_date?: Date; ... 42 more ...; percent_unique_not_burnt_rank: number; }' is not assignable to type 'NFT'. + Types of property 'animation' are incompatible. + Type 'null' is not assignable to type 'string'. +__tests__/components/home/LatestDropSection.test.tsx(20,43): error TS2352: Conversion of type '{ id: number; name: string; contract: string; collection: string; season: number; meme_name: string; artist: string; mint_date: string; metadata: { image_details: { format: string; width: number; height: number; }; }; animation: null; }' to type 'NFTWithMemesExtendedData' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: number; name: string; contract: string; collection: string; season: number; meme_name: string; artist: string; mint_date: string; metadata: { image_details: { format: string; width: number; height: number; }; }; animation: null; }' is missing the following properties from type 'NFT': boosted_tdh, tdh, tdh__raw, tdh_rank, and 19 more. +__tests__/components/ipfs/IPFSContext.test.tsx(60,5): error TS2322: Type 'undefined' is not assignable to type 'string'. +__tests__/components/ipfs/IPFSContext.test.tsx(61,5): error TS2322: Type 'undefined' is not assignable to type 'string'. +__tests__/components/latest-activity/ActivityTable.test.tsx(55,43): error TS2352: Conversion of type '({ contract: string; from_address: "0xfrom1"; to_address: "0xto1"; token_id: number; transaction: string; value: number; gas: number; gas_gwei: number; gas_price_gwei: number; royalties: number; token_count: number; from_display: string; to_display: string; transaction_date: string; } | { ...; })[]' to type 'Transaction[]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ contract: string; from_address: "0xfrom1"; to_address: "0xto1"; token_id: number; transaction: string; value: number; gas: number; gas_gwei: number; gas_price_gwei: number; royalties: number; token_count: number; from_display: string; to_display: string; transaction_date: string; } | { ...; }' is not comparable to type 'Transaction'. + Type '{ contract: string; from_address: "0xfrom2"; to_address: "0xto2"; token_id: number; transaction: string; value: number; gas: number; gas_gwei: number; gas_price_gwei: number; royalties: number; token_count: number; from_display: string; to_display: string; transaction_date: string; }' is missing the following properties from type 'Transaction': created_at, block, gas_price +__tests__/components/latest-activity/ActivityTable.test.tsx(188,45): error TS2352: Conversion of type '{ contract: string; token_id: number; from_address: "0xfrom"; to_address: "0xto"; transaction: string; value: number; gas: number; gas_gwei: number; gas_price_gwei: number; royalties: number; token_count: number; from_display: string; to_display: string; transaction_date: string; }' to type 'Transaction' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ contract: string; token_id: number; from_address: "0xfrom"; to_address: "0xto"; transaction: string; value: number; gas: number; gas_gwei: number; gas_price_gwei: number; royalties: number; token_count: number; from_display: string; to_display: string; transaction_date: string; }' is missing the following properties from type 'Transaction': created_at, block, gas_price +__tests__/components/latest-activity/LatestActivity.test.tsx(50,3): error TS2352: Conversion of type '{ id: string; token_id: string; contract: string; transaction_date: string; transaction_type: string; from_address: "0xfrom"; to_address: "0xto"; eth_price: string; usd_price: string; }' to type 'Transaction' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; token_id: string; contract: string; transaction_date: string; transaction_type: string; from_address: "0xfrom"; to_address: "0xto"; eth_price: string; usd_price: string; }' is missing the following properties from type 'Transaction': created_at, transaction, block, from_display, and 8 more. +__tests__/components/latest-activity/LatestActivity.test.tsx(64,3): error TS2352: Conversion of type '{ id: number; contract: string; token_id: string; name: string; }' to type 'NFT' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: number; contract: string; token_id: string; name: string; }' is missing the following properties from type 'NFT': boosted_tdh, tdh, tdh__raw, tdh_rank, and 22 more. +__tests__/components/latest-activity/LatestActivity.test.tsx(73,3): error TS2352: Conversion of type '{ id: string; name: string; contract: string; }' to type 'NextGenCollection' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; name: string; contract: string; }' is missing the following properties from type 'NextGenCollection': created_at, updated_at, artist, description, and 21 more. +__tests__/components/memelab/MemeLab.helpers.test.tsx(76,11): error TS2740: Type '{ id: number; percent_unique: number; percent_unique_cleaned: number; hodlers: number; metadata_collection: string; meme_references: never[]; name: string; website: string; }' is missing the following properties from type 'LabExtendedData': created_at, collection_size, edition_size, edition_size_rank, and 12 more. +__tests__/components/memes/drops/MemeParticipationDrop.test.tsx(33,101): error TS2339: Property 'FEED' does not exist on type 'typeof DropLocation'. +__tests__/components/memes/drops/MemeParticipationDrop.test.tsx(38,101): error TS2339: Property 'FEED' does not exist on type 'typeof DropLocation'. +__tests__/components/memes/drops/MemeParticipationDrop.test.tsx(46,42): error TS2739: Type '{ drop: any; }' is missing the following properties from type 'ActiveDropState': action, partId +__tests__/components/memes/drops/MemeParticipationDrop.test.tsx(46,105): error TS2339: Property 'FEED' does not exist on type 'typeof DropLocation'. +__tests__/components/mint-countdown-box/MemePageMintCountdown.test.tsx(60,7): error TS2741: Property 'isSoldOut' is missing in type '{ instanceId: number; total: number; totalMax: number; remaining: number; cost: number; startDate: number; endDate: number; status: ManifoldClaimStatus.UPCOMING; phase: ManifoldPhase.PUBLIC; memePhase: undefined; isFetching: false; isFinalized: false; }' but required in type 'ManifoldClaim'. +__tests__/components/navigation/ViewContext.test.tsx(29,18): error TS2304: Cannot find name 'NavItem'. +__tests__/components/navigation/ViewContext.test.tsx(46,15): error TS2339: Property 'mockReturnValue' does not exist on type '() => string'. +__tests__/components/navigation/ViewContext.test.tsx(47,13): error TS2339: Property 'mockReturnValue' does not exist on type '() => AppRouterInstance'. +__tests__/components/navigation/ViewContext.test.tsx(50,19): error TS2339: Property 'mockReturnValue' does not exist on type '() => ReadonlyURLSearchParams'. +__tests__/components/navigation/ViewContext.test.tsx(71,16): error TS2304: Cannot find name 'NavItem'. +__tests__/components/navigation/ViewContext.test.tsx(87,16): error TS2304: Cannot find name 'NavItem'. +__tests__/components/navigation/ViewContext.test.tsx(103,16): error TS2304: Cannot find name 'NavItem'. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(102,48): error TS2345: Argument of type '{ address: string; }' is not assignable to parameter of type 'SeizeConnectContextType'. + Type '{ address: string; }' is missing the following properties from type 'SeizeConnectContextType': walletName, walletIcon, isSafeWallet, seizeConnect, and 10 more. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(103,40): error TS2345: Argument of type '{ data: boolean; }' is not assignable to parameter of type 'UseReadContractReturnType'. + Type '{ data: boolean; }' is not assignable to type '{ data: unknown; error: ReadContractErrorType; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; isPlaceholderData: false; ... 17 more ...; queryKey: readonly unknown[]; } | { ...; } | { ...; }'. + Type '{ data: boolean; }' is missing the following properties from type '{ data: unknown; isError: false; error: null; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; status: "success"; dataUpdatedAt: number; ... 15 more ...; queryKey: readonly unknown[]; }': isError, error, isPending, isLoading, and 22 more. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(104,42): error TS2345: Argument of type '{ data: boolean; }' is not assignable to parameter of type 'UseReadContractReturnType'. + Type '{ data: boolean; }' is not assignable to type '{ data: unknown; error: ReadContractErrorType; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; isPlaceholderData: false; ... 17 more ...; queryKey: readonly unknown[]; } | { ...; } | { ...; }'. + Type '{ data: boolean; }' is missing the following properties from type '{ data: unknown; isError: false; error: null; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; status: "success"; dataUpdatedAt: number; ... 15 more ...; queryKey: readonly unknown[]; }': isError, error, isPending, isLoading, and 22 more. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(105,44): error TS2345: Argument of type 'number' is not assignable to parameter of type 'UseReadContractReturnType'. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(107,44): error TS2345: Argument of type '{ data: string[]; }' is not assignable to parameter of type 'UseReadContractsReturnType>'. + Type '{ data: string[]; }' is missing the following properties from type '{ data: ReadContractsData; isError: false; error: null; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; ... 17 more ...; queryKey: readonly unknown[]; }': isError, error, isPending, isLoading, and 22 more. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(109,48): error TS2345: Argument of type '{ writeContract: jest.Mock; reset: jest.Mock; isLoading: boolean; isSuccess: boolean; isError: boolean; data: null; error: null; params: {}; }' is not assignable to parameter of type '{ data: `0x${string}` | undefined; params: { address: `0x${string}`; abi: any; chainId: 1 | 5 | 11155111; functionName: string; }; error: WriteContractErrorType | null; ... 4 more ...; isError: boolean; }'. + Types of property 'data' are incompatible. + Type 'null' is not assignable to type '`0x${string}` | undefined'. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(112,44): error TS2345: Argument of type '(config: any) => { data: (string | number | boolean)[]; } | { data: null; }' is not assignable to parameter of type '(parameters?: UseReadContractParameters | undefined) => UseReadContractReturnType'. + Type '{ data: (string | number | boolean)[]; } | { data: null; }' is not assignable to type 'UseReadContractReturnType'. + Type '{ data: (string | number | boolean)[]; }' is not assignable to type 'UseReadContractReturnType'. + Type '{ data: (string | number | boolean)[]; }' is not assignable to type '{ data: unknown; error: ReadContractErrorType; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; isPlaceholderData: false; ... 17 more ...; queryKey: readonly unknown[]; } | { ...; } | { ...; }'. + Type '{ data: (string | number | boolean)[]; }' is missing the following properties from type '{ data: unknown; isError: false; error: null; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; status: "success"; dataUpdatedAt: number; ... 15 more ...; queryKey: readonly unknown[]; }': isError, error, isPending, isLoading, and 22 more. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(305,48): error TS2345: Argument of type '{ isSuccess: boolean; data: string; writeContract: jest.Mock; reset: jest.Mock; isLoading: boolean; isError: boolean; error: null; params: {}; }' is not assignable to parameter of type '{ data: `0x${string}` | undefined; params: { address: `0x${string}`; abi: any; chainId: 1 | 5 | 11155111; functionName: string; }; error: WriteContractErrorType | null; ... 4 more ...; isError: boolean; }'. + Types of property 'data' are incompatible. + Type 'string' is not assignable to type '`0x${string}`'. +__tests__/components/nextGen/admin/NextGenAdminAcceptAddressesAndPercentages.test.tsx(319,48): error TS2345: Argument of type '{ isError: boolean; error: Error; writeContract: jest.Mock; reset: jest.Mock; isLoading: boolean; isSuccess: boolean; data: null; params: {}; }' is not assignable to parameter of type '{ data: `0x${string}` | undefined; params: { address: `0x${string}`; abi: any; chainId: 1 | 5 | 11155111; functionName: string; }; error: WriteContractErrorType | null; ... 4 more ...; isError: boolean; }'. + Types of property 'data' are incompatible. + Type 'null' is not assignable to type '`0x${string}` | undefined'. +__tests__/components/nextGen/collections/collectionParts/NextGenCollectionSlideshow.test.tsx(30,28): error TS2352: Conversion of type '{ id: number; name: string; token_id: number; }[]' to type 'NextGenToken[]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Object literal may only specify known properties, and 'token_id' does not exist in type 'NextGenToken'. +__tests__/components/nextGen/collections/nextgenToken/NextGenTokenProperties.test.tsx(10,71): error TS2345: Argument of type '(this: number, locales?: string | string[], options?: Intl.NumberFormatOptions) => string' is not assignable to parameter of type '(locales?: LocalesArgument, options?: NumberFormatOptions | undefined) => string'. + Types of parameters 'locales' and 'locales' are incompatible. + Type 'LocalesArgument' is not assignable to type 'string | string[] | undefined'. + Type 'Locale' is not assignable to type 'string | string[] | undefined'. + Type 'Locale' is missing the following properties from type 'string[]': length, pop, push, concat, and 35 more. +__tests__/components/nextGen/nextgen_helpers.extraCoverage.test.ts(5,45): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nextGen/NextGenCollectionProvenanceRow.test.tsx(34,3): error TS2353: Object literal may only specify known properties, and 'tokens' does not exist in type 'NextGenCollection'. +__tests__/components/nextGen/NextGenTokenImage.test.tsx(343,48): error TS2820: Type '"trait_score"' is not assignable to type 'NextGenTokenRarityType | undefined'. Did you mean 'NextGenTokenRarityType.RARITY_SCORE'? +__tests__/components/nextGen/NextGenTokenRarity.test.tsx(86,71): error TS2345: Argument of type '(this: number, locales?: string | string[], options?: Intl.NumberFormatOptions) => string' is not assignable to parameter of type '(locales?: LocalesArgument, options?: NumberFormatOptions | undefined) => string'. + Types of parameters 'locales' and 'locales' are incompatible. + Type 'LocalesArgument' is not assignable to type 'string | string[] | undefined'. + Type 'Locale' is not assignable to type 'string | string[] | undefined'. + Type 'Locale' is missing the following properties from type 'string[]': length, pop, push, concat, and 35 more. +__tests__/components/nft-image/NFTImage.test.tsx(97,13): error TS2741: Property 'showBalance' is missing in type '{ nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; height: 300; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(109,9): error TS2322: Type '{ metadata: { image: string; animation_url: string; animation_details: { format: string; }; }; animation: string; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ metadata: { image: string; animation_url: string; animation_details: { format: string; }; }; animation: string; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(131,35): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(151,35): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(158,35): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(165,35): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(171,35): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(198,13): error TS2741: Property 'showBalance' is missing in type '{ animation: false; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; height: 300; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(207,40): error TS2322: Type '{ animation: null; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: null; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'NFTLite': icon, scaled +__tests__/components/nft-image/NFTImage.test.tsx(221,40): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(236,40): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(250,40): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(265,40): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(280,40): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(294,40): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(309,61): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(321,42): error TS2322: Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is not assignable to type 'BaseNFT | NFTLite'. + Type '{ animation: string; metadata: { image: string; animation: string; animation_details: { format: string; }; }; id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; }' is missing the following properties from type 'BaseNFT': created_at, mint_price, supply, collection, and 14 more. +__tests__/components/nft-image/NFTImage.test.tsx(339,15): error TS2741: Property 'showBalance' is missing in type '{ nft: any; animation: boolean; height: 300; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(352,15): error TS2741: Property 'showBalance' is missing in type '{ nft: any; animation: true; height: 300; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(369,15): error TS2741: Property 'showBalance' is missing in type '{ nft: any; animation: true; height: 300; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(379,7): error TS2322: Type '{ height: 650; balance: number; showOwned: boolean; showUnseized: boolean; transparentBG: true; id: string; showOriginal: true; showThumbnail: true; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; }' is not assignable to type 'IntrinsicAttributes & Readonly'. + Property 'balance' does not exist on type 'IntrinsicAttributes & Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(402,15): error TS2741: Property 'showBalance' is missing in type '{ nft: any; animation: boolean; height: 300; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(409,34): error TS2741: Property 'showBalance' is missing in type '{ height: 300; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(412,15): error TS2741: Property 'showBalance' is missing in type '{ height: 650; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(415,15): error TS2741: Property 'showBalance' is missing in type '{ height: "full"; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; balance: number; showUnseized: boolean; }' but required in type 'Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(421,61): error TS2322: Type '{ balance: number; showUnseized: boolean; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; height: 300; }' is not assignable to type 'IntrinsicAttributes & Readonly'. + Property 'balance' does not exist on type 'IntrinsicAttributes & Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(425,42): error TS2322: Type '{ balance: number; showUnseized: boolean; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; height: 300; }' is not assignable to type 'IntrinsicAttributes & Readonly'. + Property 'balance' does not exist on type 'IntrinsicAttributes & Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(429,42): error TS2322: Type '{ balance: number; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; height: 300; showUnseized: boolean; }' is not assignable to type 'IntrinsicAttributes & Readonly'. + Property 'balance' does not exist on type 'IntrinsicAttributes & Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(435,61): error TS2322: Type '{ balance: number; showOwned: boolean; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; height: 300; showUnseized: boolean; }' is not assignable to type 'IntrinsicAttributes & Readonly'. + Property 'balance' does not exist on type 'IntrinsicAttributes & Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(440,42): error TS2322: Type '{ balance: number; showOwned: boolean; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; height: 300; showUnseized: boolean; }' is not assignable to type 'IntrinsicAttributes & Readonly'. + Property 'balance' does not exist on type 'IntrinsicAttributes & Readonly'. +__tests__/components/nft-image/NFTImage.test.tsx(443,42): error TS2322: Type '{ balance: number; nft: { id: number; contract: string; token_id: string; name: string; image: string; thumbnail: string; animation: null; }; animation: boolean; height: 300; showUnseized: boolean; }' is not assignable to type 'IntrinsicAttributes & Readonly'. + Property 'balance' does not exist on type 'IntrinsicAttributes & Readonly'. +__tests__/components/nft-image/renderers/NFTVideoRenderer.test.tsx(44,3): error TS2353: Object literal may only specify known properties, and 'token_id' does not exist in type 'BaseNFT'. +__tests__/components/nft-image/renderers/NFTVideoRenderer.test.tsx(153,35): error TS2322: Type 'null' is not assignable to type 'string | undefined'. +__tests__/components/nft-image/renderers/NFTVideoRenderer.test.tsx(272,9): error TS2322: Type 'null' is not assignable to type 'string | undefined'. +__tests__/components/nft-image/renderers/NFTVideoRenderer.test.tsx(273,9): error TS2322: Type 'null' is not assignable to type 'string | undefined'. +__tests__/components/nft-picker/NftPicker.utils.test.ts(102,7): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(103,7): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(104,7): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(105,7): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(106,7): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(108,29): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(108,33): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(108,37): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(108,41): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(112,39): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(112,43): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(112,47): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(112,51): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(112,55): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(114,16): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(114,25): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(115,16): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(115,25): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(118,31): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(118,35): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(118,39): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(118,43): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(118,47): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(122,33): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(122,42): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(130,33): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(137,16): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(137,25): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(138,16): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(138,25): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(144,56): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(144,71): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(150,26): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(150,30): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(151,26): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(151,30): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(152,26): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(152,30): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(157,16): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(157,25): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(158,16): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(158,26): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(161,29): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(161,33): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(161,38): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/nft-picker/NftPicker.utils.test.ts(161,43): error TS2737: BigInt literals are not available when targeting lower than ES2020. +__tests__/components/NumberTrait.test.tsx(12,33): error TS2322: Type '"size"' is not assignable to type 'keyof TraitsData'. +__tests__/components/NumberTrait.test.tsx(26,33): error TS2322: Type '"size"' is not assignable to type 'keyof TraitsData'. +__tests__/components/NumberTrait.test.tsx(26,56): error TS2353: Object literal may only specify known properties, and 'size' does not exist in type 'TraitsData'. +__tests__/components/providers/AppKitAdapterManager.test.ts(91,19): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(109,19): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(126,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(128,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(143,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(155,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(157,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(169,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(171,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(184,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(186,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(201,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(208,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(215,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(218,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(261,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(263,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(274,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(276,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(287,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(289,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(299,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(301,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(312,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(314,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(326,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(327,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(330,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(331,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(335,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(336,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(342,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(343,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(349,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(350,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(363,17): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(370,17): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(381,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(382,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(390,30): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(457,33): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(463,34): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(464,35): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(472,17): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(473,17): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(565,31): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(579,15): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(586,32): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(587,32): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(605,17): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(612,15): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(637,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(642,31): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(665,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(666,31): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(681,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(682,31): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(697,28): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/AppKitAdapterManager.test.ts(698,31): error TS2554: Expected 2 arguments, but got 1. +__tests__/components/providers/metadata.test.ts(58,14): error TS18048: 'metadata.openGraph.images' is possibly 'undefined'. +__tests__/components/providers/metadata.test.ts(58,41): error TS2339: Property 'length' does not exist on type 'OGImage | OGImage[]'. + Property 'length' does not exist on type 'URL'. +__tests__/components/providers/metadata.test.ts(85,32): error TS2339: Property 'card' does not exist on type 'Twitter'. + Property 'card' does not exist on type 'TwitterMetadata'. +__tests__/components/react-query-wrapper/ReactQueryWrapper.test.tsx(34,11): error TS2352: Conversion of type 'ReactQueryWrapperContextType' to type 'ContextType' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + The types returned by 'waitAndInvalidateDrops()' are incompatible between these types. + Type 'void' is not comparable to type 'Promise'. +__tests__/components/rememes/RememeAddComponent.test.tsx(47,7): error TS2322: Type 'string' is not assignable to type 'Date'. +__tests__/components/rememes/RememeAddComponent.test.tsx(60,7): error TS2322: Type 'string' is not assignable to type 'Date'. +__tests__/components/TableOfLevels.test.tsx(9,71): error TS2345: Argument of type '(this: number, locales?: string | string[], options?: Intl.NumberFormatOptions) => string' is not assignable to parameter of type '(locales?: LocalesArgument, options?: NumberFormatOptions | undefined) => string'. + Types of parameters 'locales' and 'locales' are incompatible. + Type 'LocalesArgument' is not assignable to type 'string | string[] | undefined'. + Type 'Locale' is not assignable to type 'string | string[] | undefined'. + Type 'Locale' is missing the following properties from type 'string[]': length, pop, push, concat, and 35 more. +__tests__/components/user/collected/cards/UserPageCollectedCards.test.tsx(91,8): error TS2741: Property 'dataTransfer' is missing in type '{ cards: any; totalPages: number; page: number; showDataRow: true; filters: any; setPage: Mock; }' but required in type '{ readonly cards: CollectedCard[]; readonly totalPages: number; readonly page: number; readonly showDataRow: boolean; readonly filters: ProfileCollectedFilters; readonly setPage: (page: number) => void; readonly dataTransfer: CollectedCard[]; readonly isTransferLoading?: boolean | undefined; }'. +__tests__/components/user/collected/cards/UserPageCollectedCards.test.tsx(113,8): error TS2741: Property 'dataTransfer' is missing in type '{ cards: any; totalPages: number; page: number; showDataRow: false; filters: any; setPage: () => void; }' but required in type '{ readonly cards: CollectedCard[]; readonly totalPages: number; readonly page: number; readonly showDataRow: boolean; readonly filters: ProfileCollectedFilters; readonly setPage: (page: number) => void; readonly dataTransfer: CollectedCard[]; readonly isTransferLoading?: boolean | undefined; }'. +__tests__/components/user/collected/cards/UserPageCollectedCards.test.tsx(128,8): error TS2741: Property 'dataTransfer' is missing in type '{ cards: never[]; totalPages: number; page: number; showDataRow: false; filters: any; setPage: () => void; }' but required in type '{ readonly cards: CollectedCard[]; readonly totalPages: number; readonly page: number; readonly showDataRow: boolean; readonly filters: ProfileCollectedFilters; readonly setPage: (page: number) => void; readonly dataTransfer: CollectedCard[]; readonly isTransferLoading?: boolean | undefined; }'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(175,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType | null; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; szn: MEMES_SEASON | null; handleOrWallet: string; accountForConsolidations: boolean; page: number; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(192,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; ... 4 more ...; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(207,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; ... 4 more ...; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(222,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; ... 4 more ...; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(236,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType | null; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; szn: MEMES_SEASON | null; handleOrWallet: string; accountForConsolidations: boolean; page: number; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(250,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType | null; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; szn: MEMES_SEASON | null; handleOrWallet: string; accountForConsolidations: boolean; page: number; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(264,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType | null; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; szn: MEMES_SEASON | null; handleOrWallet: string; accountForConsolidations: boolean; page: number; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(314,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType | null; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; szn: MEMES_SEASON | null; handleOrWallet: string; accountForConsolidations: boolean; page: number; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx(379,9): error TS2741: Property 'subcollection' is missing in type '{ collection: CollectedCollectionType | null; sortBy: CollectionSort; sortDirection: SortDirection; seized: CollectionSeized | null; szn: MEMES_SEASON | null; handleOrWallet: string; accountForConsolidations: boolean; page: number; pageSize: number; }' but required in type 'ProfileCollectedFilters'. +__tests__/components/user/collected/filters/UserPageCollectedFiltersCollection.test.tsx(2,48): error TS2307: Cannot find module '@/components/user/collected/filters/UserPageCollectedFiltersCollection' or its corresponding type declarations. +__tests__/components/user/identity/statements/utils/UserPageIdentityAddStatementsForm.test.tsx(17,40): error TS2740: Type '{ onProfileStatementAdd: Mock; }' is missing the following properties from type 'ReactQueryWrapperContextType': setProfile, setWave, setWavesOverviewPage, setWaveDrops, and 22 more. +__tests__/components/user/identity/statements/utils/UserPageIdentityDeleteStatementModal.test.tsx(35,3): error TS2322: Type '"General"' is not assignable to type 'STATEMENT_TYPE'. +__tests__/components/user/identity/statements/utils/UserPageIdentityDeleteStatementModal.test.tsx(36,3): error TS2322: Type '"Test Group"' is not assignable to type 'STATEMENT_GROUP'. +__tests__/components/user/identity/statements/utils/UserPageIdentityDeleteStatementModal.test.tsx(43,3): error TS2322: Type '"General"' is not assignable to type 'ApiProfileClassification'. +__tests__/components/user/identity/statements/utils/UserPageIdentityDeleteStatementModal.test.tsx(80,27): error TS2739: Type '{ requestAuth: Mock; setToast: Mock; connectedProfile: null; activeProfileProxy: null; showWaves: boolean; setShowWaves: Mock; receivedGasAllocations: never[]; setReceivedGasAllocations: Mock<...>; }' is missing the following properties from type 'AuthContextType': fetchingProfile, connectionStatus, receivedProfileProxies, setActiveProfileProxy +__tests__/components/user/identity/statements/utils/UserPageIdentityDeleteStatementModal.test.tsx(81,42): error TS2740: Type '{ onProfileStatementRemove: Mock; }' is missing the following properties from type 'ReactQueryWrapperContextType': setProfile, setWave, setWavesOverviewPage, setWaveDrops, and 22 more. +__tests__/components/user/proxy/proxy/list/ProxyActionRowStatus.test.tsx(19,133): error TS2322: Type 'undefined' is not assignable to type 'string | null'. +__tests__/components/user/rep/modify-rep/UserPageRepModifyModal.test.tsx(29,42): error TS2740: Type '{ onProfileRepModify: Mock; }' is missing the following properties from type 'ReactQueryWrapperContextType': setProfile, setWave, setWavesOverviewPage, setWaveDrops, and 22 more. +__tests__/components/user/rep/modify-rep/UserPageRepModifyModal.test.tsx(43,42): error TS2740: Type '{ onProfileRepModify: Mock; }' is missing the following properties from type 'ReactQueryWrapperContextType': setProfile, setWave, setWavesOverviewPage, setWaveDrops, and 22 more. +__tests__/components/user/stats/activity/wallet/table/UserPageStatsActivityWalletTable.test.tsx(20,13): error TS2741: Property 'memeLab' is missing in type '{ transactions: Transaction[]; profile: ApiIdentity; memes: never[]; nextgenCollections: never[]; }' but required in type '{ readonly transactions: Transaction[]; readonly profile: ApiIdentity; readonly memes: NFTLite[]; readonly memeLab: NFTLite[]; readonly nextgenCollections: NextGenCollection[]; }'. +__tests__/components/user/stats/activity/wallet/table/UserPageStatsActivityWalletTableWrapper.test.tsx(28,8): error TS2741: Property 'memeLab' is missing in type '{ filter: UserPageStatsActivityWalletFilterType.ALL; profile: any; transactions: never[]; memes: never[]; nextgenCollections: never[]; totalPages: number; ... 4 more ...; onActiveFilter: Mock<...>; }' but required in type '{ readonly filter: UserPageStatsActivityWalletFilterType; readonly profile: ApiIdentity; readonly transactions: Transaction[]; ... 8 more ...; readonly onActiveFilter: (filter: UserPageStatsActivityWalletFilterType) => void; }'. +__tests__/components/user/stats/activity/wallet/table/UserPageStatsActivityWalletTableWrapper.test.tsx(47,8): error TS2741: Property 'memeLab' is missing in type '{ filter: UserPageStatsActivityWalletFilterType.ALL; profile: any; transactions: any[]; memes: any[]; nextgenCollections: any[]; totalPages: number; page: number; isFirstLoading: false; loading: true; setPage: Mock<...>; onActiveFilter: Mock<...>; }' but required in type '{ readonly filter: UserPageStatsActivityWalletFilterType; readonly profile: ApiIdentity; readonly transactions: Transaction[]; ... 8 more ...; readonly onActiveFilter: (filter: UserPageStatsActivityWalletFilterType) => void; }'. +__tests__/components/user/stats/activity/wallet/table/UserPageStatsActivityWalletTableWrapper.test.tsx(69,8): error TS2741: Property 'memeLab' is missing in type '{ filter: UserPageStatsActivityWalletFilterType.MINTS; profile: any; transactions: never[]; memes: never[]; nextgenCollections: never[]; totalPages: number; ... 4 more ...; onActiveFilter: Mock<...>; }' but required in type '{ readonly filter: UserPageStatsActivityWalletFilterType; readonly profile: ApiIdentity; readonly transactions: Transaction[]; ... 8 more ...; readonly onActiveFilter: (filter: UserPageStatsActivityWalletFilterType) => void; }'. +__tests__/components/user/stats/tags/UserPageStatsTags.test.tsx(21,49): error TS2322: Type '{ season: number; sets: number; }[]' is not assignable to type 'OwnerBalanceMemes[]'. + Type '{ season: number; sets: number; }' is missing the following properties from type 'OwnerBalanceMemes': consolidation_key, balance, unique, rank, and 2 more. +__tests__/components/user/subscriptions/UserPageSubscriptionsUpcoming.test.tsx(77,42): error TS2352: Conversion of type '{ profile: string; }' to type 'SubscriptionDetails' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ profile: string; }' is missing the following properties from type 'SubscriptionDetails': consolidation_key, last_update, balance, automatic +__tests__/components/user/user-page-header/banner/UserPageHeaderBanner.test.tsx(17,9): error TS2739: Type '{ id: string; handle: string; normalised_handle: null; pfp: null; cic: number; rep: number; level: number; tdh: number; consolidation_key: string; display: string; primary_wallet: string; banner1: null; banner2: null; classification: any; sub_classification: null; }' is missing the following properties from type 'ApiIdentity': 'tdh_rate', 'xtdh', 'xtdh_rate', 'active_main_stage_submission_ids', 'winner_main_stage_drop_ids' +__tests__/components/user/user-page-header/name/UserPageHeaderEditName.test.tsx(34,3): error TS2322: Type '"SEIZER"' is not assignable to type 'ApiProfileClassification'. +__tests__/components/user/user-page-header/name/UserPageHeaderEditName.test.tsx(208,37): error TS2322: Type '{ primary_wallet: null; id: string | null; handle: string | null; normalised_handle: string | null; pfp: string | null; cic: number; rep: number; level: number; tdh: number; tdh_rate: number; ... 11 more ...; winner_main_stage_drop_ids: Array; }' is not assignable to type 'ApiIdentity'. + Types of property ''primary_wallet'' are incompatible. + Type 'null' is not assignable to type 'string'. +__tests__/components/user/user-page-header/name/UserPageHeaderName.test.tsx(22,7): error TS2739: Type '{ id: string; handle: null; normalised_handle: null; pfp: null; cic: number; rep: number; level: number; tdh: number; consolidation_key: string; display: string; primary_wallet: string; banner1: null; banner2: null; classification: ApiProfileClassification.Pseudonym; sub_classification: null; }' is missing the following properties from type 'ApiIdentity': 'tdh_rate', 'xtdh', 'xtdh_rate', 'active_main_stage_submission_ids', 'winner_main_stage_drop_ids' +__tests__/components/user/waves/UserPageWaves.basic.test.tsx(80,5): error TS2740: Type '{ handle: string; }' is missing the following properties from type 'ApiIdentity': 'id', 'normalised_handle', 'pfp', 'cic', and 15 more. +__tests__/components/utils/input/emma/EmmaListSearch.test.tsx(4,10): error TS2305: Module '"@/helpers/AllowlistToolHelpers"' has no exported member 'AllowlistDescription'. +__tests__/components/utils/input/emma/EmmaListSearchItem.test.tsx(9,9): error TS2741: Property 'createdAt' is missing in type '{ id: string; name: string; description: string; }' but required in type 'AllowlistDescription'. +__tests__/components/utils/input/emma/EmmaListSearchItem.test.tsx(214,13): error TS2741: Property 'createdAt' is missing in type '{ id: string; name: string; description: string; }' but required in type 'AllowlistDescription'. +__tests__/components/utils/input/emma/EmmaListSearchItem.test.tsx(233,13): error TS2741: Property 'createdAt' is missing in type '{ id: string; name: string; description: string; }' but required in type 'AllowlistDescription'. +__tests__/components/utils/input/emma/EmmaListSearchItem.test.tsx(252,13): error TS2741: Property 'createdAt' is missing in type '{ id: string; name: string; description: string; }' but required in type 'AllowlistDescription'. +__tests__/components/utils/input/emma/EmmaListSearchItem.test.tsx(274,13): error TS2741: Property 'createdAt' is missing in type '{ id: string; name: string; description: string; }' but required in type 'AllowlistDescription'. +__tests__/components/utils/select-group/SelectGroupModal.test.tsx(9,41): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/utils/select-group/SelectGroupModal.test.tsx(82,40): error TS2322: Type 'null' is not assignable to type '{ id: number; group_name: string; }[]'. +__tests__/components/utils/select/dropdown/CommonDropdownItem.test.tsx(15,11): error TS2739: Type '{ item: { label: string; value: string; key: string; }; activeItem: string; setSelected: Mock; isMobile: false; }' is missing the following properties from type 'Readonly>': itemIdx, totalItems +__tests__/components/utils/select/dropdown/CommonDropdownItem.test.tsx(22,11): error TS2739: Type '{ item: { label: string; value: string; key: string; }; activeItem: string; setSelected: Mock; isMobile: false; sortDirection: SortDirection.ASC; }' is missing the following properties from type 'Readonly>': itemIdx, totalItems +__tests__/components/utils/select/dropdown/CommonDropdownItem.test.tsx(33,6): error TS2739: Type '{ children: Element; item: { label: string; value: string; key: string; }; activeItem: string; setSelected: Mock; isMobile: false; }' is missing the following properties from type 'Readonly>': itemIdx, totalItems +__tests__/components/utils/select/dropdown/CommonDropdownItem.test.tsx(34,8): error TS2741: Property 'onCopy' is missing in type '{}' but required in type '{ onCopy: () => void; }'. +__tests__/components/utils/sidebar/SidebarLayout.test.tsx(86,39): error TS2345: Argument of type '{ isApp: false; isMobileDevice: false; hasTouchScreen: false; }' is not assignable to parameter of type 'DeviceInfo'. + Property 'isAppleMobile' is missing in type '{ isApp: false; isMobileDevice: false; hasTouchScreen: false; }' but required in type 'DeviceInfo'. +__tests__/components/utils/sidebar/SidebarLayout.test.tsx(144,39): error TS2345: Argument of type '{ isApp: true; isMobileDevice: false; hasTouchScreen: false; }' is not assignable to parameter of type 'DeviceInfo'. + Property 'isAppleMobile' is missing in type '{ isApp: true; isMobileDevice: false; hasTouchScreen: false; }' but required in type 'DeviceInfo'. +__tests__/components/waves/create-wave/CreateWave.test.tsx(165,5): error TS2322: Type '{ rating: number; contributor_count: number; }' is not assignable to type 'number'. +__tests__/components/waves/create-wave/CreateWave.test.tsx(166,5): error TS2322: Type '{ rating: number; contributor_count: number; }' is not assignable to type 'number'. +__tests__/components/waves/create-wave/CreateWave.test.tsx(169,5): error TS2322: Type '"HUMAN"' is not assignable to type 'ApiProfileClassification'. +__tests__/components/waves/create-wave/CreateWave.test.tsx(276,29): error TS2740: Type '{ requestAuth: Mock; setToast: Mock; connectedProfile: ApiIdentity; }' is missing the following properties from type 'AuthContextType': fetchingProfile, connectionStatus, receivedProfileProxies, activeProfileProxy, and 2 more. +__tests__/components/waves/create-wave/CreateWave.test.tsx(277,44): error TS2740: Type '{ waitAndInvalidateDrops: Mock; onWaveCreated: Mock; }' is missing the following properties from type 'ReactQueryWrapperContextType': setProfile, setWave, setWavesOverviewPage, setWaveDrops, and 21 more. +__tests__/components/waves/create-wave/groups/CreateWaveGroup.test.tsx(93,38): error TS2352: Conversion of type '{ id: string; name: string; description: string; created_by: { id: string; handle: string; wallet: string; }; }' to type 'ApiGroupFull' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; name: string; description: string; created_by: { id: string; handle: string; wallet: string; }; }' is missing the following properties from type 'ApiGroupFull': 'group', 'created_at', 'visible', 'is_private' +__tests__/components/waves/create-wave/outcomes/winners/rows/manual/CreateWaveOutcomesRowManual.test.tsx(39,48): error TS2352: Conversion of type '{ id: string; type: "manual"; }' to type 'CreateWaveOutcomeConfig' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; type: "manual"; }' is missing the following properties from type 'CreateWaveOutcomeConfig': title, credit, category, maxWinners, winnersConfig +__tests__/components/waves/create-wave/outcomes/winners/rows/manual/CreateWaveOutcomesRowManual.test.tsx(149,52): error TS2352: Conversion of type '{ id: string; type: "custom"; description: string; }' to type 'CreateWaveOutcomeConfig' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; type: "custom"; description: string; }' is missing the following properties from type 'CreateWaveOutcomeConfig': title, credit, category, maxWinners, winnersConfig +__tests__/components/waves/create-wave/overview/CreateWaveOverview.test.tsx(65,5): error TS2322: Type 'null' is not assignable to type 'ApiWaveType'. +__tests__/components/waves/create-wave/overview/CreateWaveOverview.test.tsx(261,7): error TS2322: Type 'null' is not assignable to type 'ApiWaveType'. +__tests__/components/waves/create-wave/services/multiPartUpload.test.ts(40,32): error TS2345: Argument of type '(fn: any) => any' is not assignable to parameter of type 'Limit'. + Type '(fn: any) => any' is missing the following properties from type 'Limit': activeCount, pendingCount, clearQueue +__tests__/components/waves/CreateDrop.test.tsx(25,42): error TS2740: Type '{ waitAndInvalidateDrops: Mock; }' is missing the following properties from type 'ReactQueryWrapperContextType': setProfile, setWave, setWavesOverviewPage, setWaveDrops, and 22 more. +__tests__/components/waves/CreateDropActions.test.tsx(29,44): error TS7031: Binding element 'children' implicitly has an 'any' type. +__tests__/components/waves/CreateDropActions.test.tsx(29,66): error TS7006: Parameter 'ref' implicitly has an 'any' type. +__tests__/components/waves/CreateDropActions.test.tsx(32,47): error TS7031: Binding element 'children' implicitly has an 'any' type. +__tests__/components/waves/CreateDropActions.test.tsx(32,69): error TS7006: Parameter 'ref' implicitly has an 'any' type. +__tests__/components/waves/CreateDropActions.test.tsx(36,25): error TS7031: Binding element 'children' implicitly has an 'any' type. +__tests__/components/waves/CreateDropActions.test.tsx(38,21): error TS7031: Binding element 'children' implicitly has an 'any' type. +__tests__/components/waves/CreateDropActions.test.tsx(147,28): error TS2345: Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'. + Type 'Element' is missing the following properties from type 'HTMLElement': accessKey, accessKeyLabel, autocapitalize, autocorrect, and 129 more. +__tests__/components/waves/CreateDropActions.test.tsx(300,28): error TS2345: Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'. + Type 'Element' is missing the following properties from type 'HTMLElement': accessKey, accessKeyLabel, autocapitalize, autocorrect, and 129 more. +__tests__/components/waves/CreateDropContent.utils.test.ts(8,9): error TS2322: Type '{ key: string; type: ApiWaveMetadataType.String; value: string; required: true; }' is not assignable to type 'CreateDropMetadataType'. + Property 'id' is missing in type '{ key: string; type: ApiWaveMetadataType.String; value: string; required: true; }' but required in type '{ readonly id: string; key: string; readonly type: ApiWaveMetadataType.String; value: string | null; readonly required: boolean; }'. +__tests__/components/waves/CreateDropContent.utils.test.ts(9,11): error TS2322: Type 'null' is not assignable to type 'string'. +__tests__/components/waves/CreateDropContent.utils.test.ts(10,9): error TS2322: Type '{ key: string; type: ApiWaveMetadataType.Number; value: number; required: false; }' is not assignable to type 'CreateDropMetadataType'. + Property 'id' is missing in type '{ key: string; type: ApiWaveMetadataType.Number; value: number; required: false; }' but required in type '{ readonly id: string; key: string; readonly type: ApiWaveMetadataType.Number; value: number | null; readonly required: boolean; }'. +__tests__/components/waves/CreateDropContent.utils.test.ts(21,7): error TS2322: Type '{ key: string; type: ApiWaveMetadataType.Number; value: number; required: true; }' is not assignable to type 'CreateDropMetadataType'. + Property 'id' is missing in type '{ key: string; type: ApiWaveMetadataType.Number; value: number; required: true; }' but required in type '{ readonly id: string; key: string; readonly type: ApiWaveMetadataType.Number; value: number | null; readonly required: boolean; }'. +__tests__/components/waves/CreateDropContentRequirements.test.tsx(20,24): error TS2322: Type '"PNG"' is not assignable to type 'ApiWaveParticipationRequirement'. +__tests__/components/waves/CreateDropReplyingWrapper.test.tsx(17,34): error TS2741: Property 'partId' is missing in type '{ drop: any; action: ActiveDropAction.REPLY; }' but required in type 'ActiveDropState'. +__tests__/components/waves/drop/SingleWaveDropHeader.test.tsx(22,29): error TS2820: Type '"info"' is not assignable to type 'SingleWaveDropTab'. Did you mean 'SingleWaveDropTab.INFO'? +__tests__/components/waves/drop/SingleWaveDropTraits.test.tsx(19,6): error TS2352: Conversion of type '{ id: string; serial_no: number; author: { id: string; handle: string; }; title: string; parts: { part_id: number; content: string; media: never[]; quoted_drop: null; }[]; metadata: ApiDropMetadata[]; ... 5 more ...; mentioned_users: never[]; }' to type 'ExtendedDrop' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; serial_no: number; author: { id: string; handle: string; }; title: string; parts: { part_id: number; content: string; media: never[]; quoted_drop: null; }[]; metadata: ApiDropMetadata[]; ... 5 more ...; mentioned_users: never[]; }' is missing the following properties from type 'ExtendedDrop': type, stableKey, stableHash, 'drop_type', and 10 more. +__tests__/components/waves/drop/SingleWaveDropVoteContent.basic.test.tsx(19,25): error TS2352: Conversion of type '{ id: string; serial_no: number; rank: number; wave: any; context_profile_context: { rating: number; min_rating: number; max_rating: number; }; parts: never[]; referenced_nfts: never[]; mentioned_users: never[]; metadata: never[]; author: any; created_at: number; updated_at: number; }' to type 'ApiDrop' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; serial_no: number; rank: number; wave: any; context_profile_context: { rating: number; min_rating: number; max_rating: number; }; parts: never[]; referenced_nfts: never[]; mentioned_users: never[]; metadata: never[]; author: any; created_at: number; updated_at: number; }' is missing the following properties from type 'ApiDrop': 'drop_type', 'title', 'parts_count', 'rating', and 7 more. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(61,7): error TS2741: Property ''reaction'' is missing in type '{ rating: number; min_rating: number; max_rating: number; }' but required in type 'ApiDropContextProfileContext'. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(170,7): error TS2741: Property ''reaction'' is missing in type '{ rating: number; min_rating: number; max_rating: number; }' but required in type 'ApiDropContextProfileContext'. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(176,7): error TS2740: Type '{ id: string; name: string; voting_credit_type: ApiWaveCreditType.Rep; }' is missing the following properties from type 'ApiWaveMin': 'picture', 'description_drop_id', 'authenticated_user_eligible_to_vote', 'authenticated_user_eligible_to_participate', and 12 more. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(200,7): error TS2741: Property ''reaction'' is missing in type '{ rating: number; min_rating: number; max_rating: number; }' but required in type 'ApiDropContextProfileContext'. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(205,7): error TS2740: Type '{ id: string; name: string; voting_credit_type: ApiWaveCreditType.Rep; }' is missing the following properties from type 'ApiWaveMin': 'picture', 'description_drop_id', 'authenticated_user_eligible_to_vote', 'authenticated_user_eligible_to_participate', and 12 more. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(232,7): error TS2741: Property ''reaction'' is missing in type '{ rating: number; min_rating: number; max_rating: number; }' but required in type 'ApiDropContextProfileContext'. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(237,7): error TS2740: Type '{ id: string; name: string; voting_credit_type: ApiWaveCreditType.Tdh; }' is missing the following properties from type 'ApiWaveMin': 'picture', 'description_drop_id', 'authenticated_user_eligible_to_vote', 'authenticated_user_eligible_to_participate', and 12 more. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(281,7): error TS2741: Property ''reaction'' is missing in type '{ rating: number; min_rating: number; max_rating: number; }' but required in type 'ApiDropContextProfileContext'. +__tests__/components/waves/drop/SingleWaveDropVoteContent.test.tsx(300,7): error TS2741: Property ''reaction'' is missing in type '{ rating: number; min_rating: number; max_rating: number; }' but required in type 'ApiDropContextProfileContext'. +__tests__/components/waves/drop/SingleWaveDropVoteSubmit.test.tsx(71,5): error TS2322: Type 'string' is not assignable to type 'number'. +__tests__/components/waves/drop/SingleWaveDropVoteSubmit.test.tsx(74,7): error TS2353: Object literal may only specify known properties, and 'normalised_handle' does not exist in type 'ApiProfileMin'. +__tests__/components/waves/drop/SingleWaveDropVoteSubmit.test.tsx(89,5): error TS2740: Type '{ id: string; name: string; }' is missing the following properties from type 'ApiWaveMin': 'picture', 'description_drop_id', 'authenticated_user_eligible_to_vote', 'authenticated_user_eligible_to_participate', and 13 more. +__tests__/components/waves/drops/ArtistActiveSubmissionContent.test.tsx(82,9): error TS2740: Type '{ id: string; handle: string; pfp: string; level: number; cic: number; rep: number; }' is missing the following properties from type 'ApiProfileMin': 'banner1_color', 'banner2_color', 'tdh', 'tdh_rate', and 7 more. +__tests__/components/waves/drops/ArtistPreviewModal.simple.test.tsx(32,9): error TS2740: Type '{ id: string; handle: string; pfp: string; level: number; cic: number; rep: number; }' is missing the following properties from type 'ApiProfileMin': 'banner1_color', 'banner2_color', 'tdh', 'tdh_rate', and 7 more. +__tests__/components/waves/drops/ContentSegmentComponent.test.tsx(14,63): error TS2739: Type '{ url: string; }' is missing the following properties from type 'MediaItem': alt, type +__tests__/components/waves/drops/ContentSegmentComponent.test.tsx(19,59): error TS2741: Property 'content' is missing in type '{ type: "media"; }' but required in type 'ContentSegment'. +__tests__/components/waves/drops/EditDropLexical.test.tsx(275,9): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/waves/drops/EditDropLexical.test.tsx(278,9): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/waves/drops/EditDropLexical.test.tsx(284,27): error TS2352: Conversion of type 'undefined' to type '() => boolean' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. +__tests__/components/waves/drops/EditDropLexical.test.tsx(284,40): error TS2493: Tuple type '[]' of length '0' has no element at index '1'. +__tests__/components/waves/drops/EditDropLexical.test.tsx(285,26): error TS2352: Conversion of type 'undefined' to type '(event?: { shiftKey?: boolean | undefined; } | undefined) => boolean' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. +__tests__/components/waves/drops/EditDropLexical.test.tsx(285,38): error TS2493: Tuple type '[]' of length '0' has no element at index '1'. +__tests__/components/waves/drops/OngoingParticipationDrop.test.tsx(53,7): error TS2820: Type '"wave"' is not assignable to type 'DropLocation'. Did you mean 'DropLocation.WAVE'? +__tests__/components/waves/drops/participation/EndedParticipationDrop.test.tsx(11,23): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/drops/participation/EndedParticipationDrop.test.tsx(15,26): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/drops/participation/EndedParticipationDrop.test.tsx(36,12): error TS2532: Object is possibly 'undefined'. +__tests__/components/waves/drops/participation/EndedParticipationDrop.test.tsx(36,49): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/waves/drops/participation/EndedParticipationDrop.test.tsx(39,25): error TS2532: Object is possibly 'undefined'. +__tests__/components/waves/drops/participation/EndedParticipationDrop.test.tsx(39,59): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/waves/drops/participation/EndedParticipationDrop.test.tsx(57,12): error TS2532: Object is possibly 'undefined'. +__tests__/components/waves/drops/participation/EndedParticipationDrop.test.tsx(57,49): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/waves/drops/participation/ParticipationDrop.test.tsx(26,28): error TS2339: Property 'FEED' does not exist on type 'typeof DropLocation'. +__tests__/components/waves/drops/participation/ParticipationDropRatings.test.tsx(8,17): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/drops/participation/ratings/ParticipationDropRatingsUserSection.test.tsx(10,56): error TS2741: Property 'ring' is missing in type '{ indicator: string; text: string; }' but required in type 'ThemeColors'. +__tests__/components/waves/drops/participation/ratings/ParticipationDropRatingsUserSection.test.tsx(10,98): error TS2739: Type '{ userRating: number; }' is missing the following properties from type 'RatingsData': hasRaters, currentRating +__tests__/components/waves/drops/participation/ratings/ParticipationDropRatingsUserSection.test.tsx(17,56): error TS2741: Property 'ring' is missing in type '{ indicator: string; text: string; }' but required in type 'ThemeColors'. +__tests__/components/waves/drops/participation/ratings/ParticipationDropRatingsUserSection.test.tsx(17,98): error TS2739: Type '{ userRating: number; }' is missing the following properties from type 'RatingsData': hasRaters, currentRating +__tests__/components/waves/drops/participation/ratings/tooltips/VoteBreakdownTooltip.test.tsx(23,41): error TS2741: Property 'currentRating' is missing in type '{ hasRaters: true; userRating: number; }' but required in type 'RatingsData'. +__tests__/components/waves/drops/participation/ratings/tooltips/VoteBreakdownTooltip.test.tsx(37,86): error TS2741: Property 'currentRating' is missing in type '{ hasRaters: false; userRating: number; }' but required in type 'RatingsData'. +__tests__/components/waves/drops/WaveDropActionsAddReaction.test.tsx(76,26): error TS2339: Property 'Standard' does not exist on type 'typeof ApiDropType'. +__tests__/components/waves/drops/WaveDropPart.test.tsx(32,44): error TS2352: Conversion of type '{ id: string; parts: { content: string; quoted_drop: null; media: never[]; }[]; }' to type 'ExtendedDrop' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; parts: { content: string; quoted_drop: null; media: never[]; }[]; }' is missing the following properties from type 'ExtendedDrop': type, stableKey, stableHash, 'serial_no', and 20 more. +__tests__/components/waves/drops/WaveDropPart.test.tsx(43,43): error TS2352: Conversion of type '{ id: string; parts: { content: string; quoted_drop: null; media: never[]; }[]; }' to type 'ExtendedDrop' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; parts: { content: string; quoted_drop: null; media: never[]; }[]; }' is missing the following properties from type 'ExtendedDrop': type, stableKey, stableHash, 'serial_no', and 20 more. +__tests__/components/waves/drops/WaveDropPart.test.tsx(64,43): error TS2352: Conversion of type '{ id: string; parts: { content: string; quoted_drop: null; media: never[]; }[]; }' to type 'ExtendedDrop' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; parts: { content: string; quoted_drop: null; media: never[]; }[]; }' is missing the following properties from type 'ExtendedDrop': type, stableKey, stableHash, 'serial_no', and 20 more. +__tests__/components/waves/drops/WaveDropsAll.test.tsx(437,70): error TS2322: Type 'null' is not assignable to type 'string'. +__tests__/components/waves/drops/WaveDropsAll.test.tsx(456,74): error TS2322: Type 'null' is not assignable to type 'string'. +__tests__/components/waves/header/WaveHeaderPinButton.test.tsx(69,29): error TS2740: Type '{ connectedProfile: { handle: string; }; activeProfileProxy: null; setToast: Mock; }' is missing the following properties from type 'AuthContextType': fetchingProfile, connectionStatus, receivedProfileProxies, showWaves, and 2 more. +__tests__/components/waves/header/WaveHeaderPinButton.test.tsx(77,45): error TS2345: Argument of type '{ connectedProfile: null; activeProfileProxy: null; setToast: jest.Mock; }' is not assignable to parameter of type '{ connectedProfile: { handle: string; }; activeProfileProxy: null; setToast: jest.Mock; }'. + Types of property 'connectedProfile' are incompatible. + Type 'null' is not assignable to type '{ handle: string; }'. +__tests__/components/waves/header/WaveHeaderPinButton.test.tsx(82,45): error TS2345: Argument of type '{ connectedProfile: { handle: string; }; activeProfileProxy: { id: string; }; setToast: jest.Mock; }' is not assignable to parameter of type '{ connectedProfile: { handle: string; }; activeProfileProxy: null; setToast: jest.Mock; }'. + Types of property 'activeProfileProxy' are incompatible. + Type '{ id: string; }' is not assignable to type 'null'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(53,5): error TS2322: Type 'string' is not assignable to type 'number'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(54,5): error TS2740: Type '{ id: string; handle: string; pfp: null; }' is missing the following properties from type 'ApiProfileMin': 'banner1_color', 'banner2_color', 'cic', 'rep', and 10 more. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(59,5): error TS2739: Type '{ drops_count: number; subscribers_count: number; }' is missing the following properties from type 'ApiWaveMetrics': 'latest_drop_timestamp', 'your_participation_drops_count' +__tests__/components/waves/list/WavesListSearchResults.test.tsx(75,5): error TS2322: Type 'string' is not assignable to type 'number'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(76,5): error TS2740: Type '{ id: string; handle: string; pfp: null; }' is missing the following properties from type 'ApiProfileMin': 'banner1_color', 'banner2_color', 'cic', 'rep', and 10 more. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(81,5): error TS2739: Type '{ drops_count: number; subscribers_count: number; }' is missing the following properties from type 'ApiWaveMetrics': 'latest_drop_timestamp', 'your_participation_drops_count' +__tests__/components/waves/list/WavesListSearchResults.test.tsx(121,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(129,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(142,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(152,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(165,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(177,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(192,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(208,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(222,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(236,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(247,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/list/WavesListSearchResults.test.tsx(258,34): error TS2345: Argument of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: jest.Mock | ((options?: FetchNextPageOptions) => Promise<...>); status: string; error: Error | null; refetch: jest.Mock<...> | ((options?: RefetchOptions) => Promise<...>); }' is not assignable to parameter of type '{ waves: ApiWave[]; isFetching: boolean; isFetchingNextPage: boolean; hasNextPage: boolean; fetchNextPage: (options?: FetchNextPageOptions) => Promise<...>; status: "error" | ... 1 more ... | "success"; error: Error | null; refetch: (options?: RefetchOptions) => Promise<...>; }'. + Types of property 'status' are incompatible. + Type 'string' is not assignable to type '"error" | "pending" | "success"'. +__tests__/components/waves/memes/file-upload/components/FilePreview.test.tsx(17,11): error TS2741: Property 'videoCompatibility' is missing in type '{ url: string; file: File; onRemove: Mock; isCheckingCompatibility: false; }' but required in type 'FilePreviewProps'. +__tests__/components/waves/memes/file-upload/components/FilePreview.test.tsx(24,88): error TS2741: Property 'tested' is missing in type '{ canPlay: false; errorMessage: string; }' but required in type 'VideoCompatibilityResult'. +__tests__/components/waves/memes/file-upload/components/FilePreview.test.tsx(29,11): error TS2741: Property 'videoCompatibility' is missing in type '{ url: string; file: File; onRemove: Mock; isCheckingCompatibility: true; }' but required in type 'FilePreviewProps'. +__tests__/components/waves/memes/file-upload/reducers/fileUploadReducer.test.ts(26,39): error TS2345: Argument of type '{ visualState: string; objectUrl: string; processingTimeout: number; error: string | null; processingAttempts: number; processingFile: File | null; hasRecoveryOption: boolean; currentFile: File | null; videoCompatibility: VideoCompatibilityResult | null; isCheckingCompatibility: boolean; }' is not assignable to parameter of type 'FileUploaderState'. + Types of property 'visualState' are incompatible. + Type 'string' is not assignable to type 'VisualState'. +__tests__/components/waves/memes/file-upload/utils/fileValidation.test.ts(111,21): error TS2349: This expression is not callable. + Type 'never' has no call signatures. +__tests__/components/waves/memes/MemesArtSubmissionFile.test.tsx(170,11): error TS2743: No overload expects 1 type arguments, but overloads do exist that expect either 0 or 2 type arguments. +__tests__/components/waves/memes/submission/hooks/useArtworkSubmissionMutation.test.tsx(35,36): error TS2554: Expected 3-4 arguments, but got 1. +__tests__/components/waves/memes/submission/hooks/useArtworkSubmissionMutation.test.tsx(41,36): error TS2554: Expected 3-4 arguments, but got 1. +__tests__/components/waves/memes/submission/steps/ArtworkStep.test.tsx(100,13): error TS2322: Type '{ traits: TraitsData; artworkUploaded: boolean; artworkUrl: string; setArtworkUploaded: (uploaded: boolean) => void; handleFileSelect: (file: File) => void; mediaSource: "url" | "upload"; ... 22 more ...; submissionError?: string | undefined; }' is not assignable to type 'ArtworkStepProps'. + Types of property 'externalProvider' are incompatible. + Type 'string' is not assignable to type '"ipfs" | "arweave"'. +__tests__/components/waves/memes/submission/steps/ArtworkStep.test.tsx(127,8): error TS2322: Type '{ traits: TraitsData; artworkUploaded: boolean; artworkUrl: string; setArtworkUploaded: (uploaded: boolean) => void; handleFileSelect: (file: File) => void; mediaSource: "url" | "upload"; ... 22 more ...; submissionError?: string | undefined; }' is not assignable to type 'ArtworkStepProps'. + Types of property 'externalProvider' are incompatible. + Type 'string' is not assignable to type '"ipfs" | "arweave"'. +__tests__/components/waves/memes/submission/steps/ArtworkStep.test.tsx(139,8): error TS2322: Type '{ traits: TraitsData; artworkUploaded: boolean; artworkUrl: string; setArtworkUploaded: (uploaded: boolean) => void; handleFileSelect: (file: File) => void; mediaSource: "url" | "upload"; ... 22 more ...; submissionError?: string | undefined; }' is not assignable to type 'ArtworkStepProps'. + Types of property 'externalProvider' are incompatible. + Type 'string' is not assignable to type '"ipfs" | "arweave"'. +__tests__/components/waves/memes/submission/steps/ArtworkStep.test.tsx(158,8): error TS2322: Type '{ traits: TraitsData; artworkUploaded: boolean; artworkUrl: string; setArtworkUploaded: (uploaded: boolean) => void; handleFileSelect: (file: File) => void; mediaSource: "url" | "upload"; ... 22 more ...; submissionError?: string | undefined; }' is not assignable to type 'ArtworkStepProps'. + Types of property 'externalProvider' are incompatible. + Type 'string' is not assignable to type '"ipfs" | "arweave"'. +__tests__/components/waves/memes/submission/validation/traitsValidation.test.ts(67,66): error TS2322: Type 'Set' is not assignable to type 'Set'. + Type 'string' is not assignable to type 'keyof TraitsData'. +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(16,9): error TS2739: Type '{ type: FieldType.TEXT; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(30,9): error TS2739: Type '{ type: FieldType.TEXT; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(44,9): error TS2739: Type '{ type: FieldType.TEXT; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(58,9): error TS2739: Type '{ type: FieldType.TEXT; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(76,9): error TS2739: Type '{ type: FieldType.NUMBER; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(90,9): error TS2739: Type '{ type: FieldType.NUMBER; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(104,9): error TS2739: Type '{ type: FieldType.NUMBER; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(118,9): error TS2739: Type '{ type: FieldType.NUMBER; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(132,9): error TS2739: Type '{ type: FieldType.NUMBER; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(146,52): error TS2353: Object literal may only specify known properties, and 'min' does not exist in type 'BaseFieldDefinition'. +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(160,52): error TS2353: Object literal may only specify known properties, and 'min' does not exist in type 'BaseFieldDefinition'. +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(174,52): error TS2353: Object literal may only specify known properties, and 'min' does not exist in type 'BaseFieldDefinition'. +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(192,9): error TS2739: Type '{ type: FieldType.BOOLEAN; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(206,9): error TS2739: Type '{ type: FieldType.BOOLEAN; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(220,9): error TS2739: Type '{ type: FieldType.BOOLEAN; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(240,11): error TS2353: Object literal may only specify known properties, and 'options' does not exist in type 'BaseFieldDefinition'. +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(257,11): error TS2353: Object literal may only specify known properties, and 'options' does not exist in type 'BaseFieldDefinition'. +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(274,11): error TS2353: Object literal may only specify known properties, and 'options' does not exist in type 'BaseFieldDefinition'. +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(291,11): error TS2353: Object literal may only specify known properties, and 'options' does not exist in type 'BaseFieldDefinition'. +__tests__/components/waves/memes/submission/validation/validationRules.test.ts(316,9): error TS2739: Type '{ type: FieldType.TEXT; }' is missing the following properties from type 'BaseFieldDefinition': field, label +__tests__/components/waves/memes/traits/DropdownTrait.test.tsx(16,37): error TS2322: Type '"rarity"' is not assignable to type 'keyof TraitsData'. +__tests__/components/waves/memes/traits/DropdownTrait.test.tsx(27,37): error TS2322: Type '"rarity"' is not assignable to type 'keyof TraitsData'. +__tests__/components/waves/memes/traits/DropdownTrait.test.tsx(32,37): error TS2322: Type '"rarity"' is not assignable to type 'keyof TraitsData'. +__tests__/components/waves/memes/traits/schema.test.ts(18,34): error TS2339: Property 'placeholder' does not exist on type 'FieldDefinition'. + Property 'placeholder' does not exist on type 'NumberFieldDefinition'. +__tests__/components/waves/memes/traits/TraitField.test.tsx(12,44): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/memes/traits/TraitField.test.tsx(15,48): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/memes/traits/TraitField.test.tsx(18,52): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/memes/traits/TraitField.test.tsx(21,50): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/memes/traits/TraitField.test.tsx(37,7): error TS2322: Type '{ type: FieldType.NUMBER; field: "pointsPower"; label: string; }' is not assignable to type 'FieldDefinition'. + Type '{ type: FieldType.NUMBER; field: "pointsPower"; label: string; }' is missing the following properties from type 'NumberFieldDefinition': min, max +__tests__/components/waves/small-leaderboard/WaveSmallLeaderboard.test.tsx(18,54): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/small-leaderboard/WaveSmallLeaderboardTopThreeDrop.test.tsx(190,7): error TS2739: Type '{ id: string; handle: string; pfp: null; level: number; cic: number; banner1_color: null; banner2_color: null; rep: number; tdh: number; primary_address: string; subscribed_actions: never[]; archived: false; }' is missing the following properties from type 'ApiProfileMin': 'tdh_rate', 'xtdh', 'xtdh_rate', 'active_main_stage_submission_ids', 'winner_main_stage_drop_ids' +__tests__/components/waves/specs/groups/group/edit/WaveGroupEditButton.test.tsx(18,43): error TS2322: Type '"type"' is not assignable to type 'WaveGroupType'. +__tests__/components/waves/specs/groups/group/edit/WaveGroupEditButtons.test.tsx(22,70): error TS7006: Parameter 'ref' implicitly has an 'any' type. +__tests__/components/waves/specs/groups/group/edit/WaveGroupEditButtons.test.tsx(37,70): error TS7006: Parameter 'ref' implicitly has an 'any' type. +__tests__/components/waves/specs/groups/group/edit/WaveGroupEditButtons.test.tsx(87,40): error TS2740: Type '{ onWaveCreated: Mock; }' is missing the following properties from type 'ReactQueryWrapperContextType': setProfile, setWave, setWavesOverviewPage, setWaveDrops, and 22 more. +__tests__/components/waves/specs/groups/group/edit/WaveGroupRemove.test.tsx(40,12): error TS2532: Object is possibly 'undefined'. +__tests__/components/waves/specs/groups/group/edit/WaveGroupRemove.test.tsx(40,39): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/waves/specs/groups/group/edit/WaveGroupRemove.test.tsx(47,12): error TS2532: Object is possibly 'undefined'. +__tests__/components/waves/specs/groups/group/edit/WaveGroupRemove.test.tsx(47,39): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +__tests__/components/waves/WaveLeaderboardGallery.test.tsx(31,43): error TS2322: Type '"RANK"' is not assignable to type 'WaveDropsLeaderboardSort'. +__tests__/components/waves/Waves.test.tsx(68,30): error TS2802: Type 'Map' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher. +__tests__/components/waves/winners/podium/WaveWinnersPodiumPlaceholder.test.tsx(8,34): error TS2339: Property 'querySelector' does not exist on type 'ChildNode'. +__tests__/components/waves/winners/WaveWinners.test.tsx(18,45): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/winners/WaveWinners.test.tsx(21,41): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/winners/WaveWinners.test.tsx(24,39): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/winners/WaveWinnersSmall.test.tsx(15,116): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/winners/WaveWinnersSmall.test.tsx(16,146): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/winners/WaveWinnersSmall.test.tsx(18,121): error TS2554: Expected 0 arguments, but got 1. +__tests__/components/waves/winners/WaveWinnersSmall.test.tsx(19,7): error TS2451: Cannot redeclare block-scoped variable 'wave'. +__tests__/components/waves/winners/WaveWinnersSmall.test.tsx(22,7): error TS2451: Cannot redeclare block-scoped variable 'wave'. +__tests__/components/waves/winners/WaveWinnersSmallOutcome.test.tsx(32,5): error TS2322: Type 'null' is not assignable to type 'ApiDrop'. +__tests__/components/waves/winners/WaveWinnersSmallOutcome.test.tsx(42,5): error TS2740: Type 'ApiWave' is missing the following properties from type 'ApiWaveMin': 'description_drop_id', 'authenticated_user_eligible_to_vote', 'authenticated_user_eligible_to_participate', 'authenticated_user_eligible_to_chat', and 11 more. +__tests__/components/waves/winners/WaveWinnersSmallOutcome.test.tsx(49,7): error TS2322: Type '{ rating: number; contributor_count: number; }' is not assignable to type 'number'. +__tests__/components/waves/winners/WaveWinnersSmallOutcome.test.tsx(50,7): error TS2322: Type '{ rating: number; contributor_count: number; }' is not assignable to type 'number'. +__tests__/contexts/wave/hooks/useWaveDataFetching.test.ts(42,61): error TS2345: Argument of type '{ updateData: jest.Mock; getData: jest.Mock; }' is not assignable to parameter of type 'WaveDataStoreUpdater'. + Property 'removeDrop' is missing in type '{ updateData: jest.Mock; getData: jest.Mock; }' but required in type 'WaveDataStoreUpdater'. +__tests__/helpers/getRandomUniqueNumbersBetween.test.ts(1,10): error TS2305: Module '"@/helpers/Helpers"' has no exported member 'getRandomUniqueNumbersBetween'. +__tests__/helpers/stream.helpers.notifications.test.ts(12,121): error TS2353: Object literal may only specify known properties, and 'context' does not exist in type '{ queryClient: QueryClient; headers: Record; }'. +__tests__/helpers/stream.helpers.notifications.test.ts(18,94): error TS2353: Object literal may only specify known properties, and 'context' does not exist in type '{ queryClient: QueryClient; headers: Record; }'. +__tests__/helpers/stream.helpers.notifications.test.ts(28,7): error TS2353: Object literal may only specify known properties, and 'context' does not exist in type '{ queryClient: QueryClient; headers: Record; }'. +__tests__/helpers/stream.helpers.notifications.test.ts(40,7): error TS2353: Object literal may only specify known properties, and 'context' does not exist in type '{ queryClient: QueryClient; headers: Record; }'. +__tests__/helpers/time.test.ts(7,69): error TS2345: Argument of type '(this: Date, locales?: string | string[], options?: Intl.DateTimeFormatOptions) => string' is not assignable to parameter of type '(locales?: LocalesArgument, options?: DateTimeFormatOptions | undefined) => string'. + Types of parameters 'locales' and 'locales' are incompatible. + Type 'LocalesArgument' is not assignable to type 'string | string[] | undefined'. + Type 'Locale' is not assignable to type 'string | string[] | undefined'. + Type 'Locale' is missing the following properties from type 'string[]': length, pop, push, concat, and 35 more. +__tests__/helpers/waves/create-wave.helpers.extra.test.ts(50,12): error TS18048: 'body.voting.period' is possibly 'undefined'. +__tests__/hooks/drops/useDropUpdateMutation.test.tsx(36,3): error TS2740: Type '{ handle: string; }' is missing the following properties from type 'ApiProfileMin': 'id', 'pfp', 'banner1_color', 'banner2_color', and 12 more. +__tests__/hooks/drops/useDropUpdateMutation.test.tsx(37,3): error TS2740: Type '{ id: string; }' is missing the following properties from type 'ApiWaveMin': 'name', 'picture', 'description_drop_id', 'authenticated_user_eligible_to_vote', and 14 more. +__tests__/hooks/drops/useDropUpdateMutation.test.tsx(46,5): error TS2353: Object literal may only specify known properties, and 'replies_count' does not exist in type 'ApiDropPart'. +__tests__/hooks/drops/useDropUpdateMutation.test.tsx(61,3): error TS2322: Type 'null' is not assignable to type 'ApiReplyToDropResponse | undefined'. +__tests__/hooks/drops/useDropUpdateMutation.test.tsx(71,3): error TS2353: Object literal may only specify known properties, and 'content' does not exist in type 'ApiUpdateDropRequest'. +__tests__/hooks/drops/useDropUpdateMutation.test.tsx(237,41): error TS2345: Argument of type 'null' is not assignable to parameter of type 'MyStreamContextType'. +__tests__/hooks/useIdentity.test.ts(13,7): error TS2739: Type '{ id: string; handle: string; normalised_handle: string; pfp: null; cic: number; rep: number; level: number; tdh: number; tdh_rate: number; consolidation_key: string; display: string; primary_wallet: string; ... 7 more ...; winner_main_stage_drop_ids: never[]; }' is missing the following properties from type 'ApiIdentity': 'xtdh', 'xtdh_rate' +__tests__/hooks/useIdentity.test.ts(158,15): error TS2349: This expression is not callable. + Type 'never' has no call signatures. +__tests__/hooks/useIdentity.test.ts(175,15): error TS2349: This expression is not callable. + Type 'never' has no call signatures. +__tests__/hooks/useLongPressInteraction.test.ts(25,28): error TS2352: Conversion of type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: jest.Mock; }' to type 'TouchEvent' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: Mock; }' is missing the following properties from type 'TouchEvent': altKey, changedTouches, ctrlKey, getModifierState, and 19 more. +__tests__/hooks/useLongPressInteraction.test.ts(51,28): error TS2352: Conversion of type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: jest.Mock; }' to type 'TouchEvent' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: Mock; }' is missing the following properties from type 'TouchEvent': altKey, changedTouches, ctrlKey, getModifierState, and 19 more. +__tests__/hooks/useLongPressInteraction.test.ts(79,24): error TS2352: Conversion of type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: jest.Mock; }' to type 'TouchEvent' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: Mock; }' is missing the following properties from type 'TouchEvent': altKey, changedTouches, ctrlKey, getModifierState, and 19 more. +__tests__/hooks/useLongPressInteraction.test.ts(84,23): error TS2352: Conversion of type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: jest.Mock; }' to type 'TouchEvent' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: Mock; }' is missing the following properties from type 'TouchEvent': altKey, changedTouches, ctrlKey, getModifierState, and 19 more. +__tests__/hooks/useLongPressInteraction.test.ts(114,24): error TS2352: Conversion of type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: jest.Mock; }' to type 'TouchEvent' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: Mock; }' is missing the following properties from type 'TouchEvent': altKey, changedTouches, ctrlKey, getModifierState, and 19 more. +__tests__/hooks/useLongPressInteraction.test.ts(119,23): error TS2352: Conversion of type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: jest.Mock; }' to type 'TouchEvent' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: Mock; }' is missing the following properties from type 'TouchEvent': altKey, changedTouches, ctrlKey, getModifierState, and 19 more. +__tests__/hooks/useLongPressInteraction.test.ts(148,28): error TS2352: Conversion of type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: jest.Mock; }' to type 'TouchEvent' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ touches: { clientX: number; clientY: number; }[]; preventDefault: Mock; }' is missing the following properties from type 'TouchEvent': altKey, changedTouches, ctrlKey, getModifierState, and 19 more. +__tests__/hooks/useNFTCollections.test.ts(23,3): error TS2352: Conversion of type '{ id: number; contract: string; token_id: string; name: string; image: string; }' to type 'NFT' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: number; contract: string; token_id: string; name: string; image: string; }' is missing the following properties from type 'NFT': boosted_tdh, tdh, tdh__raw, tdh_rank, and 21 more. +__tests__/hooks/useNFTCollections.test.ts(30,3): error TS2352: Conversion of type '{ id: number; contract: string; token_id: string; name: string; image: string; }' to type 'NFT' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: number; contract: string; token_id: string; name: string; image: string; }' is missing the following properties from type 'NFT': boosted_tdh, tdh, tdh__raw, tdh_rank, and 21 more. +__tests__/hooks/useNFTCollections.test.ts(40,3): error TS2352: Conversion of type '{ id: number; contract: string; token_id: string; name: string; image: string; }' to type 'NFT' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: number; contract: string; token_id: string; name: string; image: string; }' is missing the following properties from type 'NFT': boosted_tdh, tdh, tdh__raw, tdh_rank, and 21 more. +__tests__/hooks/useNFTCollections.test.ts(50,3): error TS2352: Conversion of type '{ id: string; name: string; contract: string; description: string; }' to type 'NextGenCollection' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; name: string; contract: string; description: string; }' is missing the following properties from type 'NextGenCollection': created_at, updated_at, artist, website, and 20 more. +__tests__/hooks/useNFTCollections.test.ts(56,3): error TS2352: Conversion of type '{ id: string; name: string; contract: string; description: string; }' to type 'NextGenCollection' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ id: string; name: string; contract: string; description: string; }' is missing the following properties from type 'NextGenCollection': created_at, updated_at, artist, website, and 20 more. +__tests__/hooks/useNFTCollections.test.ts(326,9): error TS2322: Type '{ nfts: NFT[]; nextgenCollections: NextGenCollection[]; }' is not assignable to type 'undefined'. +__tests__/hooks/useSecureSign-wagmi.test.ts(30,7): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign-wagmi.test.ts(90,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign-wagmi.test.ts(109,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(6,10): error TS2440: Import declaration conflicts with local declaration of 'UserRejectedRequestError'. +__tests__/hooks/useSecureSign.test.ts(57,7): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(81,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(101,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(120,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(145,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(179,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(213,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(244,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(279,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(323,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(340,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(358,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(400,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(429,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(509,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(533,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(565,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(595,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(632,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(664,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(695,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(714,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(744,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(775,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useSecureSign.test.ts(807,9): error TS2322: Type '""' is not assignable to type '`eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | `su...'. +__tests__/hooks/useWaveTopVoters.test.ts(282,33): error TS2353: Object literal may only specify known properties, and 'sortDirection' does not exist in type '{ waveId: string; connectedProfileHandle: string; reverse: boolean; dropId: null; }'. +__tests__/hooks/useWaveWebSocket.test.ts(42,23): error TS2352: Conversion of type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/hooks/useWaveWebSocket.test.ts(58,23): error TS2352: Conversion of type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/hooks/useWaveWebSocket.test.ts(68,23): error TS2352: Conversion of type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' to type 'Mock' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' is missing the following properties from type 'Mock': getMockName, mock, mockClear, mockReset, and 13 more. +__tests__/hooks/useXtdhGrantsQuery.test.ts(63,9): error TS2561: Object literal may only specify known properties, but 'status' does not exist in type 'Readonly'. Did you mean to write 'statuses'? +__tests__/pages/staticPages.test.tsx(84,13): error TS2786: 'ElementColumns' cannot be used as a JSX component. + Its type '() => void' is not a valid JSX element type. + Type '() => void' is not assignable to type '(props: any) => ReactNode | Promise'. + Type 'void' is not assignable to type 'ReactNode | Promise'. +__tests__/pages/staticPages.test.tsx(104,13): error TS2786: 'ElementSections' cannot be used as a JSX component. + Its type '() => void' is not a valid JSX element type. + Type '() => void' is not assignable to type '(props: any) => ReactNode | Promise'. + Type 'void' is not assignable to type 'ReactNode | Promise'. +__tests__/services/auth/jwt-validation.utils.test.ts(349,81): error TS2352: Conversion of type '{ id: string; target_id: string; created_by: { id: string; }; granted_by: { id: string; }; granted_to: { id: string; }; actions: never[]; credit_amount: number; credit_spent: number; status: string; created_at: number; updated_at: number; }' to type 'ApiProfileProxy' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Types of property ''granted_to'' are incompatible. + Type '{ id: string; }' is missing the following properties from type 'ApiProfileMin': 'handle', 'pfp', 'banner1_color', 'banner2_color', and 12 more. +__tests__/services/groups/groupMutations.test.ts(36,9): error TS2740: Type '{ identity_addresses: string[]; }' is missing the following properties from type 'ApiCreateGroupDescription': 'tdh', 'rep', 'cic', 'level', and 2 more. +__tests__/services/groups/groupMutations.test.ts(55,9): error TS2740: Type '{ excluded_identity_addresses: string[]; }' is missing the following properties from type 'ApiCreateGroupDescription': 'tdh', 'rep', 'cic', 'level', and 2 more. +__tests__/services/groups/groupMutations.test.ts(69,9): error TS2740: Type '{ identity_addresses: string[]; }' is missing the following properties from type 'ApiCreateGroupDescription': 'tdh', 'rep', 'cic', 'level', and 2 more. +__tests__/services/groups/groupMutations.test.ts(82,9): error TS2739: Type '{ identity_addresses: string[]; excluded_identity_addresses: string[]; }' is missing the following properties from type 'ApiCreateGroupDescription': 'tdh', 'rep', 'cic', 'level', 'owns_nfts' +__tests__/services/websocket/useWebSocketHealth.test.ts(128,38): error TS2345: Argument of type '{ connect: jest.Mock; disconnect: jest.Mock; status: WebSocketStatus.DISCONNECTED; }' is not assignable to parameter of type 'WebSocketContextValue'. + Type '{ connect: Mock; disconnect: Mock; status: WebSocketStatus.DISCONNECTED; }' is missing the following properties from type 'WebSocketContextValue': subscribe, send, config +__tests__/services/websocket/useWebSocketHealth.test.ts(156,38): error TS2345: Argument of type '{ connect: jest.Mock; disconnect: jest.Mock; status: WebSocketStatus.CONNECTED; }' is not assignable to parameter of type 'WebSocketContextValue'. + Type '{ connect: Mock; disconnect: Mock; status: WebSocketStatus.CONNECTED; }' is missing the following properties from type 'WebSocketContextValue': subscribe, send, config +__tests__/services/websocket/useWebSocketHealth.test.ts(186,38): error TS2345: Argument of type '{ connect: jest.Mock; disconnect: jest.Mock; status: WebSocketStatus.CONNECTED; }' is not assignable to parameter of type 'WebSocketContextValue'. + Type '{ connect: Mock; disconnect: Mock; status: WebSocketStatus.CONNECTED; }' is missing the following properties from type 'WebSocketContextValue': subscribe, send, config +__tests__/services/websocket/useWebSocketHealth.test.ts(266,38): error TS2345: Argument of type '{ connect: jest.Mock; disconnect: jest.Mock; status: WebSocketStatus.DISCONNECTED; }' is not assignable to parameter of type 'WebSocketContextValue'. + Type '{ connect: Mock; disconnect: Mock; status: WebSocketStatus.DISCONNECTED; }' is missing the following properties from type 'WebSocketContextValue': subscribe, send, config +__tests__/services/websocket/WebSocketProvider.test.tsx(111,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(140,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(180,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(226,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(256,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(283,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(327,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(350,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(380,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(396,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(408,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(436,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(465,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(480,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(544,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(563,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(589,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(645,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(682,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(707,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(731,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(765,57): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(784,53): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(812,59): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(856,60): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(865,61): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/services/websocket/WebSocketProvider.test.tsx(879,63): error TS2344: Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' does not satisfy the constraint '(...args: any[]) => any'. + Type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }' provides no match for the signature '(...args: any[]): any'. +__tests__/utils/editDropTestUtils.tsx(18,5): error TS2353: Object literal may only specify known properties, and 'quotes_count' does not exist in type 'ApiDropPart'. From 44287196a4ff1fc17be38e8c6256269e44356623 Mon Sep 17 00:00:00 2001 From: Simo Date: Thu, 11 Dec 2025 13:20:57 +0100 Subject: [PATCH 2/4] wip Signed-off-by: Simo --- components/waves/CreateDropContent.tsx | 10 +- .../leaderboard/time/TimelineToggleHeader.tsx | 30 +- test_output.txt | 3034 ---------------- test_output_specific.txt | 3046 ----------------- type_check_current.txt | 886 ----- type_check_output.txt | 882 ----- type_check_output_revert.txt | 893 ----- typecheck_output.txt | 882 ----- 8 files changed, 19 insertions(+), 9644 deletions(-) delete mode 100644 test_output.txt delete mode 100644 test_output_specific.txt delete mode 100644 type_check_current.txt delete mode 100644 type_check_output.txt delete mode 100644 type_check_output_revert.txt delete mode 100644 typecheck_output.txt diff --git a/components/waves/CreateDropContent.tsx b/components/waves/CreateDropContent.tsx index f4a1cdfebd..f3143cb9ff 100644 --- a/components/waves/CreateDropContent.tsx +++ b/components/waves/CreateDropContent.tsx @@ -484,13 +484,13 @@ const CreateDropContent: React.FC = ({ return throttle(() => { send(WsMessageType.USER_IS_TYPING, { wave_id: wave.id }); }, 4000); - }, []); + }, [send, wave.id]); useEffect(() => { if (getMarkdown?.length) { throttleHandle(); } - }, [getMarkdown]); + }, [getMarkdown, throttleHandle]); const getCanSubmitStorm = () => { const markdown = getMarkdown; @@ -522,8 +522,8 @@ const CreateDropContent: React.FC = ({ ) ?? 0) >= 24000; const getCanAddPart = () => getHaveMarkdownOrFile() && !getIsDropLimit(); - const canSubmit = useMemo(() => getCanSubmit(), [getMarkdown, files, drop, hasMetadata]); - const canAddPart = useMemo(() => getCanAddPart(), [getMarkdown, files, drop]); + const canSubmit = getCanSubmit(); + const canAddPart = getCanAddPart(); const [referencedNfts, setReferencedNfts] = useState([]); @@ -980,7 +980,7 @@ const CreateDropContent: React.FC = ({ if (!drop.parts.length) { setIsStormMode(false); } - }, [drop?.parts]); + }, [drop, setIsStormMode]); const [isMetadataOpen, setIsMetadataOpen] = useState(false); diff --git a/components/waves/leaderboard/time/TimelineToggleHeader.tsx b/components/waves/leaderboard/time/TimelineToggleHeader.tsx index 59956113b3..ab4b1b08b3 100644 --- a/components/waves/leaderboard/time/TimelineToggleHeader.tsx +++ b/components/waves/leaderboard/time/TimelineToggleHeader.tsx @@ -34,26 +34,26 @@ export const TimelineToggleHeader: React.FC = ({ return ( - Congrats to all SZN 12 winners! + Congrats to last SZN winners! - SZN 13 starts:{" "} + Next SZN starts:{" "} {(() => { const mintingDate = wave && waveData ? waveData.pauses.calculateMintingDate(nextDecisionTime) : null; return mintingDate ? new Date(mintingDate).toLocaleDateString(undefined, { + month: "short", + day: "numeric", + }) + : new Date(currentPause.end_time).toLocaleDateString( + undefined, + { month: "short", day: "numeric", - }) - : new Date(currentPause.end_time).toLocaleDateString( - undefined, - { - month: "short", - day: "numeric", - } - ); + } + ); })()} @@ -85,9 +85,8 @@ export const TimelineToggleHeader: React.FC = ({
{/* Title */} + className={`tw-text-xs tw-font-semibold tw-whitespace-nowrap tw-flex-shrink-0 ${hasNextDecision ? "tw-text-iron-100" : "tw-text-iron-400" + }`}> {hasNextDecision ? "Decision Timeline" : "Announcement history"} @@ -100,9 +99,8 @@ export const TimelineToggleHeader: React.FC = ({ className="tw-w-6 tw-h-6 tw-flex tw-items-center tw-justify-center tw-bg-iron-700/50 tw-rounded-md tw-border tw-border-solid tw-border-iron-600/40 desktop-hover:hover:tw-bg-iron-600/60 desktop-hover:hover:tw-border-iron-500/50 tw-transition-all tw-duration-300 tw-ease-out tw-flex-shrink-0" aria-label={isOpen ? "Collapse" : "Expand"}>
- {/* Title */} + {hasNextDecision ? "Decision Timeline" : "Announcement history"} - {/* Status display - takes remaining space */} +
{getStatusDisplay()}
@@ -98,18 +100,11 @@ export const TimelineToggleHeader: React.FC = ({
From 16d59d7a4e8142daaae1ad4618ffe065a173038a Mon Sep 17 00:00:00 2001 From: Simo Date: Thu, 11 Dec 2025 13:53:02 +0100 Subject: [PATCH 4/4] wip Signed-off-by: Simo --- components/waves/CreateDropContent.tsx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/components/waves/CreateDropContent.tsx b/components/waves/CreateDropContent.tsx index 6c930c9bdd..f32c5d538c 100644 --- a/components/waves/CreateDropContent.tsx +++ b/components/waves/CreateDropContent.tsx @@ -7,7 +7,6 @@ import React, { memo, useContext, useEffect, - useEffectEvent, useMemo, useRef, useState, @@ -481,13 +480,13 @@ const CreateDropContent: React.FC = ({ [editorState] ); - const onType = useEffectEvent(() => { + const sendTyping = React.useCallback(() => { send(WsMessageType.USER_IS_TYPING, { wave_id: wave.id }); - }); + }, [send, wave.id]); const throttleHandle = useMemo(() => { - return throttle(onType, 4000); - }, []); + return throttle(sendTyping, 4000); + }, [sendTyping]); useEffect(() => { if (getMarkdown?.length) {