From 0a59dea6518bccaaad5bec7e566f122ff1987a44 Mon Sep 17 00:00:00 2001 From: AtHeartEngineer <1675654+AtHeartEngineer@users.noreply.github.com> Date: Wed, 8 Jun 2022 17:58:44 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages-dev=20from=20@=20AtHe?= =?UTF-8?q?artEngineering/pse=5Flandingpage@5ccee411287282dee6ee684ff65add?= =?UTF-8?q?edf450f1d2=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- about/index.html | 2 +- index.html | 2 +- main.js | 106 ++++++++++++++--------------------------------- styles.css | 54 +++++++++++------------- team/index.html | 2 +- 5 files changed, 59 insertions(+), 107 deletions(-) diff --git a/about/index.html b/about/index.html index cf91749..b9fc0f7 100644 --- a/about/index.html +++ b/about/index.html @@ -29,7 +29,7 @@ -

Welcome to Privacy & Scaling Explorations

A multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives through research and proof-of-concept implementation.

We facilitate the integration of ZK primitives into decentralized applications.

more info below
About us

lorem ipsum

+

Welcome to Privacy & Scaling Explorations

A multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives through research and proof-of-concept implementation.

We facilitate the integration of ZK primitives into decentralized applications.

more info below
About us

lorem ipsum

diff --git a/index.html b/index.html index ae6d886..1542cc1 100644 --- a/index.html +++ b/index.html @@ -29,7 +29,7 @@ -

Welcome to Privacy & Scaling Explorations

A multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives through research and proof-of-concept implementation.

We facilitate the integration of ZK primitives into decentralized applications.

more info below

Projects

Zkopru
Zkopru

Zkopru is an optimistic rollup that uses zero knowledge proofs to enable private, low-cost transactions with ETH, ERC-20s and NFTs on layer 2.

BLS Wallet
BLS Wallet

Reduce transaction costs on evm-L2s using BLS signatures. The smart contract wallet also includes: recovery, multi-action, gas-less transactions, and upgradability.

zkEVM
zkEVM

A zk-rollup that can generate zk proofs for general EVM verification. This allows us to build a fully EVM-compatible zk-Rollup, which any existing Ethereum application can easily migrate to.

MACI
MACI (Minimal Anti-Collusion Infrastructure)

MACI uses zero knowledge proofs for collusion resistance in blockchain voting (such as quadratic funding mechanisms) by making it impossible for anyone other than the vote coordinator to verify how a specific user voted. MACI also ensures correct execution of the votes, allowing anyone to verify the results.

Unirep
Unirep

Unirep allows anonymous members of a group to give, receive, and prove reputation without revealing their identity. Applications or people can act as attesters and build their own reputation tokens on top of a shared Unirep contract.

Semaphore
Semaphore

Semaphore is a protocol, designed to be a simple and generic privacy layer for Ethereum DApps. Using zero knowledge, Ethereum users can prove their membership of a group and send signals such as votes or endorsements without revealing their original identity.

Interep
Interep

Private reputation and identity system allowing services to verify that users belong to a certain group or meet certain reputation criteria without revealing their identities. Users can anonymously export reputation from platforms such as Twitter and Github.

Clr.fund
Clr.fund for Everyone

Infrastructure to make it easy for any community to run their own CLR round with clr.fund.

Rate Limiting Nullifier
Rate Limiting Nullifier

RLN is a construct based on zero-knowledge proofs that enables spam prevention mechanism for decentralized, anonymous environments. In anonymous environments, the identity of the entities is unknown.

zk-chat
zk-chat

Anonymous and private chat environments, using Interep for a privacy preserving registry and sybil resistance and RLN for spam protection.

COCO
COCO

Collaborative content curation of online communities using a double-or-nothing challenge mechanism.

Trusted Setup
Trusted Setup

Open source infrastructure for running a trusted setup ceremony, in which many people participate in generating entropy which will secure a cryptographic protocol. Perpetual Powers of Tau: A universal ceremony for the initial phase of a trusted setup. MPC Phase 2 UI: UI for a CLI or browser-based ceremony for the second, circuit-specific phase for Groth-16 SNARKs.

TLSNotary
TLSNotary

TLSNotary leverages the ubiquitous TLS protocol to allow users to privately export their data from any webserver in a provable way.

+

Welcome to Privacy & Scaling Explorations

A multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives through research and proof-of-concept implementation.

We facilitate the integration of ZK primitives into decentralized applications.

more info below

