diff --git a/apps/docs/versioned_docs/version-V1/howitworks.md b/apps/docs/versioned_docs/version-V1/howitworks.md index 82102413b..da4b37830 100644 --- a/apps/docs/versioned_docs/version-V1/howitworks.md +++ b/apps/docs/versioned_docs/version-V1/howitworks.md @@ -121,7 +121,7 @@ authenticity of the signal and prevents front-running attacks. ## Cryptographic primitives -Semaphore uses MiMC for the Merkle tree, Pedersen commmitments for the identity +Semaphore uses MiMC for the Merkle tree, Pedersen commitments for the identity commitments, Blake2 for the nullifiers hash, and EdDSA for the signature. MiMC is a relatively new hash function. We use the recommended MiMC diff --git a/apps/docs/versioned_docs/version-V1/libsemaphore.md b/apps/docs/versioned_docs/version-V1/libsemaphore.md index 22cb895a8..b85097b47 100644 --- a/apps/docs/versioned_docs/version-V1/libsemaphore.md +++ b/apps/docs/versioned_docs/version-V1/libsemaphore.md @@ -145,7 +145,7 @@ Returns `false` otherwise. **`signMsg(privKey: EddsaPrivateKey, msg: SnarkBigInt): EdDSAMiMcSpongeSignature)`** -Encapsualtes `circomlib.eddsa.signMiMCSponge` to sign a message `msg` using private key `privKey`. +Encapsulates `circomlib.eddsa.signMiMCSponge` to sign a message `msg` using private key `privKey`. **`verifySignature(msg: SnarkBigInt, signature: EdDSAMiMcSpongeSignature, pubKey: EddsaPublicKey)`: boolean** @@ -190,7 +190,7 @@ const genWitness = async ( - `circuit` is the output of `genCircuit()`. - `identity` is the `Identity` whose identity commitment you want to prove is in the set of registered identities. -- `idCommitments` is an array of registered identity commmitments; i.e. the +- `idCommitments` is an array of registered identity commitments; i.e. the leaves of the tree. - `treeDepth` is the number of levels which the Merkle tree used has - `externalNullifier` is the current external nullifier @@ -212,7 +212,7 @@ Only `witness` is essential to generate the proof; the other data is only useful for debugging and additional off-chain checks, such as verifying the signature and the Merkle tree root. -**`formatForVerifierContract = (proof: SnarkProof, publicSignals: SnarkPublicSignals`** +**`formatForVerifierContract = (proof: SnarkProof, publicSignals: SnarkPublicSignals)`** Converts the data in `proof` and `publicSignals` to strings and rearranges elements of `proof.pi_b` so that `snarkjs`'s `verifier.sol` will accept it. diff --git a/apps/docs/versioned_docs/version-V1/what-is-semaphore.md b/apps/docs/versioned_docs/version-V1/what-is-semaphore.md index 85ee0f4ce..101c12049 100644 --- a/apps/docs/versioned_docs/version-V1/what-is-semaphore.md +++ b/apps/docs/versioned_docs/version-V1/what-is-semaphore.md @@ -55,7 +55,7 @@ In sum, Semaphore provides the ability to: ### External nullifiers Think of an external nullifier as a voting booth where each user may only cast -one vote. If they try to cast a second vote a the same booth, that vote is +one vote. If they try to cast a second vote at the same booth, that vote is invalid. An external nullifier is any 29-byte value. Semaphore always starts with one @@ -89,7 +89,7 @@ An anonymous voting app would be configured differently: | ----------------------------------- | ------------------------ | | The hash of the respondent's answer | The hash of the question | -This allows any user to vote with an arbitary response (e.g. yes, no, or maybe) +This allows any user to vote with an arbitrary response (e.g. yes, no, or maybe) to any question. The user, however, can only vote once per question. ## About the code diff --git a/apps/docs/versioned_docs/version-V2/subgraph.md b/apps/docs/versioned_docs/version-V2/subgraph.md index 6805aa7e1..80e16fcea 100644 --- a/apps/docs/versioned_docs/version-V2/subgraph.md +++ b/apps/docs/versioned_docs/version-V2/subgraph.md @@ -9,7 +9,7 @@ Site owners publish _subgraphs_ that expose site data for anyone to query. Semaphore's subgraph allows you to retrieve data from the [`Semaphore.sol`](https://github.com/semaphore-protocol/semaphore/tree/v2.6.1/packages/contracts/Semaphore.sol) smart contract. :::tip -The Graph protocol uses the [GraphQL](https://graphql.org/) query lanaguage. For examples, see the [GraphQL API documentation](https://thegraph.com/docs/developer/graphql-api). Visit the [subgraph repository](https://github.com/semaphore-protocol/subgraph) to see the list of Semaphore subgraphs. +The Graph protocol uses the [GraphQL](https://graphql.org/) query language. For examples, see the [GraphQL API documentation](https://thegraph.com/docs/developer/graphql-api). Visit the [subgraph repository](https://github.com/semaphore-protocol/subgraph) to see the list of Semaphore subgraphs. ::: ## Schema diff --git a/apps/docs/versioned_docs/version-V4/guides/identities.mdx b/apps/docs/versioned_docs/version-V4/guides/identities.mdx index 3f18ed829..754c46085 100644 --- a/apps/docs/versioned_docs/version-V4/guides/identities.mdx +++ b/apps/docs/versioned_docs/version-V4/guides/identities.mdx @@ -20,7 +20,7 @@ To prevent fraud, the owner should keep their private key secret. ## Install package -In your code, use the [`@semaphore-protocol/identity`](https://github.com/semaphore-protocol/semaphore/tree/main/packages/identity) package to manage Semaphore identites. +In your code, use the [`@semaphore-protocol/identity`](https://github.com/semaphore-protocol/semaphore/tree/main/packages/identity) package to manage Semaphore identities. - + - + {events.map((event) => (