Skip to content

Commit

Permalink
feat: P-1006 add new schema 27-linked-identities
Browse files Browse the repository at this point in the history
  • Loading branch information
higherordertech committed Sep 6, 2024
1 parent 487d15c commit d5a4458
Show file tree
Hide file tree
Showing 3 changed files with 216 additions and 0 deletions.
176 changes: 176 additions & 0 deletions dist/schemas/27-linked-identities/1-0-0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/litentry/vc-jsonschema/main/dist/schemas/27-linked-identities/1-0-0.json",
"title": "Linked web2/web3 identities",
"description": "All web2 and web3 identities you linked",
"type": "object",
"required": [
"@context",
"issuer",
"issuanceDate",
"credentialSubject",
"proof"
],
"properties": {
"@context": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
},
"id": {
"type": "string"
},
"type": {
"type": "array",
"items": {
"type": "string"
}
},
"issuer": {
"type": "object",
"required": [
"id",
"name",
"mrenclave"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"mrenclave": {
"type": "string"
},
"runtimeVersion": {
"type": "object",
"required": [
"parachain",
"sidechain"
],
"properties": {
"sidechain": {
"type": "number"
},
"parachain": {
"type": "number"
}
}
}
}
},
"issuanceDate": {
"type": "string",
"format": "date-time"
},
"proof": {
"type": "object",
"required": [
"created",
"type",
"proofPurpose",
"proofValue",
"verificationMethod"
],
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"type": {
"type": "string"
},
"proofPurpose": {
"type": "string"
},
"proofValue": {
"type": "string"
},
"verificationMethod": {
"type": "string"
}
}
},
"credentialSubject": {
"title": "Credential Subject of Linked web2/web3 identities",
"type": "object",
"required": [
"id",
"type",
"values",
"endpoint",
"assertions"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"values": {
"type": "array",
"minItems": 1,
"items": {
"type": "boolean"
}
},
"endpoint": {
"type": "string",
"format": "uri"
},
"assertions": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"and"
],
"properties": {
"and": {
"type": "array",
"minItems": 1,
"maxItems": 1,
"additionalItems": false,
"items": [
{
"type": "object",
"required": [
"src",
"op",
"dst"
],
"properties": {
"src": {
"type": "string",
"enum": [
"$identities"
]
},
"op": {
"type": "string",
"enum": [
"=="
]
},
"dst": {
"type": "string"
}
}
}
]
}
}
}
}
}
}
}
}
6 changes: 6 additions & 0 deletions packages/schemas/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ and this project follows [Schema Versioning](https://docs.snowplow.io/docs/pipel

-

## 2024-09-04

(ADDITION) [`27-linked-identities`](./src/lib/27-linked-identities/) bumped to 1-0-0

- Added new schema definition: 27-linked-identities.

## 2024-08-02

(ADDITION) [`15-bnb-domain-holding-amount`](./src/lib/15-bnb-domain-holding-amount/) bumped to 1-1-1
Expand Down
34 changes: 34 additions & 0 deletions packages/schemas/src/lib/27-linked-identities/1-0-0.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { JSONSchema7 } from 'json-schema';

import { schema as base } from '../0-base/1-1-0';
import { resolveGitHubPath } from '../helpers';
import { credentialSubject, assertion } from '../schema-helpers';

// Reference:
// https://github.com/litentry/litentry-parachain/blob/dev/tee-worker/litentry/core/credentials-v2/src/linked_identities/mod.rs

export const schema: JSONSchema7 = {
...base,

$id: resolveGitHubPath('27-linked-identities/1-0-0.json'),

title: 'Linked web2/web3 identities',
description: 'All web2 and web3 identities you linked',

properties: {
...base.properties,

credentialSubject: credentialSubject({
title: 'Credential Subject of Linked web2/web3 identities',
assertions: assertion.and({
items: [
assertion.clause({
src: ['$identities'],
op: ['=='],
dst: undefined, // identity array string.
}),
],
}),
}),
},
};

0 comments on commit d5a4458

Please sign in to comment.