Projects

Zkopru
Zkopru

Zkopru is an optimistic rollup that uses zero knowledge proofs to enable private, low-cost transactions with ETH, ERC-20s and NFTs on layer 2.

BLS Wallet
BLS Wallet

Reduce transaction costs on evm-L2s using BLS signatures. The smart contract wallet also includes: recovery, multi-action, gas-less transactions, and upgradability.

zkEVM
zkEVM

A zk-rollup that can generate zk proofs for general EVM verification. This allows us to build a fully EVM-compatible zk-Rollup, which any existing Ethereum application can easily migrate to.

MACI
MACI (Minimal Anti-Collusion Infrastructure)

MACI uses zero knowledge proofs for collusion resistance in blockchain voting (such as quadratic funding mechanisms) by making it impossible for anyone other than the vote coordinator to verify how a specific user voted. MACI also ensures correct execution of the votes, allowing anyone to verify the results.

Unirep
Unirep

Unirep allows anonymous members of a group to give, receive, and prove reputation without revealing their identity. Applications or people can act as attesters and build their own reputation tokens on top of a shared Unirep contract.

Semaphore
Semaphore

Semaphore is a protocol, designed to be a simple and generic privacy layer for Ethereum DApps. Using zero knowledge, Ethereum users can prove their membership of a group and send signals such as votes or endorsements without revealing their original identity.

Interep
Interep

Private reputation and identity system allowing services to verify that users belong to a certain group or meet certain reputation criteria without revealing their identities. Users can anonymously export reputation from platforms such as Twitter and Github.

Clr.fund
Clr.fund for Everyone

Infrastructure to make it easy for any community to run their own CLR round with clr.fund.

Rate Limiting Nullifier
Rate Limiting Nullifier

RLN is a construct based on zero-knowledge proofs that enables spam prevention mechanism for decentralized, anonymous environments. In anonymous environments, the identity of the entities is unknown.

zk-chat
zk-chat

Anonymous and private chat environments, using Interep for a privacy preserving registry and sybil resistance and RLN for spam protection.

COCO
COCO

Collaborative content curation of online communities using a double-or-nothing challenge mechanism.

Trusted Setup
Trusted Setup

Open source infrastructure for running a trusted setup ceremony, in which many people participate in generating entropy which will secure a cryptographic protocol. Perpetual Powers of Tau: A universal ceremony for the initial phase of a trusted setup. MPC Phase 2 UI: UI for a CLI or browser-based ceremony for the second, circuit-specific phase for Groth-16 SNARKs.

TLSNotary
TLSNotary

TLSNotary leverages the ubiquitous TLS protocol to allow users to privately export their data from any webserver in a provable way.

Team Members

James Zaki

BLS Wallet project lead and software engineer

sinu

TLSNotary Project Lead and Software Engineer

AtHeartEngineer

Full stack / systems engineer; working on RLN

Geoff Lamperd

Full stack engineer; working on Trusted Setup and Interep

