-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.ts
129 lines (114 loc) · 3.43 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import {
getSchema,
getMetadata,
schemaIdentify,
metadataImprint,
metadataNotarize,
metadataExpose,
metadataDisclose,
verify
} from "./src/example";
import { config } from "./src/config";
const divConsole = document.getElementById("console");
const btnShowSchema = document.getElementById("btnShowSchema");
const btnShowMetadata = document.getElementById("btnShowMetadata");
const btnSchemaId = document.getElementById("btnSchemaId");
const btnAssetImprint = document.getElementById("btnAssetImprint");
const btnNotarizeMetadata = document.getElementById("btnNotarizeMetadata");
const btnGenerateMetadata = document.getElementById("btnGenerateMetadata");
const btnGenerateEvidence = document.getElementById("btnGenerateEvidence");
const btnVerify = document.getElementById("btnVerify");
btnShowSchema.addEventListener("click", async () => {
printMessage(JSON.stringify(getSchema(), null, 2));
});
btnShowMetadata.addEventListener("click", async () => {
printMessage(JSON.stringify(getMetadata(), null, 2));
});
btnSchemaId.addEventListener("click", async () => {
const schemaId = await schemaIdentify().catch(e => {
printError(e);
});
if (schemaId) {
printMessage("SchemaId: " + schemaId);
}
});
btnAssetImprint.addEventListener("click", async () => {
const assetImprint = await metadataImprint().catch(e => {
printError(e);
});
if (assetImprint) {
printMessage("Asset imprint: " + assetImprint);
}
});
btnNotarizeMetadata.addEventListener("click", async () => {
const evidence = await metadataNotarize().catch(e => {
printError(e);
});
if (evidence) {
printMessage("Evidence: " + JSON.stringify(evidence, null, 2));
}
});
btnGenerateMetadata.addEventListener("click", async () => {
const evidence = await metadataExpose().catch(e => {
printError(e);
});
if (evidence) {
printMessage("Selective metadata: " + JSON.stringify(evidence, null, 2));
}
});
btnGenerateEvidence.addEventListener("click", async () => {
const evidence = await metadataDisclose().catch(e => {
printError(e);
});
if (evidence) {
printMessage(
"Selective exposed evidence: " + JSON.stringify(evidence, null, 2)
);
}
});
btnVerify.addEventListener("click", async () => {
if (!config.imprint) {
printWarning("First calculate imprint.");
return;
}
if (!config.exposedMetadata) {
printWarning("First generate selective metadata.");
return;
}
if (!config.exposedEvidence) {
printWarning("First generate selective evidence.");
return;
}
const verified = await verify().catch(e => {
printError(e);
});
if (typeof verified !== "undefined") {
printMessage("Verify result: " + JSON.stringify(verified));
}
});
function printError(message: any) {
if (typeof message !== "string") {
message = JSON.stringify(message, null, 2);
}
const div = document.createElement("div");
div.innerText = "Error: " + message;
div.className = "error";
divConsole.prepend(div);
}
function printWarning(message: any) {
if (typeof message !== "string") {
message = JSON.stringify(message, null, 2);
}
const div = document.createElement("div");
div.innerText = "Warning: " + message;
div.className = "warning";
divConsole.prepend(div);
}
function printMessage(message: any) {
if (typeof message !== "string") {
message = JSON.stringify(message, null, 2);
}
const div = document.createElement("div");
div.innerText = message;
divConsole.prepend(div);
}