Skip to content

Commit

Permalink
Move minauth-plugins to plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
adamczykm committed May 7, 2024
1 parent b1998b4 commit c06ea3c
Show file tree
Hide file tree
Showing 112 changed files with 7 additions and 7 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This repository is organized as a monorepo containing all the system's core comp
### MinAuth Library [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/minauth)
The library provides all the core types and interfaces that allow for cooperation between the system's elements. It has functions and utilities that help quickly set up compatible authorization plugins. Additionally, it contains tools that may be useful when working with MinAuth, for example, a plugin HTTP server, and a compatible passport.js strategy.

### MinAuth Plugins [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/minauth-plugins)
### MinAuth Plugins [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/plugins)
MinAuth features a plugin-based architecture where the main functionality of building and verifying proofs is done via plugins. It provides a couple of example plugins and various utilities for building custom ones.
The plugin may, but doesn't have to involve blockchains such as MINA (the natural choice because of `o1js`).
Since the authorization is given by a centralized authority (for example a server exposing a protected API) the proofs may regard any data that is verifiable by this authority ( blockchains, 3rd party database, trusted KYC provider's API data, trusted public keys, NFTs, etc).
Expand All @@ -26,16 +26,16 @@ You can find it [https://github.com/adamczykm/minauth-plugin-starter-pack](here)

### Provided plugins

**A Simple Preimage Plugin** [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/minauth-plugins/minauth-simple-preimage-plugin)
**A Simple Preimage Plugin** [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/plugins/minauth-simple-preimage-plugin)
Probably the simplest possible plugin which functionality equals to that of a password authentication.
The server holds a set of Poseidon hashes assigned to roles or users. A ZKSnark that prove the knowledge of the preimage of given hash will grant the access.

**Merkle Memberships Plugin** [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/minauth-plugins/minauth-merkle-membership-plugin)
**Merkle Memberships Plugin** [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/plugins/minauth-merkle-membership-plugin)
A simple plugin that features an amazing `o1js` feature of recursive proofs.
Server is set up to have access to a storage of Merkle trees of secret commitments that can optionally be pinned to a MINA contract via their roots.
The client can prove "membership" into the sets represented by merkle trees, by recursively adding proof layers. Each layer accepts a merkle witness and the secret behind the commitment.

**ERC721 Time-lock Plugin** [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/minauth-plugins/minauth-erc721-timelock-plugin)
**ERC721 Time-lock Plugin** [:link:](https://github.com/mlabs-haskell/MinAuth/tree/develop/plugins/minauth-erc721-timelock-plugin)
A plugin that demonstrates the ability to work against publicly verifiable data hosted on a blockchain. In this case Ethereum. The plugin is configured to point to a contract with a special interface that allow to time-lock an Ethereum NFT along with a secret commitment.
The plugin then monitors the chain and the contract state (and events) to build a merkle tree of secret commitments.
The prover can prove that
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
"minauth",
"minauth-demo/minauth-demo-client",
"minauth-demo/minauth-demo-server",
"minauth-plugins/minauth-erc721-timelock-plugin",
"minauth-plugins/minauth-merkle-membership-plugin",
"minauth-plugins/minauth-simple-preimage-plugin"
"plugins/minauth-erc721-timelock-plugin",
"plugins/minauth-merkle-membership-plugin",
"plugins/minauth-simple-preimage-plugin"
],
"description": "",
"main": "index.js",
Expand Down

0 comments on commit c06ea3c

Please sign in to comment.