diff --git a/main.js b/main.js index 793dec9..f7a49e3 100644 --- a/main.js +++ b/main.js @@ -152,17 +152,6 @@ eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs /***/ }), -/***/ "./src/AboutPage.tsx": -/*!***************************!*\ - !*** ./src/AboutPage.tsx ***! - \***************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_Starter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Starter */ \"./src/components/Starter.tsx\");\n/* harmony import */ var _components_Navbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Navbar */ \"./src/components/Navbar.tsx\");\n/* harmony import */ var _components_AboutCard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/AboutCard */ \"./src/components/AboutCard.tsx\");\n/* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/Footer */ \"./src/components/Footer.tsx\");\n/* harmony import */ var _TeamPage_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TeamPage.css */ \"./src/TeamPage.css\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\nfunction AboutPage() {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"container-sm\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Starter__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Navbar__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_AboutCard__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Footer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {})]\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AboutPage);\n\n//# sourceURL=webpack://pse-landingpage/./src/AboutPage.tsx?"); - -/***/ }), - /***/ "./src/HomePage.tsx": /*!**************************!*\ !*** ./src/HomePage.tsx ***! @@ -170,18 +159,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _com /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_Starter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Starter */ \"./src/components/Starter.tsx\");\n/* harmony import */ var _components_Projects__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Projects */ \"./src/components/Projects.tsx\");\n/* harmony import */ var _components_Navbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Navbar */ \"./src/components/Navbar.tsx\");\n/* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/Footer */ \"./src/components/Footer.tsx\");\n/* harmony import */ var _HomePage_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./HomePage.css */ \"./src/HomePage.css\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\nfunction HomePage() {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"Home container-sm\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Starter__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Navbar__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Projects__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Footer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {})]\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (HomePage);\n\n//# sourceURL=webpack://pse-landingpage/./src/HomePage.tsx?"); - -/***/ }), - -/***/ "./src/TeamPage.tsx": -/*!**************************!*\ - !*** ./src/TeamPage.tsx ***! - \**************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_Starter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Starter */ \"./src/components/Starter.tsx\");\n/* harmony import */ var _components_Navbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Navbar */ \"./src/components/Navbar.tsx\");\n/* harmony import */ var _components_Team__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Team */ \"./src/components/Team.tsx\");\n/* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/Footer */ \"./src/components/Footer.tsx\");\n/* harmony import */ var _TeamPage_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TeamPage.css */ \"./src/TeamPage.css\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\nfunction TeamPage() {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"container-sm\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Starter__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Navbar__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Team__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_components_Footer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {})]\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TeamPage);\n\n//# sourceURL=webpack://pse-landingpage/./src/TeamPage.tsx?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_Navbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Navbar */ \"./src/components/Navbar.tsx\");\n/* harmony import */ var _components_Hero__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Hero */ \"./src/components/Hero.tsx\");\n/* harmony import */ var _components_Projects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Projects */ \"./src/components/Projects.tsx\");\n/* harmony import */ var _components_Team__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/Team */ \"./src/components/Team.tsx\");\n/* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/Footer */ \"./src/components/Footer.tsx\");\n/* harmony import */ var _HomePage_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HomePage.css */ \"./src/HomePage.css\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\n\nfunction HomePage() {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(\"div\", {\n className: \"Home container-sm\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_components_Navbar__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_components_Hero__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_components_Projects__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_components_Team__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_components_Footer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {})]\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (HomePage);\n\n//# sourceURL=webpack://pse-landingpage/./src/HomePage.tsx?"); /***/ }), @@ -196,17 +174,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "./src/components/AboutCard.tsx": -/*!**************************************!*\ - !*** ./src/components/AboutCard.tsx ***! - \**************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AboutCard_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AboutCard.css */ \"./src/components/AboutCard.css\");\n/* harmony import */ var _MagicCard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MagicCard */ \"./src/components/MagicCard.tsx\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\nfunction AboutCard() {\n let cardData = {\n name: 'About us',\n description: 'lorem ipsum'\n };\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"div\", {\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_MagicCard__WEBPACK_IMPORTED_MODULE_1__[\"default\"], { ...cardData,\n renderBanner: false\n })\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AboutCard);\n\n//# sourceURL=webpack://pse-landingpage/./src/components/AboutCard.tsx?"); - -/***/ }), - /***/ "./src/components/CardSection.tsx": /*!****************************************!*\ !*** ./src/components/CardSection.tsx ***! @@ -229,6 +196,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./src/components/Hero.tsx": +/*!*********************************!*\ + !*** ./src/components/Hero.tsx ***! + \*********************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _images_pse_logo_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../images/pse-logo.svg */ \"./src/images/pse-logo.svg\");\n/* harmony import */ var _images_pse_logo_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_images_pse_logo_svg__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _images_arrow_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../images/arrow.svg */ \"./src/images/arrow.svg\");\n/* harmony import */ var _images_arrow_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_images_arrow_svg__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _images_discord_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../images/discord.svg */ \"./src/images/discord.svg\");\n/* harmony import */ var _images_discord_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_images_discord_svg__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _images_twitter_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../images/twitter.svg */ \"./src/images/twitter.svg\");\n/* harmony import */ var _images_twitter_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_images_twitter_svg__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Hero_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Hero.css */ \"./src/components/Hero.css\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\nfunction Hero() {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"hero\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"img\", {\n src: (_images_pse_logo_svg__WEBPACK_IMPORTED_MODULE_0___default()),\n alt: \"eth pse logo\",\n className: \"pselogo\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"intro h-100 p-3 bg-light-purple border border-5 border-dark\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"h1\", {\n className: \"pt-3 pb-4\",\n children: \"Welcome to Privacy & Scaling Explorations\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"p\", {\n children: \"A multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives through research and proof-of-concept implementation.\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"p\", {\n className: \"pb-2\",\n children: \"We facilitate the integration of ZK primitives into decentralized applications.\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"a\", {\n href: \"https://jobs.lever.co/ethereumfoundation/?department=Ethereum%20Foundation&team=Privacy%20and%20Scaling%20Explorations\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"button\", {\n className: \"btn bg-pink box-shadow mb-3\",\n children: \"We are hiring!\"\n })\n })]\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"center\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: \"link\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"a\", {\n href: \"https://twitter.com/PrivacyScaling\",\n className: \"btn bg-aqua box-shadow\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"img\", {\n src: (_images_twitter_svg__WEBPACK_IMPORTED_MODULE_3___default()),\n alt: \"\",\n className: \"icon\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n children: \"Twitter\"\n })]\n })\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: \"link\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"a\", {\n href: \"https://discord.gg/g5YTV7HHbh\",\n className: \"btn bg-green box-shadow\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"img\", {\n src: (_images_discord_svg__WEBPACK_IMPORTED_MODULE_2___default()),\n alt: \"\",\n className: \"icon\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n children: \"Discord\"\n })]\n })\n })]\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"col-md-12 arrow\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"img\", {\n src: (_images_arrow_svg__WEBPACK_IMPORTED_MODULE_1___default()),\n alt: \"\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: \"fst-italic more-info\",\n style: {\n opacity: '85%',\n paddingTop: '1rem'\n },\n children: \"more info below\"\n })]\n })]\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Hero);\n\n//# sourceURL=webpack://pse-landingpage/./src/components/Hero.tsx?"); + +/***/ }), + /***/ "./src/components/MagicCard.tsx": /*!**************************************!*\ !*** ./src/components/MagicCard.tsx ***! @@ -236,7 +214,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _images_globe_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../images/globe.svg */ \"./src/images/globe.svg\");\n/* harmony import */ var _images_globe_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_images_globe_svg__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _images_github_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../images/github.svg */ \"./src/images/github.svg\");\n/* harmony import */ var _images_github_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_images_github_svg__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _images_discord_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../images/discord.svg */ \"./src/images/discord.svg\");\n/* harmony import */ var _images_discord_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_images_discord_svg__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _images_twitter_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../images/twitter.svg */ \"./src/images/twitter.svg\");\n/* harmony import */ var _images_twitter_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_images_twitter_svg__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _images_telegram_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../images/telegram.svg */ \"./src/images/telegram.svg\");\n/* harmony import */ var _images_telegram_svg__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_images_telegram_svg__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _MagicCard_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MagicCard.css */ \"./src/components/MagicCard.css\");\n/* harmony import */ var color_hash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! color-hash */ \"./node_modules/color-hash/dist/color-hash.js\");\n/* harmony import */ var color_hash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(color_hash__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\n\n\nfunction renderLink(url, source, icon, button = true) {\n if (!button) {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"link\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(\"a\", {\n href: url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"img\", {\n className: \"icon\",\n src: icon,\n alt: source\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"link-title\",\n children: source\n })]\n })\n }, url);\n } else {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"link\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(\"a\", {\n href: url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"btn\",\n style: {\n backgroundColor: `var(--${source})`\n },\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"img\", {\n className: \"icon\",\n src: icon,\n alt: source\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"link-title\",\n children: source\n })]\n })\n }, url);\n }\n}\n\nfunction renderBanner(name) {\n let hueRange = {\n min: 45,\n max: 360\n };\n let colorHashText = new (color_hash__WEBPACK_IMPORTED_MODULE_6___default())({\n hue: hueRange,\n lightness: [0.8, 0.9]\n }).hex(name);\n let colorHashBG = new (color_hash__WEBPACK_IMPORTED_MODULE_6___default())({\n hue: hueRange,\n lightness: [0.35, 0.4],\n saturation: [0.65, 0.85, 1]\n }).hex(name);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"svg\", {\n height: \"150px\",\n width: \"350px\",\n style: {\n backgroundColor: colorHashBG\n },\n className: \"card-img-top\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"text\", {\n textAnchor: \"middle\",\n x: \"50%\",\n y: \"58%\",\n fill: colorHashText,\n style: {\n fontSize: \"2.5rem\",\n fontStyle: \"italic\"\n },\n children: name\n })\n });\n}\n\nfunction renderDescription(description) {\n if (typeof description === \"string\") {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"p\", {\n className: \"card-text\",\n children: description\n });\n }\n\n return description.map((text, index) => {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"p\", {\n className: \"card-text\",\n children: text\n }, index);\n });\n}\n\nfunction MagicCard(props) {\n let links = props.links ? props.links.map(link => {\n if (link.github) {\n return renderLink(link.github, \"github\", (_images_github_svg__WEBPACK_IMPORTED_MODULE_1___default()));\n } else if (link.website) {\n return renderLink(link.website, \"website\", (_images_globe_svg__WEBPACK_IMPORTED_MODULE_0___default()));\n } else if (link.discord) {\n return renderLink(link.discord, \"discord\", (_images_discord_svg__WEBPACK_IMPORTED_MODULE_2___default()));\n } else if (link.twitter) {\n return renderLink(link.twitter, \"twitter\", (_images_twitter_svg__WEBPACK_IMPORTED_MODULE_3___default()));\n } else if (link.telegram) {\n return renderLink(link.telegram, \"telegram\", (_images_telegram_svg__WEBPACK_IMPORTED_MODULE_4___default()));\n } else {\n return null;\n }\n }) : null;\n\n let img = (() => {\n try {\n if (props.image) {\n let imageSource;\n\n if (props.image.startsWith(\"http\")) {\n imageSource = props.image;\n } else {\n imageSource = __webpack_require__(\"./src/images sync recursive ^\\\\.\\\\/.*$\")(`./${props.image}`);\n }\n\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"img\", {\n className: \"card-img-top\",\n src: imageSource,\n alt: props.name\n });\n } else if (props.renderBanner == true || props.renderBanner == undefined) {\n return renderBanner(props.short_name || props.name);\n } else {\n return null;\n }\n } catch (e) {\n if (props.renderBanner == true || props.renderBanner == undefined) {\n return renderBanner(props.short_name || props.name);\n } else {\n return null;\n }\n }\n })();\n\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(\"div\", {\n className: \"card border border-5 border-dark p-3\",\n children: [img, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(\"div\", {\n className: \"card-body\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"h5\", {\n className: \"card-title\",\n children: props.name\n }), renderDescription(props.description)]\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"card-footer\",\n children: links\n })]\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MagicCard);\n\n//# sourceURL=webpack://pse-landingpage/./src/components/MagicCard.tsx?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _images_globe_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../images/globe.svg */ \"./src/images/globe.svg\");\n/* harmony import */ var _images_globe_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_images_globe_svg__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _images_github_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../images/github.svg */ \"./src/images/github.svg\");\n/* harmony import */ var _images_github_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_images_github_svg__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _images_discord_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../images/discord.svg */ \"./src/images/discord.svg\");\n/* harmony import */ var _images_discord_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_images_discord_svg__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _images_twitter_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../images/twitter.svg */ \"./src/images/twitter.svg\");\n/* harmony import */ var _images_twitter_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_images_twitter_svg__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _images_telegram_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../images/telegram.svg */ \"./src/images/telegram.svg\");\n/* harmony import */ var _images_telegram_svg__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_images_telegram_svg__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _MagicCard_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MagicCard.css */ \"./src/components/MagicCard.css\");\n/* harmony import */ var color_hash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! color-hash */ \"./node_modules/color-hash/dist/color-hash.js\");\n/* harmony import */ var color_hash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(color_hash__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\n\n\nfunction renderLink(url, source, icon, button = true) {\n if (url) {}\n\n if (!button) {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"link\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(\"a\", {\n href: url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"img\", {\n className: \"icon\",\n src: icon,\n alt: source\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"link-title\",\n children: source\n })]\n })\n }, url);\n } else {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"link\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(\"a\", {\n href: url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"btn\",\n style: {\n backgroundColor: `var(--${source})`\n },\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"img\", {\n className: \"icon\",\n src: icon,\n alt: source\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"link-title\",\n children: source\n })]\n })\n }, url);\n }\n}\n\nfunction renderBanner(name) {\n let hueRange = {\n min: 45,\n max: 360\n };\n let colorHashText = new (color_hash__WEBPACK_IMPORTED_MODULE_6___default())({\n hue: hueRange,\n lightness: [0.8, 0.9]\n }).hex(name);\n let colorHashBG = new (color_hash__WEBPACK_IMPORTED_MODULE_6___default())({\n hue: hueRange,\n lightness: [0.35, 0.4],\n saturation: [0.65, 0.85, 1]\n }).hex(name);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"svg\", {\n height: \"150px\",\n width: \"350px\",\n style: {\n backgroundColor: colorHashBG\n },\n className: \"card-img-top\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"text\", {\n textAnchor: \"middle\",\n x: \"50%\",\n y: \"58%\",\n fill: colorHashText,\n style: {\n fontSize: \"2.5rem\",\n fontStyle: \"italic\"\n },\n children: name\n })\n });\n}\n\nfunction renderDescription(description) {\n if (typeof description === \"string\") {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"p\", {\n className: \"card-text\",\n children: description\n });\n }\n\n return description.map((text, index) => {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"p\", {\n className: \"card-text\",\n children: text\n }, index);\n });\n}\n\nfunction MagicCard(props) {\n let links = props.links ? props.links.map(link => {\n if (link.github) {\n return renderLink(link.github, \"github\", (_images_github_svg__WEBPACK_IMPORTED_MODULE_1___default()));\n } else if (link.website) {\n return renderLink(link.website, \"website\", (_images_globe_svg__WEBPACK_IMPORTED_MODULE_0___default()));\n } else if (link.discord) {\n return renderLink(link.discord, \"discord\", (_images_discord_svg__WEBPACK_IMPORTED_MODULE_2___default()));\n } else if (link.twitter) {\n return renderLink(link.twitter, \"twitter\", (_images_twitter_svg__WEBPACK_IMPORTED_MODULE_3___default()));\n } else if (link.telegram) {\n return renderLink(link.telegram, \"telegram\", (_images_telegram_svg__WEBPACK_IMPORTED_MODULE_4___default()));\n } else {\n return null;\n }\n }) : null;\n\n let img = (() => {\n try {\n if (props.image) {\n let imageSource;\n\n if (props.image.startsWith(\"http\")) {\n imageSource = props.image;\n } else {\n imageSource = __webpack_require__(\"./src/images sync recursive ^\\\\.\\\\/.*$\")(`./${props.image}`);\n }\n\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"img\", {\n className: \"card-img-top\",\n src: imageSource,\n alt: props.name\n });\n } else if (props.renderBanner == true || props.renderBanner == undefined) {\n return renderBanner(props.short_name || props.name);\n } else {\n return null;\n }\n } catch (e) {\n if (props.renderBanner == true || props.renderBanner == undefined) {\n return renderBanner(props.short_name || props.name);\n } else {\n return null;\n }\n }\n })();\n\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(\"div\", {\n className: \"card border border-5 border-dark p-3\",\n children: [img, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(\"div\", {\n className: \"card-body\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"h5\", {\n className: \"card-title\",\n children: props.name\n }), renderDescription(props.description)]\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(\"div\", {\n className: \"card-footer\",\n children: links\n })]\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MagicCard);\n\n//# sourceURL=webpack://pse-landingpage/./src/components/MagicCard.tsx?"); /***/ }), @@ -262,17 +240,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Car /***/ }), -/***/ "./src/components/Starter.tsx": -/*!************************************!*\ - !*** ./src/components/Starter.tsx ***! - \************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _images_pse_logo_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../images/pse-logo.svg */ \"./src/images/pse-logo.svg\");\n/* harmony import */ var _images_pse_logo_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_images_pse_logo_svg__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _images_arrow_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../images/arrow.svg */ \"./src/images/arrow.svg\");\n/* harmony import */ var _images_arrow_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_images_arrow_svg__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _images_discord_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../images/discord.svg */ \"./src/images/discord.svg\");\n/* harmony import */ var _images_discord_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_images_discord_svg__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _images_twitter_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../images/twitter.svg */ \"./src/images/twitter.svg\");\n/* harmony import */ var _images_twitter_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_images_twitter_svg__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Starter_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Starter.css */ \"./src/components/Starter.css\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\nfunction Starter() {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"starter\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"img\", {\n src: (_images_pse_logo_svg__WEBPACK_IMPORTED_MODULE_0___default()),\n alt: \"eth pse logo\",\n className: \"pselogo\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"intro h-100 p-3 bg-light-purple border border-5 border-dark\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"h1\", {\n className: \"pt-3 pb-4\",\n children: \"Welcome to Privacy & Scaling Explorations\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"p\", {\n children: \"A multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives through research and proof-of-concept implementation.\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"p\", {\n className: \"pb-2\",\n children: \"We facilitate the integration of ZK primitives into decentralized applications.\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"a\", {\n href: \"https://jobs.lever.co/ethereumfoundation/?department=Ethereum%20Foundation&team=Privacy%20and%20Scaling%20Explorations\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"button\", {\n className: \"btn bg-pink box-shadow mb-3\",\n children: \"We are hiring!\"\n })\n })]\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"center\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: \"link\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"a\", {\n href: \"https://twitter.com/PrivacyScaling\",\n className: \"btn bg-aqua box-shadow\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"img\", {\n src: (_images_twitter_svg__WEBPACK_IMPORTED_MODULE_3___default()),\n alt: \"\",\n className: \"icon\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n children: \"Twitter\"\n })]\n })\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: \"link\",\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"a\", {\n href: \"https://discord.gg/g5YTV7HHbh\",\n className: \"btn bg-green box-shadow\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"img\", {\n src: (_images_discord_svg__WEBPACK_IMPORTED_MODULE_2___default()),\n alt: \"\",\n className: \"icon\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n children: \"Discord\"\n })]\n })\n })]\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(\"div\", {\n className: \"col-md-12 arrow\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"img\", {\n src: (_images_arrow_svg__WEBPACK_IMPORTED_MODULE_1___default()),\n alt: \"\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: \"fst-italic more-info\",\n style: {\n opacity: '85%',\n paddingTop: '1rem'\n },\n children: \"more info below\"\n })]\n })]\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Starter);\n\n//# sourceURL=webpack://pse-landingpage/./src/components/Starter.tsx?"); - -/***/ }), - /***/ "./src/components/Team.tsx": /*!*********************************!*\ !*** ./src/components/Team.tsx ***! @@ -280,7 +247,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ima /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _CardSection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CardSection */ \"./src/components/CardSection.tsx\");\n/* harmony import */ var _data_Team_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/Team.json */ \"./src/data/Team.json\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\nfunction Team() {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_CardSection__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n title: \"Team Members\",\n cardData: _data_Team_json__WEBPACK_IMPORTED_MODULE_1__,\n renderBanner: false\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Team);\n\n//# sourceURL=webpack://pse-landingpage/./src/components/Team.tsx?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _CardSection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CardSection */ \"./src/components/CardSection.tsx\");\n/* harmony import */ var _data_Team_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/Team.json */ \"./src/data/Team.json\");\n/* harmony import */ var _Team_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Team.css */ \"./src/components/Team.css\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\nfunction Team() {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_CardSection__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n title: \"Team Members\",\n cardData: _data_Team_json__WEBPACK_IMPORTED_MODULE_1__,\n renderBanner: false\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Team);\n\n//# sourceURL=webpack://pse-landingpage/./src/components/Team.tsx?"); /***/ }), @@ -291,7 +258,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Car /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\");\n/* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.css */ \"./src/index.css\");\n/* harmony import */ var _HomePage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HomePage */ \"./src/HomePage.tsx\");\n/* harmony import */ var _TeamPage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TeamPage */ \"./src/TeamPage.tsx\");\n/* harmony import */ var _AboutPage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AboutPage */ \"./src/AboutPage.tsx\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router-dom/index.js\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router/index.js\");\n/* harmony import */ var _reportWebVitals__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./reportWebVitals */ \"./src/reportWebVitals.ts\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\n\n\n\nconst root = react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot(document.getElementById('root'));\nroot.render( /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_8__.BrowserRouter, {\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Routes, {\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, {\n index: true,\n element: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_HomePage__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {})\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, {\n path: \"projects\",\n element: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_HomePage__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {})\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, {\n path: \"team\",\n element: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_TeamPage__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {})\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Route, {\n path: \"about\",\n element: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_AboutPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {})\n })]\n })\n})); // If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n\n(0,_reportWebVitals__WEBPACK_IMPORTED_MODULE_6__[\"default\"])();\n\n//# sourceURL=webpack://pse-landingpage/./src/index.tsx?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\");\n/* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.css */ \"./src/index.css\");\n/* harmony import */ var _HomePage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HomePage */ \"./src/HomePage.tsx\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router-dom/index.js\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router/index.js\");\n/* harmony import */ var _reportWebVitals__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reportWebVitals */ \"./src/reportWebVitals.ts\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n\n\n\nconst root = react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot(document.getElementById('root'));\nroot.render( /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_6__.BrowserRouter, {\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_7__.Routes, {\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_7__.Route, {\n index: true,\n element: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_HomePage__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {})\n })\n })\n})); // If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n\n(0,_reportWebVitals__WEBPACK_IMPORTED_MODULE_4__[\"default\"])();\n\n//# sourceURL=webpack://pse-landingpage/./src/index.tsx?"); /***/ }), @@ -517,28 +484,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extr /***/ }), -/***/ "./src/TeamPage.css": -/*!**************************!*\ - !*** ./src/TeamPage.css ***! - \**************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://pse-landingpage/./src/TeamPage.css?"); - -/***/ }), - -/***/ "./src/components/AboutCard.css": -/*!**************************************!*\ - !*** ./src/components/AboutCard.css ***! - \**************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://pse-landingpage/./src/components/AboutCard.css?"); - -/***/ }), - /***/ "./src/components/CardSection.css": /*!****************************************!*\ !*** ./src/components/CardSection.css ***! @@ -561,6 +506,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extr /***/ }), +/***/ "./src/components/Hero.css": +/*!*********************************!*\ + !*** ./src/components/Hero.css ***! + \*********************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://pse-landingpage/./src/components/Hero.css?"); + +/***/ }), + /***/ "./src/components/MagicCard.css": /*!**************************************!*\ !*** ./src/components/MagicCard.css ***! @@ -583,14 +539,14 @@ eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extr /***/ }), -/***/ "./src/components/Starter.css": -/*!************************************!*\ - !*** ./src/components/Starter.css ***! - \************************************/ +/***/ "./src/components/Team.css": +/*!*********************************!*\ + !*** ./src/components/Team.css ***! + \*********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://pse-landingpage/./src/components/Starter.css?"); +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://pse-landingpage/./src/components/Team.css?"); /***/ }), diff --git a/styles.css b/styles.css index 6de4e35..c460e1c 100644 --- a/styles.css +++ b/styles.css @@ -21,6 +21,9 @@ --github: #e8eaea; --discord: #7289da; --website: var(--green); + + --background: var(--purple); + --link-bold: #854ad1; } body { @@ -28,13 +31,10 @@ body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; - background: var(--purple); + background: var(--background); background-attachment: fixed; height: 100vh; font-family: "Inter", sans-serif; - /* background-image: url('./images/pse-deco.png'); */ - background-repeat: no-repeat; - background-position: right -20em bottom 5em; } /* @@ -133,10 +133,23 @@ a:hover { } } -/*!******************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./src/components/Starter.css ***! - \******************************************************************************/ -.starter { +/*!*****************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js!./src/components/Navbar.css ***! + \*****************************************************************************/ +.nav-buttons { + display: flex; + align-items: center; + justify-content: center; + gap: 1rem; +} + +.nav-buttons > * { + font-size: 1.3rem; +} +/*!***************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js!./src/components/Hero.css ***! + \***************************************************************************/ +.hero { min-height: 100vh; display: flex; flex-direction: column; @@ -144,7 +157,7 @@ a:hover { gap: 1rem; } -.starter > * { +.hero > * { margin: 0 auto; text-align: center; } @@ -272,19 +285,10 @@ a[href="#"]:hover { .CardSectionTitle { text-shadow: -1px 1px 1px rgba(255,255,255,0.66); } -/*!*****************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./src/components/Navbar.css ***! - \*****************************************************************************/ -.nav-buttons { - display: flex; - align-items: center; - justify-content: center; - gap: 1rem; -} +/*!***************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js!./src/components/Team.css ***! + \***************************************************************************/ -.nav-buttons > * { - font-size: 1.3rem; -} /*!*****************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js!./src/components/Footer.css ***! \*****************************************************************************/ @@ -312,11 +316,3 @@ a[href="#"]:hover { } -/*!********************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./src/TeamPage.css ***! - \********************************************************************/ - -/*!********************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./src/components/AboutCard.css ***! - \********************************************************************************/ - diff --git a/team/index.html b/team/index.html index 64f71e0..50f1815 100644 --- a/team/index.html +++ b/team/index.html @@ -29,7 +29,7 @@ -

Welcome to Privacy & Scaling Explorations

A multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives through research and proof-of-concept implementation.

We facilitate the integration of ZK primitives into decentralized applications.

more info below

Team Members

Geoff Lamperd

Full stack engineer; working on Trusted Setup and Interep

sinu

TLSNotary Project Lead and Software Engineer

James Zaki

BLS Wallet project lead and software engineer

AtHeartEngineer

Full stack / systems engineer; working on RLN

+

Welcome to Privacy & Scaling Explorations

A multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives through research and proof-of-concept implementation.

We facilitate the integration of ZK primitives into decentralized applications.

more info below

Team Members

AtHeartEngineer

Full stack / systems engineer; working on RLN

James Zaki

BLS Wallet project lead and software engineer

sinu

TLSNotary Project Lead and Software Engineer

Geoff Lamperd

Full stack engineer; working on Trusted Setup and Interep