open-index/open-npm huggingface dataset:
npm package: @sphereon/bls-did-resolver-key
Description: Sphereon plugin that can resolve bls did:key identifiers.
Author: Sphereon
Latest version: 0.10.2

<!--suppress HtmlDeprecatedAttribute -->
<h1 align="center">
  <br>
  <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
  <br>BLS DID RESOLVER KEY
  <br>
</h1>

This plugin combines multiple DID key resolvers and exposes a unified API to resolve DIDs.
It adds Bls keys support to key-did-resolver package which is missing from the original Ceramic Networks key-did-resolver plugin.
npm package: @sphereon/bls-key-manager
Description: Sphereon BLS Key Manager plugin for Veramo
Author: Sphereon
Latest version: 0.10.2

<!--suppress HtmlDeprecatedAttribute -->
<h1 align="center">
  <br>
  <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
  <br>BLS KMS LOCAL
  <br>
</h1>

This plugin combines multiple Key management systems and exposes a unified API to the DID manager
and other plugins that require crypto functionality. It adds Bls keys support to the default Veramo Key Manager
npm package: @sphereon/bls-kms-local
Description: Sphereon KMS BLS local to support bls keys
Author: Sphereon
Latest version: 0.10.2

<!--suppress HtmlDeprecatedAttribute -->
<h1 align="center">
  <br>
  <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
  <br>BLS KMS LOCAL
  <br>
</h1>

A Sphereon KMS implementation that provides Ed25519 and secp256k1 and Bls crypto.

This module is an extension of [`KeyManagementSystem`](../../node_modules/@veramo/kms-local/src/key-management-system.ts) and
[`key-manager`](../../node_modules/@veramo/key-manager/src/key-manager.ts) plugin to provide bls functionality to a
Veramo agent.

