mirror of
https://github.com/privacy-scaling-explorations/pse.dev.git
synced 2026-01-09 22:28:03 -05:00
feat: fix eslint settings & linting (#310)
This commit is contained in:
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/eslintrc",
|
||||
"root": true,
|
||||
"extends": [
|
||||
"next/core-web-vitals",
|
||||
"prettier",
|
||||
"plugin:tailwindcss/recommended"
|
||||
],
|
||||
"plugins": ["tailwindcss"],
|
||||
"rules": {
|
||||
"@next/next/no-html-link-for-pages": "off",
|
||||
"react/jsx-key": "off",
|
||||
"tailwindcss/no-custom-classname": "off",
|
||||
"react/react-in-jsx-scope": "off",
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/ban-types": "off"
|
||||
},
|
||||
"settings": {
|
||||
"tailwindcss": {
|
||||
"callees": ["cn"],
|
||||
"config": "tailwind.config.js"
|
||||
},
|
||||
"next": {
|
||||
"rootDir": ["./"]
|
||||
}
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["*.ts", "*.tsx"],
|
||||
"parser": "@typescript-eslint/parser"
|
||||
}
|
||||
],
|
||||
"ignores": [
|
||||
"dist/*",
|
||||
".cache",
|
||||
"public",
|
||||
"node_modules",
|
||||
"*.esm.js",
|
||||
".next/*"
|
||||
]
|
||||
}
|
||||
@@ -85,7 +85,7 @@ export default function IndexPage({ params: { lang } }: any) {
|
||||
</div>
|
||||
}
|
||||
actions={
|
||||
<Link href={`/projects`} className="flex items-center gap-2 group">
|
||||
<Link href={'/projects'} className="flex items-center gap-2 group">
|
||||
<Button className="w-full sm:w-auto">
|
||||
<div className="flex items-center gap-1">
|
||||
<span className="text-base font-medium uppercase">
|
||||
|
||||
@@ -122,7 +122,7 @@ export const ProgramPageContent = ({ lang }: any) => {
|
||||
|
||||
useEffect(() => {
|
||||
if (sectionsRef.current === null)
|
||||
sectionsRef.current = document.querySelectorAll(`div[data-section]`)
|
||||
sectionsRef.current = document.querySelectorAll('div[data-section]')
|
||||
if (!activeId) setActiveId(ProgramSections?.[0] ?? '')
|
||||
|
||||
const handleScroll = () => {
|
||||
|
||||
@@ -101,7 +101,7 @@ const ResourceNav = ({ lang }: LangProps['params']) => {
|
||||
|
||||
useEffect(() => {
|
||||
if (sectionsRef.current === null)
|
||||
sectionsRef.current = document.querySelectorAll(`div[data-section]`)
|
||||
sectionsRef.current = document.querySelectorAll('div[data-section]')
|
||||
if (!activeId) setActiveId('get-involved')
|
||||
|
||||
const handleScroll = () => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import NextLink from "next/link"
|
||||
import NextLink from 'next/link'
|
||||
|
||||
interface Props {
|
||||
path: string[]
|
||||
@@ -17,8 +17,8 @@ const Breadcrumbs = ({ path }: Props) => {
|
||||
)
|
||||
}
|
||||
return (
|
||||
<NextLink key={index} href={`/${item}`} className={`capitalize`}>
|
||||
{item === "projects" ? "All Projects" : item}
|
||||
<NextLink key={index} href={`/${item}`} className={'capitalize'}>
|
||||
{item === 'projects' ? 'All Projects' : item}
|
||||
<span className="mx-2">/</span>
|
||||
</NextLink>
|
||||
)
|
||||
|
||||
@@ -128,7 +128,7 @@ export default function ProjectFiltersBar({ lang }: LangProps['params']) {
|
||||
projects,
|
||||
})
|
||||
setSearchQuery('') // clear input
|
||||
router.push(`/projects`)
|
||||
router.push('/projects')
|
||||
}
|
||||
|
||||
useDebounce(
|
||||
|
||||
@@ -62,7 +62,7 @@ export const ProjectList = ({ lang }: LangProps['params']) => {
|
||||
useEffect(() => {
|
||||
setIsMounted(true)
|
||||
if (typeof window !== 'undefined') {
|
||||
sectionsRef.current = document.querySelectorAll(`div[data-section]`)
|
||||
sectionsRef.current = document.querySelectorAll('div[data-section]')
|
||||
|
||||
const handleScroll = () => {
|
||||
if (isManualScroll) return
|
||||
|
||||
@@ -103,7 +103,8 @@ export const events = [
|
||||
],
|
||||
event: {
|
||||
title: 'Introduction to Cryptography, New and Old',
|
||||
description: `Data can be useful, and also dangerous. This talk will raise questions and concerns that data enthusiasts might want to consider.`,
|
||||
description:
|
||||
'Data can be useful, and also dangerous. This talk will raise questions and concerns that data enthusiasts might want to consider.',
|
||||
url: 'https://app.devcon.org/schedule/R3JC8U',
|
||||
date: 'Tuesday, Nov 12',
|
||||
time: '4:30 PM - 4:55 PM',
|
||||
|
||||
@@ -112,5 +112,5 @@ export const projects: ProjectInterface[] = [
|
||||
postQuantumCryptography,
|
||||
machinaIo,
|
||||
plasmaFold,
|
||||
vOPRF
|
||||
vOPRF,
|
||||
]
|
||||
|
||||
@@ -3,46 +3,47 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "A mechanism for anonymous proof of Ethereum address ownership.",
|
||||
description: `AnonKlub is a tool designed for Ethereum developers that allows for anonymous proof of Ethereum address ownership. It doesn't directly address the public observability of Ethereum transactions but provides a workaround for privacy. Users can prepare a list of Ethereum addresses, sign a message from an address they own, and use that signature to generate a zero-knowledge proof. This proof enables users to perform actions anonymously that would typically require ownership of an address from the initial list. Use cases include anonymous NFT minting and Discord verification for DAOs without disclosing the public address.`,
|
||||
tldr: 'A mechanism for anonymous proof of Ethereum address ownership.',
|
||||
description:
|
||||
"AnonKlub is a tool designed for Ethereum developers that allows for anonymous proof of Ethereum address ownership. It doesn't directly address the public observability of Ethereum transactions but provides a workaround for privacy. Users can prepare a list of Ethereum addresses, sign a message from an address they own, and use that signature to generate a zero-knowledge proof. This proof enables users to perform actions anonymously that would typically require ownership of an address from the initial list. Use cases include anonymous NFT minting and Discord verification for DAOs without disclosing the public address.",
|
||||
},
|
||||
}
|
||||
|
||||
export const anonKlub: ProjectInterface = {
|
||||
id: "anon-klub",
|
||||
id: 'anon-klub',
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "archived",
|
||||
section: 'archived',
|
||||
content,
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
image: "anonklub.svg",
|
||||
name: "AnonKlub",
|
||||
image: 'anonklub.svg',
|
||||
name: 'AnonKlub',
|
||||
links: {
|
||||
github: "https://github.com/anonklub",
|
||||
website: "https://anonklub.github.io",
|
||||
github: 'https://github.com/anonklub',
|
||||
website: 'https://anonklub.github.io',
|
||||
},
|
||||
extraLinks: {
|
||||
learn: [
|
||||
{
|
||||
label:
|
||||
"Sunsetting Blog Post: Reflections on Our Journey in Privacy-Preserving Solutions",
|
||||
url: "https://mirror.xyz/privacy-scaling-explorations.eth/7VTKFVR4PM75WtNnBzuQSBZW-UYoJOsnzBBQmB9MWbY",
|
||||
'Sunsetting Blog Post: Reflections on Our Journey in Privacy-Preserving Solutions',
|
||||
url: 'https://mirror.xyz/privacy-scaling-explorations.eth/7VTKFVR4PM75WtNnBzuQSBZW-UYoJOsnzBBQmB9MWbY',
|
||||
},
|
||||
],
|
||||
},
|
||||
tags: {
|
||||
keywords: [
|
||||
"Transaction privacy",
|
||||
"Anonymity/privacy",
|
||||
"Social",
|
||||
"Identity",
|
||||
"Voting/governance",
|
||||
'Transaction privacy',
|
||||
'Anonymity/privacy',
|
||||
'Social',
|
||||
'Identity',
|
||||
'Voting/governance',
|
||||
],
|
||||
themes: ["build", "play"],
|
||||
types: ["Infrastructure/protocol", "Prototype", "Proof of concept"],
|
||||
builtWith: ["circom", "snarkjs", "halo2"],
|
||||
themes: ['build', 'play'],
|
||||
types: ['Infrastructure/protocol', 'Prototype', 'Proof of concept'],
|
||||
builtWith: ['circom', 'snarkjs', 'halo2'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,32 +3,33 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Content discovery through community contributions, using state channels to reward users for popular posts.",
|
||||
description: `Channel 4 is a community-driven platform where users can submit and discover content. It uses state channels to incentivize user engagement. When a user likes the content you've submitted, a state channel closes and rewards are dropped into their wallet. This approach combines entertainment with the power of state channels, enabling community members to earn while they engage.`,
|
||||
tldr: 'Content discovery through community contributions, using state channels to reward users for popular posts.',
|
||||
description:
|
||||
"Channel 4 is a community-driven platform where users can submit and discover content. It uses state channels to incentivize user engagement. When a user likes the content you've submitted, a state channel closes and rewards are dropped into their wallet. This approach combines entertainment with the power of state channels, enabling community members to earn while they engage.",
|
||||
},
|
||||
}
|
||||
|
||||
export const channel4: ProjectInterface = {
|
||||
id: "channel-4",
|
||||
id: 'channel-4',
|
||||
content,
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "archived",
|
||||
section: 'archived',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
image: "channel4.svg",
|
||||
name: "Channel 4",
|
||||
image: 'channel4.svg',
|
||||
name: 'Channel 4',
|
||||
links: {
|
||||
github: "https://github.com/State-Channel-4",
|
||||
website: "https://channel4.wtf/",
|
||||
discord: "https://discord.gg/76UrYgVyEx",
|
||||
github: 'https://github.com/State-Channel-4',
|
||||
website: 'https://channel4.wtf/',
|
||||
discord: 'https://discord.gg/76UrYgVyEx',
|
||||
},
|
||||
tags: {
|
||||
keywords: ["Scaling"],
|
||||
themes: ["play"],
|
||||
types: ["Application"],
|
||||
builtWith: ["state channel", "smart contract"],
|
||||
keywords: ['Scaling'],
|
||||
themes: ['play'],
|
||||
types: ['Application'],
|
||||
builtWith: ['state channel', 'smart contract'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,38 +3,39 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "A modern ZKP language and compiler for plonkish and AIR arithmetizations",
|
||||
description: `Chiquito is a high-level structured language for implementing zero knowledge proof circuits, currently being implemented in the DSL Working Group of PSE. It is a state machine zk-language that provides better syntax and abstraction. It can automatically compiler arbitrary boolean expressions for state machine transitions. It can optimise the resulting arithmetization. Chiquito has a Halo2 backend, which is a low level zkDSL that writes circuits using the PLONKish arithmetization and is working on supporting additional backends. Chiquito circuits can be written using both Python and Rust. `,
|
||||
tldr: 'A modern ZKP language and compiler for plonkish and AIR arithmetizations',
|
||||
description:
|
||||
'Chiquito is a high-level structured language for implementing zero knowledge proof circuits, currently being implemented in the DSL Working Group of PSE. It is a state machine zk-language that provides better syntax and abstraction. It can automatically compiler arbitrary boolean expressions for state machine transitions. It can optimise the resulting arithmetization. Chiquito has a Halo2 backend, which is a low level zkDSL that writes circuits using the PLONKish arithmetization and is working on supporting additional backends. Chiquito circuits can be written using both Python and Rust. ',
|
||||
},
|
||||
}
|
||||
|
||||
export const chiquito: ProjectInterface = {
|
||||
id: "chiquito",
|
||||
id: 'chiquito',
|
||||
category: ProjectCategory.DEVTOOLS,
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
section: "pse",
|
||||
section: 'pse',
|
||||
content,
|
||||
image: "",
|
||||
name: "chiquito",
|
||||
image: '',
|
||||
name: 'chiquito',
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/chiquito",
|
||||
website: "https://docs.pecadorplonkish.xyz/",
|
||||
twitter: "",
|
||||
github: 'https://github.com/privacy-scaling-explorations/chiquito',
|
||||
website: 'https://docs.pecadorplonkish.xyz/',
|
||||
twitter: '',
|
||||
},
|
||||
tags: {
|
||||
themes: ["build"],
|
||||
themes: ['build'],
|
||||
types: [
|
||||
"Legos/dev tools",
|
||||
"Lego sets/toolkits",
|
||||
"Proof of concept",
|
||||
"language",
|
||||
"dsl",
|
||||
'Legos/dev tools',
|
||||
'Lego sets/toolkits',
|
||||
'Proof of concept',
|
||||
'language',
|
||||
'dsl',
|
||||
],
|
||||
keywords: ["DSL", "language", "rust", "python", "halo2"],
|
||||
builtWith: ["halo2", "rust"],
|
||||
keywords: ['DSL', 'language', 'rust', 'python', 'halo2'],
|
||||
builtWith: ['halo2', 'rust'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,45 +3,46 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Integrating Nova into the EVM involves wrapping Liam Eagen's theoretical ECIP argument in Halo 2",
|
||||
description: `With Coco, groups can collaborate to curate feeds of any topic they're interested in. As you scroll through your Coco feed, rather than upvoting or downvoting posts, you'll spend WETH to predict what other group members and the group's moderators will want to see. When you're right, you'll get back your original WETH and more — but if you're wrong, you'll lose what you put in. Through this process, you help Coco filter value from noise to make sure group feeds only consist of posts that the group cares about.With Coco, groups can collaborate to curate feeds of any topic they're interested in. As you scroll through your Coco feed, rather than upvoting or downvoting posts, you'll spend WETH to predict what other group members and the group's moderators will want to see. When you're right, you'll get back your original WETH and more — but if you're wrong, you'll lose what you put in. Through this process, you help Coco filter value from noise to make sure group feeds only consist of posts that the group cares about.`,
|
||||
description:
|
||||
"With Coco, groups can collaborate to curate feeds of any topic they're interested in. As you scroll through your Coco feed, rather than upvoting or downvoting posts, you'll spend WETH to predict what other group members and the group's moderators will want to see. When you're right, you'll get back your original WETH and more — but if you're wrong, you'll lose what you put in. Through this process, you help Coco filter value from noise to make sure group feeds only consist of posts that the group cares about.With Coco, groups can collaborate to curate feeds of any topic they're interested in. As you scroll through your Coco feed, rather than upvoting or downvoting posts, you'll spend WETH to predict what other group members and the group's moderators will want to see. When you're right, you'll get back your original WETH and more — but if you're wrong, you'll lose what you put in. Through this process, you help Coco filter value from noise to make sure group feeds only consist of posts that the group cares about.",
|
||||
},
|
||||
}
|
||||
|
||||
export const Coco: ProjectInterface = {
|
||||
id: "coco",
|
||||
image: "coco.svg",
|
||||
id: 'coco',
|
||||
image: 'coco.svg',
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "archived",
|
||||
name: "COCO",
|
||||
section: 'archived',
|
||||
name: 'COCO',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
content,
|
||||
tags: {
|
||||
keywords: ["prediction market", "scaling"],
|
||||
keywords: ['prediction market', 'scaling'],
|
||||
},
|
||||
extraLinks: {
|
||||
learn: [
|
||||
{
|
||||
label: "Meet COCO!",
|
||||
url: "https://mirror.xyz/privacy-scaling-explorations.eth/tEf7iYa8l7ECZwN2T57yyiws7h9Uchip30CQvx-JBBQ",
|
||||
label: 'Meet COCO!',
|
||||
url: 'https://mirror.xyz/privacy-scaling-explorations.eth/tEf7iYa8l7ECZwN2T57yyiws7h9Uchip30CQvx-JBBQ',
|
||||
},
|
||||
],
|
||||
buildWith: [
|
||||
{
|
||||
label: "Smart contracts",
|
||||
url: "https://github.com/Janmajayamall/coco-contracts",
|
||||
label: 'Smart contracts',
|
||||
url: 'https://github.com/Janmajayamall/coco-contracts',
|
||||
},
|
||||
{
|
||||
label: "Frontend",
|
||||
url: "https://github.com/Janmajayamall/coco-frontend",
|
||||
label: 'Frontend',
|
||||
url: 'https://github.com/Janmajayamall/coco-frontend',
|
||||
},
|
||||
{
|
||||
label: "Frontend (General)",
|
||||
url: "https://github.com/Janmajayamall/coco-frontend-general",
|
||||
label: 'Frontend (General)',
|
||||
url: 'https://github.com/Janmajayamall/coco-frontend-general',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -3,30 +3,31 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "A browser extension for secure, portable anonymous identity management across applications.",
|
||||
description: `CryptKeeper is a browser extension that generates Semaphore and RLN proofs for websites, providing a secure and portable solution for managing anonymous identity secrets across different applications. It simplifies the integration of zero-knowledge (ZK) identities and proofs into applications, allowing developers to focus on building the front-end and logic of their applications. By handling complex aspects of cryptography, circuits, caching, and storage, CryptKeeper enables users to interact with decentralized applications (dapps) without revealing their private identity secrets. It is aimed at building secure community standards for the growing ZK ecosystem.`,
|
||||
tldr: 'A browser extension for secure, portable anonymous identity management across applications.',
|
||||
description:
|
||||
'CryptKeeper is a browser extension that generates Semaphore and RLN proofs for websites, providing a secure and portable solution for managing anonymous identity secrets across different applications. It simplifies the integration of zero-knowledge (ZK) identities and proofs into applications, allowing developers to focus on building the front-end and logic of their applications. By handling complex aspects of cryptography, circuits, caching, and storage, CryptKeeper enables users to interact with decentralized applications (dapps) without revealing their private identity secrets. It is aimed at building secure community standards for the growing ZK ecosystem.',
|
||||
},
|
||||
}
|
||||
|
||||
export const cryptkeeper: ProjectInterface = {
|
||||
id: "cryptkeeper",
|
||||
id: 'cryptkeeper',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "archived",
|
||||
section: 'archived',
|
||||
content,
|
||||
image: "cryptkeeper.webp",
|
||||
name: "CryptKeeper",
|
||||
image: 'cryptkeeper.webp',
|
||||
name: 'CryptKeeper',
|
||||
links: {
|
||||
github: "https://github.com/CryptKeeperZK",
|
||||
github: 'https://github.com/CryptKeeperZK',
|
||||
},
|
||||
tags: {
|
||||
keywords: ["Anonymity/privacy", "Social", "Identity"],
|
||||
themes: ["build"],
|
||||
types: ["Application", "Infrastructure/protocol", "Lego sets/toolkits"],
|
||||
builtWith: ["semaphore", "rln"],
|
||||
keywords: ['Anonymity/privacy', 'Social', 'Identity'],
|
||||
themes: ['build'],
|
||||
types: ['Application', 'Infrastructure/protocol', 'Lego sets/toolkits'],
|
||||
builtWith: ['semaphore', 'rln'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,28 +1,34 @@
|
||||
import { ProjectCategory, ProjectContent, ProjectInterface, ProjectStatus } from "@/lib/types"
|
||||
import {
|
||||
ProjectCategory,
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "An anonymous, federated, chat application using ZK.",
|
||||
description: `An anonymous, federated, chat application that uses Rate-Limiting Nullifier for spam prevention.`,
|
||||
tldr: 'An anonymous, federated, chat application using ZK.',
|
||||
description:
|
||||
'An anonymous, federated, chat application that uses Rate-Limiting Nullifier for spam prevention.',
|
||||
},
|
||||
}
|
||||
|
||||
export const discreetly: ProjectInterface = {
|
||||
id: "discreetly",
|
||||
id: 'discreetly',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "pse",
|
||||
section: 'pse',
|
||||
content,
|
||||
image: "discreetly.svg",
|
||||
name: "Discreetly",
|
||||
image: 'discreetly.svg',
|
||||
name: 'Discreetly',
|
||||
links: {
|
||||
github: "https://github.com/Discreetly",
|
||||
website: "https://app.discreetly.chat/",
|
||||
github: 'https://github.com/Discreetly',
|
||||
website: 'https://app.discreetly.chat/',
|
||||
},
|
||||
tags: {
|
||||
keywords: ["Anonymity/privacy", "Social"],
|
||||
themes: ["play"],
|
||||
types: ["Legos/dev tools", "Proof of concept", "Application"],
|
||||
builtWith: ["rln", "semaphore"],
|
||||
keywords: ['Anonymity/privacy', 'Social'],
|
||||
themes: ['play'],
|
||||
types: ['Legos/dev tools', 'Proof of concept', 'Application'],
|
||||
builtWith: ['rln', 'semaphore'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,31 +3,32 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Exploration of languages for writing zk circuits",
|
||||
description: `The DSL Working Group is focused on the exploration and improvement of languages used to write zero-knowledge circuits. The group's primary goal is to enhance the state of zk circuit languages, making them easier to write and review by offering the right abstractions. They also aim to make it harder to write unsound circuits by implementing static analysis and enforcing safer patterns. Additionally, they are working to support next-generation (Incrementally Verifiable Computation or IVC) proving systems. The group is currently working on Chiquito, a high-level Domain-Specific Language (DSL) for Halo2 circuits that lowers the entry barrier to write zk circuits with a state-machine abstraction API.`,
|
||||
tldr: 'Exploration of languages for writing zk circuits',
|
||||
description:
|
||||
"The DSL Working Group is focused on the exploration and improvement of languages used to write zero-knowledge circuits. The group's primary goal is to enhance the state of zk circuit languages, making them easier to write and review by offering the right abstractions. They also aim to make it harder to write unsound circuits by implementing static analysis and enforcing safer patterns. Additionally, they are working to support next-generation (Incrementally Verifiable Computation or IVC) proving systems. The group is currently working on Chiquito, a high-level Domain-Specific Language (DSL) for Halo2 circuits that lowers the entry barrier to write zk circuits with a state-machine abstraction API.",
|
||||
},
|
||||
}
|
||||
|
||||
export const dslWorkingGroup: ProjectInterface = {
|
||||
id: "dsl-working-group",
|
||||
id: 'dsl-working-group',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.RESEARCH,
|
||||
section: "pse",
|
||||
section: 'pse',
|
||||
content,
|
||||
image: "",
|
||||
imageAlt: "DSL Working Group",
|
||||
name: "DSL Working Group",
|
||||
image: '',
|
||||
imageAlt: 'DSL Working Group',
|
||||
name: 'DSL Working Group',
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/chiquito/",
|
||||
github: 'https://github.com/privacy-scaling-explorations/chiquito/',
|
||||
},
|
||||
tags: {
|
||||
types: ["Legos/dev tools", "Proof of concept", "Developer tooling"],
|
||||
types: ['Legos/dev tools', 'Proof of concept', 'Developer tooling'],
|
||||
keywords: [],
|
||||
themes: ["research"],
|
||||
themes: ['research'],
|
||||
builtWith: [],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,37 +3,38 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Integrating Nova into the EVM involves wrapping Liam Eagen's theoretical ECIP argument in Halo 2",
|
||||
description: `Liam Eagen has developed a ZK proof for Elliptic Curve Inner Products (ECIPs) to overcome a significant bottle neck in recursive proof composition over elliptic curve cycles. The process of integrating Nova into the EVM requires an efficient method or "argument" for handling large elliptic Multi-Scalar Multiplications (MSMs). The final step in this integration process involves wrapping this argument Halo 2.`,
|
||||
description:
|
||||
'Liam Eagen has developed a ZK proof for Elliptic Curve Inner Products (ECIPs) to overcome a significant bottle neck in recursive proof composition over elliptic curve cycles. The process of integrating Nova into the EVM requires an efficient method or "argument" for handling large elliptic Multi-Scalar Multiplications (MSMs). The final step in this integration process involves wrapping this argument Halo 2.',
|
||||
},
|
||||
}
|
||||
|
||||
export const ECIPHalo2: ProjectInterface = {
|
||||
id: "ecip-halo2",
|
||||
image: "",
|
||||
id: 'ecip-halo2',
|
||||
image: '',
|
||||
category: ProjectCategory.DEVTOOLS,
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
section: "pse",
|
||||
section: 'pse',
|
||||
content,
|
||||
imageAlt: "ECIP + Halo 2",
|
||||
name: "ECIP (Elliptic Curve Inner Products) Halo 2 Implementation",
|
||||
imageAlt: 'ECIP + Halo 2',
|
||||
name: 'ECIP (Elliptic Curve Inner Products) Halo 2 Implementation',
|
||||
links: {
|
||||
github: "https://github.com/levs57/sage-circuits/",
|
||||
github: 'https://github.com/levs57/sage-circuits/',
|
||||
},
|
||||
extraLinks: {
|
||||
learn: [
|
||||
{
|
||||
label: "Designing a plonk circuit for Liam Eagen's protocol",
|
||||
url: "https://hackmd.io/@levs57/r1n77YvP3",
|
||||
url: 'https://hackmd.io/@levs57/r1n77YvP3',
|
||||
},
|
||||
{
|
||||
label:
|
||||
"ZKPs of Elliptic Curve Inner Products from Principal Divisors and Weil Reciprocity",
|
||||
url: "https://eprint.iacr.org/2022/596",
|
||||
'ZKPs of Elliptic Curve Inner Products from Principal Divisors and Weil Reciprocity',
|
||||
url: 'https://eprint.iacr.org/2022/596',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -1,27 +1,33 @@
|
||||
import { ProjectCategory, ProjectContent, ProjectInterface, ProjectStatus } from "@/lib/types"
|
||||
import {
|
||||
ProjectCategory,
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "A distributed reputation system with zero-knowledge features.",
|
||||
description: `EigenTrust is a library designed to manage trust within a distributed network, incorporating zero-knowledge features. It serves as a reputation bank for the Ethereum ecosystem, providing an interoperable layer for managing reputation and trust. The protocol creates zero-knowledge proofs of reputation scores based on ratings given by network participants. This allows for the creation of a reputation system for peer-to-peer marketplaces and exchanges, reputation-weighted voting, and community gatekeeping.`,
|
||||
tldr: 'A distributed reputation system with zero-knowledge features.',
|
||||
description:
|
||||
'EigenTrust is a library designed to manage trust within a distributed network, incorporating zero-knowledge features. It serves as a reputation bank for the Ethereum ecosystem, providing an interoperable layer for managing reputation and trust. The protocol creates zero-knowledge proofs of reputation scores based on ratings given by network participants. This allows for the creation of a reputation system for peer-to-peer marketplaces and exchanges, reputation-weighted voting, and community gatekeeping.',
|
||||
},
|
||||
}
|
||||
|
||||
export const eigenTrust: ProjectInterface = {
|
||||
id: "eigen-trust",
|
||||
id: 'eigen-trust',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.RESEARCH,
|
||||
section: "archived",
|
||||
section: 'archived',
|
||||
content,
|
||||
image: "",
|
||||
name: "EigenTrust",
|
||||
image: '',
|
||||
name: 'EigenTrust',
|
||||
links: {
|
||||
github: "https://github.com/eigen-trust/protocol",
|
||||
github: 'https://github.com/eigen-trust/protocol',
|
||||
},
|
||||
tags: {
|
||||
keywords: ["Reputation", "Identity"],
|
||||
themes: ["build"],
|
||||
types: ["Infrastructure/protocol"],
|
||||
builtWith: ["ethereum attestation service", "halo2", "ethers.rs"],
|
||||
keywords: ['Reputation', 'Identity'],
|
||||
themes: ['build'],
|
||||
types: ['Infrastructure/protocol'],
|
||||
builtWith: ['ethereum attestation service', 'halo2', 'ethers.rs'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,36 +3,37 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "An identity bridge from web2 to web3",
|
||||
description: `Interep aims to provide an identity solution for Ethereum users by bridging from an established digital identity source such as Reddit, Twitter, and Github. The product provides an identity layer in the application stack and uses the Semaphore framework to ensure privacy. Interep allows users to establish sybil-resistant decentralized identities on web3 without starting from scratch. By leveraging zero-knowledge proofs, Interep ensures only essential information is disclosed.`,
|
||||
tldr: 'An identity bridge from web2 to web3',
|
||||
description:
|
||||
'Interep aims to provide an identity solution for Ethereum users by bridging from an established digital identity source such as Reddit, Twitter, and Github. The product provides an identity layer in the application stack and uses the Semaphore framework to ensure privacy. Interep allows users to establish sybil-resistant decentralized identities on web3 without starting from scratch. By leveraging zero-knowledge proofs, Interep ensures only essential information is disclosed.',
|
||||
},
|
||||
}
|
||||
|
||||
export const Interep: ProjectInterface = {
|
||||
id: "interep",
|
||||
image: "interep.svg",
|
||||
name: "Interep",
|
||||
id: 'interep',
|
||||
image: 'interep.svg',
|
||||
name: 'Interep',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.DEVTOOLS,
|
||||
section: "archived",
|
||||
section: 'archived',
|
||||
content,
|
||||
tags: {
|
||||
keywords: ["social", "reputation"],
|
||||
keywords: ['social', 'reputation'],
|
||||
},
|
||||
links: {
|
||||
website: "https://docs.interep.link/",
|
||||
github: "https://github.com/interep-project",
|
||||
youtube: "https://www.youtube.com/watch?v=dYKgHkb_aqk",
|
||||
website: 'https://docs.interep.link/',
|
||||
github: 'https://github.com/interep-project',
|
||||
youtube: 'https://www.youtube.com/watch?v=dYKgHkb_aqk',
|
||||
},
|
||||
extraLinks: {
|
||||
learn: [
|
||||
{
|
||||
label: "Interep: An on-ramp for reputation",
|
||||
url: "https://mirror.xyz/privacy-scaling-explorations.eth/w7zCHj0xoxIfhoJIxI-ZeYIXwvNatP1t4w0TsqSIBe4",
|
||||
label: 'Interep: An on-ramp for reputation',
|
||||
url: 'https://mirror.xyz/privacy-scaling-explorations.eth/w7zCHj0xoxIfhoJIxI-ZeYIXwvNatP1t4w0TsqSIBe4',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -3,37 +3,38 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "OpenPassport lets you check a passport is valid in zero-knowledge",
|
||||
description: `OpenPassport is developing tools to let users generate proofs of humanity, nationality and age using their government-issued passport. It unlocks uses cases in proof of unique identity, sybil resistance and selective disclosure of private data.`,
|
||||
tldr: 'OpenPassport lets you check a passport is valid in zero-knowledge',
|
||||
description:
|
||||
'OpenPassport is developing tools to let users generate proofs of humanity, nationality and age using their government-issued passport. It unlocks uses cases in proof of unique identity, sybil resistance and selective disclosure of private data.',
|
||||
},
|
||||
}
|
||||
|
||||
export const OpenPassport: ProjectInterface = {
|
||||
id: "openpassport",
|
||||
id: 'openpassport',
|
||||
category: ProjectCategory.APPLICATION,
|
||||
projectStatus: ProjectStatus.ACTIVE,
|
||||
section: "grant",
|
||||
section: 'grant',
|
||||
content,
|
||||
image: "openpassport.jpg",
|
||||
name: "OpenPassport",
|
||||
image: 'openpassport.jpg',
|
||||
name: 'OpenPassport',
|
||||
links: {
|
||||
github: "https://github.com/zk-passport/openpassport",
|
||||
website: "https://openpassport.app",
|
||||
twitter: "https://x.com/openpassportapp",
|
||||
telegram: "https://t.me/openpassport",
|
||||
github: 'https://github.com/zk-passport/openpassport',
|
||||
website: 'https://openpassport.app',
|
||||
twitter: 'https://x.com/openpassportapp',
|
||||
telegram: 'https://t.me/openpassport',
|
||||
},
|
||||
tags: {
|
||||
keywords: [
|
||||
"Passports",
|
||||
"Identity",
|
||||
"Anonymity/privacy",
|
||||
"Signatures",
|
||||
"Social",
|
||||
'Passports',
|
||||
'Identity',
|
||||
'Anonymity/privacy',
|
||||
'Signatures',
|
||||
'Social',
|
||||
],
|
||||
builtWith: ["circom", "snarkjs"],
|
||||
builtWith: ['circom', 'snarkjs'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@ import {
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: 'Smart contract wallet enabling transactions through familiar flows like touchID, faceID, WebAuth, and Passkeys.',
|
||||
description: `P256 is an ERC-4337 smart contract wallet that leverages zk-SNARKs for WebAuthn and P-256 signature verification. It aims to simplify Ethereum transactions by incorporating familiar authentication methods like touchID and faceID. The project addresses the challenges of seed phrase management and leverages the biometric capabilities of billions of cellphones to create a more user-friendly crypto experience. Technically, it is an end-to-end ERC-4337 smart contract wallet that verifies ZK proofs of Passkey signatures using the Halo2 proving system.`,
|
||||
description:
|
||||
'P256 is an ERC-4337 smart contract wallet that leverages zk-SNARKs for WebAuthn and P-256 signature verification. It aims to simplify Ethereum transactions by incorporating familiar authentication methods like touchID and faceID. The project addresses the challenges of seed phrase management and leverages the biometric capabilities of billions of cellphones to create a more user-friendly crypto experience. Technically, it is an end-to-end ERC-4337 smart contract wallet that verifies ZK proofs of Passkey signatures using the Halo2 proving system.',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -3,36 +3,37 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Proactively securing Ethereum's L2 and ZK ecosystems.",
|
||||
description: `PSE Security is a division of the Privacy & Scaling Explorations team at the Ethereum Foundation. Its primary goal is to identify and rectify bugs, thereby enhancing the security of the Ethereum Layer 2 and Zero-Knowledge ecosystems. Recognizing the potential for critical bugs to cause significant setbacks, PSE Security is committed to preemptively addressing these issues. The team offers open-source projects like the ZK Bug Tracker and Bridge Bug Tracker, which track real bugs and exploits in production code, and encourages community contributions. PSE Security also conducts manual audits and plans to help teach the community more about security and ways they can prevent bugs themselves.`,
|
||||
description:
|
||||
'PSE Security is a division of the Privacy & Scaling Explorations team at the Ethereum Foundation. Its primary goal is to identify and rectify bugs, thereby enhancing the security of the Ethereum Layer 2 and Zero-Knowledge ecosystems. Recognizing the potential for critical bugs to cause significant setbacks, PSE Security is committed to preemptively addressing these issues. The team offers open-source projects like the ZK Bug Tracker and Bridge Bug Tracker, which track real bugs and exploits in production code, and encourages community contributions. PSE Security also conducts manual audits and plans to help teach the community more about security and ways they can prevent bugs themselves.',
|
||||
},
|
||||
}
|
||||
|
||||
export const pseSecurity: ProjectInterface = {
|
||||
id: "pse-security",
|
||||
id: 'pse-security',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.RESEARCH,
|
||||
section: "pse",
|
||||
section: 'pse',
|
||||
content,
|
||||
image: "pse-security.png",
|
||||
name: "PSE Security",
|
||||
image: 'pse-security.png',
|
||||
name: 'PSE Security',
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/security",
|
||||
github: 'https://github.com/privacy-scaling-explorations/security',
|
||||
},
|
||||
tags: {
|
||||
keywords: [
|
||||
"Anonymity/privacy",
|
||||
"Education",
|
||||
"Key management",
|
||||
"Scaling",
|
||||
"Security",
|
||||
'Anonymity/privacy',
|
||||
'Education',
|
||||
'Key management',
|
||||
'Scaling',
|
||||
'Security',
|
||||
],
|
||||
themes: ["build"],
|
||||
types: ["Legos/dev tools"],
|
||||
builtWith: ["slither", "ecne", "circomspect", "echidna"],
|
||||
themes: ['build'],
|
||||
types: ['Legos/dev tools'],
|
||||
builtWith: ['slither', 'ecne', 'circomspect', 'echidna'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,37 +3,38 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Protocol enabling centralized exchanges to prove solvency without compromising private information.",
|
||||
description: `Summa allows centralized exchanges to demonstrate that their assets exceed their liabilities without revealing critical business information such as individual user balances, total number of users, and total liabilities or assets. It uses zero-knowledge proofs to ensure that exchanges can demonstrate they have sufficient assets to cover all user balances. The protocol involves building a Merkle Sum Tree of user balances, generating proofs for each user, and allowing users to verify these proofs.`,
|
||||
tldr: 'Protocol enabling centralized exchanges to prove solvency without compromising private information.',
|
||||
description:
|
||||
'Summa allows centralized exchanges to demonstrate that their assets exceed their liabilities without revealing critical business information such as individual user balances, total number of users, and total liabilities or assets. It uses zero-knowledge proofs to ensure that exchanges can demonstrate they have sufficient assets to cover all user balances. The protocol involves building a Merkle Sum Tree of user balances, generating proofs for each user, and allowing users to verify these proofs.',
|
||||
},
|
||||
}
|
||||
|
||||
export const summa: ProjectInterface = {
|
||||
id: "summa",
|
||||
id: 'summa',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.DEVTOOLS,
|
||||
section: "pse",
|
||||
section: 'pse',
|
||||
content,
|
||||
image: "summa.svg",
|
||||
name: "Summa",
|
||||
image: 'summa.svg',
|
||||
name: 'Summa',
|
||||
links: {
|
||||
github: "https://github.com/summa-dev",
|
||||
github: 'https://github.com/summa-dev',
|
||||
},
|
||||
tags: {
|
||||
keywords: ["Anonymity/privacy", "Computational Integrity"],
|
||||
themes: ["build", "play"],
|
||||
types: ["Infrastructure/protocol", "Application"],
|
||||
builtWith: ["halo2"],
|
||||
keywords: ['Anonymity/privacy', 'Computational Integrity'],
|
||||
themes: ['build', 'play'],
|
||||
types: ['Infrastructure/protocol', 'Application'],
|
||||
builtWith: ['halo2'],
|
||||
},
|
||||
extraLinks: {
|
||||
learn: [
|
||||
{
|
||||
label: "Documentation",
|
||||
url: "https://summa.gitbook.io/summa",
|
||||
label: 'Documentation',
|
||||
url: 'https://summa.gitbook.io/summa',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -3,32 +3,33 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "From Individual Actions to Collective Impact, Every Voice Makes a Difference",
|
||||
description: `VoiceDeck isn't just a platform; it's a movement. By enabling citizens to fund journalism that makes a real difference, we're crafting a narrative where every contribution paints a stroke on the canvas of our collective future. Join us to foster a legacy where journalism is powered by the very communities it serves.`,
|
||||
tldr: 'From Individual Actions to Collective Impact, Every Voice Makes a Difference',
|
||||
description:
|
||||
"VoiceDeck isn't just a platform; it's a movement. By enabling citizens to fund journalism that makes a real difference, we're crafting a narrative where every contribution paints a stroke on the canvas of our collective future. Join us to foster a legacy where journalism is powered by the very communities it serves.",
|
||||
},
|
||||
}
|
||||
|
||||
export const voicedeck: ProjectInterface = {
|
||||
id: "voice-deck",
|
||||
id: 'voice-deck',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "collaboration",
|
||||
section: 'collaboration',
|
||||
content,
|
||||
image: "voiceDeck.svg",
|
||||
name: "VoiceDeck",
|
||||
image: 'voiceDeck.svg',
|
||||
name: 'VoiceDeck',
|
||||
links: {
|
||||
github: "https://github.com/VoiceDeck",
|
||||
website: "https://voicedeck.org/",
|
||||
twitter: "https://twitter.com/VoiceDeckDAO",
|
||||
github: 'https://github.com/VoiceDeck',
|
||||
website: 'https://voicedeck.org/',
|
||||
twitter: 'https://twitter.com/VoiceDeckDAO',
|
||||
},
|
||||
tags: {
|
||||
keywords: ["Public goods"],
|
||||
themes: ["play"],
|
||||
types: ["Application"],
|
||||
builtWith: ["anonAadhaar", "Hypercerts"],
|
||||
keywords: ['Public goods'],
|
||||
themes: ['play'],
|
||||
types: ['Application'],
|
||||
builtWith: ['anonAadhaar', 'Hypercerts'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,32 +3,33 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "ZK Email is a library that allows for anonymous verification of email signatures while masking specific data.",
|
||||
description: `ZK Email is a library for anonymous verification of emails while selectively revealing specific data. It allows a prover to demonstrate receipt of an email from a specific sender or domain or the presence of certain text in the subject or body. This can be used for Web 2.0 interoperability, email recovery solutions of smart accounts, anonymous KYC, or to create interesting applications based on anonymity sets.`,
|
||||
tldr: 'ZK Email is a library that allows for anonymous verification of email signatures while masking specific data.',
|
||||
description:
|
||||
'ZK Email is a library for anonymous verification of emails while selectively revealing specific data. It allows a prover to demonstrate receipt of an email from a specific sender or domain or the presence of certain text in the subject or body. This can be used for Web 2.0 interoperability, email recovery solutions of smart accounts, anonymous KYC, or to create interesting applications based on anonymity sets.',
|
||||
},
|
||||
}
|
||||
|
||||
export const zkemail: ProjectInterface = {
|
||||
id: "zk-email",
|
||||
id: 'zk-email',
|
||||
category: ProjectCategory.APPLICATION,
|
||||
projectStatus: ProjectStatus.ACTIVE,
|
||||
section: "collaboration",
|
||||
section: 'collaboration',
|
||||
content,
|
||||
image: "zk-email.jpeg",
|
||||
name: "zk-email",
|
||||
image: 'zk-email.jpeg',
|
||||
name: 'zk-email',
|
||||
links: {
|
||||
github: "https://github.com/zkemail",
|
||||
twitter: "https://twitter.com/zkemail",
|
||||
website: "https://www.prove.email",
|
||||
github: 'https://github.com/zkemail',
|
||||
twitter: 'https://twitter.com/zkemail',
|
||||
website: 'https://www.prove.email',
|
||||
},
|
||||
tags: {
|
||||
themes: [],
|
||||
types: [],
|
||||
keywords: ["email", "identity", "anonymity/privacy", "DKIM", "signatures"],
|
||||
builtWith: ["circom", "snarkjs", "halo2"],
|
||||
keywords: ['email', 'identity', 'anonymity/privacy', 'DKIM', 'signatures'],
|
||||
builtWith: ['circom', 'snarkjs', 'halo2'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,27 +3,28 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Fostering SSI with zero-knowledge and privacy-driven solutions.",
|
||||
description: `ZK-ID is a dedicated team committed to advancing self-sovereign identity (SSI) technologies and driving privacy-focused solutions in the digital identity space, utilizing the PSE team's expertise in zero-knowledge technologies`,
|
||||
tldr: 'Fostering SSI with zero-knowledge and privacy-driven solutions.',
|
||||
description:
|
||||
"ZK-ID is a dedicated team committed to advancing self-sovereign identity (SSI) technologies and driving privacy-focused solutions in the digital identity space, utilizing the PSE team's expertise in zero-knowledge technologies",
|
||||
},
|
||||
}
|
||||
|
||||
export const zkID: ProjectInterface = {
|
||||
id: "zk-id",
|
||||
id: 'zk-id',
|
||||
projectStatus: ProjectStatus.ACTIVE,
|
||||
category: ProjectCategory.RESEARCH,
|
||||
section: "pse",
|
||||
section: 'pse',
|
||||
content,
|
||||
image: "",
|
||||
imageAlt: "ZK Identity Explorations",
|
||||
name: "ZK-ID",
|
||||
image: '',
|
||||
imageAlt: 'ZK Identity Explorations',
|
||||
name: 'ZK-ID',
|
||||
tags: {
|
||||
keywords: ["Identity", "Credentials", "Standards", "SSI"],
|
||||
themes: ["research"],
|
||||
types: ["Legos/dev tools", "Lego sets/toolkits"],
|
||||
keywords: ['Identity', 'Credentials', 'Standards', 'SSI'],
|
||||
themes: ['research'],
|
||||
types: ['Legos/dev tools', 'Lego sets/toolkits'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,30 +3,31 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "A zero-knowledge proof mechanism for Ethereum block verification.",
|
||||
description: `zkEVM Community Edition is a project aimed at validating Ethereum blocks using zero-knowledge proofs. It is designed to be fully compatible with Ethereum's EVM and serves two primary goals. First, it enables the creation of a layer 2 network (zkRollup) compatible with the Ethereum ecosystem, which uses zero-knowledge proofs to validate blocks, thus enhancing scalability. Second, it allows the generation of zero-knowledge proofs for blocks from the existing layer 1 Ethereum network, enabling light clients to quickly synchronize many blocks with low resource consumption while ensuring block correctness without needing trust in external parties.`,
|
||||
tldr: 'A zero-knowledge proof mechanism for Ethereum block verification.',
|
||||
description:
|
||||
"zkEVM Community Edition is a project aimed at validating Ethereum blocks using zero-knowledge proofs. It is designed to be fully compatible with Ethereum's EVM and serves two primary goals. First, it enables the creation of a layer 2 network (zkRollup) compatible with the Ethereum ecosystem, which uses zero-knowledge proofs to validate blocks, thus enhancing scalability. Second, it allows the generation of zero-knowledge proofs for blocks from the existing layer 1 Ethereum network, enabling light clients to quickly synchronize many blocks with low resource consumption while ensuring block correctness without needing trust in external parties.",
|
||||
},
|
||||
}
|
||||
|
||||
export const zkevmCommunity: ProjectInterface = {
|
||||
id: "zkevm-community",
|
||||
id: 'zkevm-community',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.DEVTOOLS,
|
||||
section: "pse",
|
||||
section: 'pse',
|
||||
content,
|
||||
image: "zkevm.jpg",
|
||||
name: "zkEVM Community Edition",
|
||||
image: 'zkevm.jpg',
|
||||
name: 'zkEVM Community Edition',
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/zkevm-circuits",
|
||||
github: 'https://github.com/privacy-scaling-explorations/zkevm-circuits',
|
||||
},
|
||||
tags: {
|
||||
keywords: ["Scaling"],
|
||||
themes: ["build"],
|
||||
types: ["Infrastructure/protocol", "Lego sets/toolkits"],
|
||||
builtWith: ["halo2", "rust", "geth"],
|
||||
keywords: ['Scaling'],
|
||||
themes: ['build'],
|
||||
types: ['Infrastructure/protocol', 'Lego sets/toolkits'],
|
||||
builtWith: ['halo2', 'rust', 'geth'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@ import {
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: 'ZKML (Zero-Knowledge Machine Learning) leverages zero-knowledge proofs for privacy-preserving machine learning, enabling model and data privacy with transparent verification.',
|
||||
description: `ZKML is a solution that combines the power of zero-knowledge proofs (ZKPs) and machine learning to address the privacy concerns in traditional machine learning. It provides a platform for machine learning developers to convert their TensorFlow Keras models into ZK-compatible versions, ensuring model privacy, data privacy, and transparent verification. ZKML can be used to verify if a specific machine learning model was used to generate a particular piece of content, without revealing the input or the model used. It has potential use cases in on-chain biometric authentication, private data marketplace, proprietary ML model sharing, and AIGC NFTs.`,
|
||||
description:
|
||||
'ZKML is a solution that combines the power of zero-knowledge proofs (ZKPs) and machine learning to address the privacy concerns in traditional machine learning. It provides a platform for machine learning developers to convert their TensorFlow Keras models into ZK-compatible versions, ensuring model privacy, data privacy, and transparent verification. ZKML can be used to verify if a specific machine learning model was used to generate a particular piece of content, without revealing the input or the model used. It has potential use cases in on-chain biometric authentication, private data marketplace, proprietary ML model sharing, and AIGC NFTs.',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -3,41 +3,42 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Optimistic Rollup with zk-SNARKs for private Ethereum transactions.",
|
||||
description: `ZKOPRU is one of the initial projects of EF's PSE team. It is a Layer 2 scaling solution for Ethereum, emphasizing private transactions through zk-SNARKs and optimistic rollups. It provides an economical Ethereum privacy wallet, enabling users to transact with ETH, ERC-20s, and NFTs anonymously`,
|
||||
tldr: 'Optimistic Rollup with zk-SNARKs for private Ethereum transactions.',
|
||||
description:
|
||||
"ZKOPRU is one of the initial projects of EF's PSE team. It is a Layer 2 scaling solution for Ethereum, emphasizing private transactions through zk-SNARKs and optimistic rollups. It provides an economical Ethereum privacy wallet, enabling users to transact with ETH, ERC-20s, and NFTs anonymously",
|
||||
},
|
||||
}
|
||||
|
||||
export const Zkopru: ProjectInterface = {
|
||||
id: "zkopru",
|
||||
image: "zkopru.svg",
|
||||
name: "ZKOPRU",
|
||||
id: 'zkopru',
|
||||
image: 'zkopru.svg',
|
||||
name: 'ZKOPRU',
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.DEVTOOLS,
|
||||
section: "archived",
|
||||
section: 'archived',
|
||||
content,
|
||||
links: {
|
||||
website: "https://zkopru.network/",
|
||||
github: "https://github.com/zkopru-network",
|
||||
youtube: "https://www.youtube.com/watch?v=GvRsJxu9X6w",
|
||||
website: 'https://zkopru.network/',
|
||||
github: 'https://github.com/zkopru-network',
|
||||
youtube: 'https://www.youtube.com/watch?v=GvRsJxu9X6w',
|
||||
},
|
||||
extraLinks: {
|
||||
learn: [
|
||||
{
|
||||
label: "ZKOPRU: Wat, Y & Wen",
|
||||
url: "https://mirror.xyz/privacy-scaling-explorations.eth/kfuuBPtGtDjl_J2wBq-jrtyURGLmQpUhZfDTuZChEy8",
|
||||
label: 'ZKOPRU: Wat, Y & Wen',
|
||||
url: 'https://mirror.xyz/privacy-scaling-explorations.eth/kfuuBPtGtDjl_J2wBq-jrtyURGLmQpUhZfDTuZChEy8',
|
||||
},
|
||||
{
|
||||
label: "ZKOPRU on Testnet",
|
||||
url: "https://mirror.xyz/privacy-scaling-explorations.eth/EB0KcMY0k9ucN8iQSBeOYksoupDYRBQ4ZffhRt477FE",
|
||||
label: 'ZKOPRU on Testnet',
|
||||
url: 'https://mirror.xyz/privacy-scaling-explorations.eth/EB0KcMY0k9ucN8iQSBeOYksoupDYRBQ4ZffhRt477FE',
|
||||
},
|
||||
],
|
||||
},
|
||||
tags: {
|
||||
keywords: ["anonymity/privacy", "private transactions"],
|
||||
keywords: ['anonymity/privacy', 'private transactions'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,32 +3,33 @@ import {
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
} from '@/lib/types'
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Instant fiat to crypto onramp connecting traditional peer-to-peer payment services with zero-knowledge proofs.",
|
||||
description: `ZKP2P is for defi consumers looking to onramp assets on chain quickly without going through a CEX as an intermediary. ZKP2P generates a privacy-preserving proof of payment between two users on existing payment rails like Venmo or Paypal and uses said proof to unlock escrowed digital assets on-chain.`,
|
||||
tldr: 'Instant fiat to crypto onramp connecting traditional peer-to-peer payment services with zero-knowledge proofs.',
|
||||
description:
|
||||
'ZKP2P is for defi consumers looking to onramp assets on chain quickly without going through a CEX as an intermediary. ZKP2P generates a privacy-preserving proof of payment between two users on existing payment rails like Venmo or Paypal and uses said proof to unlock escrowed digital assets on-chain.',
|
||||
},
|
||||
}
|
||||
|
||||
export const zkp2p: ProjectInterface = {
|
||||
id: "zkp2p",
|
||||
id: 'zkp2p',
|
||||
projectStatus: ProjectStatus.ACTIVE,
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "grant",
|
||||
section: 'grant',
|
||||
content,
|
||||
image: "zkp2p.png",
|
||||
name: "ZKP2P",
|
||||
image: 'zkp2p.png',
|
||||
name: 'ZKP2P',
|
||||
links: {
|
||||
github: "https://github.com/zkp2p",
|
||||
website: "https://zkp2p.xyz/",
|
||||
twitter: "https://twitter.com/zkp2p",
|
||||
github: 'https://github.com/zkp2p',
|
||||
website: 'https://zkp2p.xyz/',
|
||||
twitter: 'https://twitter.com/zkp2p',
|
||||
},
|
||||
tags: {
|
||||
keywords: ["Private communications"],
|
||||
themes: ["play"],
|
||||
types: ["Proof of concept", "Application"],
|
||||
builtWith: ["circom", "halo2"],
|
||||
keywords: ['Private communications'],
|
||||
themes: ['play'],
|
||||
types: ['Proof of concept', 'Application'],
|
||||
builtWith: ['circom', 'halo2'],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,23 +1,56 @@
|
||||
import pluginJs from '@eslint/js'
|
||||
import pluginReact from 'eslint-plugin-react'
|
||||
import globals from 'globals'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import pluginJs from "@eslint/js"
|
||||
import pluginReact from "eslint-plugin-react"
|
||||
import tailwindcssPlugin from "eslint-plugin-tailwindcss"
|
||||
import globals from "globals"
|
||||
import tseslint from "typescript-eslint"
|
||||
import { nextEslintPlugin } from "./next.eslint.config.mjs"
|
||||
|
||||
/** @type {import('eslint').Linter.Config[]} */
|
||||
export default [
|
||||
{ files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] },
|
||||
{ files: ["**/*.{js,mjs,cjs,ts,jsx,tsx}"] },
|
||||
{ ignores: ["dist/*", ".cache", "public", "node_modules", "*.esm.js", ".next/*"] },
|
||||
{ languageOptions: { globals: globals.browser } },
|
||||
pluginJs.configs.recommended,
|
||||
...tseslint.configs.recommended,
|
||||
pluginReact.configs.flat.recommended,
|
||||
|
||||
// Overrides of recommended rules
|
||||
{
|
||||
plugins: {
|
||||
react: pluginReact,
|
||||
},
|
||||
settings: {
|
||||
react: {
|
||||
version: "detect",
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
...pluginReact.configs.flat.recommended.rules,
|
||||
"react/react-in-jsx-scope": "off",
|
||||
"react/jsx-key": "off",
|
||||
},
|
||||
},
|
||||
nextEslintPlugin,
|
||||
{
|
||||
plugins: {
|
||||
tailwindcss: tailwindcssPlugin,
|
||||
},
|
||||
settings: {
|
||||
tailwindcss: {
|
||||
callees: ["cn"],
|
||||
config: "tailwind.config.js"
|
||||
},
|
||||
next: {
|
||||
rootDir: ["./"]
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
"tailwindcss/no-custom-classname": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
rules: {
|
||||
'react/react-in-jsx-scope': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/ban-types': 'off',
|
||||
'@typescript-eslint/no-unused-vars': 'off',
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/ban-types": "off",
|
||||
"@typescript-eslint/no-unused-vars": "off",
|
||||
"quotes": ["error", "double"],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import nextMdx from "@next/mdx";
|
||||
import path from "path";
|
||||
import { fileURLToPath } from 'url';
|
||||
import { fileURLToPath } from "url";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
const withMDX = nextMdx({
|
||||
webpack: (config, { isServer }) => {
|
||||
if (isServer) {
|
||||
config.resolve.alias['zlib-sync'] = path.resolve(__dirname, 'lib/dummy-zlib-sync.js');
|
||||
config.resolve.alias["zlib-sync"] = path.resolve(__dirname, "lib/dummy-zlib-sync.js");
|
||||
config.externals.push("erlpack");
|
||||
} else {
|
||||
config.externals.push("discord.js", "@discordjs/rest");
|
||||
|
||||
19
next.eslint.config.mjs
Normal file
19
next.eslint.config.mjs
Normal file
@@ -0,0 +1,19 @@
|
||||
import { resolve } from "path"
|
||||
|
||||
export const nextEslintPlugin = {
|
||||
plugins: {
|
||||
"@next/next": {
|
||||
files: ["app/**/*", "components/**/*", "layouts/**/*"],
|
||||
settings: {
|
||||
next: {
|
||||
rootDir: resolve("./"),
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
"@next/next/no-html-link-for-pages": "off",
|
||||
"@next/next/no-img-element": "warn",
|
||||
"@next/next/no-sync-scripts": "error",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
11
package.json
11
package.json
@@ -9,8 +9,8 @@
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"lint:fix": "next lint --fix",
|
||||
"lint": "eslint .",
|
||||
"lint:fix": "eslint --fix .",
|
||||
"preview": "next build && next start",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"format:write": "prettier --write \"**/*.{ts,tsx,mdx}\" --cache",
|
||||
@@ -58,6 +58,7 @@
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.19.0",
|
||||
"@ianvs/prettier-plugin-sort-imports": "^3.7.2",
|
||||
"@next/eslint-plugin-next": "^15.2.2",
|
||||
"@types/node": "^17.0.45",
|
||||
"@types/react": "^18.2.7",
|
||||
"@types/react-dom": "^18.2.4",
|
||||
@@ -65,10 +66,10 @@
|
||||
"@typescript-eslint/parser": "^5.59.7",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"eslint": "^9.19.0",
|
||||
"eslint-config-next": "13.0.0",
|
||||
"eslint-config-next": "^15.2.2",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-plugin-react": "^7.37.4",
|
||||
"eslint-plugin-tailwindcss": "^3.12.0",
|
||||
"eslint-plugin-tailwindcss": "^3.18.0",
|
||||
"globals": "^15.14.0",
|
||||
"husky": "^9.1.7",
|
||||
"lint-staged": "^15.4.3",
|
||||
@@ -89,4 +90,4 @@
|
||||
},
|
||||
"packageManager": "yarn@4.7.0",
|
||||
"engineStrict": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,8 +93,8 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
borderRadius: {
|
||||
lg: `var(--radius)`,
|
||||
md: `calc(var(--radius) - 2px)`,
|
||||
lg: 'var(--radius)',
|
||||
md: 'calc(var(--radius) - 2px)',
|
||||
sm: 'calc(var(--radius) - 4px)',
|
||||
},
|
||||
fontFamily: {
|
||||
|
||||
281
yarn.lock
281
yarn.lock
@@ -740,12 +740,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/eslint-plugin-next@npm:13.0.0":
|
||||
version: 13.0.0
|
||||
resolution: "@next/eslint-plugin-next@npm:13.0.0"
|
||||
"@next/eslint-plugin-next@npm:15.2.2, @next/eslint-plugin-next@npm:^15.2.2":
|
||||
version: 15.2.2
|
||||
resolution: "@next/eslint-plugin-next@npm:15.2.2"
|
||||
dependencies:
|
||||
glob: "npm:7.1.7"
|
||||
checksum: 10/090435e8bb8019eee32f84e689646d1a36a7ce5efb6ca98691536a491ed4848a5bbbc23aee882978dfd05dda1ba73b330be6634b155510d1ef4a0d6e215a0c66
|
||||
fast-glob: "npm:3.3.1"
|
||||
checksum: 10/4d6bffbfab275cdf291b5eaa2b4b42591fc1568f35874aed409eb887b1291b75ebbc0fd7069e1035244e1a70ac75ebbe570ac6cdb46e8ce29c7ec7d55c616177
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -856,6 +856,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nolyfill/is-core-module@npm:1.0.39":
|
||||
version: 1.0.39
|
||||
resolution: "@nolyfill/is-core-module@npm:1.0.39"
|
||||
checksum: 10/0d6e098b871eca71d875651288e1f0fa770a63478b0b50479c99dc760c64175a56b5b04f58d5581bbcc6b552b8191ab415eada093d8df9597ab3423c8cac1815
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@npmcli/agent@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "@npmcli/agent@npm:3.0.0"
|
||||
@@ -1458,7 +1465,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rushstack/eslint-patch@npm:^1.1.3":
|
||||
"@rushstack/eslint-patch@npm:^1.10.3":
|
||||
version: 1.11.0
|
||||
resolution: "@rushstack/eslint-patch@npm:1.11.0"
|
||||
checksum: 10/9bb3eb4a48a9a55e31d302b8b99f405e0f3e436fc3cda8c869fdd3fefd3ac398f5a353cceaa6c8cc5e5baf03ccd88d7965fbd25eb111f1f334415f95fa0f996d
|
||||
@@ -1668,7 +1675,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/eslint-plugin@npm:8.26.1":
|
||||
"@typescript-eslint/eslint-plugin@npm:8.26.1, @typescript-eslint/eslint-plugin@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0":
|
||||
version: 8.26.1
|
||||
resolution: "@typescript-eslint/eslint-plugin@npm:8.26.1"
|
||||
dependencies:
|
||||
@@ -1689,7 +1696,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/parser@npm:8.26.1":
|
||||
"@typescript-eslint/parser@npm:8.26.1, @typescript-eslint/parser@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0":
|
||||
version: 8.26.1
|
||||
resolution: "@typescript-eslint/parser@npm:8.26.1"
|
||||
dependencies:
|
||||
@@ -1705,7 +1712,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/parser@npm:^5.21.0, @typescript-eslint/parser@npm:^5.59.7":
|
||||
"@typescript-eslint/parser@npm:^5.59.7":
|
||||
version: 5.62.0
|
||||
resolution: "@typescript-eslint/parser@npm:5.62.0"
|
||||
dependencies:
|
||||
@@ -2628,7 +2635,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"debug@npm:4, debug@npm:^4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0":
|
||||
"debug@npm:4, debug@npm:^4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:^4.4.0":
|
||||
version: 4.4.0
|
||||
resolution: "debug@npm:4.4.0"
|
||||
dependencies:
|
||||
@@ -2873,6 +2880,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"enhanced-resolve@npm:^5.15.0":
|
||||
version: 5.18.1
|
||||
resolution: "enhanced-resolve@npm:5.18.1"
|
||||
dependencies:
|
||||
graceful-fs: "npm:^4.2.4"
|
||||
tapable: "npm:^2.2.0"
|
||||
checksum: 10/50e81c7fe2239fba5670ebce78a34709906ed3a79274aa416434f7307b252e0b7824d76a7dd403eca795571dc6afd9a44183fc45a68475e8f2fdfbae6e92fcc3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"enquire.js@npm:^2.1.6":
|
||||
version: 2.1.6
|
||||
resolution: "enquire.js@npm:2.1.6"
|
||||
@@ -3076,26 +3093,27 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-config-next@npm:13.0.0":
|
||||
version: 13.0.0
|
||||
resolution: "eslint-config-next@npm:13.0.0"
|
||||
"eslint-config-next@npm:^15.2.2":
|
||||
version: 15.2.2
|
||||
resolution: "eslint-config-next@npm:15.2.2"
|
||||
dependencies:
|
||||
"@next/eslint-plugin-next": "npm:13.0.0"
|
||||
"@rushstack/eslint-patch": "npm:^1.1.3"
|
||||
"@typescript-eslint/parser": "npm:^5.21.0"
|
||||
"@next/eslint-plugin-next": "npm:15.2.2"
|
||||
"@rushstack/eslint-patch": "npm:^1.10.3"
|
||||
"@typescript-eslint/eslint-plugin": "npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0"
|
||||
"@typescript-eslint/parser": "npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0"
|
||||
eslint-import-resolver-node: "npm:^0.3.6"
|
||||
eslint-import-resolver-typescript: "npm:^2.7.1"
|
||||
eslint-plugin-import: "npm:^2.26.0"
|
||||
eslint-plugin-jsx-a11y: "npm:^6.5.1"
|
||||
eslint-plugin-react: "npm:^7.31.7"
|
||||
eslint-plugin-react-hooks: "npm:^4.5.0"
|
||||
eslint-import-resolver-typescript: "npm:^3.5.2"
|
||||
eslint-plugin-import: "npm:^2.31.0"
|
||||
eslint-plugin-jsx-a11y: "npm:^6.10.0"
|
||||
eslint-plugin-react: "npm:^7.37.0"
|
||||
eslint-plugin-react-hooks: "npm:^5.0.0"
|
||||
peerDependencies:
|
||||
eslint: ^7.23.0 || ^8.0.0
|
||||
eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
|
||||
typescript: ">=3.3.1"
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10/69f04df8d831aba78df30edec2ce7a7cc5779af89159bfdc42f015d2e038a26e8b2b6e8407873a3827098f5abd21b5657aace0ff014d345465ae98d133ddb285
|
||||
checksum: 10/3bfb85f1d6f5de36e5c9a892a401945e7f470627f040a080aaebc86eb79c14461080d75e5149c415b5eb38e039565a0664212ec6ba960c5183daa6b9b274795d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -3121,19 +3139,27 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-import-resolver-typescript@npm:^2.7.1":
|
||||
version: 2.7.1
|
||||
resolution: "eslint-import-resolver-typescript@npm:2.7.1"
|
||||
"eslint-import-resolver-typescript@npm:^3.5.2":
|
||||
version: 3.8.7
|
||||
resolution: "eslint-import-resolver-typescript@npm:3.8.7"
|
||||
dependencies:
|
||||
debug: "npm:^4.3.4"
|
||||
glob: "npm:^7.2.0"
|
||||
is-glob: "npm:^4.0.3"
|
||||
resolve: "npm:^1.22.0"
|
||||
tsconfig-paths: "npm:^3.14.1"
|
||||
"@nolyfill/is-core-module": "npm:1.0.39"
|
||||
debug: "npm:^4.3.7"
|
||||
enhanced-resolve: "npm:^5.15.0"
|
||||
get-tsconfig: "npm:^4.10.0"
|
||||
is-bun-module: "npm:^1.0.2"
|
||||
stable-hash: "npm:^0.0.4"
|
||||
tinyglobby: "npm:^0.2.12"
|
||||
peerDependencies:
|
||||
eslint: "*"
|
||||
eslint-plugin-import: "*"
|
||||
checksum: 10/4a688440395673492b2e28347ba2173542dcec0bc597065469191be213e30f65b316697a950abf492f4191365626fb13231080c6ca326044df087f57d163e6c6
|
||||
eslint-plugin-import-x: "*"
|
||||
peerDependenciesMeta:
|
||||
eslint-plugin-import:
|
||||
optional: true
|
||||
eslint-plugin-import-x:
|
||||
optional: true
|
||||
checksum: 10/e11a2ea4ffba11b33b6bd00146569c88bed0dbfb81f882d3c0f00aedbb7f2280caf4bbd38fb546583087560fadf80abd6e7928e14194c351416233c841f83d8d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -3149,7 +3175,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-import@npm:^2.26.0":
|
||||
"eslint-plugin-import@npm:^2.31.0":
|
||||
version: 2.31.0
|
||||
resolution: "eslint-plugin-import@npm:2.31.0"
|
||||
dependencies:
|
||||
@@ -3178,7 +3204,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-jsx-a11y@npm:^6.5.1":
|
||||
"eslint-plugin-jsx-a11y@npm:^6.10.0":
|
||||
version: 6.10.2
|
||||
resolution: "eslint-plugin-jsx-a11y@npm:6.10.2"
|
||||
dependencies:
|
||||
@@ -3203,16 +3229,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-react-hooks@npm:^4.5.0":
|
||||
version: 4.6.2
|
||||
resolution: "eslint-plugin-react-hooks@npm:4.6.2"
|
||||
"eslint-plugin-react-hooks@npm:^5.0.0":
|
||||
version: 5.2.0
|
||||
resolution: "eslint-plugin-react-hooks@npm:5.2.0"
|
||||
peerDependencies:
|
||||
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
|
||||
checksum: 10/5a0680941f34e70cf505bcb6082df31a3e445d193ee95a88ff3483041eb944f4cefdaf7e81b0eb1feb4eeceee8c7c6ddb8a2a6e8c4c0388514a42e16ac7b7a69
|
||||
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
|
||||
checksum: 10/ebb79e9cf69ae06e3a7876536653c5e556b5fd8cd9dc49577f10a6e728360e7b6f5ce91f4339b33e93b26e3bb23805418f8b5e75db80baddd617b1dffe73bed1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-react@npm:^7.31.7, eslint-plugin-react@npm:^7.37.4":
|
||||
"eslint-plugin-react@npm:^7.37.0, eslint-plugin-react@npm:^7.37.4":
|
||||
version: 7.37.4
|
||||
resolution: "eslint-plugin-react@npm:7.37.4"
|
||||
dependencies:
|
||||
@@ -3240,7 +3266,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-tailwindcss@npm:^3.12.0":
|
||||
"eslint-plugin-tailwindcss@npm:^3.18.0":
|
||||
version: 3.18.0
|
||||
resolution: "eslint-plugin-tailwindcss@npm:3.18.0"
|
||||
dependencies:
|
||||
@@ -3428,6 +3454,19 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-glob@npm:3.3.1":
|
||||
version: 3.3.1
|
||||
resolution: "fast-glob@npm:3.3.1"
|
||||
dependencies:
|
||||
"@nodelib/fs.stat": "npm:^2.0.2"
|
||||
"@nodelib/fs.walk": "npm:^1.2.3"
|
||||
glob-parent: "npm:^5.1.2"
|
||||
merge2: "npm:^1.3.0"
|
||||
micromatch: "npm:^4.0.4"
|
||||
checksum: 10/51bcd15472879dfe51d4b01c5b70bbc7652724d39cdd082ba11276dbd7d84db0f6b33757e1938af8b2768a4bf485d9be0c89153beae24ee8331d6dcc7550379f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-glob@npm:^3.2.5, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2":
|
||||
version: 3.3.3
|
||||
resolution: "fast-glob@npm:3.3.3"
|
||||
@@ -3478,6 +3517,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fdir@npm:^6.4.3":
|
||||
version: 6.4.3
|
||||
resolution: "fdir@npm:6.4.3"
|
||||
peerDependencies:
|
||||
picomatch: ^3 || ^4
|
||||
peerDependenciesMeta:
|
||||
picomatch:
|
||||
optional: true
|
||||
checksum: 10/8e6d20f4590dc168de1374a9cadaa37e20ca6e0b822aa247c230e7ea1d9e9674a68cd816146435e4ecc98f9285091462ab7e5e56eebc9510931a1794e4db68b2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"file-entry-cache@npm:^8.0.0":
|
||||
version: 8.0.0
|
||||
resolution: "file-entry-cache@npm:8.0.0"
|
||||
@@ -3590,13 +3641,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fs.realpath@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "fs.realpath@npm:1.0.0"
|
||||
checksum: 10/e703107c28e362d8d7b910bbcbfd371e640a3bb45ae157a362b5952c0030c0b6d4981140ec319b347bce7adc025dd7813da1ff908a945ac214d64f5402a51b96
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fsevents@npm:~2.3.2":
|
||||
version: 2.3.3
|
||||
resolution: "fsevents@npm:2.3.3"
|
||||
@@ -3718,6 +3762,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"get-tsconfig@npm:^4.10.0":
|
||||
version: 4.10.0
|
||||
resolution: "get-tsconfig@npm:4.10.0"
|
||||
dependencies:
|
||||
resolve-pkg-maps: "npm:^1.0.0"
|
||||
checksum: 10/5259b5c99a1957114337d9d0603b4a305ec9e29fa6cac7d2fbf634ba6754a0cc88bfd281a02416ce64e604b637d3cb239185381a79a5842b17fb55c097b38c4b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2":
|
||||
version: 5.1.2
|
||||
resolution: "glob-parent@npm:5.1.2"
|
||||
@@ -3736,20 +3789,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob@npm:7.1.7":
|
||||
version: 7.1.7
|
||||
resolution: "glob@npm:7.1.7"
|
||||
dependencies:
|
||||
fs.realpath: "npm:^1.0.0"
|
||||
inflight: "npm:^1.0.4"
|
||||
inherits: "npm:2"
|
||||
minimatch: "npm:^3.0.4"
|
||||
once: "npm:^1.3.0"
|
||||
path-is-absolute: "npm:^1.0.0"
|
||||
checksum: 10/ff5aab0386e9cace92b0550d42085b71013c5ea382982dd7fdded998a559635f61413b8ba6fb7294eef289c83b52f4e64136f888300ac8afc4f3e5623182d6c8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7":
|
||||
version: 10.4.5
|
||||
resolution: "glob@npm:10.4.5"
|
||||
@@ -3766,20 +3805,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob@npm:^7.2.0":
|
||||
version: 7.2.3
|
||||
resolution: "glob@npm:7.2.3"
|
||||
dependencies:
|
||||
fs.realpath: "npm:^1.0.0"
|
||||
inflight: "npm:^1.0.4"
|
||||
inherits: "npm:2"
|
||||
minimatch: "npm:^3.1.1"
|
||||
once: "npm:^1.3.0"
|
||||
path-is-absolute: "npm:^1.0.0"
|
||||
checksum: 10/59452a9202c81d4508a43b8af7082ca5c76452b9fcc4a9ab17655822e6ce9b21d4f8fbadabe4fe3faef448294cec249af305e2cd824b7e9aaf689240e5e96a7b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"globals@npm:^11.1.0":
|
||||
version: 11.12.0
|
||||
resolution: "globals@npm:11.12.0"
|
||||
@@ -3832,7 +3857,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.6":
|
||||
"graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6":
|
||||
version: 4.2.11
|
||||
resolution: "graceful-fs@npm:4.2.11"
|
||||
checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2
|
||||
@@ -4091,23 +4116,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"inflight@npm:^1.0.4":
|
||||
version: 1.0.6
|
||||
resolution: "inflight@npm:1.0.6"
|
||||
dependencies:
|
||||
once: "npm:^1.3.0"
|
||||
wrappy: "npm:1"
|
||||
checksum: 10/d2ebd65441a38c8336c223d1b80b921b9fa737e37ea466fd7e253cb000c64ae1f17fa59e68130ef5bda92cfd8d36b83d37dab0eb0a4558bcfec8e8cdfd2dcb67
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"inherits@npm:2":
|
||||
version: 2.0.4
|
||||
resolution: "inherits@npm:2.0.4"
|
||||
checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"inline-style-parser@npm:0.1.1":
|
||||
version: 0.1.1
|
||||
resolution: "inline-style-parser@npm:0.1.1"
|
||||
@@ -4211,6 +4219,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-bun-module@npm:^1.0.2":
|
||||
version: 1.3.0
|
||||
resolution: "is-bun-module@npm:1.3.0"
|
||||
dependencies:
|
||||
semver: "npm:^7.6.3"
|
||||
checksum: 10/b23d9ec7b4d4bfd89e4e72b5cd52e1bc153facad59fdd7394c656f8859a78740ef35996a2066240a32f39cc9a9da4b4eb69e68df3c71755a61ebbaf56d3daef0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-callable@npm:^1.2.7":
|
||||
version: 1.2.7
|
||||
resolution: "is-callable@npm:1.2.7"
|
||||
@@ -5355,7 +5372,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"micromatch@npm:^4.0.8":
|
||||
"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8":
|
||||
version: 4.0.8
|
||||
resolution: "micromatch@npm:4.0.8"
|
||||
dependencies:
|
||||
@@ -5379,7 +5396,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
|
||||
"minimatch@npm:^3.1.2":
|
||||
version: 3.1.2
|
||||
resolution: "minimatch@npm:3.1.2"
|
||||
dependencies:
|
||||
@@ -5564,6 +5581,7 @@ __metadata:
|
||||
"@discordjs/rest": "npm:2.0.0"
|
||||
"@eslint/js": "npm:^9.19.0"
|
||||
"@ianvs/prettier-plugin-sort-imports": "npm:^3.7.2"
|
||||
"@next/eslint-plugin-next": "npm:^15.2.2"
|
||||
"@next/mdx": "npm:^13.5.0"
|
||||
"@radix-ui/react-accordion": "npm:^1.1.2"
|
||||
"@radix-ui/react-checkbox": "npm:^1.0.4"
|
||||
@@ -5582,10 +5600,10 @@ __metadata:
|
||||
discord.js: "npm:14.4.0"
|
||||
dotenv: "npm:^16.4.4"
|
||||
eslint: "npm:^9.19.0"
|
||||
eslint-config-next: "npm:13.0.0"
|
||||
eslint-config-next: "npm:^15.2.2"
|
||||
eslint-config-prettier: "npm:^8.8.0"
|
||||
eslint-plugin-react: "npm:^7.37.4"
|
||||
eslint-plugin-tailwindcss: "npm:^3.12.0"
|
||||
eslint-plugin-tailwindcss: "npm:^3.18.0"
|
||||
framer-motion: "npm:^10.12.17"
|
||||
fuse.js: "npm:^6.6.2"
|
||||
globals: "npm:^15.14.0"
|
||||
@@ -5847,15 +5865,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"once@npm:^1.3.0":
|
||||
version: 1.4.0
|
||||
resolution: "once@npm:1.4.0"
|
||||
dependencies:
|
||||
wrappy: "npm:1"
|
||||
checksum: 10/cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"onetime@npm:^6.0.0":
|
||||
version: 6.0.0
|
||||
resolution: "onetime@npm:6.0.0"
|
||||
@@ -5947,13 +5956,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-is-absolute@npm:^1.0.0":
|
||||
version: 1.0.1
|
||||
resolution: "path-is-absolute@npm:1.0.1"
|
||||
checksum: 10/060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-key@npm:^3.1.0":
|
||||
version: 3.1.1
|
||||
resolution: "path-key@npm:3.1.1"
|
||||
@@ -6013,6 +6015,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"picomatch@npm:^4.0.2":
|
||||
version: 4.0.2
|
||||
resolution: "picomatch@npm:4.0.2"
|
||||
checksum: 10/ce617b8da36797d09c0baacb96ca8a44460452c89362d7cb8f70ca46b4158ba8bc3606912de7c818eb4a939f7f9015cef3c766ec8a0c6bfc725fdc078e39c717
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pidtree@npm:^0.6.0":
|
||||
version: 0.6.0
|
||||
resolution: "pidtree@npm:0.6.0"
|
||||
@@ -6534,7 +6543,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve@npm:^1.1.7, resolve@npm:^1.22.0, resolve@npm:^1.22.4, resolve@npm:^1.22.8":
|
||||
"resolve-pkg-maps@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "resolve-pkg-maps@npm:1.0.0"
|
||||
checksum: 10/0763150adf303040c304009231314d1e84c6e5ebfa2d82b7d94e96a6e82bacd1dcc0b58ae257315f3c8adb89a91d8d0f12928241cba2df1680fbe6f60bf99b0e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve@npm:^1.1.7, resolve@npm:^1.22.4, resolve@npm:^1.22.8":
|
||||
version: 1.22.10
|
||||
resolution: "resolve@npm:1.22.10"
|
||||
dependencies:
|
||||
@@ -6560,7 +6576,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>":
|
||||
"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>":
|
||||
version: 1.22.10
|
||||
resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin<compat/resolve>::version=1.22.10&hash=c3c19d"
|
||||
dependencies:
|
||||
@@ -7054,6 +7070,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"stable-hash@npm:^0.0.4":
|
||||
version: 0.0.4
|
||||
resolution: "stable-hash@npm:0.0.4"
|
||||
checksum: 10/21c039d21c1cb739cf8342561753a5e007cb95ea682ccd452e76310bbb9c6987a89de8eda023e320b019f3e4691aabda75079cdbb7dadf7ab9013e931f2f23cd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"stack-generator@npm:^2.0.5":
|
||||
version: 2.0.10
|
||||
resolution: "stack-generator@npm:2.0.10"
|
||||
@@ -7407,6 +7430,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tapable@npm:^2.2.0":
|
||||
version: 2.2.1
|
||||
resolution: "tapable@npm:2.2.1"
|
||||
checksum: 10/1769336dd21481ae6347611ca5fca47add0962fd8e80466515032125eca0084a4f0ede11e65341b9c0018ef4e1cf1ad820adbb0fba7cc99865c6005734000b0a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tar@npm:^7.4.3":
|
||||
version: 7.4.3
|
||||
resolution: "tar@npm:7.4.3"
|
||||
@@ -7446,6 +7476,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tinyglobby@npm:^0.2.12":
|
||||
version: 0.2.12
|
||||
resolution: "tinyglobby@npm:0.2.12"
|
||||
dependencies:
|
||||
fdir: "npm:^6.4.3"
|
||||
picomatch: "npm:^4.0.2"
|
||||
checksum: 10/4ad28701fa9118b32ef0e27f409e0a6c5741e8b02286d50425c1f6f71e6d6c6ded9dd5bbbbb714784b08623c4ec4d150151f1d3d996cfabe0495f908ab4f7002
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"to-regex-range@npm:^5.0.1":
|
||||
version: 5.0.1
|
||||
resolution: "to-regex-range@npm:5.0.1"
|
||||
@@ -7525,7 +7565,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tsconfig-paths@npm:^3.14.1, tsconfig-paths@npm:^3.15.0":
|
||||
"tsconfig-paths@npm:^3.15.0":
|
||||
version: 3.15.0
|
||||
resolution: "tsconfig-paths@npm:3.15.0"
|
||||
dependencies:
|
||||
@@ -8027,13 +8067,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"wrappy@npm:1":
|
||||
version: 1.0.2
|
||||
resolution: "wrappy@npm:1.0.2"
|
||||
checksum: 10/159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ws@npm:^8.8.1":
|
||||
version: 8.18.1
|
||||
resolution: "ws@npm:8.18.1"
|
||||
|
||||
Reference in New Issue
Block a user