mirror of
https://github.com/semaphore-protocol/semaphore.git
synced 2026-01-13 16:48:00 -05:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
281f00ebd5 |
2
.github/workflows/docs.yml
vendored
2
.github/workflows/docs.yml
vendored
@@ -41,6 +41,6 @@ jobs:
|
||||
with:
|
||||
build_dir: docs
|
||||
jekyll: false
|
||||
fqdn: js.semaphore.pse.dev
|
||||
fqdn: js.semaphore.appliedzkp.org
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
35
README.md
35
README.md
@@ -52,7 +52,7 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
@@ -61,7 +61,7 @@
|
||||
| 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. |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|
||||
The core of the Semaphore protocol is in the [circuit logic](/packages/circuits/scheme.png). However Semaphore also provides [Solidity contracts](/packages/contracts) and JavaScript libraries to make the steps for offchain proof creation and onchain verification easier. To learn more about Semaphore visit [semaphore.pse.dev](https://semaphore.pse.dev).
|
||||
The core of the Semaphore protocol is in the [circuit logic](/packages/circuits/scheme.png). However Semaphore also provides [Solidity contracts](/packages/contracts) and JavaScript libraries to make the steps for offchain proof creation and onchain verification easier. To learn more about Semaphore visit [semaphore.appliedzkp.org](https://semaphore.appliedzkp.org).
|
||||
|
||||
## 📦 Packages
|
||||
|
||||
@@ -94,7 +94,7 @@ The core of the Semaphore protocol is in the [circuit logic](/packages/circuits/
|
||||
<a href="/packages/identity">
|
||||
@semaphore-protocol/identity
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/identity">
|
||||
<a href="https://js.semaphore.appliedzkp.org/identity">
|
||||
(docs)
|
||||
</a>
|
||||
</td>
|
||||
@@ -116,7 +116,7 @@ The core of the Semaphore protocol is in the [circuit logic](/packages/circuits/
|
||||
<a href="/packages/group">
|
||||
@semaphore-protocol/group
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/group">
|
||||
<a href="https://js.semaphore.appliedzkp.org/group">
|
||||
(docs)
|
||||
</a>
|
||||
</td>
|
||||
@@ -138,7 +138,7 @@ The core of the Semaphore protocol is in the [circuit logic](/packages/circuits/
|
||||
<a href="/packages/proof">
|
||||
@semaphore-protocol/proof
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/proof">
|
||||
<a href="https://js.semaphore.appliedzkp.org/proof">
|
||||
(docs)
|
||||
</a>
|
||||
</td>
|
||||
@@ -160,7 +160,7 @@ The core of the Semaphore protocol is in the [circuit logic](/packages/circuits/
|
||||
<a href="/packages/data">
|
||||
@semaphore-protocol/data
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/data">
|
||||
<a href="https://js.semaphore.appliedzkp.org/data">
|
||||
(docs)
|
||||
</a>
|
||||
</td>
|
||||
@@ -220,7 +220,7 @@ The core of the Semaphore protocol is in the [circuit logic](/packages/circuits/
|
||||
<a href="/packages/heyauthn">
|
||||
@semaphore-protocol/heyauthn
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/heyauthn">
|
||||
<a href="https://js.semaphore.appliedzkp.org/heyauthn">
|
||||
(docs)
|
||||
</a>
|
||||
</td>
|
||||
@@ -251,7 +251,7 @@ The following are some of the internal and external projects that use Semaphore.
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://explorer.semaphore.pse.dev">
|
||||
<a href="https://explorer.semaphore.appliedzkp.org">
|
||||
Semaphore Explorer
|
||||
</a>
|
||||
</td>
|
||||
@@ -262,7 +262,7 @@ The following are some of the internal and external projects that use Semaphore.
|
||||
<a href="https://github.com/semaphore-protocol/explorer">
|
||||
Github
|
||||
</a>|
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
Discord
|
||||
</a>
|
||||
</td>
|
||||
@@ -280,7 +280,7 @@ The following are some of the internal and external projects that use Semaphore.
|
||||
<a href="https://github.com/semaphore-protocol/discord-bot">
|
||||
Github
|
||||
</a>|
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
Discord
|
||||
</a>
|
||||
</td>
|
||||
@@ -361,21 +361,6 @@ The following are some of the internal and external projects that use Semaphore.
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://stealthcomms.surge.sh/">
|
||||
StealthComms
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
A project that allows users to prove their membership in a group and send messages/signals without revealing their original identity.
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://github.com/atomniketh/zk-app">
|
||||
Github
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tbody>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -28,10 +28,10 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
To learn more about circuits visit [semaphore.pse.dev](https://semaphore.pse.dev/docs/technical-reference/circuits).
|
||||
To learn more about circuits visit [semaphore.appliedzkp.org](https://semaphore.appliedzkp.org/docs/technical-reference/circuits).
|
||||
|
||||
@@ -48,7 +48,7 @@ yarn deploy --semaphore <semaphore-address> --group <group-id> --network goerli
|
||||
```
|
||||
|
||||
> **Note**
|
||||
> Check the Semaphore contract addresses [here](https://semaphore.pse.dev/docs/deployed-contracts#semaphore).
|
||||
> Check the Semaphore contract addresses [here](https://semaphore.appliedzkp.org/docs/deployed-contracts#semaphore).
|
||||
|
||||
> **Warning**
|
||||
> The group id is a number!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/cli-template-contracts-hardhat",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "Semaphore Hardhat template.",
|
||||
"license": "Unlicense",
|
||||
"files": [
|
||||
@@ -36,10 +36,10 @@
|
||||
"@nomicfoundation/hardhat-toolbox": "^2.0.0",
|
||||
"@nomiclabs/hardhat-ethers": "^2.0.0",
|
||||
"@nomiclabs/hardhat-etherscan": "^3.0.0",
|
||||
"@semaphore-protocol/group": "3.11.1",
|
||||
"@semaphore-protocol/hardhat": "3.11.1",
|
||||
"@semaphore-protocol/identity": "3.11.1",
|
||||
"@semaphore-protocol/proof": "3.11.1",
|
||||
"@semaphore-protocol/group": "3.10.0",
|
||||
"@semaphore-protocol/hardhat": "3.10.0",
|
||||
"@semaphore-protocol/identity": "3.10.0",
|
||||
"@semaphore-protocol/proof": "3.10.0",
|
||||
"@typechain/ethers-v5": "^10.1.0",
|
||||
"@typechain/hardhat": "^6.1.2",
|
||||
"@types/chai": "^4.2.0",
|
||||
@@ -58,7 +58,7 @@
|
||||
"typescript": ">=4.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@semaphore-protocol/contracts": "3.11.1"
|
||||
"@semaphore-protocol/contracts": "3.10.0"
|
||||
},
|
||||
"config": {
|
||||
"solidity": {
|
||||
|
||||
@@ -33,7 +33,7 @@ yarn deploy --semaphore <semaphore-address> --group <group-id> --network arbitru
|
||||
3. Copy your contract artifacts from `apps/contracts/build/contracts/contracts` folder to `apps/web-app/contract-artifacts` folders manually. Or run `yarn copy:contract-artifacts` in the project root to do it automatically.
|
||||
|
||||
> **Note**
|
||||
> Check the Semaphore contract addresses [here](https://semaphore.pse.dev/docs/deployed-contracts).
|
||||
> Check the Semaphore contract addresses [here](https://semaphore.appliedzkp.org/docs/deployed-contracts).
|
||||
|
||||
> **Warning**
|
||||
> The group id is a number!
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
"@nomicfoundation/hardhat-chai-matchers": "^1.0.5",
|
||||
"@nomiclabs/hardhat-ethers": "^2.0.0",
|
||||
"@nomiclabs/hardhat-etherscan": "^3.1.7",
|
||||
"@semaphore-protocol/group": "3.11.1",
|
||||
"@semaphore-protocol/hardhat": "3.11.1",
|
||||
"@semaphore-protocol/identity": "3.11.1",
|
||||
"@semaphore-protocol/proof": "3.11.1",
|
||||
"@semaphore-protocol/group": "3.10.0",
|
||||
"@semaphore-protocol/hardhat": "3.10.0",
|
||||
"@semaphore-protocol/identity": "3.10.0",
|
||||
"@semaphore-protocol/proof": "3.10.0",
|
||||
"@typechain/ethers-v5": "^10.0.0",
|
||||
"@typechain/hardhat": "^6.0.0",
|
||||
"@types/chai": "^4.3.1",
|
||||
@@ -40,7 +40,7 @@
|
||||
"typechain": "^8.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@semaphore-protocol/contracts": "3.11.1"
|
||||
"@semaphore-protocol/contracts": "3.10.0"
|
||||
},
|
||||
"config": {
|
||||
"solidity": {
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@next/font": "13.0.3",
|
||||
"@semaphore-protocol/data": "3.11.1",
|
||||
"@semaphore-protocol/group": "3.11.1",
|
||||
"@semaphore-protocol/identity": "3.11.1",
|
||||
"@semaphore-protocol/proof": "3.11.1",
|
||||
"@semaphore-protocol/data": "3.10.0",
|
||||
"@semaphore-protocol/group": "3.10.0",
|
||||
"@semaphore-protocol/identity": "3.10.0",
|
||||
"@semaphore-protocol/proof": "3.10.0",
|
||||
"@types/react": "18.0.25",
|
||||
"@types/react-dom": "18.0.8",
|
||||
"dotenv": "^16.0.3",
|
||||
|
||||
@@ -84,7 +84,7 @@ export default function GroupsPage() {
|
||||
<p>
|
||||
Semaphore{" "}
|
||||
<a
|
||||
href="https://semaphore.pse.dev/docs/guides/groups"
|
||||
href="https://semaphore.appliedzkp.org/docs/guides/groups"
|
||||
target="_blank"
|
||||
rel="noreferrer noopener nofollow"
|
||||
>
|
||||
|
||||
@@ -40,7 +40,7 @@ export default function IdentitiesPage() {
|
||||
<p>
|
||||
Users interact with the protocol using a Semaphore{" "}
|
||||
<a
|
||||
href="https://semaphore.pse.dev/docs/guides/identities"
|
||||
href="https://semaphore.appliedzkp.org/docs/guides/identities"
|
||||
target="_blank"
|
||||
rel="noreferrer noopener nofollow"
|
||||
>
|
||||
|
||||
@@ -112,7 +112,7 @@ export default function ProofsPage() {
|
||||
<p>
|
||||
Semaphore members can anonymously{" "}
|
||||
<a
|
||||
href="https://semaphore.pse.dev/docs/guides/proofs"
|
||||
href="https://semaphore.appliedzkp.org/docs/guides/proofs"
|
||||
target="_blank"
|
||||
rel="noreferrer noopener nofollow"
|
||||
>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/cli-template-monorepo-ethers",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "Semaphore Hardhat + Next.js + SemaphoreEthers template.",
|
||||
"license": "Unlicense",
|
||||
"files": [
|
||||
|
||||
@@ -33,7 +33,7 @@ yarn deploy --semaphore <semaphore-address> --group <group-id> --network arbitru
|
||||
3. Copy your contract artifacts from `apps/contracts/build/contracts/contracts` folder to `apps/web-app/contract-artifacts` folders manually. Or run `yarn copy:contract-artifacts` in the project root to do it automatically.
|
||||
|
||||
> **Note**
|
||||
> Check the Semaphore contract addresses [here](https://semaphore.pse.dev/docs/deployed-contracts).
|
||||
> Check the Semaphore contract addresses [here](https://semaphore.appliedzkp.org/docs/deployed-contracts).
|
||||
|
||||
> **Warning**
|
||||
> The group id is a number!
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
"@nomicfoundation/hardhat-chai-matchers": "^1.0.5",
|
||||
"@nomiclabs/hardhat-ethers": "^2.0.0",
|
||||
"@nomiclabs/hardhat-etherscan": "^3.1.7",
|
||||
"@semaphore-protocol/group": "3.11.1",
|
||||
"@semaphore-protocol/hardhat": "3.11.1",
|
||||
"@semaphore-protocol/identity": "3.11.1",
|
||||
"@semaphore-protocol/proof": "3.11.1",
|
||||
"@semaphore-protocol/group": "3.10.0",
|
||||
"@semaphore-protocol/hardhat": "3.10.0",
|
||||
"@semaphore-protocol/identity": "3.10.0",
|
||||
"@semaphore-protocol/proof": "3.10.0",
|
||||
"@typechain/ethers-v5": "^10.0.0",
|
||||
"@typechain/hardhat": "^6.0.0",
|
||||
"@types/chai": "^4.3.1",
|
||||
@@ -40,7 +40,7 @@
|
||||
"typechain": "^8.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@semaphore-protocol/contracts": "3.11.1"
|
||||
"@semaphore-protocol/contracts": "3.10.0"
|
||||
},
|
||||
"config": {
|
||||
"solidity": {
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@next/font": "13.0.3",
|
||||
"@semaphore-protocol/data": "3.11.1",
|
||||
"@semaphore-protocol/group": "3.11.1",
|
||||
"@semaphore-protocol/identity": "3.11.1",
|
||||
"@semaphore-protocol/proof": "3.11.1",
|
||||
"@semaphore-protocol/data": "3.10.0",
|
||||
"@semaphore-protocol/group": "3.10.0",
|
||||
"@semaphore-protocol/identity": "3.10.0",
|
||||
"@semaphore-protocol/proof": "3.10.0",
|
||||
"@types/react": "18.0.25",
|
||||
"@types/react-dom": "18.0.8",
|
||||
"dotenv": "^16.0.3",
|
||||
|
||||
@@ -84,7 +84,7 @@ export default function GroupsPage() {
|
||||
<p>
|
||||
Semaphore{" "}
|
||||
<a
|
||||
href="https://semaphore.pse.dev/docs/guides/groups"
|
||||
href="https://semaphore.appliedzkp.org/docs/guides/groups"
|
||||
target="_blank"
|
||||
rel="noreferrer noopener nofollow"
|
||||
>
|
||||
|
||||
@@ -40,7 +40,7 @@ export default function IdentitiesPage() {
|
||||
<p>
|
||||
Users interact with the protocol using a Semaphore{" "}
|
||||
<a
|
||||
href="https://semaphore.pse.dev/docs/guides/identities"
|
||||
href="https://semaphore.appliedzkp.org/docs/guides/identities"
|
||||
target="_blank"
|
||||
rel="noreferrer noopener nofollow"
|
||||
>
|
||||
|
||||
@@ -112,7 +112,7 @@ export default function ProofsPage() {
|
||||
<p>
|
||||
Semaphore members can anonymously{" "}
|
||||
<a
|
||||
href="https://semaphore.pse.dev/docs/guides/proofs"
|
||||
href="https://semaphore.appliedzkp.org/docs/guides/proofs"
|
||||
target="_blank"
|
||||
rel="noreferrer noopener nofollow"
|
||||
>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/cli-template-monorepo-subgraph",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "Semaphore Hardhat + Next.js + SemaphoreSubgraph template.",
|
||||
"license": "Unlicense",
|
||||
"files": [
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/cli",
|
||||
"type": "module",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "A command line tool to set up your Semaphore project and get group data.",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
@@ -43,7 +43,7 @@
|
||||
"typedoc": "^0.22.11"
|
||||
},
|
||||
"dependencies": {
|
||||
"@semaphore-protocol/data": "3.11.1",
|
||||
"@semaphore-protocol/data": "3.10.0",
|
||||
"axios": "^1.3.2",
|
||||
"boxen": "^7.0.1",
|
||||
"chalk": "^5.1.2",
|
||||
|
||||
@@ -132,10 +132,7 @@ program
|
||||
|
||||
const groupIds = await getGroupIds(network)
|
||||
|
||||
if (groupIds === null) {
|
||||
console.info(`\n ${logSymbols.info}`, `info: there are no groups on the '${network}' network\n`)
|
||||
return
|
||||
}
|
||||
if (groupIds === null) return
|
||||
|
||||
const content = `${chalk.bold("Groups")} (${groupIds.length}): \n${groupIds
|
||||
.map((id: any) => ` - ${id}`)
|
||||
@@ -163,10 +160,7 @@ program
|
||||
if (!groupId) {
|
||||
const groupIds = await getGroupIds(network)
|
||||
|
||||
if (groupIds === null) {
|
||||
console.info(`\n ${logSymbols.info}`, `info: there are no groups on the '${network}' network\n`)
|
||||
return
|
||||
}
|
||||
if (groupIds === null) return
|
||||
|
||||
groupId = await getGroupId(groupIds)
|
||||
}
|
||||
@@ -199,11 +193,6 @@ program
|
||||
}
|
||||
}
|
||||
|
||||
if (!group) {
|
||||
console.info(`\n ${logSymbols.error}`, "error: the group does not exist\n")
|
||||
return
|
||||
}
|
||||
|
||||
let content = ` ${chalk.bold("Id")}: ${group.id}\n`
|
||||
content += ` ${chalk.bold("Admin")}: ${group.admin}\n`
|
||||
content += ` ${chalk.bold("Merkle tree")}:\n`
|
||||
@@ -234,10 +223,7 @@ program
|
||||
if (!groupId) {
|
||||
const groupIds = await getGroupIds(network)
|
||||
|
||||
if (groupIds === null) {
|
||||
console.info(`\n ${logSymbols.info}`, `info: there are no groups on the '${network}' network\n`)
|
||||
return
|
||||
}
|
||||
if (groupIds === null) return
|
||||
|
||||
groupId = await getGroupId(groupIds)
|
||||
}
|
||||
@@ -300,10 +286,7 @@ program
|
||||
if (!groupId) {
|
||||
const groupIds = await getGroupIds(network)
|
||||
|
||||
if (groupIds === null) {
|
||||
console.info(`\n ${logSymbols.info}`, `info: there are no groups on the '${network}' network\n`)
|
||||
return
|
||||
}
|
||||
if (groupIds === null) return
|
||||
|
||||
groupId = await getGroupId(groupIds)
|
||||
}
|
||||
|
||||
@@ -34,13 +34,13 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
To learn more about contracts visit [semaphore.pse.dev](https://semaphore.pse.dev/docs/technical-reference/contracts).
|
||||
To learn more about contracts visit [semaphore.appliedzkp.org](https://semaphore.appliedzkp.org/docs/technical-reference/contracts).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/contracts",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "Semaphore contracts to manage groups and broadcast anonymous signals.",
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
"js-logger": "^1.6.1",
|
||||
"prettier-plugin-solidity": "^1.0.0-beta.19",
|
||||
"rimraf": "^3.0.2",
|
||||
"snarkjs": "^0.4.13",
|
||||
"solhint": "^3.3.6",
|
||||
"solhint-plugin-prettier": "^0.0.5",
|
||||
"solidity-coverage": "^0.7.21",
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<a href="https://npmjs.org/package/@semaphore-protocol/data">
|
||||
<img alt="Downloads" src="https://img.shields.io/npm/dm/@semaphore-protocol/data.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/data">
|
||||
<a href="https://js.semaphore.appliedzkp.org/data">
|
||||
<img alt="Documentation typedoc" src="https://img.shields.io/badge/docs-typedoc-744C7C?style=flat-square">
|
||||
</a>
|
||||
<a href="https://eslint.org/">
|
||||
@@ -43,7 +43,7 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/data",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "A library to query Semaphore contracts.",
|
||||
"license": "MIT",
|
||||
"main": "dist/index.node.js",
|
||||
|
||||
@@ -31,11 +31,7 @@ describe("SemaphoreEthers", () => {
|
||||
const semaphore2 = new SemaphoreEthers("matic")
|
||||
const semaphore3 = new SemaphoreEthers("optimism-goerli")
|
||||
const semaphore4 = new SemaphoreEthers("arbitrum-goerli")
|
||||
const semaphore5 = new SemaphoreEthers("arbitrum-goerli", {
|
||||
address: "0x0000000000000000000000000000000000000000",
|
||||
startBlock: 0
|
||||
})
|
||||
const semaphore6 = new SemaphoreEthers("homestead", {
|
||||
const semaphore5 = new SemaphoreEthers("homestead", {
|
||||
address: "0x0000000000000000000000000000000000000000",
|
||||
startBlock: 0
|
||||
})
|
||||
@@ -46,10 +42,9 @@ describe("SemaphoreEthers", () => {
|
||||
expect(semaphore2.network).toBe("maticmum")
|
||||
expect(semaphore3.network).toBe("optimism-goerli")
|
||||
expect(semaphore4.network).toBe("arbitrum-goerli")
|
||||
expect(semaphore5.network).toBe("homestead")
|
||||
expect(semaphore5.options.startBlock).toBe(0)
|
||||
expect(semaphore5.options.address).toContain("0x000000")
|
||||
expect(semaphore6.network).toBe("homestead")
|
||||
expect(semaphore6.options.startBlock).toBe(0)
|
||||
expect(semaphore6.options.address).toContain("0x000000")
|
||||
})
|
||||
|
||||
it("Should instantiate a SemaphoreEthers object with different providers", () => {
|
||||
|
||||
@@ -43,35 +43,37 @@ export default class SemaphoreEthers {
|
||||
|
||||
switch (networkOrEthereumURL) {
|
||||
case "arbitrum":
|
||||
options.address ??= "0xc60E0Ee1a2770d5F619858C641f14FC4a6401520"
|
||||
options.startBlock ??= 77278430
|
||||
options.address = "0xc60E0Ee1a2770d5F619858C641f14FC4a6401520"
|
||||
options.startBlock = 77278430
|
||||
break
|
||||
case "arbitrum-goerli":
|
||||
options.address ??= "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock ??= 15174410
|
||||
options.address = "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock = 15174410
|
||||
break
|
||||
case "maticmum":
|
||||
options.address ??= "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock ??= 33995010
|
||||
options.address = "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock = 33995010
|
||||
break
|
||||
case "goerli":
|
||||
options.address ??= "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock ??= 8777695
|
||||
options.address = "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock = 8777695
|
||||
break
|
||||
case "sepolia":
|
||||
options.address ??= "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock ??= 3231111
|
||||
options.address = "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock = 3231111
|
||||
break
|
||||
case "optimism-goerli":
|
||||
options.address ??= "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock ??= 7632846
|
||||
options.address = "0x3889927F0B5Eb1a02C6E2C20b39a1Bd4EAd76131"
|
||||
options.startBlock = 7632846
|
||||
break
|
||||
default:
|
||||
if (options.address === undefined) {
|
||||
throw new Error(`You should provide a Semaphore contract address for this network`)
|
||||
}
|
||||
|
||||
options.startBlock ??= 0
|
||||
if (options.startBlock === undefined) {
|
||||
options.startBlock = 0
|
||||
}
|
||||
}
|
||||
|
||||
let provider: Provider
|
||||
|
||||
@@ -202,8 +202,7 @@ describe("SemaphoreSubgraph", () => {
|
||||
|
||||
const expectedValue = await semaphore.getGroups({
|
||||
filters: {
|
||||
admin: "0x7bcd6f009471e9974a77086a69289d16eadba286",
|
||||
identityCommitment: "123"
|
||||
admin: "0x7bcd6f009471e9974a77086a69289d16eadba286"
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -68,17 +68,13 @@ export default class SemaphoreSubgraph {
|
||||
let filtersQuery = ""
|
||||
|
||||
if (options.filters) {
|
||||
const { admin, identityCommitment, timestamp, timestampGte, timestampLte } = options.filters
|
||||
const { admin, timestamp, timestampGte, timestampLte } = options.filters
|
||||
const filterFragments = []
|
||||
|
||||
if (admin) {
|
||||
filterFragments.push(`admin: "${admin}"`)
|
||||
}
|
||||
|
||||
if (identityCommitment) {
|
||||
filterFragments.push(`members_: { identityCommitment: "${identityCommitment}" }`)
|
||||
}
|
||||
|
||||
/* istanbul ignore next */
|
||||
if (timestamp) {
|
||||
filterFragments.push(`timestamp: "${jsDateToGraphqlDate(timestamp)}"`)
|
||||
|
||||
@@ -24,7 +24,6 @@ export type GroupOptions = {
|
||||
verifiedProofs?: boolean
|
||||
filters?: {
|
||||
admin?: string
|
||||
identityCommitment?: string
|
||||
timestamp?: Date
|
||||
timestampGte?: Date
|
||||
timestampLte?: Date
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<a href="https://npmjs.org/package/@semaphore-protocol/group">
|
||||
<img alt="Downloads" src="https://img.shields.io/npm/dm/@semaphore-protocol/group.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/group">
|
||||
<a href="https://js.semaphore.appliedzkp.org/group">
|
||||
<img alt="Documentation typedoc" src="https://img.shields.io/badge/docs-typedoc-744C7C?style=flat-square">
|
||||
</a>
|
||||
<a href="https://eslint.org/">
|
||||
@@ -43,7 +43,7 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/group",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "A library to create and manage Semaphore groups.",
|
||||
"license": "MIT",
|
||||
"main": "dist/index.node.js",
|
||||
|
||||
@@ -20,7 +20,7 @@ export default class Group {
|
||||
}
|
||||
|
||||
this._id = id
|
||||
this.merkleTree = new IncrementalMerkleTree(poseidon2, treeDepth, hash(id), 2, members.map(BigInt))
|
||||
this.merkleTree = new IncrementalMerkleTree(poseidon2, treeDepth, hash(id), 2, members)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/hardhat",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "A Semaphore Hardhat plugin to deploy verifiers and Semaphore contract.",
|
||||
"license": "MIT",
|
||||
"main": "dist/index.node.js",
|
||||
@@ -38,7 +38,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@nomiclabs/hardhat-ethers": "^2.1.1",
|
||||
"@semaphore-protocol/contracts": "3.11.1",
|
||||
"@semaphore-protocol/contracts": "3.10.0",
|
||||
"circomlibjs": "^0.0.8",
|
||||
"ethers": "^5.7.1",
|
||||
"hardhat-dependency-compiler": "^1.1.3"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<a href="https://npmjs.org/package/@semaphore-protocol/heyauthn">
|
||||
<img alt="Downloads" src="https://img.shields.io/npm/dm/@semaphore-protocol/heyauthn.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/heyauthn">
|
||||
<a href="https://js.semaphore.appliedzkp.org/heyauthn">
|
||||
<img alt="Documentation typedoc" src="https://img.shields.io/badge/docs-typedoc-744C7C?style=flat-square">
|
||||
</a>
|
||||
<a href="https://eslint.org/">
|
||||
@@ -43,7 +43,7 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/heyauthn",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "A library to allow developers to create and manage Semaphore identities using WebAuthn",
|
||||
"license": "MIT",
|
||||
"main": "dist/index.node.js",
|
||||
@@ -35,7 +35,7 @@
|
||||
"typedoc": "^0.22.11"
|
||||
},
|
||||
"dependencies": {
|
||||
"@semaphore-protocol/identity": "3.11.1",
|
||||
"@semaphore-protocol/identity": "3.10.0",
|
||||
"@simplewebauthn/browser": "7.2.0",
|
||||
"@simplewebauthn/server": "7.2.0"
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<a href="https://npmjs.org/package/@semaphore-protocol/identity">
|
||||
<img alt="Downloads" src="https://img.shields.io/npm/dm/@semaphore-protocol/identity.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/identity">
|
||||
<a href="https://js.semaphore.appliedzkp.org/identity">
|
||||
<img alt="Documentation typedoc" src="https://img.shields.io/badge/docs-typedoc-744C7C?style=flat-square">
|
||||
</a>
|
||||
<a href="https://eslint.org/">
|
||||
@@ -43,7 +43,7 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/identity",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "A library to create Semaphore identities.",
|
||||
"license": "MIT",
|
||||
"main": "dist/index.node.js",
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<a href="https://npmjs.org/package/@semaphore-protocol/proof">
|
||||
<img alt="Downloads" src="https://img.shields.io/npm/dm/@semaphore-protocol/proof.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://js.semaphore.pse.dev/proof">
|
||||
<a href="https://js.semaphore.appliedzkp.org/proof">
|
||||
<img alt="Documentation typedoc" src="https://img.shields.io/badge/docs-typedoc-744C7C?style=flat-square">
|
||||
</a>
|
||||
<a href="https://eslint.org/">
|
||||
@@ -43,7 +43,7 @@
|
||||
🔎 Issues
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="https://semaphore.pse.dev/discord">
|
||||
<a href="https://semaphore.appliedzkp.org/discord">
|
||||
🗣️ Chat & Support
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@semaphore-protocol/proof",
|
||||
"version": "3.11.1",
|
||||
"version": "3.10.0",
|
||||
"description": "A library to generate and verify Semaphore proofs.",
|
||||
"license": "MIT",
|
||||
"main": "dist/index.node.js",
|
||||
@@ -40,8 +40,8 @@
|
||||
"typedoc": "^0.22.11"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@semaphore-protocol/group": "3.11.1",
|
||||
"@semaphore-protocol/identity": "3.11.1"
|
||||
"@semaphore-protocol/group": "3.10.0",
|
||||
"@semaphore-protocol/identity": "3.10.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ethersproject/bignumber": "^5.5.0",
|
||||
@@ -49,6 +49,6 @@
|
||||
"@ethersproject/keccak256": "^5.7.0",
|
||||
"@ethersproject/strings": "^5.5.0",
|
||||
"@zk-kit/incremental-merkle-tree": "0.4.3",
|
||||
"snarkjs": "0.4.16"
|
||||
"snarkjs": "0.4.13"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import calculateNullifierHash from "./calculateNullifierHash"
|
||||
import generateProof from "./generateProof"
|
||||
import verifyProof from "./verifyProof"
|
||||
import calculateNullifierHash from "./calculateNullifierHash"
|
||||
|
||||
export { MerkleProof } from "@zk-kit/incremental-merkle-tree"
|
||||
export * from "./types"
|
||||
export { generateProof, verifyProof, calculateNullifierHash }
|
||||
export * from "./types"
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"tagline": "Semaphore explorer for on-chain groups.",
|
||||
"icon": "",
|
||||
"links": {
|
||||
"website": "https://community.semaphore.pse.dev/semaphore-explorer",
|
||||
"website": "https://community.semaphore.appliedzkp.org/semaphore-explorer",
|
||||
"github": "https://github.com/semaphore-protocol/explorer",
|
||||
"discord": "https://semaphore.pse.dev/discord"
|
||||
"discord": "https://semaphore.appliedzkp.org/discord"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -16,7 +16,7 @@
|
||||
"links": {
|
||||
"website": "https://discord.com/api/oauth2/authorize?client_id=1082429985496772628&permissions=1024&scope=bot",
|
||||
"github": "https://github.com/semaphore-protocol/discord-bot",
|
||||
"discord": "https://semaphore.pse.dev/discord"
|
||||
"discord": "https://semaphore.appliedzkp.org/discord"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -31,7 +31,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Plurality",
|
||||
"tagline": "An Identity Lego Building Block for dapp creators that lets them identify their users without using any third-party KYC provider or other middlemen, whilst preserving the privacy of users.",
|
||||
"tagline": " An Identity Lego Building Block for dapp creators that lets them identify their users without using any third-party KYC provider or other middlemen, whilst preserving the privacy of users.",
|
||||
"icon": "",
|
||||
"links": {
|
||||
"github": "https://github.com/Web3-Plurality"
|
||||
@@ -39,7 +39,7 @@
|
||||
},
|
||||
{
|
||||
"name": "ZK Proof of Humanity",
|
||||
"tagline": "A project that allows humans, registered in Proof of Humanity, to prove their humanity without doxing.",
|
||||
"tagline": "A project to allows humans, registered in Proof of Humanity, to prove their humanity without doxing.",
|
||||
"icon": "",
|
||||
"links": {
|
||||
"website": "https://zk-proof-of-humanity.vercel.app",
|
||||
@@ -63,14 +63,5 @@
|
||||
"website": "https://bq2.netlify.app/",
|
||||
"github": "https://github.com/0xdeenz/bq2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "StealthComms",
|
||||
"tagline": "A project that allows users to prove their membership in a group and send messages/signals without revealing their original identity.",
|
||||
"icon": "",
|
||||
"links": {
|
||||
"website": "https://stealthcomms.surge.sh/",
|
||||
"github": "https://github.com/atomniketh/zk-app"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1 +1 @@
|
||||
1bef99beed0004938b3c4a83a1d660eb05a37b8a
|
||||
456429e12fe3405758ed27df01c0a93393ac3e89
|
||||
Reference in New Issue
Block a user