mirror of
https://github.com/privacy-scaling-explorations/pse.dev.git
synced 2026-01-10 22:58:06 -05:00
Fixed homepage whatwedo for mobile and modified projects file
This commit is contained in:
26
app/page.tsx
26
app/page.tsx
@@ -170,28 +170,24 @@ border-x border-b border-black px-[32px] py-5 md:flex-row md:gap-0 lg:px-20"
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-32 bg-radial-gradient px-[32px] py-24 lg:px-20">
|
||||
<div className="flex flex-col gap-10 text-center lg:flex-row">
|
||||
<div className="flex w-full items-start justify-start lg:w-[500px] lg:justify-center">
|
||||
<h1 className="text-xl font-[700] uppercase text-orange">
|
||||
Who We Are
|
||||
</h1>
|
||||
</div>
|
||||
<div className="flex w-full text-start lg:w-[600px]">
|
||||
<section className="badge-start-trigger relative grid w-full grid-cols-1 gap-10 overflow-hidden lg:grid-cols-3 lg:gap-0">
|
||||
<h2 className="flex w-full justify-start text-xl uppercase text-orange lg:justify-center">
|
||||
Who we are
|
||||
</h2>
|
||||
<div className="col-span-0 flex flex-col lg:col-span-1">
|
||||
<h1 className="text-3xl font-[700] text-black">
|
||||
PSE is a research lab building free tools that expand the world of
|
||||
cryptography.
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<WhatWeDo />
|
||||
|
||||
<div className="flex flex-col gap-10 text-center lg:flex-row">
|
||||
<div className="flex w-full items-start justify-start lg:w-[500px] lg:justify-center">
|
||||
<h1 className="text-xl font-[700] uppercase text-orange">
|
||||
How To Plug In
|
||||
</h1>
|
||||
</div>
|
||||
<section className="badge-start-trigger relative grid w-full grid-cols-1 gap-10 overflow-hidden lg:grid-cols-3 lg:gap-0">
|
||||
<h2 className="flex w-full justify-start text-xl uppercase text-orange lg:justify-center">
|
||||
How To Plug In
|
||||
</h2>
|
||||
<div className="flex w-full flex-col gap-10 text-start lg:w-[420px]">
|
||||
<h1 className="text-lg text-black">
|
||||
PSE is a growing team of developers, researchers, designers,
|
||||
@@ -217,7 +213,7 @@ border-x border-b border-black px-[32px] py-5 md:flex-row md:gap-0 lg:px-20"
|
||||
/>
|
||||
</NextLink>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client"
|
||||
|
||||
import NextImage from "next/image"
|
||||
import NextLink from "next/link"
|
||||
import { useRouter } from "next/navigation"
|
||||
import GithubVector from "@/public/github-vector.svg"
|
||||
import GlobalVector from "@/public/globe-vector.svg"
|
||||
@@ -38,31 +39,50 @@ export default function ProjectsPage() {
|
||||
<h1>Showing 24 projects</h1>
|
||||
<div className="grid grid-cols-1 gap-5 md:grid-cols-2 lg:grid-cols-4">
|
||||
{projects.map((item, index) => {
|
||||
const githubLink = item.links.find((links) => links?.github)?.github
|
||||
const websiteLink = item.links.find(
|
||||
(links) => links?.website
|
||||
)?.website
|
||||
return (
|
||||
<div
|
||||
key={index}
|
||||
onClick={() => router.push(`/projects/${item.id}`)}
|
||||
className="flex w-full cursor-pointer flex-col"
|
||||
className="flex h-[420px] w-full cursor-pointer flex-col"
|
||||
>
|
||||
<div className="h-[163px] w-full rounded-t-lg bg-[#A3DFF0]" />
|
||||
<div className="flex flex-col gap-5 rounded-b-lg border-x border-b border-[#ccc] p-5">
|
||||
<div className="flex h-full flex-col justify-between gap-5 rounded-b-lg border-x border-b border-[#ccc] p-5">
|
||||
<h1 className="text-2xl font-bold text-black">{item.name}</h1>
|
||||
<p className="text-base text-black">{item.description}</p>
|
||||
<div className="flex items-center justify-start gap-2">
|
||||
<NextImage
|
||||
src={GithubVector}
|
||||
alt="githubVector"
|
||||
className="cursor-pointer"
|
||||
width={16}
|
||||
height={16}
|
||||
/>
|
||||
<NextImage
|
||||
src={GlobalVector}
|
||||
className="cursor-pointer"
|
||||
alt="globalVector"
|
||||
width={16}
|
||||
height={16}
|
||||
/>
|
||||
<p className="text-base text-black">{item.tldr}</p>
|
||||
<div
|
||||
className="mr-auto flex items-center justify-start gap-2"
|
||||
onClick={(e) => e.stopPropagation()}
|
||||
>
|
||||
<NextLink
|
||||
href={`${githubLink ? githubLink : ""}`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={GithubVector}
|
||||
alt="githubVector"
|
||||
className="cursor-pointer"
|
||||
width={16}
|
||||
height={16}
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href={`${websiteLink ? websiteLink : ""}`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={GlobalVector}
|
||||
className="cursor-pointer"
|
||||
alt="globalVector"
|
||||
width={16}
|
||||
height={16}
|
||||
/>
|
||||
</NextLink>
|
||||
</div>
|
||||
<p className="text-xs text-black">updated 2 weeks ago</p>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
"use client"
|
||||
|
||||
import { useEffect } from "react"
|
||||
import NextImage from "next/image"
|
||||
import PSELogoCircle from "@/public/pse-logo-circle.svg"
|
||||
import { gsap } from "gsap"
|
||||
import { ScrollTrigger } from "gsap/ScrollTrigger"
|
||||
|
||||
@@ -49,20 +51,35 @@ const WhatWeDo = () => {
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<section className="badge-start-trigger relative grid w-full grid-cols-3 overflow-hidden">
|
||||
<h2 className="pt-6 text-center text-xl uppercase text-orange">
|
||||
<section className="badge-start-trigger relative grid w-full grid-cols-1 gap-10 overflow-hidden md:grid-cols-2 lg:grid-cols-3 lg:gap-0">
|
||||
<h2 className="hidden w-full justify-start text-xl uppercase text-orange lg:flex lg:justify-center">
|
||||
What we do
|
||||
</h2>
|
||||
<div className="flex flex-col gap-6 pt-6">
|
||||
{content.map((item, index) => (
|
||||
<article className={cn("pb-24", item.className)} key={index}>
|
||||
<h3 className="text-3xl">{item.title}</h3>
|
||||
<div className="p-2"></div>
|
||||
<p className="text-lg">{item.description}</p>
|
||||
</article>
|
||||
))}
|
||||
<div className="flex flex-col gap-10">
|
||||
<h2 className="flex w-full justify-start text-xl uppercase text-orange lg:hidden lg:justify-center">
|
||||
What we do
|
||||
</h2>
|
||||
|
||||
<div className="flex flex-col gap-6">
|
||||
<div className="mb-10 flex w-full items-start justify-center md:hidden lg:hidden">
|
||||
<NextImage
|
||||
src={PSELogoCircle}
|
||||
alt="pselogocircle"
|
||||
style={{ objectFit: "contain" }}
|
||||
width={252}
|
||||
height={252}
|
||||
/>
|
||||
</div>
|
||||
{content.map((item, index) => (
|
||||
<article className={cn("pb-24", item.className)} key={index}>
|
||||
<h3 className="text-3xl">{item.title}</h3>
|
||||
<div className="p-2"></div>
|
||||
<p className="text-lg">{item.description}</p>
|
||||
</article>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="mx-auto">
|
||||
<div className="mx-auto hidden md:flex">
|
||||
<svg
|
||||
width="213"
|
||||
height="213"
|
||||
|
||||
@@ -1,104 +1,475 @@
|
||||
export const projects = [
|
||||
{
|
||||
id: 1,
|
||||
name: "Semaphore 1",
|
||||
name: "Rate-Limiting Nullifier",
|
||||
tldr: "A protocol for deterring spam and maintaining anonymity in communication systems.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"Rate-Limiting Nullifier (RLN) is a protocol designed to combat spam and denial of service attacks in privacy-preserving environments. It allows users in an anonymous system to penalize those who exceed the rate limit, either by withdrawing the offender's stake or revealing their secrets. This mechanism helps maintain system integrity and deters abuse. RLN is built on the Semaphore protocol and uses zero-knowledge proofs and the Shamir’s Secret Sharing scheme to reveal the spammer's private key. It's particularly useful for developers working on communication systems that require privacy and anonymity, such as chat apps, client-server communications, and peer-to-peer communications. It's already being used in projects like Zerokit and Waku, and is also being developed for use with the KZG polynomial commitment scheme.",
|
||||
links: [
|
||||
{ website: "https://rate-limiting-nullifier.github.io/rln-docs/" },
|
||||
{ github: "https://github.com/Rate-Limiting-Nullifier/circom-rln" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy"] },
|
||||
{ types: ["Infrastructure/protocol"] },
|
||||
{ builtWith: ["Circom", "Solidity", "Semaphore"] },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: "Semaphore 2",
|
||||
name: "Zkitter",
|
||||
tldr: "A decentralized social network prioritizing privacy and anonymity",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"Zkitter is a decentralized social network that emphasizes privacy by default. It allows users to share thoughts and communicate in various modes: as known identities, as a member of a group, or entirely anonymously. Built with Semaphore and RLN, Zkitter offers familiar social media features such as posting, chatting, following, and liking, but with a strong focus on user privacy and anonymity. It serves as an experiment to explore new ways of engaging in conversations without the fear of damaging one’s personal reputation and is an example of a user-facing application using zero-knowledge primitives such as Semaphore, CryptKeeper, ZK-Chat, and Interep. Users can sign up using an Ethereum address or ENS name, or create an anonymous account, with options for anonymous chat and posting.",
|
||||
links: [
|
||||
{ website: "https://www.zkitter.com/explore/" },
|
||||
{ github: "https://github.com/zkitter" },
|
||||
{ twitter: "" },
|
||||
{ discord: "https://discord.gg/Em4Z9yE8eW" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy", "Social", "Identity"] },
|
||||
{ types: ["Application", "Infrastructure/protocol"] },
|
||||
{ builtWith: ["Semaphore", "RLN", "Interep", "zkchat"] },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: "Semaphore 3",
|
||||
|
||||
name: "MACI",
|
||||
tldr: "A secure e-voting solution minimizing the risk of collusion and bribery",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"Minimal Anti-Collusion Infrastructure (MACI) is a protocol designed to provide a highly secure e-voting solution. It enables organizations to conduct on-chain voting processes with a significantly reduced risk of cheating, such as bribery or collusion. MACI uses zero-knowledge proofs to implement a receipt-free voting scheme, making it impossible for anyone other than the vote coordinator to verify how a specific user voted. This ensures the correct execution of votes and allows anyone to verify the results. It's particularly beneficial for governance and funding events, where its anti-collusion mechanisms help ensure fair and transparent outcomes.",
|
||||
links: [
|
||||
{
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/ltCt68hslI5jmMf1AnfkrP2eUwkeZ8_fgkHc_WyD9Nc",
|
||||
},
|
||||
{ github: "https://github.com/privacy-scaling-explorations/maci" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy", "Voting/governance"] },
|
||||
{ types: ["Lego sets/toolkits", "Infrastructure/protocol"] },
|
||||
{ builtWith: ["P0tion", "JubjubLib"] },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: "Semaphore 4",
|
||||
|
||||
name: "WAX: Wallet Account eXperiments",
|
||||
tldr: "Streamlining web3 product development with smart account components for enhanced wallets, dApps, and SDKs.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"Wallet Account eXperiments (WAX), formerly known as BLS Wallet, is a suite of production-ready smart account components that provide advanced features for wallets, SDKs, and dApps. It's designed to lower gas costs on EVM rollups through aggregated BLS signatures, simplifying the integration of contract wallets and reducing the cost of layer 2 transactions. This makes WAX particularly beneficial for web3 projects targeting developing economies. WAX components incorporate advanced cryptographic primitives in a secure and intuitive way, using Safe contracts for a familiar and battle-tested foundation. Each additional module can be audited and added or removed at the account holder's discretion. WAX offers features like cheaper L2 transactions, modular smart contract components, ERC 4337 compatibility, zk email verification, passkeys verification, multi-action transactions, gasless transactions, and wallet upgradability. The primary use cases for WAX include scaling, key management, and the creation of prototypes for the web3 ecosystem.",
|
||||
links: [
|
||||
{ website: "https://getwax.org/" },
|
||||
{ github: "https://github.com/getwax" },
|
||||
{ twitter: "" },
|
||||
{ discord: "https://discord.gg/hGDmAhcRyz" },
|
||||
],
|
||||
tags: [
|
||||
{
|
||||
builtWith: [
|
||||
"Hardhat",
|
||||
"Node",
|
||||
"Solidity BLS library",
|
||||
"sqlite",
|
||||
"docker",
|
||||
"ethers",
|
||||
"deno",
|
||||
],
|
||||
},
|
||||
{ themes: ["Scaling", "Key management"] },
|
||||
{ types: ["Prototype", "Proof of concept", "Lego sets/toolkits"] },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 5,
|
||||
name: "Semaphore 5",
|
||||
|
||||
name: "ZK-Chat",
|
||||
tldr: "A protocol for integrating decentralized, anonymous, and spam-protected chat into applications.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"ZK-Chat is a protocol that enables developers to incorporate decentralized, anonymous chat features into their applications, complete with spam protection and anonymous group signaling. It uses Waku decentralized messaging, Semaphore for anonymous signaling, and Rate-Limiting Nullifier (RLN) for spam prevention. This creates a decentralized, client-server model that offers unstoppable, anonymous chat with registry on-chain. It's designed for both developers and users, offering an app and a library for easy integration into various applications.",
|
||||
links: [
|
||||
{ github: "https://github.com/kayleegeorge/zk-chat//" },
|
||||
{
|
||||
website:
|
||||
"https://www.notion.so/6649797a76ed4858933015360fc76650?pvs=21",
|
||||
},
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy", "Social"] },
|
||||
{ types: ["Legos/dev tools", "Proof of concept", "Application"] },
|
||||
{ builtWith: ["RLN", "Semaphore", "Waku"] },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
name: "Semaphore 6",
|
||||
|
||||
name: "CryptKeeper",
|
||||
tldr: "A browser extension for secure, portable anonymous identity management across applications.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"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.",
|
||||
links: [
|
||||
{ github: "https://github.com/CryptKeeperZK" },
|
||||
{ website: "" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy", "Social", "Identity"] },
|
||||
{
|
||||
types: ["Application", "Infrastructure/protocol", "Lego sets/toolkits"],
|
||||
},
|
||||
{ builtWith: ["Semaphore", "RLN"] },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
name: "Semaphore 7",
|
||||
|
||||
name: "Semaphore",
|
||||
tldr: "A zero-knowledge protocol enabling anonymous group membership proof and signaling.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"Semaphore is a protocol that allows users to prove their membership in a group and transmit anonymous data, such as votes or feedback, without revealing their identities. It is designed for developers aiming to build privacy-preserving applications. Semaphore enables the creation of identities and their corresponding public values, which can be added to Merkle trees. This facilitates the authentication of anonymous user messages through zero-knowledge proofs, where membership is proven using Merkle proofs within the circuit. Key use cases include anonymous voting applications, receiving anonymous feedback from event attendees, and anonymous text messages. It is currently in production and is being used in a wide variety of projects.",
|
||||
links: [
|
||||
{ github: "https://github.com/semaphore-protocol" },
|
||||
{ website: "https://semaphore.appliedzkp.org/" },
|
||||
{ discord: "https://semaphore.appliedzkp.org/discord" },
|
||||
{ twitter: "" },
|
||||
],
|
||||
tags: [
|
||||
{
|
||||
themes: [
|
||||
"Anonymity/privacy",
|
||||
"Social",
|
||||
"Identity",
|
||||
"Transaction privacy",
|
||||
"Voting/governance",
|
||||
"Reputation",
|
||||
"Education",
|
||||
"Scaling",
|
||||
"Key management",
|
||||
"Other (group membership)",
|
||||
],
|
||||
},
|
||||
{
|
||||
types: [
|
||||
"Legos/dev tools",
|
||||
"Lego sets/toolkits",
|
||||
"Infrastructure/protocol",
|
||||
],
|
||||
},
|
||||
{ builtWith: ["ZK-kit", "circom", "snarkjs"] },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
name: "Semaphore 8",
|
||||
|
||||
name: "PSE Security",
|
||||
tldr: "Proactively securing Ethereum's L2 and ZK ecosystems.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"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.",
|
||||
links: [
|
||||
{ github: "https://github.com/privacy-scaling-explorations/security" },
|
||||
{
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/BaqGMfBhEZR1cvTJlA9E3Xu5ZhD7IthLiUK-Q75rQMM",
|
||||
},
|
||||
{ discord: "" },
|
||||
{ twitter: "" },
|
||||
],
|
||||
tags: [
|
||||
{
|
||||
themes: [
|
||||
"Anonymity/privacy",
|
||||
"Education",
|
||||
"Key management",
|
||||
"Scaling",
|
||||
"Security",
|
||||
],
|
||||
},
|
||||
{ types: ["Legos/dev tools"] },
|
||||
{ builtWith: ["Slither", "Ecne", "Circomspect", "Echidna"] },
|
||||
{ themes: [] },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 9,
|
||||
name: "Semaphore 9",
|
||||
|
||||
name: "zkEVM Community Edition",
|
||||
tldr: "A zero-knowledge proof mechanism for Ethereum block verification.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"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.",
|
||||
links: [
|
||||
{
|
||||
github:
|
||||
"https://github.com/privacy-scaling-explorations/zkevm-circuits",
|
||||
},
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
{
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/I5BzurX-T6slFaPbA4i3hVrO7U2VkBR45eO-N3CSnSg",
|
||||
},
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Scaling"] },
|
||||
{ types: ["Infrastructure/protocol", "Lego sets/toolkits"] },
|
||||
{ builtWith: ["halo2 from zcash", "Rust", "geth"] },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 10,
|
||||
name: "Semaphore 10",
|
||||
|
||||
name: "Bandada",
|
||||
tldr: "An open-source system for managing privacy-preserving groups of anonymous individuals.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"Bandada is a project designed to simplify the management of privacy-preserving Semaphore groups. It is aimed at developers who want to build privacy-based applications and integrate anonymity sets, as well as non-developers working in DAOs, governments, international institutions, non-profit organizations, and associations that want to create and manage anonymous groups. Bandada offers a plug-and-play infrastructure, reducing the time and complexity required for managing anonymity sets. It enables anonymous signaling, such as voting, messaging, login, or endorsing, in various use cases like private organizations, GitHub repository contributors, and groups of wallets holding a specific NFT.",
|
||||
links: [
|
||||
{ github: "https://github.com/privacy-scaling-explorations/bandada" },
|
||||
{ website: "https://bandada.appliedzkp.org/" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: {
|
||||
themes: [
|
||||
"Anonymity/privacy",
|
||||
"Social",
|
||||
"Identity",
|
||||
"Transaction privacy",
|
||||
"Voting/governance",
|
||||
"Reputation",
|
||||
"Education",
|
||||
"Scaling",
|
||||
"Key management",
|
||||
],
|
||||
type: [
|
||||
"Legos/dev tools",
|
||||
"Lego sets/toolkits",
|
||||
"Prototype",
|
||||
"Proof of concept",
|
||||
"Infrastructure/protocol",
|
||||
"Plugin",
|
||||
"Application",
|
||||
],
|
||||
builtWith: ["Semaphore", "ZK-kit"],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 11,
|
||||
name: "Semaphore 11",
|
||||
|
||||
name: "DSL Working Group",
|
||||
tldr: "Exploration of languages for writing zk circuits",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"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.",
|
||||
links: [
|
||||
{ github: "https://github.com/privacy-scaling-explorations/chiquito/" },
|
||||
{ website: "" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: {
|
||||
type: ["Legos/dev tools", "Proof of concept", "Developer tooling"],
|
||||
themes: [],
|
||||
builtWith: [],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 12,
|
||||
name: "Semaphore 12",
|
||||
|
||||
name: "ZKML (Zero-Knowledge Machine Learning)",
|
||||
tldr: "ZKML leverages zero-knowledge proofs for privacy-preserving machine learning, enabling model and data privacy with transparent verification.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"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.",
|
||||
links: [
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
{ github: "https://github.com/socathie" },
|
||||
{
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/K88lOS4XegJGzMoav9K5bLuT9Zhn3Hz2KkhB3ITq-m8",
|
||||
},
|
||||
],
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Scaling"],
|
||||
type: ["Proof of concept", "Infrastructure/protocol"],
|
||||
builtWith: ["circom", "halo2", "nova"],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 13,
|
||||
name: "Semaphore 13",
|
||||
|
||||
name: "Trusted Setups",
|
||||
tldr: "Aiding developers with tools for trusted setups.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"The Trusted Setups project is dedicated to simplifying the process of trusted setups, which are crucial for privacy or scaling solutions. Trusted setups involve multiple participants contributing to the generation of secrets. As long as one participant forgets their part of the secret, the final solution remains secure. The team recognizes the complexity of developing contribution programs and coordinating the participants' queue in a trusted setup. To address this, they are developing tools, including scripts, WebApps, and APIs, to streamline the contribution and coordination effort. This allows developers to focus on building their circuits and applications, enhancing efficiency and productivity in the development of zero-knowledge applications.",
|
||||
links: [
|
||||
{
|
||||
github: "https://github.com/zkparty",
|
||||
},
|
||||
{
|
||||
website: "https://docs.google.com/presentation/d/1dTKWaZDPCZFI5W",
|
||||
},
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: {
|
||||
themes: ["Scaling", "Education"],
|
||||
type: ["Legos/dev tools", "Lego sets/toolkits"],
|
||||
builtWith: [],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 14,
|
||||
name: "Semaphore 14",
|
||||
|
||||
name: "zk3",
|
||||
tldr: "Utilizing ZK proofs in social networks",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"Zk3 is a protocol that leverages Zero Knowledge Proofs (ZKPs) to allow users to prove their membership in a group without revealing their identity. This is particularly useful for social media applications built on Lens or other on-chain platforms. The protocol helps to moderate conversations and reduce bot activity while preserving user privacy. It provides developers with the tools to verify group eligibility, create ZK proofs, and use ZK proofs in Lens. ZK3 consists of a smart contract system for user interactions and network rules, and a GraphQL API for flexible interaction, enabling the development of diverse applications, including web 2.0 integrations.",
|
||||
links: [
|
||||
{
|
||||
github: "http://github.com/monemetrics/semaphore-zk3",
|
||||
},
|
||||
{
|
||||
website: "http://zk3.io/",
|
||||
},
|
||||
{
|
||||
twitter: "http://twitter.com/zk3org",
|
||||
},
|
||||
{ discord: "" },
|
||||
,
|
||||
],
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Social", "Identity", "Reputation"],
|
||||
type: [
|
||||
"Legos/dev tools",
|
||||
"Lego sets/toolkits",
|
||||
"Infrastructure/protocol",
|
||||
"Plugin",
|
||||
],
|
||||
builtWith: ["Semaphore", "Lens protocol"],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 15,
|
||||
name: "Semaphore 15",
|
||||
|
||||
name: "TLSNotary",
|
||||
tldr: "A protocol for creating cryptographic proofs of authenticity for any data on the web.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"TLSNotary is useful for developers of privacy focused projects that need data provenance from secure web servers. It leverages the widely-used Transport Layer Security (TLS) protocol to securely and privately prove a transcript of communications took place with a webserver. The protocol involves splitting TLS session keys between two parties: the User and the Notary. Neither the User nor Notary are in possession of the full TLS session keys, they only hold a share of those keys. This ensures the security assumptions of TLS while enabling the User to prove the authenticity of the communication to the Notary. The Notary remains unaware of which webserver is being queried, and the Notary never has access to the unencrypted communications. All of this is achieved while maintaining full privacy.",
|
||||
links: [
|
||||
{
|
||||
github: "",
|
||||
},
|
||||
{
|
||||
website: "",
|
||||
},
|
||||
{
|
||||
twitter: "",
|
||||
},
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: {
|
||||
themes: [],
|
||||
type: [],
|
||||
builtWith: [],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 16,
|
||||
name: "Semaphore 16",
|
||||
|
||||
name: "EigenTrust",
|
||||
tldr: "A distributed reputation system with zero-knowledge features.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"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.",
|
||||
links: [
|
||||
{
|
||||
github: "https://github.com/eigen-trust/protocol",
|
||||
},
|
||||
{
|
||||
website: "",
|
||||
},
|
||||
{
|
||||
twitter: "",
|
||||
},
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: {
|
||||
themes: ["Reputation", "Identity"],
|
||||
type: ["Infrastructure/protocol"],
|
||||
builtWith: ["Ethereum Attestation Service", "Halo2", "ethers.rs"],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 17,
|
||||
name: "Semaphore 17",
|
||||
|
||||
name: "AnonKlub",
|
||||
tldr: "A mechanism for anonymous proof of Ethereum address ownership.",
|
||||
description:
|
||||
"Lorem ipsum dolor sit amet consectetur. Lacus dolor vestibulum turpis magna suscipit. Sodales est pharetra ut urna....",
|
||||
"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.",
|
||||
links: [
|
||||
{
|
||||
github: "https://github.com/privacy-scaling-explorations/e2e-zk-ecdsa",
|
||||
},
|
||||
{
|
||||
website: "https://anonklub.fly.dev/",
|
||||
},
|
||||
{
|
||||
twitter: "",
|
||||
},
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: {
|
||||
themes: [
|
||||
"Transaction privacy",
|
||||
"Anonymity/privacy",
|
||||
"Social",
|
||||
"Identity",
|
||||
"Voting/governance",
|
||||
],
|
||||
type: ["Infrastructure/protocol", "Prototype", "Proof of concept"],
|
||||
builtWith: ["Circom", "snarkjs", "halo2"],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 18,
|
||||
|
||||
name: "Summa",
|
||||
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.",
|
||||
links: [
|
||||
{
|
||||
github: "https://github.com/summa-dev",
|
||||
},
|
||||
{
|
||||
website: "",
|
||||
},
|
||||
{
|
||||
twitter: "",
|
||||
},
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Computational Integrity"],
|
||||
type: ["Infrastructure/protocol", "Application"],
|
||||
builtWith: ["Halo2 PSE"],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
34
public/pse-logo-circle.svg
Normal file
34
public/pse-logo-circle.svg
Normal file
@@ -0,0 +1,34 @@
|
||||
<svg width="256" height="253" viewBox="0 0 256 253" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M128 252.101C94.0057 252.101 62.0514 238.995 38.0121 215.199C13.9782 191.397 0.740234 159.754 0.740234 126.101C0.740234 92.4488 13.9782 60.8056 38.0121 37.0043C62.0461 13.203 94.0057 0.10144 128 0.10144C161.995 0.10144 193.949 13.2083 217.988 37.0043C242.022 60.8003 255.26 92.4435 255.26 126.101C255.26 159.759 242.022 191.397 217.988 215.199C193.954 238.995 161.995 252.101 128 252.101ZM128 6.46401C95.7247 6.46401 65.3824 18.9081 42.5587 41.5058C19.735 64.1035 7.16643 94.1455 7.16643 126.101C7.16643 158.057 19.735 188.099 42.5587 210.697C65.3824 233.295 95.7247 245.739 128 245.739C160.276 245.739 190.618 233.295 213.442 210.697C236.265 188.099 248.834 158.057 248.834 126.101C248.834 94.1455 236.265 64.1035 213.442 41.5058C190.618 18.9081 160.276 6.46401 128 6.46401Z" fill="#171C1B"/>
|
||||
<path d="M37.2889 113.274L20.3559 109.78L21.6358 103.698C22.5248 99.483 25.2934 97.394 28.951 98.1469L29.3205 98.2211C32.9352 98.9687 34.6488 101.986 33.7652 106.201L33.2726 108.55L38.0815 109.541L37.2943 113.279L37.2889 113.274ZM24.4098 106.715L30.0006 107.871L30.5307 105.342C30.9002 103.587 30.0166 102.309 28.3351 101.964C26.6107 101.609 25.3094 102.431 24.9399 104.186L24.4098 106.715Z" fill="#171C1B"/>
|
||||
<path d="M41.1125 97.0971L25.1702 90.4588L27.7835 84.303C29.4489 80.3794 32.2658 78.6722 35.7948 80.1408L36.1429 80.284C38.4617 81.249 39.5434 82.9616 39.5327 85.1514L46.88 83.5183L45.1503 87.5957L38.633 88.8947L37.5406 91.4662L42.6119 93.5765L41.1178 97.0918L41.1125 97.0971ZM29.6739 88.1948L34.7452 90.3051L35.9822 87.3889C36.6302 85.8672 36.0626 84.4409 34.5203 83.8046C33.0048 83.1737 31.5589 83.7569 30.9109 85.2786L29.6739 88.1948Z" fill="#171C1B"/>
|
||||
<path d="M48.947 80.5546L34.3114 71.6894L36.3249 68.434L50.9606 77.2991L48.947 80.5546Z" fill="#171C1B"/>
|
||||
<path d="M56.1446 70.0521L39.6668 63.0533L42.2265 60.047L55.5448 65.9589L56.0589 65.3544L47.7263 53.589L50.2111 50.6728L60.1931 65.3067L56.1499 70.0574L56.1446 70.0521Z" fill="#171C1B"/>
|
||||
<path d="M63.851 61.0118L57.5158 44.2571L62.373 40.3918L77.6994 49.9887L74.5827 52.4648L70.8341 50.0417L65.2487 54.4902L66.8499 58.6206L63.8456 61.0118H63.851ZM68.012 48.2337L62.2391 44.501L61.559 45.0418L64.0384 51.399L68.012 48.2337Z" fill="#171C1B"/>
|
||||
<path d="M75.3542 41.7387L75.1185 41.2827C73.1907 37.5288 73.5655 32.3009 78.8618 29.634C83.0335 27.5343 87.0766 28.5788 89.3151 32.0199L85.8556 33.759C84.6347 32.1047 82.5622 31.7601 80.4898 32.8046C77.764 34.1779 77.2392 36.8979 78.7172 39.7822C80.1792 42.6242 82.7389 43.8119 85.545 42.4015C87.6603 41.3358 88.6992 39.4535 88.0887 37.4917L91.5267 35.7632C92.8655 39.2944 91.5589 43.3718 87.1784 45.5775C81.6465 48.3611 77.1053 45.1692 75.3488 41.744L75.3542 41.7387Z" fill="#171C1B"/>
|
||||
<path d="M101.771 39.3414L100.025 33.1326L99.211 33.3553L91.5317 24.5326L95.3338 23.4827L100.791 29.9514L101.514 29.7499L102.467 21.5157L106.066 20.5242L104.486 31.9025L103.672 32.1252L105.418 38.334L101.771 39.3414Z" fill="#171C1B"/>
|
||||
<path d="M123.802 33.4932L123.684 29.1667L119.529 29.278L119.448 26.2558L123.604 26.1444L123.486 21.7967L126.823 21.7066L126.94 26.0543L131.123 25.943L131.203 28.9652L127.021 29.0765L127.138 33.4031L123.802 33.4932Z" fill="#171C1B"/>
|
||||
<path d="M142.101 31.118L145.747 31.9186C145.464 33.1911 146.197 34.5219 148.564 35.0415C150.653 35.4975 151.975 34.8613 152.259 33.5888C152.5 32.523 151.767 31.7171 149.764 31.0861L148.527 30.6938C145.239 29.6864 143.52 27.3534 144.184 24.4002C144.896 21.2189 147.772 19.7767 151.51 20.5985C155.456 21.4628 157.336 24.1403 156.608 27.3906L152.934 26.5846C153.202 25.381 152.548 24.1138 150.803 23.7321C149.127 23.3662 148.093 24.1138 147.847 25.2061C147.632 26.1605 148.077 27.0671 149.592 27.5178L150.851 27.9155C154.428 29.0342 156.613 31.3247 155.922 34.3947C155.205 37.5972 152.099 39.1083 147.852 38.1751C143.284 37.173 141.367 34.3417 142.09 31.118H142.101Z" fill="#171C1B"/>
|
||||
<path d="M160.993 32.4538L161.202 31.9872C162.937 28.1432 167.275 25.1421 172.705 27.544C176.973 29.4316 178.698 33.2014 177.407 37.0879L173.867 35.5237C174.403 33.5407 173.364 31.7327 171.238 30.7942C168.448 29.5588 165.979 30.8632 164.651 33.8164C163.339 36.7273 164.014 39.4473 166.889 40.7198C169.058 41.6795 171.184 41.2925 172.341 39.5905L175.859 41.1493C173.932 44.3995 169.904 45.9583 165.422 43.9753C159.756 41.4727 159.408 35.9638 160.993 32.4591V32.4538Z" fill="#171C1B"/>
|
||||
<path d="M174.847 47.8571L189.563 37.4702L194.586 41.1181L189.177 58.2599L185.954 55.9216L187.351 51.7117L181.568 47.5124L177.953 50.1105L174.842 47.8518L174.847 47.8571ZM188.39 48.5411L190.543 42.0512L189.842 41.5422L184.278 45.556L188.39 48.5411Z" fill="#171C1B"/>
|
||||
<path d="M191.453 60.7728L203.958 49.1399L206.598 51.9235L196.562 61.2659L201.168 66.1173L198.699 68.4132L191.453 60.7834V60.7728Z" fill="#171C1B"/>
|
||||
<path d="M201.018 71.5835L214.92 61.6314L217.18 64.7225L203.278 74.6746L201.018 71.5835Z" fill="#171C1B"/>
|
||||
<path d="M206.378 78.7424L221.774 71.2398L224.564 76.8548L214.828 88.7316L214.973 89.0232L227.563 82.8886L229.159 86.107L213.763 93.6096L210.951 87.9522L220.687 76.0754L220.542 75.7838L207.952 81.9183L206.373 78.7424H206.378Z" fill="#171C1B"/>
|
||||
<path d="M223.312 95.4123L223.815 95.2957C228.03 94.336 233.021 96.2077 234.3 101.722C235.339 106.192 233.353 109.914 229.566 111.154L228.704 107.438C230.466 106.727 231.318 104.765 230.793 102.522C230.118 99.6222 227.526 98.4186 224.409 99.1291C221.132 99.8767 219.402 102.178 220.136 105.333C220.527 107.013 221.464 108.254 222.658 108.816L224.056 108.498L223.049 104.166L225.754 103.551L227.869 112.665L225.165 113.281L224.849 111.918L222.01 112.565C219.37 111.685 217.491 109.394 216.725 106.101C215.349 100.158 219.167 96.3561 223.312 95.4123Z" fill="#171C1B"/>
|
||||
<path d="M175.276 129.616C175.276 131.25 174.108 132.612 172.55 132.925C172.33 132.973 172.1 132.994 171.865 132.994H160.485C158.6 132.994 157.074 134.505 157.074 136.371V147.638C157.074 148.805 156.479 149.833 155.569 150.438C155.205 150.682 154.792 150.857 154.348 150.947C154.128 150.989 153.898 151.016 153.662 151.016H142.283C140.398 151.016 138.871 152.527 138.871 154.393V165.66C138.871 167.527 137.345 169.038 135.46 169.038H124.081C122.196 169.038 120.669 167.527 120.669 165.66V154.393C120.669 152.527 122.196 151.016 124.081 151.016H135.46C137.345 151.016 138.871 149.505 138.871 147.638V136.371C138.871 134.505 140.398 132.994 142.283 132.994H153.662C155.547 132.994 157.074 131.483 157.074 129.616V114.972C157.074 105.041 148.961 96.9871 138.936 96.95C128.916 96.9871 120.798 105.041 120.798 114.972V129.616C120.798 131.483 119.272 132.994 117.387 132.994H106.007C104.122 132.994 102.596 134.505 102.596 136.371V165.66C102.596 167.527 101.069 169.038 99.1844 169.038H87.8047C85.9196 169.038 84.3934 167.527 84.3934 165.66V136.371C84.3934 134.505 85.9196 132.994 87.8047 132.994H99.1844C101.069 132.994 102.596 131.483 102.596 129.616V114.908C102.596 95.0359 118.865 78.928 138.936 78.928C159.007 78.928 175.276 95.0359 175.276 114.908V129.616Z" fill="#171C1B"/>
|
||||
<path d="M128 205.373C83.852 205.373 47.9349 169.812 47.9349 126.101C47.9349 82.3903 83.852 46.8288 128 46.8288C172.148 46.8288 208.065 82.3903 208.065 126.101C208.065 169.812 172.148 205.373 128 205.373ZM128 50.0101C85.6245 50.0101 51.148 84.1453 51.148 126.101C51.148 168.057 85.6245 202.192 128 202.192C170.375 202.192 204.852 168.057 204.852 126.101C204.852 84.1453 170.375 50.0101 128 50.0101Z" fill="#171C1B"/>
|
||||
<path d="M33.2409 179.585L47.7319 170.481L53.4245 179.362L50.7255 181.059L47.0465 175.322L43.9726 177.252L47.4481 182.676L44.7491 184.372L41.2736 178.948L37.9588 181.032L41.7234 186.907L39.0244 188.604L33.2462 179.585H33.2409Z" fill="#171C1B"/>
|
||||
<path d="M41.986 192.802L52.4982 191.01L54.983 181.699L57.8373 184.79L56.1344 190.808L56.4985 191.206L62.673 190.029L65.447 193.035L55.7059 194.695L53.1462 204.896L50.2758 201.789L52.118 194.886L51.7378 194.472L44.7546 195.808L41.9807 192.802H41.986Z" fill="#171C1B"/>
|
||||
<path d="M57.6928 208.698L68.1139 195.034L73.121 198.778C76.5912 201.37 77.3141 204.743 75.0649 207.696L74.84 207.993C72.6176 210.909 69.1261 211.158 65.6613 208.566L63.7281 207.123L60.7667 211.004L57.6928 208.703V208.698ZM69.1796 199.971L65.7363 204.483L67.8194 206.036C69.2653 207.118 70.8076 206.869 71.8411 205.517C72.9015 204.122 72.7087 202.606 71.2628 201.524L69.1796 199.971Z" fill="#171C1B"/>
|
||||
<path d="M73.4955 219.627L81.448 204.574L84.8645 206.345L78.4812 218.429L84.4361 221.514L82.8671 224.484L73.4955 219.632V219.627Z" fill="#171C1B"/>
|
||||
<path d="M89.9146 218.736L90.0645 218.249C91.3016 214.219 95.5964 210.815 101.375 212.559C107.131 214.293 108.824 219.5 107.581 223.529L107.431 224.017C106.307 227.67 102.028 231.514 96.0944 229.722C90.1556 227.93 88.79 222.389 89.9146 218.736ZM103.768 222.671C104.7 219.643 103.431 216.902 100.325 215.963C97.2244 215.03 94.6485 216.61 93.7167 219.638C92.8385 222.49 94.0381 225.38 97.144 226.313C100.245 227.246 102.895 225.518 103.768 222.665V222.671Z" fill="#171C1B"/>
|
||||
<path d="M111.935 232.998L113.413 215.93L120.134 216.503C124.418 216.869 126.924 218.995 126.597 222.775L126.565 223.146C126.351 225.628 125.039 227.176 122.929 227.833L126.758 234.254L122.308 233.878L119.057 228.136L116.246 227.897L115.775 233.321L111.935 232.992V232.998ZM116.974 219.483L116.503 224.907L119.689 225.177C121.349 225.32 122.544 224.345 122.688 222.701C122.827 221.079 121.821 219.896 120.161 219.753L116.974 219.483Z" fill="#171C1B"/>
|
||||
<path d="M131.337 234.266L135.069 216.758L141.26 216.074L148.998 232.315L145.024 232.755L143.177 228.72L136.049 229.505L135.166 233.842L131.337 234.261V234.266ZM141.774 225.693L138.925 219.473L138.063 219.569L136.708 226.249L141.779 225.693H141.774Z" fill="#171C1B"/>
|
||||
<path d="M156.517 230.246L152.677 217.123L148.05 218.449L147.113 215.251L160.094 211.529L161.031 214.727L156.377 216.057L160.217 229.18L156.517 230.241V230.246Z" fill="#171C1B"/>
|
||||
<path d="M170.162 225.603L163.238 210.057L166.767 208.514L173.691 224.06L170.162 225.603Z" fill="#171C1B"/>
|
||||
<path d="M175.157 214.542L174.874 214.112C172.55 210.581 172.673 205.141 177.739 201.88C182.778 198.63 187.897 200.687 190.216 204.219L190.5 204.648C192.605 207.845 192.83 213.561 187.63 216.912C182.43 220.263 177.262 217.739 175.157 214.542ZM187.099 206.562C185.354 203.911 182.419 203.11 179.699 204.865C176.984 206.62 176.55 209.59 178.296 212.241C179.94 214.738 182.944 215.687 185.664 213.932C188.385 212.177 188.744 209.059 187.099 206.562Z" fill="#171C1B"/>
|
||||
<path d="M200.562 206.976L188.219 195.173L192.61 190.671L207.192 195.719L207.422 195.486L197.328 185.836L199.845 183.259L212.189 195.056L207.765 199.595L193.183 194.547L192.953 194.781L203.047 204.431L200.568 206.976H200.562Z" fill="#171C1B"/>
|
||||
<path d="M211.76 187.008L213.763 183.885C214.872 184.585 216.387 184.352 217.689 182.327C218.835 180.54 218.679 179.092 217.565 178.392C216.634 177.804 215.616 178.217 214.336 179.866L213.544 180.884C211.466 183.604 208.665 184.405 206.089 182.783C203.31 181.038 202.919 177.868 204.975 174.665C207.144 171.288 210.325 170.45 213.163 172.231L211.15 175.375C210.1 174.713 208.676 174.893 207.717 176.388C206.796 177.82 207.155 179.039 208.108 179.638C208.944 180.163 209.956 180.057 210.898 178.801L211.701 177.761C213.983 174.813 216.901 173.562 219.579 175.243C222.374 177.003 222.754 180.407 220.42 184.044C217.913 187.952 214.572 188.774 211.755 187.003L211.76 187.008Z" fill="#171C1B"/>
|
||||
<path d="M222.629 141.824L221.6 146.811C221.431 147.635 221.967 148.438 222.799 148.607L227.836 149.625C228.667 149.793 229.479 149.262 229.649 148.438L230.678 143.451C230.847 142.628 230.311 141.824 229.479 141.656L224.442 140.637C223.61 140.469 222.799 141.001 222.629 141.824Z" fill="#171C1B"/>
|
||||
<path d="M31.5639 140.636L26.5269 141.655C25.6952 141.823 25.1587 142.627 25.3285 143.45L26.357 148.437C26.5268 149.261 27.3386 149.792 28.1703 149.624L33.2073 148.605C34.039 148.437 34.5755 147.634 34.4057 146.81L33.3773 141.823C33.2075 141 32.3956 140.468 31.5639 140.636Z" fill="#171C1B"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
Reference in New Issue
Block a user