The keys managed by this module are stored in an implementation
of [`AbstractPrivateKeyStore`](../key-manager/src/abstract-private-key-store.ts).
See [`MemoryPrivateKeyStore`](../key-manager/src/memory-key-store.ts#L43)
or [`PrivateKeyStore`](../data-store/src/identifier/private-key-store.ts) for implementations.
npm package: @sphereon/cli
Description: Veramo command line application.
Author: Simonas Karuzas
Latest version: 3.1.1-unstable.52

# Veramo command line interface

## Install CLI

```
npm -g i @sphereon/cli
```

## Usage

```
Usage: veramo [options] [command]

Options:
  -v, --version      output the version number
  --config <path>    Configuration file (default: "./agent.yml")
  -h, --help         display help for command

Commands:
  did                Decentralized identifiers
  credential         W3C Verifiable Credential
  presentation       W3C Verifiable Presentation
  explore            launch Verifiable Data explorer
  sdr                Selective Disclosure Request
  message            Messages
  execute [options]  Executes agent method
  server [options]   Launch OpenAPI server
  config             Agent configuration
  dev                Plugin developer tools
  help [command]     display help for command
```
npm package: @sphereon/credential-ld
Description: Veramo plugin for working with W3C JSON-LD Verifiable Credentials & Presentations.
Author: Mircea Nistor
Latest version: 3.1.1-unstable.52

# Veramo JSON-LD credentials plugin 

Veramo package for working with W3C JSON-LD Verifiable Credentials & Presentations.

This package contains a plugin and a message handler for issuing and verifying Credentials
and Presentations that adhere to W3C standards.
npm package: @sphereon/credential-w3c
Description: Veramo plugin for working with W3C Verifiable Credentials & Presentations.
Author: Simonas Karuzas
Latest version: 3.1.1-unstable.52

# Veramo W3C credentials plugin 

Veramo package for working with W3C Verifiable Credentials & Presentations.

This package contains a plugin and a message handler for issuing and verifying Credentials
and Presentations that adhere to W3C standards.
npm package: @sphereon/data-store
Description: Veramo date storage based on TypeORM
Author: Simonas Karuzas
Latest version: 3.1.1-unstable.52

# Veramo data store

Veramo data storage based on TypeORM.
This package provides several plugins that relate to data storage.

### `DataStore`
A plugin that exposes simple store/get methods for messages, credentials and presentations.

### `DataStoreORM`
A plugin that provides more querying options using TypeORM.

### `KeyStore` and `DIDStore`

Implementations of `AbstractKeyStore` and `AbstractDIDStore`
npm package: @sphereon/did-auth-siop-web-demo-root
Description: **NOTE: Please note, this is not intended as production code, nor a starting point for your own implementation. It is a quite simple and crude implementation to show how the SIOP and OIDC4VP tech can work.**
Latest version: 0.1.0

<h2 style="text-align: center; vertical-align: middle">
    <center><a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="320" style="vertical-align: middle" ></a></center>

<br>SIOP v2 Demo Website      
<br>
<br>
</h2>

#### This is a demo website to test and showcase the ["Self Issued OpenID Provider v2 (SIOP)" library](https://github.com/Sphereon-Opensource/did-auth-siop).

**NOTE: Please note, this is not intended as production code, nor a starting point for your own implementation.
It is a quite simple and crude implementation to show how the SIOP and OIDC4VP tech can work.**


### Getting started

#### Configure environment

In the **./onto-demo-server folder**, create a file called .env.local and populate it using .env as example. A valid config will look like this

```dotenv
NODE_ENV=development
PORT=5001
COOKIE_SIGNING_KEY=8E5er6YyAO6dIrDTm7BXYWsafBSLxzjb
REDIRECT_URL_BASE=http://192.168.1.200:5001/ext
RP_DID=did:ethr:0xe1dB95357A4258b33A994Fa8cBA5FdC6bd70011D
RP_PRIVATE_HEX_KEY=850e54b92c6291a1ff7b8c3ef30e032571ed77c9e5c78b1cd6ee5fec4fea984f
AUTH_REQUEST_EXPIRES_AFTER_SEC=300
MOCK_AUTH_RESPONSE=false
```
Except for the IP address this is a valid configuration to test with. You will need to replace it with the public IP interface/address where this
server will be running and make sure it is accessible from your phone and the port is open in the firewall.


#### Build & start

From the root directory
- yarn global add concurrently
- yarn global add ts-node
- yarn install-all
- yarn build
- yarn start

The server will start on port 5001, the client will start & open a browser on http://localhost:3000/

#### Usage

Once the demo site has loaded, you should see the following screen:

![/resources/start-screen.png](/resources/start-screen.png)

Click "Sign in"
A QR code will appear which can be scanned with the mobile OP authenticator module from our SSI-SDK.

![img_1.png](resources/login-qr-screen.png)

app "[rn-did-siop-example-app](https://github.com/Sphereon-OpenSource/rn-did-siop-example-app)"
After a successful login two extra page will appear in the menu navigation. 

#### Docker
From the root folder run:
```bash
docker build -t onto-web-demo .
docker run -it -p 5001:5001 -p 3000:3000 onto-web-demo
```
### Docker compose
From the root folder run:
```bash
docker-compose up
```
npm package: @sphereon/did-provider-ethr
Description: Veramo ehtr-did based identity controller plugin.
Author: Simonas Karuzas
Latest version: 3.1.1-unstable.52

# Veramo did:ethr provider

This package contains an implementation of `AbstractIdentifierProvider` for the `did:ethr` method.
This enables creation and control of `did:ethr` entities.
npm package: @sphereon/did-provider-web
Description: Veramo plugin that can enable creation and control of did:web identifiers.
Author: Simonas Karuzas
Latest version: 3.1.1-unstable.52

# Veramo did:web provider

This package contains an implementation of `AbstractIdentifierProvider` for the `did:web` method.
This enables creation and control of `did:web` entities.
npm package: @sphereon/ed25519-signature-2018
Description: ``` npm i @transmute/ed25519-signature-2018 --save ```
Author: Sphereon
Latest version: 0.7.0-unstable.6

# @transmute/ed25519-signature-2018

```
npm i @transmute/ed25519-signature-2018 --save
```

- [Read the Spec](https://w3c-ccg.github.io/lds-ed25519-2018/)

## Usage

```ts
import {
  Ed25519VerificationKey2018,
  Ed25519Signature2018,
} from "@transmute/ed25519-signature-2018";
import { documentLoader } from "path/somewhere";
import { verifiable } from "@transmute/vc.js";

const key = await Ed25519VerificationKey2018.from({
  id:
    "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC#z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
  type: "Ed25519VerificationKey2018",
  controller: "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
  publicKeyBase58: "FEkRBiL3GfrG2m1yh5mrxds8vTkRwYzwgBKWSH33J64p",
  privateKeyBase58:
    "4ywHegJBWnGAu3ZTtMX3Jtu1XUMtJJdmzEoqMk8RS2Fkv5W9hnJpyooY5qNFBTWEPHT5uSjakt2rJodp4DundZvg",
});

const result = await verifiable.credential.create({
  credential: {
    "@context": ["https://www.w3.org/2018/credentials/v1"],
    id: "https://example.com/credentials/123",
    type: ["VerifiableCredential"],
    issuer: "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
    issuanceDate: "2019-12-03T12:19:52Z",
    credentialSubject: {
      id: "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
    },
  },
  format: ["vc"],
  documentLoader: documentLoader,
  suite: new Ed25519Signature2018({
    key,
  }),
});

const result2 = await verifiable.credential.verify({
  credential: result.items[0],
  format: ["vc"],
  documentLoader: (iri: string) => {
    if (iri.startsWith("did:key:z6Mkth1Tmxa")) {
      return {
        documentUrl: iri,
        document: {
          "@context": [
            "https://www.w3.org/ns/did/v1",
            "https://w3id.org/security/suites/ed25519-2018/v1",
          ],
          id: "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
          assertionMethod: [
            {
              id:
                "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC#z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
              type: "Ed25519VerificationKey2018",
              controller:
                "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
              publicKeyBase58: "FEkRBiL3GfrG2m1yh5mrxds8vTkRwYzwgBKWSH33J64p",
            },
          ],
        },
      };
    }
    return documentLoader(iri);
  },
  suite: [new Ed25519Signature2018()],
});
```

## Development

Install and run tests for this package

```
npm i
npm t
```

This package contains interopability fixtures generated from Digital Bazaar libraries.
The fixtures can be regenerated with the following command

```
npm run generate:fixtures
```

## About

This typescript module has been built to support direct substitutability with [digitalbazaar/jsonld-signatures](https://github.com/digitalbazaar/jsonld-signatures/blob/master/lib/suites/Ed25519Signature2018.js) for Linked Data Proofs.

However, some changes were made to support typescript, and no `defaultDocumentLoader` is provided.
npm package: @sphereon/gimlyid-qr-code-scanner
Description: A QR code scanner component for Gimly ID
Latest version: 0.1.0

# Gimlyid-qr-code-scanner
A GimlyID QR code scanner component for React-Native. This scanner can scan QR codes generated by the [gimlyid-qr-code](https://github.com/Sphereon-Opensource/gimlyid-qr-code) component.

### Example
 ```js
import GimlyIDQRCodeScanner from 'gimlyid-qr-code-scanner';

function App() {
  return (
    <View>
      <GimlyIDQRCodeScanner style={{flex: 1, width: '100%'}} onRead={content => console.log(content)}/>
    </View>
  );
}
 ```

Note: Notice the style attribute added to the camera in order for it to take the full screen. Without these styles, you may not be able to see the camera render on your screen, as it will not occupy any space.

### API
| prop                 | type                         | default value | description                                                                                |
| -------------------- | ---------------------------- | ------------- | ------------------------------------------------------------------------------------------ |
| `style`              | `React.CSSProperties`        |               | Sets the styling of the qr code scanner.                                                   |
| `onRead`             | `Function`                   |               | The onRead will be called when the QR code is read and will have access to the QR content. |

### Usage

#### Android

You must add the following permissions to android/app/src/main/AndroidManifest.xml:
 ```xml
<uses-permission android:name="android.permission.CAMERA" />
 ```

You’ll also need to set the dimension strategy in android/app/build.gradle. It has no default and you’ll get an error if you don’t define it:
 ```xml
defaultConfig {
  applicationId "com.cameraexample"
  minSdkVersion rootProject.ext.minSdkVersion
  missingDimensionStrategy 'react-native-camera', 'general'
  targetSdkVersion rootProject.ext.targetSdkVersion
  versionCode 1
  versionName "1.0"
 ```

Note: The dimension strategy should normally be set to general as above. However, you can set it to mlkit instead, if you’d like to use MLKit for QR recognition.

#### iOS

You must update Info.plist with a usage description for camera

 ```
...
<key>NSCameraUsageDescription</key>
<string>Your own description of the purpose</string>
...
 ```

### Installation
```shell
yarn add gimlyid-qr-code-scanner
```

### Build
```shell
yarn build
```

### Utility scripts
There are other utility scripts that help with development.

* `yarn fix` - runs `eslint --fix` as well as `prettier` to fix code style.
npm package: @sphereon/gx-agent
Description: <!--suppress HtmlDeprecatedAttribute --> <h1 align="center">   <br>   <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>   <br>Gaia-X Compliance client (Typescript
Author: Sphereon
Latest version: 0.10.2

<!--suppress HtmlDeprecatedAttribute -->
<h1 align="center">
  <br>
  <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
  <br>Gaia-X Compliance client (Typescript) 
  <br>
</h1>

---

**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**

---

# gx-compliance-client

An Agent compatible with Veramo to connect to gaia-x compliance servers. You can use this library to create Self-Descriptions, Service Offerings and send them to a gaia-x compliance server.

### Installation

```shell
yarn add @sphereon/gx-agent
```

### Build

```shell
yarn build
```

### Test

The test command runs:

- `prettier`
- `jest`
- `coverage`

You can also run only a single section of these tests, using for example `yarn test:unit`.

```shell
yarn test
```

### Utility scripts

There are other utility scripts that help with development.

- `yarn fix` - runs `eslint --fix` as well as `prettier` to fix code style.
npm package: @sphereon/gx-compliance-client
Description: <!--suppress HtmlDeprecatedAttribute --> <h1 align="center">   <br>   <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>   <br>Gaia-X Compliance client (Typescript
Author: Sphereon
Latest version: 0.1.1-next.3
npm package: @sphereon/kms-local
Description: Veramo KMS implementation that provides Ed25519 and secp256k1 crypto
Author: Simonas Karuzas
Latest version: 3.1.1-unstable.52

# Veramo Local KMS

A Veramo KMS implementation that provides Ed25519 and secp256k1 crypto.

This module provides an implementation of `AbstractKeyManagementSystem` that can be used by the 
`@sphereon/key-manager` plugin to provide Ed25519 and secp256k1 crypto functionality to a Veramo agent.

For a `react-native` compatible variant, please use [`@sphereon/kms-local-react-native`](../kms-local-react-native)
npm package: @sphereon/linked-data-proof
Description: This typescript module has been built to support direct substitutability with [digitalbazaar/jsonld-signatures](https://github.com/digitalbazaar/jsonld-signatures) for Linked Data Proofs.
Author: Orie Steele
Latest version: 0.7.0-unstable.4

# @transmute/linked-data-proof

This typescript module has been built to support direct substitutability with [digitalbazaar/jsonld-signatures](https://github.com/digitalbazaar/jsonld-signatures) for Linked Data Proofs.

Some changes were made to support typescript and there is no `defaultDocumentLoader`.

## Develop

To build this package and run the tests, execute the following commands

```
npm i
npm t
```

This package contains a series of fixtures generated by Digital Bazaar libraries.
To freshly generate these fixtures for testing using the following command

```
npm run generate:fixtures
```


## License

See the License for [digitalbazaar/jsonld-signatures](https://github.com/digitalbazaar/jsonld-signatures/blob/master/LICENSE).

```
Copyright (c) 2010-2018 Digital Bazaar, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```
npm package: @sphereon/ms-authenticator
Description: <!--suppress HtmlDeprecatedAttribute --> <h1 align="center">   <br>   <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>   <br>Microsoft Azure Active Directory Aut
Author: Sphereon
Latest version: 0.11.0

<!--suppress HtmlDeprecatedAttribute -->
<h1 align="center">
  <br>
  <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
  <br>Microsoft Azure Active Directory Authenticator (Typescript) 
  <br>
</h1>

---

**Warning: This package still is in every early development. Breaking changes without notice will happen at this point!**

---

# ms-authenticator

A Veramo plugin to authenticate using the Microsoft Authentication Library (MSAL).

### Installation

```shell
yarn add @sphereon/ms-authenticator
```

### Build

```shell
yarn build
```
npm package: @sphereon/ms-request-api
Description: <!--suppress HtmlDeprecatedAttribute --> <h1 align="center">   <br>   <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>   <br>Microsoft Azure Active Directory Iss
Author: Sphereon
Latest version: 0.11.0

<!--suppress HtmlDeprecatedAttribute -->
<h1 align="center">
  <br>
  <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
  <br>Microsoft Azure Active Directory Issuer Request API (Typescript) 
  <br>
</h1>

---

**Warning: This package still is in every early development. Breaking changes without notice will happen at this point!**

---

# ms-request-api

Azure Active Directory (Azure AD) Verifiable Credentials allows you to issue a credential. This is a Veramo plugin that handles issuing a verifiable credential using issuer authentication info and issuer configuration.

### Installation

```shell
yarn add @sphereon/ms-request-api
```

### Build

```shell
yarn build
```