Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.PHONY: push-all, build, publish

VERSION=1.0.1
VERSION=1.0.2
IMAGE_NAME=gleif/vlei
LATEST_TAG=$(IMAGE_NAME):latest
VERSION_TAG=$(IMAGE_NAME):$(VERSION)
Expand Down
53 changes: 38 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,31 @@

Verifiable Legal Entity Identifier Schema Generator and Server

| main | dev |
|--------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|
| [![main](https://github.com/webOfTrust/vLEI/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/WebOfTrust/vLEI/actions) | [![dev](https://github.com/webOfTrust/vLEI/actions/workflows/test.yml/badge.svg?branch=dev)](https://github.com/WebOfTrust/vLEI/actions) |
| [![codecov](https://codecov.io/gh/WebOfTrust/vLEI/branch/main/graph/badge.svg?token=C30E9WBW4D)](https://codecov.io/gh/WebOfTrust/vLEI) | [![codecov](https://codecov.io/gh/WebOfTrust/vLEI/branch/dev/graph/badge.svg?token=C30E9WBW4D)](https://codecov.io/gh/WebOfTrust/vLEI) |
| main | dev |
|-------------------------------------------|------------------------------------------|
| [![main][badge-main]][github-actions] | [![dev][badge-dev]][github-actions] |
| [![codecov][badge-codecov-main]][codecov] | [![codecov][badge-codecov-dev]][codecov] |


## Public Open Specifications for GLEIF vLEI (verifiable Legal Entity Identifiers)

[GLEIF](https://www.gleif.org/en/)
[GLEIF][gleif]

[vLEI](https://www.gleif.org/en/lei-solutions/gleifs-digital-strategy-for-the-lei/introducing-the-verifiable-lei-vlei)
[vLEI][vlei]

The vLEI is a open standard type of W3C Verifiable Credential (VC) that leverages the W3C Decentralized Identifier (DID) standard. The DID method is `did:keri` which is based onthe [KERI](https://keri.one) identifier system .
The vLEI is a open standard type of W3C Verifiable Credential (VC) that leverages the W3C Decentralized Identifier (DID) standard. The DID method is `did:keri` which is based onthe [KERI][keri] identifier system .

### Credential Schema and vLEI Samples
The table below lists all the vLEI credentials with links to the JSON Schema for each credential as well as links to a sample for each:
| Acronym | Full Name of Credential | Link to JSON Schema | Link to Sample Credential JSON |
|---|---|---|---|
| QVI | Qualified vLEI Issuer vLEI Credential | [QVI Schema](https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/qualified-vLEI-issuer-vLEI-credential.json) | [QVI Sample](https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/qualified-vLEI-issuer-vLEI-credential.json) |
| LE | Legal Entity vLEI Credential | [LE Schema](https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/legal-entity-vLEI-credential.json) | [LE Sample](https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/legal-entity-vLEI-credential.json) |
| OOR AUTH | Qualified vLEI Issuer OOR Authorization vLEI Credential | [OOR AUTH Schema](https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/oor-authorization-vlei-credential.json) | [OOR AUTH Sample](https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/oor-authorization-vlei-credential.json) |
| ECR AUTH| Qualified vLEI Issuer OOR vLEI Credential | [ECR AUTH Schema](https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/ecr-authorization-vlei-credential.json) | [ECR AUTH Sample](https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/ecr-authorization-vlei-credential.json) |
| OOR | Legal Entity Official Organizational Role vLEI Credential | [OOR Schema](https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/legal-entity-official-organizational-role-vLEI-credential.json) | [OOR Sample](https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/legal-entity-official-organizational-role-vLEI-credential.json) |
| ECR | Legal Entity Engagement Context Role vLEI Credential | [ECR Schema](https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/legal-entity-engagement-context-role-vLEI-credential.json) | [ECR Sample](https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/legal-entity-engagement-context-role-vLEI-credential.json) |

| Acronym | Full Name of Credential | Link to JSON Schema | Link to Sample Credential JSON |
|----------|-----------------------------------------------------------|------------------------------------|------------------------------------|
| QVI | Qualified vLEI Issuer vLEI Credential | [QVI Schema][qvi-schema] | [QVI Sample][qvi-sample] |
| LE | Legal Entity vLEI Credential | [LE Schema][le-schema] | [LE Sample][le-sample] |
| OOR AUTH | Qualified vLEI Issuer OOR Authorization vLEI Credential | [OOR AUTH Schema][oor-auth-schema] | [OOR AUTH Sample][oor-auth-sample] |
| ECR AUTH | Qualified vLEI Issuer OOR vLEI Credential | [ECR AUTH Schema][ecr-auth-schema] | [ECR AUTH Sample][ecr-auth-sample] |
| OOR | Legal Entity Official Organizational Role vLEI Credential | [OOR Schema][oor-schema] | [OOR Sample][oor-sample] |
| ECR | Legal Entity Engagement Context Role vLEI Credential | [ECR Schema][ecr-schema] | [ECR Sample][ecr-sample] |


### Development
Expand All @@ -47,3 +48,25 @@ To Saidify a schema json file and add the schema to ./schema/acdc folder, run:
```shell
saidify-schema -f <file path of schema file(JSON) to saidify>
```

[badge-main]: https://github.com/webOfTrust/vLEI/actions/workflows/test.yml/badge.svg?branch=main
[badge-dev]: https://github.com/webOfTrust/vLEI/actions/workflows/test.yml/badge.svg?branch=dev
[badge-codecov-main]: https://codecov.io/gh/WebOfTrust/vLEI/branch/main/graph/badge.svg?token=C30E9WBW4D
[badge-codecov-dev]: https://codecov.io/gh/WebOfTrust/vLEI/branch/dev/graph/badge.svg?token=C30E9WBW4D
[github-actions]: https://github.com/WebOfTrust/vLEI/actions
[codecov]: https://codecov.io/gh/WebOfTrust/vLEI
[gleif]: https://www.gleif.org/en/
[vlei]: https://www.gleif.org/en/lei-solutions/gleifs-digital-strategy-for-the-lei/introducing-the-verifiable-lei-vlei
[keri]: https://keri.one
[qvi-schema]: https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/qualified-vLEI-issuer-vLEI-credential.json
[qvi-sample]: https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/qualified-vLEI-issuer-vLEI-credential.json
[le-schema]: https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/legal-entity-vLEI-credential.json
[le-sample]: https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/legal-entity-vLEI-credential.json
[oor-auth-schema]: https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/oor-authorization-vlei-credential.json
[oor-auth-sample]: https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/oor-authorization-vlei-credential.json
[ecr-auth-schema]: https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/ecr-authorization-vlei-credential.json
[ecr-auth-sample]: https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/ecr-authorization-vlei-credential.json
[oor-schema]: https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/legal-entity-official-organizational-role-vLEI-credential.json
[oor-sample]: https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/legal-entity-official-organizational-role-vLEI-credential.json
[ecr-schema]: https://github.com/WebOfTrust/vLEI/blob/dev/schema/acdc/legal-entity-engagement-context-role-vLEI-credential.json
[ecr-sample]: https://github.com/WebOfTrust/vLEI/blob/dev/samples/acdc/legal-entity-engagement-context-role-vLEI-credential.json
6 changes: 0 additions & 6 deletions samples/oobis/MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,6 @@ samples/oobis/.well-known/
- `WellKnownEnd`: Falcon endpoint handler
- `loadWellKnownEnds()`: Helper to register endpoints

### Test Coverage
- **`tests/app/test_well_known.py`**: 15 unit tests with mocked data
- **`tests/app/test_well_known_samples.py`**: 12 integration tests with real GLEIF data

All 27 tests pass.

## Usage

### Serving Well-Known Resources
Expand Down
8 changes: 4 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

setup(
name='vlei',
version='1.0.1', # also change in src/vlei/__init__.py
version='1.0.2', # also change in src/vlei/__init__.py
license='Apache Software License 2.0',
description='Verifiable Legal Entity Identifier',
long_description=long_description,
Expand Down Expand Up @@ -74,8 +74,8 @@
],
python_requires='>=3.12.6',
install_requires=[
'hio==0.6.14',
'keri>=1.2.7',
'hio>=0.6.14,<0.7.0',
'keri>=1.2.12',
'falcon>=4.0.2',
'multicommand>=1.0.0'
],
Expand All @@ -84,7 +84,7 @@
tests_require=[
'coverage>=7.8.0',
'pytest>=8.3.5',
'requests==2.32.3'
'requests==2.32.5'
],
setup_requires=[
],
Expand Down
2 changes: 1 addition & 1 deletion src/vlei/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# -*- encoding: utf-8 -*-

__version__ = '1.0.1' # also change in setup.py
__version__ = '1.0.2' # also change in setup.py

3 changes: 0 additions & 3 deletions src/vlei/app/well_known.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,6 @@ def __init__(self, oobi_dir: str):
Parameters:
oobi_dir (str): Path to the well-known/keri/oobi directory
"""
if "keri/oobi" not in oobi_dir:
oobi_dir = os.path.join(oobi_dir, "keri", "oobi")
self.oobi_dir = oobi_dir
self.index = WellKnownIndex(os.path.join(oobi_dir, "index.json"))

Expand All @@ -149,7 +147,6 @@ def __init__(self, oobi_dir: str):
def on_get(self, req, rep, identifier: str):
"""
Handle GET requests for well-known KERI resources.
Assumes the "keri/oobi" path segment is already included in the self.oobi_dir.

Parameters:
req (Request): Falcon HTTP Request object
Expand Down
Loading