diff --git a/docs/index.html b/docs/index.html index bfcc859..cff6678 100644 --- a/docs/index.html +++ b/docs/index.html @@ -63,6 +63,12 @@ company: "Transmute", companyURL: "https://transmute.industries/", }, + { + name: "Sudesh Shetty", + url: "https://www.linkedin.com/in/sudesh-r-shetty-6bb67b7/", + company: "SecureKey", + companyURL: "https://securekey.com/", + }, ], // authors, add as many as you like. // This is optional, uncomment if you have authors as well as editors. @@ -493,7 +499,7 @@

Cached DID Document

] } } - + @@ -1144,6 +1150,18 @@

Interface

types of object.

+

+ A wallet implementation MAY NOT implement all the interfaces defined below. + + For example: +

+ +

+

Import

@@ -1156,6 +1174,20 @@

Import

+
+

Export

+ +

Only ciphertext wallet contents can be exported.

+ +

Produces a serialized exported wallet representation.

+ +

+ This method may not be necessary, for implementations that rely on + external storage, such as Encrypted Data Vaults. +

+
+ +

Unlock

@@ -1198,6 +1230,13 @@

SignRaw

Must support detached signatures.

+ +

+ This method may not be necessary, for implementations that rely on + other dedicated interface function to perform signing. + + For example, a verifiable credential wallet may not implement this interface since it adds proofs using `Issue,Prove` interfaces. +

@@ -1210,6 +1249,13 @@

VerifyRaw

Must support detached signatures.

+ +

+ This method may not be necessary, for implementations that rely on + other dedicated interface functions to verify signatures. + + For example, a verifiable credential wallet may not implement this interface since it can verify credential proofs using `Verify` interface. +

@@ -1227,22 +1273,76 @@

Issue

Takes a Verifiable Credential without a proof, and an - options object, which contains at least a - verificationMethod, and proofPurpose. + options object.

Produces as Verifiable Credential.

+ +

+ Here are the options that can be used to produce a verifiable credentials. + Refer proofs-signatures for various proof options. +

+

+ +
+            let credential = {...} // a verifiable credential without proof
+            let options = {
+              verificationMethod: "did:example:1234#key-1",
+              proofPurpose: "assertionMethod",
+              created: "2017-06-18T21:19:10Z"
+              controller: "did:example:1234",
+              domain: "https://www.example.com",
+              challenge: "0b4e419a-1410-4739-a58d-b37f4db10181",
+              proofType: "Ed25519Signature2018"
+             }
+            let verifiableCredential = wallet.Issue(credential, options)
+        

Prove

Takes an id of a Verifiable Credential, and an - options object, which contains at least a - challenge. + options object.

Produces as Verifiable Presentation.

+ +

+ Here are the options that can be used to produce a verifiable credentials. + Refer proofs-signatures for various proof options. +

+

+ +
+            let verifiableCredential = {...} // a verifiable credential
+            let options = {
+              verificationMethod: "did:example:1234#key-1",
+              proofPurpose: "assertionMethod",
+              created: "2017-06-18T21:19:10Z"
+              controller: "did:example:1234",
+              domain: "https://www.example.com",
+              challenge: "0b4e419a-1410-4739-a58d-b37f4db10181",
+              proofType: "Ed25519Signature2018"
+             }
+            let verifiableCredential = wallet.Prove(credential, options)
+        
@@ -1253,12 +1353,61 @@

Transfer

-

Export

- -

Only ciphertext wallet contents can be exported.

+

Query

+

Takes a Query and Type as input, and returns collection of results based on current wallet contents.

+ +

Type input can be wallet implementation specific.

+ +

Since all universal wallet data models are JSON object types, here are the query types that can be supported.

+ + +
+            let search = {
+              "type": "QueryByFrame",
+              "query": {
+                  "@context": {
+                    "@vocab": "http://example.org/"
+                  },
+                  "@type": "Library",
+                  "contains": {
+                    "@type": "Book",
+                    "contains": {
+                      "@type": "Chapter"
+                    }
+                  }
+                }
+             }
+            let results = wallet.Query(search)
+        
-

Produces a serialized exported wallet representation.

+
+            let search = {
+              "type": "PresentationExchange",
+              "query": {
+                  "presentation_definition": {
+                    "id": "32f54163-7166-48f1-93d8-ff217bdb0653",
+                    "locale": "en-US",
+                    "input_descriptors": [{
+                      "id": "name_input",
+                      "name": "Full Legal Name",
+                      "purpose": "We need your full legal name.",
+                      "schema": [
+                        {
+                          "uri": "https://name-standards.com/name.json",
+                          "required": true
+                        }
+                      ]
+                    }]
+                  }
+                }
+             }
+            let results = vcWallet.Query(search)
+        
+