@trustvc/trustvc 0.0.0 → 1.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/LICENSE +201 -0
  2. package/dist/__tests__/fixtures/fixtures.d.mts +436 -0
  3. package/dist/__tests__/fixtures/fixtures.d.ts +436 -0
  4. package/dist/__tests__/fixtures/fixtures.js +715 -0
  5. package/dist/core/decrypt.d.mts +3 -0
  6. package/dist/core/decrypt.d.ts +3 -0
  7. package/dist/core/decrypt.js +23 -0
  8. package/dist/core/encrypt.d.mts +3 -0
  9. package/dist/core/encrypt.d.ts +3 -0
  10. package/dist/core/encrypt.js +23 -0
  11. package/dist/core/fragments/document-integrity/w3cSignatureIntegrity.d.mts +5 -0
  12. package/dist/core/fragments/document-integrity/w3cSignatureIntegrity.d.ts +5 -0
  13. package/dist/core/fragments/document-integrity/w3cSignatureIntegrity.js +48 -0
  14. package/dist/core/fragments/document-status/w3cCredentialStatus.d.mts +5 -0
  15. package/dist/core/fragments/document-status/w3cCredentialStatus.d.ts +5 -0
  16. package/dist/core/fragments/document-status/w3cCredentialStatus.js +54 -0
  17. package/dist/core/fragments/issuer-identity/w3cIssuerIdentity.d.mts +5 -0
  18. package/dist/core/fragments/issuer-identity/w3cIssuerIdentity.d.ts +5 -0
  19. package/dist/core/fragments/issuer-identity/w3cIssuerIdentity.js +74 -0
  20. package/dist/core/index.d.mts +5 -0
  21. package/dist/core/index.d.ts +5 -0
  22. package/dist/core/index.js +26 -0
  23. package/dist/core/verify.d.mts +6 -0
  24. package/dist/core/verify.d.ts +6 -0
  25. package/dist/core/verify.js +34 -0
  26. package/dist/esm/__tests__/fixtures/fixtures.js +701 -0
  27. package/dist/esm/core/decrypt.js +21 -0
  28. package/dist/esm/core/encrypt.js +21 -0
  29. package/dist/esm/core/fragments/document-integrity/w3cSignatureIntegrity.js +46 -0
  30. package/dist/esm/core/fragments/document-status/w3cCredentialStatus.js +52 -0
  31. package/dist/esm/core/fragments/issuer-identity/w3cIssuerIdentity.js +72 -0
  32. package/dist/esm/core/index.js +3 -0
  33. package/dist/esm/core/verify.js +32 -0
  34. package/dist/esm/index.js +3 -1
  35. package/dist/esm/open-attestation/index.js +4 -0
  36. package/dist/esm/open-attestation/sign.js +10 -0
  37. package/dist/esm/open-attestation/types.js +1 -0
  38. package/dist/esm/open-attestation/verify.js +13 -0
  39. package/dist/esm/open-attestation/wrap.js +10 -0
  40. package/dist/esm/utils/stringUtils.js +21 -0
  41. package/dist/esm/w3c/index.js +3 -0
  42. package/dist/esm/w3c/sign.js +9 -0
  43. package/dist/esm/w3c/types.js +2 -0
  44. package/dist/esm/w3c/verify.js +9 -0
  45. package/dist/index.d.mts +14 -2
  46. package/dist/index.d.ts +14 -2
  47. package/dist/index.js +24 -0
  48. package/dist/open-attestation/index.d.mts +6 -0
  49. package/dist/open-attestation/index.d.ts +6 -0
  50. package/dist/open-attestation/index.js +33 -0
  51. package/dist/open-attestation/sign.d.mts +7 -0
  52. package/dist/open-attestation/sign.d.ts +7 -0
  53. package/dist/open-attestation/sign.js +12 -0
  54. package/dist/open-attestation/types.d.mts +8 -0
  55. package/dist/open-attestation/types.d.ts +8 -0
  56. package/dist/open-attestation/types.js +18 -0
  57. package/dist/open-attestation/verify.d.mts +5 -0
  58. package/dist/open-attestation/verify.d.ts +5 -0
  59. package/dist/open-attestation/verify.js +15 -0
  60. package/dist/open-attestation/wrap.d.mts +5 -0
  61. package/dist/open-attestation/wrap.d.ts +5 -0
  62. package/dist/open-attestation/wrap.js +12 -0
  63. package/dist/utils/stringUtils.d.mts +5 -0
  64. package/dist/utils/stringUtils.d.ts +5 -0
  65. package/dist/utils/stringUtils.js +25 -0
  66. package/dist/w3c/index.d.mts +4 -0
  67. package/dist/w3c/index.d.ts +4 -0
  68. package/dist/w3c/index.js +26 -0
  69. package/dist/w3c/sign.d.mts +6 -0
  70. package/dist/w3c/sign.d.ts +6 -0
  71. package/dist/w3c/sign.js +11 -0
  72. package/dist/w3c/types.d.mts +2 -0
  73. package/dist/w3c/types.d.ts +2 -0
  74. package/dist/w3c/types.js +27 -0
  75. package/dist/w3c/verify.d.mts +5 -0
  76. package/dist/w3c/verify.d.ts +5 -0
  77. package/dist/w3c/verify.js +11 -0
  78. package/package.json +16 -2
  79. package/dist/.coverage/.tmp/coverage-0.json +0 -1
  80. package/dist/esm/.coverage/.tmp/coverage-0.json +0 -1
  81. package/dist/esm/node_modules/.vitest/vitest/results.json +0 -1
  82. package/dist/esm/types.js +0 -1
  83. package/dist/node_modules/.vitest/vitest/results.json +0 -1
  84. package/dist/types.d.mts +0 -2
  85. package/dist/types.d.ts +0 -2
  86. package/dist/types.js +0 -2
@@ -0,0 +1,715 @@
1
+ 'use strict';
2
+
3
+ var openAttestation = require('@govtechsg/open-attestation');
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ const ContextUrl = {
8
+ w3c_vc_v2: "https://www.w3.org/ns/credentials/v2",
9
+ oa_vc_v4: "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
10
+ };
11
+ const ISSUER_ID = "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90";
12
+ const SAMPLE_SIGNING_KEYS = {
13
+ public: `${ISSUER_ID}#controller`,
14
+ private: "0xcd27dc84c82c5814e7edac518edd5f263e7db7f25adb7a1afe13996a95583cf2"
15
+ };
16
+ const RAW_DOCUMENT_DID = freezeObject({
17
+ "@context": [ContextUrl.w3c_vc_v2, ContextUrl.oa_vc_v4],
18
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
19
+ validFrom: "2021-03-08T12:00:00+08:00",
20
+ name: "Republic of Singapore Driving Licence",
21
+ issuer: {
22
+ id: ISSUER_ID,
23
+ type: "OpenAttestationIssuer",
24
+ name: "Government Technology Agency of Singapore (GovTech)",
25
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
26
+ },
27
+ renderMethod: [
28
+ {
29
+ id: "https://demo-renderer.opencerts.io",
30
+ type: "OpenAttestationEmbeddedRenderer",
31
+ templateName: "GOVTECH_DEMO"
32
+ }
33
+ ],
34
+ credentialSubject: {
35
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
36
+ type: ["DriversLicense"],
37
+ name: "John Doe",
38
+ licenses: [
39
+ {
40
+ class: "3",
41
+ description: "Motor cars with unladen weight <= 3000kg",
42
+ effectiveDate: "2013-05-16T00:00:00+08:00"
43
+ },
44
+ {
45
+ class: "3A",
46
+ description: "Motor cars with unladen weight <= 3000kg",
47
+ effectiveDate: "2013-05-16T00:00:00+08:00"
48
+ }
49
+ ]
50
+ }
51
+ });
52
+ const RAW_DOCUMENT_DID_OSCP = freezeObject({
53
+ "@context": [ContextUrl.w3c_vc_v2, ContextUrl.oa_vc_v4],
54
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
55
+ validFrom: "2021-03-08T12:00:00+08:00",
56
+ name: "Republic of Singapore Driving Licence",
57
+ issuer: {
58
+ id: ISSUER_ID,
59
+ type: "OpenAttestationIssuer",
60
+ name: "Government Technology Agency of Singapore (GovTech)",
61
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
62
+ },
63
+ credentialStatus: {
64
+ id: "https://ocsp-sandbox.openattestation.com",
65
+ type: "OpenAttestationOcspResponder"
66
+ },
67
+ renderMethod: [
68
+ {
69
+ id: "https://demo-renderer.opencerts.io",
70
+ type: "OpenAttestationEmbeddedRenderer",
71
+ templateName: "GOVTECH_DEMO"
72
+ }
73
+ ],
74
+ credentialSubject: {
75
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
76
+ type: ["DriversLicense"],
77
+ name: "John Doe",
78
+ licenses: [
79
+ {
80
+ class: "3",
81
+ description: "Motor cars with unladen weight <= 3000kg",
82
+ effectiveDate: "2013-05-16T00:00:00+08:00"
83
+ },
84
+ {
85
+ class: "3A",
86
+ description: "Motor cars with unladen weight <= 3000kg",
87
+ effectiveDate: "2013-05-16T00:00:00+08:00"
88
+ }
89
+ ]
90
+ }
91
+ });
92
+ const BATCHED_RAW_DOCUMENTS_DID = freezeObject([
93
+ {
94
+ "@context": [ContextUrl.w3c_vc_v2, ContextUrl.oa_vc_v4],
95
+ name: "Republic of Singapore Driving Licence",
96
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
97
+ issuer: {
98
+ id: ISSUER_ID,
99
+ type: "OpenAttestationIssuer",
100
+ name: "Government Technology Agency of Singapore (GovTech)",
101
+ identityProof: {
102
+ identityProofType: "DNS-DID",
103
+ identifier: "example.openattestation.com"
104
+ }
105
+ },
106
+ validFrom: "2021-03-08T12:00:00+08:00",
107
+ credentialSubject: {
108
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
109
+ type: ["DriversLicense"],
110
+ name: "John Doe",
111
+ licenses: [
112
+ {
113
+ class: "3",
114
+ description: "Motor cars with unladen weight <= 3000kg",
115
+ effectiveDate: "2013-05-16T00:00:00+08:00"
116
+ },
117
+ {
118
+ class: "3A",
119
+ description: "Motor cars with unladen weight <= 3000kg",
120
+ effectiveDate: "2013-05-16T00:00:00+08:00"
121
+ }
122
+ ]
123
+ },
124
+ renderMethod: [
125
+ {
126
+ id: "https://demo-renderer.opencerts.io",
127
+ type: "OpenAttestationEmbeddedRenderer",
128
+ templateName: "GOVTECH_DEMO"
129
+ }
130
+ ]
131
+ },
132
+ {
133
+ "@context": [ContextUrl.w3c_vc_v2, ContextUrl.oa_vc_v4],
134
+ name: "Republic of Singapore Driving Licence",
135
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
136
+ issuer: {
137
+ id: ISSUER_ID,
138
+ type: "OpenAttestationIssuer",
139
+ name: "Government Technology Agency of Singapore (GovTech)",
140
+ identityProof: {
141
+ identityProofType: "DNS-DID",
142
+ identifier: "example.openattestation.com"
143
+ }
144
+ },
145
+ validFrom: "2021-03-08T12:00:00+08:00",
146
+ credentialSubject: {
147
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
148
+ type: ["DriversLicense"],
149
+ name: "Jane Doe",
150
+ licenses: [
151
+ {
152
+ class: "3000A",
153
+ description: "Motor spaceships with unladen weight <= 3000tonnes",
154
+ effectiveDate: "2013-05-16T00:00:00+08:00"
155
+ }
156
+ ]
157
+ },
158
+ renderMethod: [
159
+ {
160
+ id: "https://demo-renderer.opencerts.io",
161
+ type: "OpenAttestationEmbeddedRenderer",
162
+ templateName: "GOVTECH_DEMO"
163
+ }
164
+ ]
165
+ }
166
+ ]);
167
+ const WRAPPED_DOCUMENT_DID = freezeObject({
168
+ "@context": [
169
+ "https://www.w3.org/ns/credentials/v2",
170
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
171
+ ],
172
+ name: "Republic of Singapore Driving Licence",
173
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
174
+ issuer: {
175
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
176
+ type: "OpenAttestationIssuer",
177
+ name: "Government Technology Agency of Singapore (GovTech)",
178
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
179
+ },
180
+ validFrom: "2021-03-08T12:00:00+08:00",
181
+ credentialSubject: {
182
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
183
+ type: ["DriversLicense"],
184
+ name: "John Doe",
185
+ licenses: [
186
+ {
187
+ class: "3",
188
+ description: "Motor cars with unladen weight <= 3000kg",
189
+ effectiveDate: "2013-05-16T00:00:00+08:00"
190
+ },
191
+ {
192
+ class: "3A",
193
+ description: "Motor cars with unladen weight <= 3000kg",
194
+ effectiveDate: "2013-05-16T00:00:00+08:00"
195
+ }
196
+ ]
197
+ },
198
+ renderMethod: [
199
+ {
200
+ id: "https://demo-renderer.opencerts.io",
201
+ type: "OpenAttestationEmbeddedRenderer",
202
+ templateName: "GOVTECH_DEMO"
203
+ }
204
+ ],
205
+ proof: {
206
+ type: "OpenAttestationMerkleProofSignature2018",
207
+ proofPurpose: "assertionMethod",
208
+ targetHash: "0b1f90bc8e87cfce8ec49cea60d406291ad130ddedc26e866a8c4f2152747abc",
209
+ proofs: [],
210
+ merkleRoot: "0b1f90bc8e87cfce8ec49cea60d406291ad130ddedc26e866a8c4f2152747abc",
211
+ salts: "W3sidmFsdWUiOiJhOGEzMGE4ZTFjNWQ4ODk2NWI3NDZkZjBhYWYyMTMyN2Q4MDNkMzQ4ZThlOGRhMTlmNTNhMWU5ODFkOTFhMDQ0IiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6IjFmMzIwMzg4MjU3NTRkZTc1OGYwYmU2NjdiNjQ0ZjNjZGVkM2FlM2UwOGI0MTdhMmViZTljYmU1NmYyNGM0NTAiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiODQ0OTkwM2FhNDMxZDEzZTEzNTBiYjVhZTczMTM3OTRlMGQyMTMwNmM3NDA0YzI4NzJhY2Y3ZDY2NGIyMjNhZiIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImFkN2Y1Mjg0OTc1MGViNjZhNjJlZmFmYWUwYjQxNGEwZGQ5OGUwNGJkMmI5YzU2NjliYWM1YzRiNDNjMDk3MTMiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiJjY2I4ZDFkZDgyMDc2Y2EyOTQ5MWUxZTBjODAxOGM5MWY0Zjc5NGRiM2RkMDA1YmFjMGY4MzM1YmFmODFmZWRkIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiYmNlNzNhMjBlMDNiNmM0ZDM1M2VkY2IzMTM0NzZhOTZhNTRkMGNjYzVkNWQ1OWIzMjRhOWU1YTQ2NjQzZmFiNiIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiMjBhMDM0ZjcxMDliNDRmOGEyZTIxMWM1ZTE5YzQ2Nzk1NGY2OWU2NmQzOTZjZjFlYjk1NTViZDc2NjkyN2UyNSIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiIwNWVmYTdiNWM1MDFhZWIxNTE5NTE0MDczNzdmYjJmODc2MTk1ZTAzYzkwZjUzZTdhYWZjNGMzZmFhNDI1YjhhIiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6IjEzYzE3YjQ5ZTc2YjQ3NjJjZGRiYmRjYjFiZDU2ZmUyNDIyZDEwYmJkMmY2MjAzZGZiNzRkZGRlYjBiZWNkYTMiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiNjBmM2JiMTY1YjhlMzcxOGJhZjQ0ZjVlMTdkNDljY2Y4ZGE5MGViYTMxNjUwZDRjM2IzODlkNmFiZGFiNTViYiIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6ImY1YjFjYjc3ZTZmNDQwM2NmMmM4NDg1MGIwNTcyMGI5NTk5Yjk0NmUwMWI2MzcwODUzZWY0YzUyYmQwYTZmZjEiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6ImM3MWM3ZDZjYTdhMjY5OWVhZjdjOTgwYzlmMjM1MWY3NDc3ZDliZDFlNzJlNGY2NTIxZjZhMzI0ZWEzYjdmMWYiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiMDdlODkzMTgyZGFjNjRjOWVkZGU4MjMwYzdjZTdmMWM2NTRmZjgxN2Y5OGIzZTkxMWU4ZTg1Yzc4ODY0MWZhZCIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6ImU4YzdmMjQyYTI5YThmYjJiMjEyMjVhYzlmOTk5ZmVhOTNlNmRhYzc5YTNlYjQwYWRlMTc2ZGRmYzFjMmRlMTgiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiI5ZDNkMThlMTY0YTg3YmQ3MmFlNDczYTIzZjc5ZjBkNzU2NTFiZjExODViMmI0N2ZlYjhiOGFiNWU3YWY1YzUyIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6Ijk4MjIwZTE5NmU4YmE4NWI3MDc2YzdiMzE1MDBkOTU0Nzk1MTk5NDQ4YmM1Y2IyMzM0ZjNhYjU1OTA3NGNkNTMiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiNTNlOTdmNDBkZTExNDkxMjNlNmNlMmNhN2I0MzlhMzI3NzYxMGZkNmZmZTZlMTcwYjEwMjdlOWMzNThmYjg2MSIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1swXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6IjA1OTQ1MWQzMWNlZjM5MDg1YWMxNGVkYjE1NjJjYzFkNTE0YmYzZWQ0N2I3YzBkNWM0MjdiYmM0NGNlOGU5YmIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMV0uY2xhc3MifSx7InZhbHVlIjoiN2E3YmUzMzMzNjI4MDAyNmVkN2NkZmFlZDkwZWI1Zjg0ZDZiMGVkZjdiNTkxZjk5MjQ3NmYzNDBjMWViZjUzYyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1sxXS5kZXNjcmlwdGlvbiJ9LHsidmFsdWUiOiJkNzMxMDA3NmM1NzZmNzU0MzcwNjQ5MTYxOTEyNWY0YmQ5NDNlMDEwNWM3ZDM1ZjZjNThjZTI3ZjcwMzNiNjliIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzFdLmVmZmVjdGl2ZURhdGUifSx7InZhbHVlIjoiYTk3MzFhMzFkMzkzNmJmNjAyNzMxNTAwYjIzMjY3ZTA2MzcxOGEzZjJkMGFiZTI4MDhlOGJiMzQxODQxYWZlZCIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0uaWQifSx7InZhbHVlIjoiNDg4MjRkYjdjY2U3ZTY5MGQ3NjgyMGM1N2M1OWNlZGI5ZDZiNGVjMDlhMDY0ZDFmYTJhMmI0OGZhYzJlN2FhZCIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udHlwZSJ9LHsidmFsdWUiOiJjMzY1M2FkNzg4MzhkNDhmM2Q1ZGNkNmE2OGRmNGU0MmMxMTM1ZmY4MzhiYzI5MTY4NDQzMDdjZDljZmM4ZWY4IiwicGF0aCI6InJlbmRlck1ldGhvZFswXS50ZW1wbGF0ZU5hbWUifV0=",
212
+ privacy: { obfuscated: [] }
213
+ }
214
+ });
215
+ const WRAPPED_DOCUMENT_DID_OSCP = freezeObject({
216
+ "@context": [
217
+ "https://www.w3.org/ns/credentials/v2",
218
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
219
+ ],
220
+ name: "Republic of Singapore Driving Licence",
221
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
222
+ issuer: {
223
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
224
+ type: "OpenAttestationIssuer",
225
+ name: "Government Technology Agency of Singapore (GovTech)",
226
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
227
+ },
228
+ validFrom: "2021-03-08T12:00:00+08:00",
229
+ credentialSubject: {
230
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
231
+ type: ["DriversLicense"],
232
+ name: "John Doe",
233
+ licenses: [
234
+ {
235
+ class: "3",
236
+ description: "Motor cars with unladen weight <= 3000kg",
237
+ effectiveDate: "2013-05-16T00:00:00+08:00"
238
+ },
239
+ {
240
+ class: "3A",
241
+ description: "Motor cars with unladen weight <= 3000kg",
242
+ effectiveDate: "2013-05-16T00:00:00+08:00"
243
+ }
244
+ ]
245
+ },
246
+ credentialStatus: {
247
+ id: "https://ocsp-sandbox.openattestation.com",
248
+ type: "OpenAttestationOcspResponder"
249
+ },
250
+ renderMethod: [
251
+ {
252
+ id: "https://demo-renderer.opencerts.io",
253
+ type: "OpenAttestationEmbeddedRenderer",
254
+ templateName: "GOVTECH_DEMO"
255
+ }
256
+ ],
257
+ proof: {
258
+ type: "OpenAttestationMerkleProofSignature2018",
259
+ proofPurpose: "assertionMethod",
260
+ targetHash: "0f60b3ef4b9b826de4753c4e68bb5ac9fdd2496549f901331a9d07464469366c",
261
+ proofs: [],
262
+ merkleRoot: "0f60b3ef4b9b826de4753c4e68bb5ac9fdd2496549f901331a9d07464469366c",
263
+ salts: "W3sidmFsdWUiOiI3N2RhNDUzOWYwY2M3ZmVmODg0ZmU0MTVkNzE2ZTRjODc5N2NiMDMyZGJlZDQzOWM2ZWViOTU2NmJlZDk1MmI0IiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6ImY2NWZhZWI4MzVmZTI4MzYyMDBhZGUyYTUzZjM4MzJkMGE2YTVjZjZiZjc2OGRlNmMxYjE3OTQ1OGIwMGI2MDIiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiMjVkOGNmNDY3MTAzMmMzMTUzZDdlY2I2OTQ1OGU2MzNkZWE0YmYwYTc0MGI4YzZiMDFlYjE5M2I4NzE2ZDYzYSIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImQxNjEyODkzZGI2YjM3MDY0MjgzM2FkNjYwYjQ5N2ZiMTY0ZWZlZTZkNWY0ZDhhMjg0YjkxNWNkNGNhNzJkM2YiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiJjZjkzMTg5ZTBjNTE0ZGUwMWJlOTI5ZWRhNjk4ZTdlOWQ5ZmRiMzJlOTVjZTdlOTM1NGM4OWJlYjc3Mzg1NjNkIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiYzgzNzJlYmU2NWJiMzdhOTI0YTljMmZiNGE3Yzc4MmQxMzI1ZjE0NTY3OTFjODJmZmI4NGUwY2FmYWFlMDg2OCIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiMzg1MzJhNzJiMDA1Njc4Yjc2M2Y0NTdlY2IxZTI1NzhhMDVkYzQ5ZjdlZDhhYzk5N2EyNDJjZWNjNGY3MDcyMiIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiIzMTQ1OWY5ZmUyNTdkMDVlZTkwNjg4NmYxYmU3ZjBmOTU4YTUxZGM3YTJlNTY5N2EyOGNjZjI3YWVhOGRmNDg4IiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6ImVkOTQ0Mzk0ZmQ5YzY3OWI5MDg0MjNmNjJlZWU5M2YxODJmNjdmZmIxM2MxNGM2ODJjZDMyZmNkMTk3MmVlN2IiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiYTBjODBhOTI4ZGI3MDExYTI0ODIzYzUzZGJlNjNmNGU5ZTc3M2IyMjkyZWNjOThkMWFiNjZiMjVjYTBmYzY3YiIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6Ijk4Y2JlZjE3NDZkZjM1MmQ5Njg4NmYyYWQ1N2NmOWI5ODg2ZWJhZTJlYzA1ZTM4YWE1YTc5ZTM2YTE2OWY1NGMiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6IjlhYzhkMzA5ZGEyZGYzNWNhN2RkNDFkYTc3NzRkYzFhNWY4NTE3NmFiNGU3ZGY1MDgzNzBiNDNlNmU2Y2FhNGEiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiZjkwYWU2YWVjNzlhODg0OTJkYzFlN2IwYThmNDExYWEwN2Y2YjY5NGMwZjQzNjhhZTMzZWVlNTllYzVhZDM2NyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6IjBhMWNhMTQwMmI4MDEwNWQzNGY4NmVjZjNjMDgxYTE3ZTVlODhiY2UwN2ZjNzgyMGRkYzdmZDY1OTA5ZDcwM2MiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiI2NTk1NGE0ZTNiZGRlNmQ5NGEyYjA4OTQ3YTU3YTdkOWEzYzAwNWEyN2ZmNzA0ZmNjMDI2MDI0MmNkNjczNGI1IiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6Ijg3ZDc4NzBjYmVkOGZkYzIyNjA4MWMyZmY5ZmZmNmU3ZmJiZWYyMDUyMDg5YjU1MDg4MDg4MzliNWZlMWNlMGUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiMTgwMzBkZjQ5MzRhMDhlYmM3YTEwNjZlOWRlODZhMDAxYmZhNjcyNWI2Y2FiYjA5NGNmZWI5NzE4YTU3ZDViNiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1swXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6ImUyNWQ1MzFmMTIwNzM0ZWY2ZmY1MTU3MjViYjM5MGJkMjU4MTE2NWM4YTMxZTViMTRmNWUzZTMzM2I2OGZmNWUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMV0uY2xhc3MifSx7InZhbHVlIjoiMTNiMjYyN2E4Yzk0YzkwYWI0M2JjZGExNDNkNTI2MDM0YWM0ZDVkNThhMTc2OTIzMDcwZTAzMGM2MTkwOWVlYiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1sxXS5kZXNjcmlwdGlvbiJ9LHsidmFsdWUiOiI2YjIzZWZkODVhZjZjZWZkMTBjM2EwNzczNjdlMjE4Mzc1MTlkN2ExYTBhMzVmODFkZDBhNWYzNTA0MTg4NjE4IiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzFdLmVmZmVjdGl2ZURhdGUifSx7InZhbHVlIjoiMTI4MzY5ZDk5NTU2ZGYwOWMwOGE4NmZkODU4NmJlMWJlNWVjODcxYjY3NGQwNzJmN2U4ODdmNWZiYjViNjE5NiIsInBhdGgiOiJjcmVkZW50aWFsU3RhdHVzLmlkIn0seyJ2YWx1ZSI6ImYzNTBjOGYwNjlkNmIyM2M3NmE0MjQ3ZTIyOWRjOGM1MDVjMTFhZTNkNjFmYjE3ZDJlNDIxZWU1NzY4OGQ4YTMiLCJwYXRoIjoiY3JlZGVudGlhbFN0YXR1cy50eXBlIn0seyJ2YWx1ZSI6IjJkMTUzYzc1OGNiMTY1YjM1MTFhNjA4MjBkMzNiY2ZmYTViNmE3OWFiNWI5ZDNlMTA0NGZiNTk0NjNhNzM3MDUiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLmlkIn0seyJ2YWx1ZSI6ImJmOGJlY2M2Yjg1MDJkODBiNTg4ZmRmZmJhY2JmMmU1NTIzNjE1MzBjYmUxMGI4NzM5OTQ0NWYwZmZkYTkwOTAiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLnR5cGUifSx7InZhbHVlIjoiOTRmYmI5NWE1ZmNhZjU0YTcwYTAxODZiNjg1OWM5YmY5MzYzNWU0OTQ0N2U3ZmMxYWIyY2RmNTM5ZDllZjNiNyIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udGVtcGxhdGVOYW1lIn1d",
264
+ privacy: { obfuscated: [] }
265
+ }
266
+ });
267
+ const BATCHED_WRAPPED_DOCUMENTS_DID = freezeObject([
268
+ {
269
+ "@context": [
270
+ "https://www.w3.org/ns/credentials/v2",
271
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
272
+ ],
273
+ name: "Republic of Singapore Driving Licence",
274
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
275
+ issuer: {
276
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
277
+ type: "OpenAttestationIssuer",
278
+ name: "Government Technology Agency of Singapore (GovTech)",
279
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
280
+ },
281
+ validFrom: "2021-03-08T12:00:00+08:00",
282
+ credentialSubject: {
283
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
284
+ type: ["DriversLicense"],
285
+ name: "John Doe",
286
+ licenses: [
287
+ {
288
+ class: "3",
289
+ description: "Motor cars with unladen weight <= 3000kg",
290
+ effectiveDate: "2013-05-16T00:00:00+08:00"
291
+ },
292
+ {
293
+ class: "3A",
294
+ description: "Motor cars with unladen weight <= 3000kg",
295
+ effectiveDate: "2013-05-16T00:00:00+08:00"
296
+ }
297
+ ]
298
+ },
299
+ renderMethod: [
300
+ {
301
+ id: "https://demo-renderer.opencerts.io",
302
+ type: "OpenAttestationEmbeddedRenderer",
303
+ templateName: "GOVTECH_DEMO"
304
+ }
305
+ ],
306
+ proof: {
307
+ type: "OpenAttestationMerkleProofSignature2018",
308
+ proofPurpose: "assertionMethod",
309
+ targetHash: "d744b98a001ed34fa133762206e312b5105478f0cc25bf86c3a2a35866597264",
310
+ proofs: ["63edb5b6919143505c522fc96d31bac58ce7b4aa57d366d2df2026c5bb425a64"],
311
+ merkleRoot: "aad2420d57f9250aaa4933bc1dfe540575f3b233475c51f173c9299b4a97853b",
312
+ salts: "W3sidmFsdWUiOiI5YjBhYWZjZDY0YjZmOTMzZDc3ZDUwY2ExZWMzZTYwYzlkYTYzMjk0Y2NlZWRiYTU3ZDMzZjlkYzQ5MjMyMjA2IiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6Ijg0Nzg2MDg5MDNmYjQ0ODQ3NTFhYWM3MGMxZmZjN2E0YTI0OTAyODA5ZTQ3MTI1Y2Q5YWE5ZDMwMTllMjI2MmUiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiZTQ1YjRjYWU1NmI5ZDI5M2M5NDZkM2RhY2U1ZjE0YWNiZmYwYWZkN2QzOWM1MmIxZWY5MTc2MzFlMGFmYzRmNCIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImJkZDczNmU0MDU2YzUyYTYxMTIzMzZiYjNiZGQ3ZTNjMjQ1MTEwZjk3ZTg4Y2NlYjZlMmNlN2M4NTM2MDIzMDYiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiJkOGQyYjcwMTExYTYwNzQyYjVjZTkzMGFiYWNhYTk0NDQ2MzJiMjk5ZjNkNzYyZjI5N2Q0ZmY1MjViMTYzMTVlIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiMTMxOTUwZDhhNGQ1ZGM1Y2ZkYjdkODAwZWQzNTBiNmRkZTYwZWI2ZDFkNjBiODM0YmE4YmFmNDc1ODk5ZWMxZCIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiYmI1ZWM1YjkyNzRhNjg2Yjg4YzVjOTA5MTYwZDU0ZDkxMjM5MWE2ZTg4NzAwMTZhYzcyNGM1NmMyMDlkMzI4OSIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiIyYWE0NDFkNzMxZDllYjdiYTU5YTRjYTljZWYzYmMxOGQyYzgyMzE0NmJjY2Y1MjIxYWU0YWRlNzdkYzM3MmU4IiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6IjNhZDllMzc0ZTdhZjYxYWViNWE5ZDNiNzg4M2VlM2YwYjg4NWMyZjk4ZjZkOTM0ZGY4MzkxOGY3M2E1OGYzZDQiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiYjM4NDdiYjJiZDE2OTM5YTRhNDM4YjRlNjlhNGFhM2NiNjVlNTdjYTlmNzc5ZDIxN2NhODIwM2Y4MmNhMmUwZSIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6IjEwYWEyYTVhMmQyMmZlNjliZWJlNGQxMmY4ZmM5ZDViNTk1YTRjYzk2OTE0OGFjZjIzZTgyZmMyZGVkYWMyOGIiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6ImM2ZDVkY2NmNmFjYmQyODhmOTc0NjhhMWE3M2YyMGE2YTQzZWZjZTdiYTI0YzA0NTg1MGQ2ZThhNmVhMDU0MzYiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiZTA5ZmUyYWQxYjgwYTBlYjZkMWQzMzAwNTBlYTU1ZmRmNjMzMWVhZDFjNTFhYTQwOGNlODliOTIzZTdmMTI0MCIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6IjAxZDUyNTMwM2ZmODk0NGExOGVmMjgzMjczNmNmYjdkZmRlNTc2ZDY2NDQzNTBmOTE4OWEyNzZkYTE2YjRkNmIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiIzYWM2NDgzOWZiMDkwMjY0YjFmZjY0NGQ3MDIwODY5YmZiNGFmZDhiYjNjNzdjZWU1ZTc4NWIxZDU2ODBkOGMwIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6IjBkZWY1MWE2ZmI2MTc4NjI2ZThlYzNiMGQ5MzZkZjY1MTM3MjhiMDM4ZGVhZGFlOTRlNWZkYjk4Nzg0ZDYzZWQiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiZTQwNTZkNmI4ODdmMWY2ZDA3ZjdhMWU5MmYxOTZiYWM3NzlhYThmOWE3MzAwM2NlOWIwYjEyNjNhNWYxZWE2MiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1swXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6ImFlMmYzYzg0OTBkMDI2ZWQ0MDdhZDAzOGY5ZWY0NGU1MzM5M2YyN2Q2MmUwMzQ1YTg0OGQ1MGI5YmNmYjgxOTIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMV0uY2xhc3MifSx7InZhbHVlIjoiODQ0OGYwYWU3ZDU1NDE1M2NkY2I1YTllOThjNDIyZWRhYzAxNjhiZjQ4YmI5ZDAzMjU2NWMyNjJjYzg1MTVlOSIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1sxXS5kZXNjcmlwdGlvbiJ9LHsidmFsdWUiOiIzZDM2MTFmYTQ2NDExNGI5ZGEzMDQ4MzQ3Y2Y1MDBlNmI1NmFiZjdhOTY2MGY3NTg4ZWFlNzVkOTI5ODJiYmY2IiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzFdLmVmZmVjdGl2ZURhdGUifSx7InZhbHVlIjoiMzMzMGY1Yzc3MDE0NzE1NGI3NGE4ZWY5ZjAxZDE0YjEwZGU0NGMzY2FlZWY2M2Q2YjkyMDdlYjJiZjEyMGI2MiIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0uaWQifSx7InZhbHVlIjoiYzgwZDM4MTY4ZDcyMDkxNWM4YzJmZGFmNmYxMDE0MmRlZWJjOTM0MDUyZjNiNTgyMmE2YjM3ZWNlYTBmY2JmYSIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udHlwZSJ9LHsidmFsdWUiOiIyYjllOGFlZGJlNTkwMTRmMTQ4M2RjYjg2NDgwZDljM2M0ZmFlNDY1ODQyZmZlY2I5YjhiNjAwMTc5ZjE3MDQ0IiwicGF0aCI6InJlbmRlck1ldGhvZFswXS50ZW1wbGF0ZU5hbWUifV0=",
313
+ privacy: { obfuscated: [] }
314
+ }
315
+ },
316
+ {
317
+ "@context": [
318
+ "https://www.w3.org/ns/credentials/v2",
319
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
320
+ ],
321
+ name: "Republic of Singapore Driving Licence",
322
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
323
+ issuer: {
324
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
325
+ type: "OpenAttestationIssuer",
326
+ name: "Government Technology Agency of Singapore (GovTech)",
327
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
328
+ },
329
+ validFrom: "2021-03-08T12:00:00+08:00",
330
+ credentialSubject: {
331
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
332
+ type: ["DriversLicense"],
333
+ name: "Jane Doe",
334
+ licenses: [
335
+ {
336
+ class: "3000A",
337
+ description: "Motor spaceships with unladen weight <= 3000tonnes",
338
+ effectiveDate: "2013-05-16T00:00:00+08:00"
339
+ }
340
+ ]
341
+ },
342
+ renderMethod: [
343
+ {
344
+ id: "https://demo-renderer.opencerts.io",
345
+ type: "OpenAttestationEmbeddedRenderer",
346
+ templateName: "GOVTECH_DEMO"
347
+ }
348
+ ],
349
+ proof: {
350
+ type: "OpenAttestationMerkleProofSignature2018",
351
+ proofPurpose: "assertionMethod",
352
+ targetHash: "63edb5b6919143505c522fc96d31bac58ce7b4aa57d366d2df2026c5bb425a64",
353
+ proofs: ["d744b98a001ed34fa133762206e312b5105478f0cc25bf86c3a2a35866597264"],
354
+ merkleRoot: "aad2420d57f9250aaa4933bc1dfe540575f3b233475c51f173c9299b4a97853b",
355
+ salts: "W3sidmFsdWUiOiJhN2EyZjYyMmMxMjdiMTZlMzIwYjA2MTA1YzZkN2FmMmVlNjZjYjBlNDQ1ZTdhNzA0NzExMzQ0OTZjZDM5YmVlIiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6Ijg4NmI1OGExZTI2Yzg5NjYxMjI4MDBiZGY2NTMxNDQwMmZiNmJkYjkxNGNlMDQzOWJiNWQ3ODM4OWI5N2NlNjciLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiOTk0MjRlMmY1YWE0NjVlNTM3YWE4NDY2ODM2OGQ3YTJjYTFmODg5YTlmOWFlNDk1YzA1ZDM5ZTMzNzY0ZmI3YyIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImY1N2ViM2M2ODQ5NjRiMWQ2ZDZjNWQ1MTY1NjI1MjY4MTUwZjg3OTM3YWQ0NjYzZGQyYjhlZWUyNWFjYTBmMmYiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiIyZGQ4Yzk5N2EwYTliODFlNDgyM2IxMDc4MWEwODk0MTRiMTFmODk4MjNjMTdkNWUzYmM1OGIzZTYyNGY5MTBjIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiY2ExYmVlODNkMjQwNGVjMGQ5NjQwM2Y5ZDQ0N2RiMWY3NGRlMmJlMTZhYzdiNGUwYWZmNzdhYjU4ZDFmZmE2MyIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiY2RjMjc3MjQ2ZTEyN2I5M2MxYzczN2VlNWJmNDk5ZTI1Y2MyNTYxY2VmOTAyNWQ1NzEyNWJhNjc1NzQxOGJhYiIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiI0N2U1ZjdkNWQxMzEwZDEwYTk3OGUxMzM1Yjc1NjNkZTMyYTEwMjRmOTdmYjU0YWZmM2JiYjQ3ZDgzNmViNmNlIiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6IjlhY2I1ZDc1ZmIxMmEyMTg1ODkxNjUzODViN2MxMmQzYmM1ZGY3MzJlMmRjNzg5MmRjZDQ3NDRjNzhhNDRmN2EiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiZjM0OGZjYTU1MTg0MzA0Y2E3NDMxMzBjYzc5N2IwZGE4MjVmZTZiMjkxZTZjNTczMGNmOGU5OTNhZmI2OTRiNyIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6IjE1YmRjOGFiN2MyOTZiZDc1OGI0OGU1NTcwMDQ1ZGFiNjI3NmE1MWU4MGIxOGQwODM1ZjBkMDkxZTU2M2Y5MzgiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6IjA2MGVkMTMxMTE3YzM1NjhkY2VmOTRhMzE4ZTc0ZGJlYzIyNTlhZjYwNDI2YTdkZjU0ODQ2OTY4YWU2MTU0YWIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiNDcyZjgwYzY0OGMxOWNhNTUxNDIxZDVlYmUyYzBmZDA2ZDlkNDFjMTdkZGJjNzUyYTdlODM0MTJiYTIwMWQyNSIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6IjBkOWI4NTVkNzk4NWI4YTBkMmM3NGI4NmNkMWRhOGZkNTgwZDMzYzRiNzMxMzcxM2FhMDk5NWI4ODFhOTg4MTUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiJmMDc1YmIyZGE3Yzc1YjE5OWJiYzYyYmNmOTVhNjcxNDFhM2EwYWU3MTRjYzU5NGI3MDFmYmQ2OWZlY2NhNTljIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6ImMxOWMzODk0NWVmODc5MzhhNjJmYjM4NGY3ODY3ODIzMzA2NjU5YTEwYzVjNGRhZGQxNjI5MzcyMDIyYWMxZjUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiOGZlNWM5ZDQ5ZGY0ZmNlMGY5OWIyZmM2ODNkYWE3ZTE2MmRmMDZkMTYzODE4MGViOWVjYWEzMDY3Y2I2ODg1NyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1swXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6IjFmNWM5ZWJmZjQ5ZDQzMDc3M2FkMGJiMjQ2NTExNDg4MTM3NTk3N2I3Y2I2OThmNzkxNjg4ODQ0ZjRiMWFmNjkiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLmlkIn0seyJ2YWx1ZSI6IjQ2YzhjOGEyMWU0OGQzZjlhZGM3OTBmMDRjNDI0NzkwZTRmZmEwMWE5YjMwNTBlNWVlMGJlMWJhZmQzNTIxZDMiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLnR5cGUifSx7InZhbHVlIjoiY2U5OGFhMDI3NDg1N2RlNWY0YTRhYjI4ZmVjMDBmZjlmMTY2YzJiYWNjODMyYzkwNDlmNTliZTc3YTUwNmQ1YiIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udGVtcGxhdGVOYW1lIn1d",
356
+ privacy: { obfuscated: [] }
357
+ }
358
+ }
359
+ ]);
360
+ const SIGNED_WRAPPED_DOCUMENT_DID = freezeObject({
361
+ "@context": [
362
+ "https://www.w3.org/ns/credentials/v2",
363
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
364
+ ],
365
+ name: "Republic of Singapore Driving Licence",
366
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
367
+ issuer: {
368
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
369
+ type: "OpenAttestationIssuer",
370
+ name: "Government Technology Agency of Singapore (GovTech)",
371
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
372
+ },
373
+ validFrom: "2021-03-08T12:00:00+08:00",
374
+ credentialSubject: {
375
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
376
+ type: ["DriversLicense"],
377
+ name: "John Doe",
378
+ licenses: [
379
+ {
380
+ class: "3",
381
+ description: "Motor cars with unladen weight <= 3000kg",
382
+ effectiveDate: "2013-05-16T00:00:00+08:00"
383
+ },
384
+ {
385
+ class: "3A",
386
+ description: "Motor cars with unladen weight <= 3000kg",
387
+ effectiveDate: "2013-05-16T00:00:00+08:00"
388
+ }
389
+ ]
390
+ },
391
+ renderMethod: [
392
+ {
393
+ id: "https://demo-renderer.opencerts.io",
394
+ type: "OpenAttestationEmbeddedRenderer",
395
+ templateName: "GOVTECH_DEMO"
396
+ }
397
+ ],
398
+ proof: {
399
+ type: "OpenAttestationMerkleProofSignature2018",
400
+ proofPurpose: "assertionMethod",
401
+ targetHash: "0b1f90bc8e87cfce8ec49cea60d406291ad130ddedc26e866a8c4f2152747abc",
402
+ proofs: [],
403
+ merkleRoot: "0b1f90bc8e87cfce8ec49cea60d406291ad130ddedc26e866a8c4f2152747abc",
404
+ salts: "W3sidmFsdWUiOiJhOGEzMGE4ZTFjNWQ4ODk2NWI3NDZkZjBhYWYyMTMyN2Q4MDNkMzQ4ZThlOGRhMTlmNTNhMWU5ODFkOTFhMDQ0IiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6IjFmMzIwMzg4MjU3NTRkZTc1OGYwYmU2NjdiNjQ0ZjNjZGVkM2FlM2UwOGI0MTdhMmViZTljYmU1NmYyNGM0NTAiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiODQ0OTkwM2FhNDMxZDEzZTEzNTBiYjVhZTczMTM3OTRlMGQyMTMwNmM3NDA0YzI4NzJhY2Y3ZDY2NGIyMjNhZiIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImFkN2Y1Mjg0OTc1MGViNjZhNjJlZmFmYWUwYjQxNGEwZGQ5OGUwNGJkMmI5YzU2NjliYWM1YzRiNDNjMDk3MTMiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiJjY2I4ZDFkZDgyMDc2Y2EyOTQ5MWUxZTBjODAxOGM5MWY0Zjc5NGRiM2RkMDA1YmFjMGY4MzM1YmFmODFmZWRkIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiYmNlNzNhMjBlMDNiNmM0ZDM1M2VkY2IzMTM0NzZhOTZhNTRkMGNjYzVkNWQ1OWIzMjRhOWU1YTQ2NjQzZmFiNiIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiMjBhMDM0ZjcxMDliNDRmOGEyZTIxMWM1ZTE5YzQ2Nzk1NGY2OWU2NmQzOTZjZjFlYjk1NTViZDc2NjkyN2UyNSIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiIwNWVmYTdiNWM1MDFhZWIxNTE5NTE0MDczNzdmYjJmODc2MTk1ZTAzYzkwZjUzZTdhYWZjNGMzZmFhNDI1YjhhIiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6IjEzYzE3YjQ5ZTc2YjQ3NjJjZGRiYmRjYjFiZDU2ZmUyNDIyZDEwYmJkMmY2MjAzZGZiNzRkZGRlYjBiZWNkYTMiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiNjBmM2JiMTY1YjhlMzcxOGJhZjQ0ZjVlMTdkNDljY2Y4ZGE5MGViYTMxNjUwZDRjM2IzODlkNmFiZGFiNTViYiIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6ImY1YjFjYjc3ZTZmNDQwM2NmMmM4NDg1MGIwNTcyMGI5NTk5Yjk0NmUwMWI2MzcwODUzZWY0YzUyYmQwYTZmZjEiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6ImM3MWM3ZDZjYTdhMjY5OWVhZjdjOTgwYzlmMjM1MWY3NDc3ZDliZDFlNzJlNGY2NTIxZjZhMzI0ZWEzYjdmMWYiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiMDdlODkzMTgyZGFjNjRjOWVkZGU4MjMwYzdjZTdmMWM2NTRmZjgxN2Y5OGIzZTkxMWU4ZTg1Yzc4ODY0MWZhZCIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6ImU4YzdmMjQyYTI5YThmYjJiMjEyMjVhYzlmOTk5ZmVhOTNlNmRhYzc5YTNlYjQwYWRlMTc2ZGRmYzFjMmRlMTgiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiI5ZDNkMThlMTY0YTg3YmQ3MmFlNDczYTIzZjc5ZjBkNzU2NTFiZjExODViMmI0N2ZlYjhiOGFiNWU3YWY1YzUyIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6Ijk4MjIwZTE5NmU4YmE4NWI3MDc2YzdiMzE1MDBkOTU0Nzk1MTk5NDQ4YmM1Y2IyMzM0ZjNhYjU1OTA3NGNkNTMiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiNTNlOTdmNDBkZTExNDkxMjNlNmNlMmNhN2I0MzlhMzI3NzYxMGZkNmZmZTZlMTcwYjEwMjdlOWMzNThmYjg2MSIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1swXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6IjA1OTQ1MWQzMWNlZjM5MDg1YWMxNGVkYjE1NjJjYzFkNTE0YmYzZWQ0N2I3YzBkNWM0MjdiYmM0NGNlOGU5YmIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMV0uY2xhc3MifSx7InZhbHVlIjoiN2E3YmUzMzMzNjI4MDAyNmVkN2NkZmFlZDkwZWI1Zjg0ZDZiMGVkZjdiNTkxZjk5MjQ3NmYzNDBjMWViZjUzYyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1sxXS5kZXNjcmlwdGlvbiJ9LHsidmFsdWUiOiJkNzMxMDA3NmM1NzZmNzU0MzcwNjQ5MTYxOTEyNWY0YmQ5NDNlMDEwNWM3ZDM1ZjZjNThjZTI3ZjcwMzNiNjliIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzFdLmVmZmVjdGl2ZURhdGUifSx7InZhbHVlIjoiYTk3MzFhMzFkMzkzNmJmNjAyNzMxNTAwYjIzMjY3ZTA2MzcxOGEzZjJkMGFiZTI4MDhlOGJiMzQxODQxYWZlZCIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0uaWQifSx7InZhbHVlIjoiNDg4MjRkYjdjY2U3ZTY5MGQ3NjgyMGM1N2M1OWNlZGI5ZDZiNGVjMDlhMDY0ZDFmYTJhMmI0OGZhYzJlN2FhZCIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udHlwZSJ9LHsidmFsdWUiOiJjMzY1M2FkNzg4MzhkNDhmM2Q1ZGNkNmE2OGRmNGU0MmMxMTM1ZmY4MzhiYzI5MTY4NDQzMDdjZDljZmM4ZWY4IiwicGF0aCI6InJlbmRlck1ldGhvZFswXS50ZW1wbGF0ZU5hbWUifV0=",
405
+ privacy: { obfuscated: [] },
406
+ key: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90#controller",
407
+ signature: "0x949b76d8df493a56c1cf21303a74d6a54904461c1c10f4619b43ad7d339c64467c61eb4c0873f279cd21d5bdd044d3af5318f14d63f57acbd4cde30f271f3eb71c"
408
+ }
409
+ });
410
+ const SIGNED_WRAPPED_DOCUMENT_DID_OSCP = freezeObject({
411
+ "@context": [
412
+ "https://www.w3.org/ns/credentials/v2",
413
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
414
+ ],
415
+ name: "Republic of Singapore Driving Licence",
416
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
417
+ issuer: {
418
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
419
+ type: "OpenAttestationIssuer",
420
+ name: "Government Technology Agency of Singapore (GovTech)",
421
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
422
+ },
423
+ validFrom: "2021-03-08T12:00:00+08:00",
424
+ credentialSubject: {
425
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
426
+ type: ["DriversLicense"],
427
+ name: "John Doe",
428
+ licenses: [
429
+ {
430
+ class: "3",
431
+ description: "Motor cars with unladen weight <= 3000kg",
432
+ effectiveDate: "2013-05-16T00:00:00+08:00"
433
+ },
434
+ {
435
+ class: "3A",
436
+ description: "Motor cars with unladen weight <= 3000kg",
437
+ effectiveDate: "2013-05-16T00:00:00+08:00"
438
+ }
439
+ ]
440
+ },
441
+ credentialStatus: {
442
+ id: "https://ocsp-sandbox.openattestation.com",
443
+ type: "OpenAttestationOcspResponder"
444
+ },
445
+ renderMethod: [
446
+ {
447
+ id: "https://demo-renderer.opencerts.io",
448
+ type: "OpenAttestationEmbeddedRenderer",
449
+ templateName: "GOVTECH_DEMO"
450
+ }
451
+ ],
452
+ proof: {
453
+ type: "OpenAttestationMerkleProofSignature2018",
454
+ proofPurpose: "assertionMethod",
455
+ targetHash: "0f60b3ef4b9b826de4753c4e68bb5ac9fdd2496549f901331a9d07464469366c",
456
+ proofs: [],
457
+ merkleRoot: "0f60b3ef4b9b826de4753c4e68bb5ac9fdd2496549f901331a9d07464469366c",
458
+ salts: "W3sidmFsdWUiOiI3N2RhNDUzOWYwY2M3ZmVmODg0ZmU0MTVkNzE2ZTRjODc5N2NiMDMyZGJlZDQzOWM2ZWViOTU2NmJlZDk1MmI0IiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6ImY2NWZhZWI4MzVmZTI4MzYyMDBhZGUyYTUzZjM4MzJkMGE2YTVjZjZiZjc2OGRlNmMxYjE3OTQ1OGIwMGI2MDIiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiMjVkOGNmNDY3MTAzMmMzMTUzZDdlY2I2OTQ1OGU2MzNkZWE0YmYwYTc0MGI4YzZiMDFlYjE5M2I4NzE2ZDYzYSIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImQxNjEyODkzZGI2YjM3MDY0MjgzM2FkNjYwYjQ5N2ZiMTY0ZWZlZTZkNWY0ZDhhMjg0YjkxNWNkNGNhNzJkM2YiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiJjZjkzMTg5ZTBjNTE0ZGUwMWJlOTI5ZWRhNjk4ZTdlOWQ5ZmRiMzJlOTVjZTdlOTM1NGM4OWJlYjc3Mzg1NjNkIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiYzgzNzJlYmU2NWJiMzdhOTI0YTljMmZiNGE3Yzc4MmQxMzI1ZjE0NTY3OTFjODJmZmI4NGUwY2FmYWFlMDg2OCIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiMzg1MzJhNzJiMDA1Njc4Yjc2M2Y0NTdlY2IxZTI1NzhhMDVkYzQ5ZjdlZDhhYzk5N2EyNDJjZWNjNGY3MDcyMiIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiIzMTQ1OWY5ZmUyNTdkMDVlZTkwNjg4NmYxYmU3ZjBmOTU4YTUxZGM3YTJlNTY5N2EyOGNjZjI3YWVhOGRmNDg4IiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6ImVkOTQ0Mzk0ZmQ5YzY3OWI5MDg0MjNmNjJlZWU5M2YxODJmNjdmZmIxM2MxNGM2ODJjZDMyZmNkMTk3MmVlN2IiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiYTBjODBhOTI4ZGI3MDExYTI0ODIzYzUzZGJlNjNmNGU5ZTc3M2IyMjkyZWNjOThkMWFiNjZiMjVjYTBmYzY3YiIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6Ijk4Y2JlZjE3NDZkZjM1MmQ5Njg4NmYyYWQ1N2NmOWI5ODg2ZWJhZTJlYzA1ZTM4YWE1YTc5ZTM2YTE2OWY1NGMiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6IjlhYzhkMzA5ZGEyZGYzNWNhN2RkNDFkYTc3NzRkYzFhNWY4NTE3NmFiNGU3ZGY1MDgzNzBiNDNlNmU2Y2FhNGEiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiZjkwYWU2YWVjNzlhODg0OTJkYzFlN2IwYThmNDExYWEwN2Y2YjY5NGMwZjQzNjhhZTMzZWVlNTllYzVhZDM2NyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6IjBhMWNhMTQwMmI4MDEwNWQzNGY4NmVjZjNjMDgxYTE3ZTVlODhiY2UwN2ZjNzgyMGRkYzdmZDY1OTA5ZDcwM2MiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiI2NTk1NGE0ZTNiZGRlNmQ5NGEyYjA4OTQ3YTU3YTdkOWEzYzAwNWEyN2ZmNzA0ZmNjMDI2MDI0MmNkNjczNGI1IiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6Ijg3ZDc4NzBjYmVkOGZkYzIyNjA4MWMyZmY5ZmZmNmU3ZmJiZWYyMDUyMDg5YjU1MDg4MDg4MzliNWZlMWNlMGUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiMTgwMzBkZjQ5MzRhMDhlYmM3YTEwNjZlOWRlODZhMDAxYmZhNjcyNWI2Y2FiYjA5NGNmZWI5NzE4YTU3ZDViNiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1swXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6ImUyNWQ1MzFmMTIwNzM0ZWY2ZmY1MTU3MjViYjM5MGJkMjU4MTE2NWM4YTMxZTViMTRmNWUzZTMzM2I2OGZmNWUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMV0uY2xhc3MifSx7InZhbHVlIjoiMTNiMjYyN2E4Yzk0YzkwYWI0M2JjZGExNDNkNTI2MDM0YWM0ZDVkNThhMTc2OTIzMDcwZTAzMGM2MTkwOWVlYiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1sxXS5kZXNjcmlwdGlvbiJ9LHsidmFsdWUiOiI2YjIzZWZkODVhZjZjZWZkMTBjM2EwNzczNjdlMjE4Mzc1MTlkN2ExYTBhMzVmODFkZDBhNWYzNTA0MTg4NjE4IiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzFdLmVmZmVjdGl2ZURhdGUifSx7InZhbHVlIjoiMTI4MzY5ZDk5NTU2ZGYwOWMwOGE4NmZkODU4NmJlMWJlNWVjODcxYjY3NGQwNzJmN2U4ODdmNWZiYjViNjE5NiIsInBhdGgiOiJjcmVkZW50aWFsU3RhdHVzLmlkIn0seyJ2YWx1ZSI6ImYzNTBjOGYwNjlkNmIyM2M3NmE0MjQ3ZTIyOWRjOGM1MDVjMTFhZTNkNjFmYjE3ZDJlNDIxZWU1NzY4OGQ4YTMiLCJwYXRoIjoiY3JlZGVudGlhbFN0YXR1cy50eXBlIn0seyJ2YWx1ZSI6IjJkMTUzYzc1OGNiMTY1YjM1MTFhNjA4MjBkMzNiY2ZmYTViNmE3OWFiNWI5ZDNlMTA0NGZiNTk0NjNhNzM3MDUiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLmlkIn0seyJ2YWx1ZSI6ImJmOGJlY2M2Yjg1MDJkODBiNTg4ZmRmZmJhY2JmMmU1NTIzNjE1MzBjYmUxMGI4NzM5OTQ0NWYwZmZkYTkwOTAiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLnR5cGUifSx7InZhbHVlIjoiOTRmYmI5NWE1ZmNhZjU0YTcwYTAxODZiNjg1OWM5YmY5MzYzNWU0OTQ0N2U3ZmMxYWIyY2RmNTM5ZDllZjNiNyIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udGVtcGxhdGVOYW1lIn1d",
459
+ privacy: { obfuscated: [] },
460
+ key: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90#controller",
461
+ signature: "0xa9f89c00bac009044f02ca0e0c605389a927e4b011fa7c0f9a3bfd987598d8a442cd51218a31e387737ad42adeb9b9405c545a4d70ad75d06f7a7701e87440631c"
462
+ }
463
+ });
464
+ const SIGNED_WRAPPED_DOCUMENT_DID_OBFUSCATED = freezeObject({
465
+ "@context": [
466
+ "https://www.w3.org/ns/credentials/v2",
467
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
468
+ ],
469
+ name: "Republic of Singapore Driving Licence",
470
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
471
+ issuer: {
472
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
473
+ type: "OpenAttestationIssuer",
474
+ name: "Government Technology Agency of Singapore (GovTech)",
475
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
476
+ },
477
+ validFrom: "2021-03-08T12:00:00+08:00",
478
+ credentialSubject: {
479
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
480
+ type: ["DriversLicense"],
481
+ name: "John Doe",
482
+ licenses: [
483
+ { class: "3", effectiveDate: "2013-05-16T00:00:00+08:00" },
484
+ {
485
+ class: "3A",
486
+ description: "Motor cars with unladen weight <= 3000kg",
487
+ effectiveDate: "2013-05-16T00:00:00+08:00"
488
+ }
489
+ ]
490
+ },
491
+ proof: {
492
+ type: "OpenAttestationMerkleProofSignature2018",
493
+ proofPurpose: "assertionMethod",
494
+ targetHash: "0b1f90bc8e87cfce8ec49cea60d406291ad130ddedc26e866a8c4f2152747abc",
495
+ proofs: [],
496
+ merkleRoot: "0b1f90bc8e87cfce8ec49cea60d406291ad130ddedc26e866a8c4f2152747abc",
497
+ salts: "W3sidmFsdWUiOiJhOGEzMGE4ZTFjNWQ4ODk2NWI3NDZkZjBhYWYyMTMyN2Q4MDNkMzQ4ZThlOGRhMTlmNTNhMWU5ODFkOTFhMDQ0IiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6IjFmMzIwMzg4MjU3NTRkZTc1OGYwYmU2NjdiNjQ0ZjNjZGVkM2FlM2UwOGI0MTdhMmViZTljYmU1NmYyNGM0NTAiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiODQ0OTkwM2FhNDMxZDEzZTEzNTBiYjVhZTczMTM3OTRlMGQyMTMwNmM3NDA0YzI4NzJhY2Y3ZDY2NGIyMjNhZiIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImFkN2Y1Mjg0OTc1MGViNjZhNjJlZmFmYWUwYjQxNGEwZGQ5OGUwNGJkMmI5YzU2NjliYWM1YzRiNDNjMDk3MTMiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiJjY2I4ZDFkZDgyMDc2Y2EyOTQ5MWUxZTBjODAxOGM5MWY0Zjc5NGRiM2RkMDA1YmFjMGY4MzM1YmFmODFmZWRkIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiYmNlNzNhMjBlMDNiNmM0ZDM1M2VkY2IzMTM0NzZhOTZhNTRkMGNjYzVkNWQ1OWIzMjRhOWU1YTQ2NjQzZmFiNiIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiMjBhMDM0ZjcxMDliNDRmOGEyZTIxMWM1ZTE5YzQ2Nzk1NGY2OWU2NmQzOTZjZjFlYjk1NTViZDc2NjkyN2UyNSIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiIwNWVmYTdiNWM1MDFhZWIxNTE5NTE0MDczNzdmYjJmODc2MTk1ZTAzYzkwZjUzZTdhYWZjNGMzZmFhNDI1YjhhIiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6IjEzYzE3YjQ5ZTc2YjQ3NjJjZGRiYmRjYjFiZDU2ZmUyNDIyZDEwYmJkMmY2MjAzZGZiNzRkZGRlYjBiZWNkYTMiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiNjBmM2JiMTY1YjhlMzcxOGJhZjQ0ZjVlMTdkNDljY2Y4ZGE5MGViYTMxNjUwZDRjM2IzODlkNmFiZGFiNTViYiIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6ImY1YjFjYjc3ZTZmNDQwM2NmMmM4NDg1MGIwNTcyMGI5NTk5Yjk0NmUwMWI2MzcwODUzZWY0YzUyYmQwYTZmZjEiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6ImM3MWM3ZDZjYTdhMjY5OWVhZjdjOTgwYzlmMjM1MWY3NDc3ZDliZDFlNzJlNGY2NTIxZjZhMzI0ZWEzYjdmMWYiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiMDdlODkzMTgyZGFjNjRjOWVkZGU4MjMwYzdjZTdmMWM2NTRmZjgxN2Y5OGIzZTkxMWU4ZTg1Yzc4ODY0MWZhZCIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6ImU4YzdmMjQyYTI5YThmYjJiMjEyMjVhYzlmOTk5ZmVhOTNlNmRhYzc5YTNlYjQwYWRlMTc2ZGRmYzFjMmRlMTgiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiI5ZDNkMThlMTY0YTg3YmQ3MmFlNDczYTIzZjc5ZjBkNzU2NTFiZjExODViMmI0N2ZlYjhiOGFiNWU3YWY1YzUyIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6IjUzZTk3ZjQwZGUxMTQ5MTIzZTZjZTJjYTdiNDM5YTMyNzc2MTBmZDZmZmU2ZTE3MGIxMDI3ZTljMzU4ZmI4NjEiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZWZmZWN0aXZlRGF0ZSJ9LHsidmFsdWUiOiIwNTk0NTFkMzFjZWYzOTA4NWFjMTRlZGIxNTYyY2MxZDUxNGJmM2VkNDdiN2MwZDVjNDI3YmJjNDRjZThlOWJiIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzFdLmNsYXNzIn0seyJ2YWx1ZSI6IjdhN2JlMzMzMzYyODAwMjZlZDdjZGZhZWQ5MGViNWY4NGQ2YjBlZGY3YjU5MWY5OTI0NzZmMzQwYzFlYmY1M2MiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMV0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiZDczMTAwNzZjNTc2Zjc1NDM3MDY0OTE2MTkxMjVmNGJkOTQzZTAxMDVjN2QzNWY2YzU4Y2UyN2Y3MDMzYjY5YiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1sxXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6ImE5NzMxYTMxZDM5MzZiZjYwMjczMTUwMGIyMzI2N2UwNjM3MThhM2YyZDBhYmUyODA4ZThiYjM0MTg0MWFmZWQiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLmlkIn0seyJ2YWx1ZSI6IjQ4ODI0ZGI3Y2NlN2U2OTBkNzY4MjBjNTdjNTljZWRiOWQ2YjRlYzA5YTA2NGQxZmEyYTJiNDhmYWMyZTdhYWQiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLnR5cGUifSx7InZhbHVlIjoiYzM2NTNhZDc4ODM4ZDQ4ZjNkNWRjZDZhNjhkZjRlNDJjMTEzNWZmODM4YmMyOTE2ODQ0MzA3Y2Q5Y2ZjOGVmOCIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udGVtcGxhdGVOYW1lIn1d",
498
+ privacy: { obfuscated: ["7f2ecdae29b49b3a971d5acdfbbf9225a193e735ce41b89b0d84cca801794fc9"] },
499
+ key: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90#controller",
500
+ signature: "0x949b76d8df493a56c1cf21303a74d6a54904461c1c10f4619b43ad7d339c64467c61eb4c0873f279cd21d5bdd044d3af5318f14d63f57acbd4cde30f271f3eb71c"
501
+ },
502
+ renderMethod: [
503
+ {
504
+ id: "https://demo-renderer.opencerts.io",
505
+ type: "OpenAttestationEmbeddedRenderer",
506
+ templateName: "GOVTECH_DEMO"
507
+ }
508
+ ]
509
+ });
510
+ const BATCHED_SIGNED_WRAPPED_DOCUMENTS_DID = freezeObject([
511
+ {
512
+ "@context": [
513
+ "https://www.w3.org/ns/credentials/v2",
514
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
515
+ ],
516
+ name: "Republic of Singapore Driving Licence",
517
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
518
+ issuer: {
519
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
520
+ type: "OpenAttestationIssuer",
521
+ name: "Government Technology Agency of Singapore (GovTech)",
522
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
523
+ },
524
+ validFrom: "2021-03-08T12:00:00+08:00",
525
+ credentialSubject: {
526
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
527
+ type: ["DriversLicense"],
528
+ name: "John Doe",
529
+ licenses: [
530
+ {
531
+ class: "3",
532
+ description: "Motor cars with unladen weight <= 3000kg",
533
+ effectiveDate: "2013-05-16T00:00:00+08:00"
534
+ },
535
+ {
536
+ class: "3A",
537
+ description: "Motor cars with unladen weight <= 3000kg",
538
+ effectiveDate: "2013-05-16T00:00:00+08:00"
539
+ }
540
+ ]
541
+ },
542
+ renderMethod: [
543
+ {
544
+ id: "https://demo-renderer.opencerts.io",
545
+ type: "OpenAttestationEmbeddedRenderer",
546
+ templateName: "GOVTECH_DEMO"
547
+ }
548
+ ],
549
+ proof: {
550
+ type: "OpenAttestationMerkleProofSignature2018",
551
+ proofPurpose: "assertionMethod",
552
+ targetHash: "d744b98a001ed34fa133762206e312b5105478f0cc25bf86c3a2a35866597264",
553
+ proofs: ["63edb5b6919143505c522fc96d31bac58ce7b4aa57d366d2df2026c5bb425a64"],
554
+ merkleRoot: "aad2420d57f9250aaa4933bc1dfe540575f3b233475c51f173c9299b4a97853b",
555
+ salts: "W3sidmFsdWUiOiI5YjBhYWZjZDY0YjZmOTMzZDc3ZDUwY2ExZWMzZTYwYzlkYTYzMjk0Y2NlZWRiYTU3ZDMzZjlkYzQ5MjMyMjA2IiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6Ijg0Nzg2MDg5MDNmYjQ0ODQ3NTFhYWM3MGMxZmZjN2E0YTI0OTAyODA5ZTQ3MTI1Y2Q5YWE5ZDMwMTllMjI2MmUiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiZTQ1YjRjYWU1NmI5ZDI5M2M5NDZkM2RhY2U1ZjE0YWNiZmYwYWZkN2QzOWM1MmIxZWY5MTc2MzFlMGFmYzRmNCIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImJkZDczNmU0MDU2YzUyYTYxMTIzMzZiYjNiZGQ3ZTNjMjQ1MTEwZjk3ZTg4Y2NlYjZlMmNlN2M4NTM2MDIzMDYiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiJkOGQyYjcwMTExYTYwNzQyYjVjZTkzMGFiYWNhYTk0NDQ2MzJiMjk5ZjNkNzYyZjI5N2Q0ZmY1MjViMTYzMTVlIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiMTMxOTUwZDhhNGQ1ZGM1Y2ZkYjdkODAwZWQzNTBiNmRkZTYwZWI2ZDFkNjBiODM0YmE4YmFmNDc1ODk5ZWMxZCIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiYmI1ZWM1YjkyNzRhNjg2Yjg4YzVjOTA5MTYwZDU0ZDkxMjM5MWE2ZTg4NzAwMTZhYzcyNGM1NmMyMDlkMzI4OSIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiIyYWE0NDFkNzMxZDllYjdiYTU5YTRjYTljZWYzYmMxOGQyYzgyMzE0NmJjY2Y1MjIxYWU0YWRlNzdkYzM3MmU4IiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6IjNhZDllMzc0ZTdhZjYxYWViNWE5ZDNiNzg4M2VlM2YwYjg4NWMyZjk4ZjZkOTM0ZGY4MzkxOGY3M2E1OGYzZDQiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiYjM4NDdiYjJiZDE2OTM5YTRhNDM4YjRlNjlhNGFhM2NiNjVlNTdjYTlmNzc5ZDIxN2NhODIwM2Y4MmNhMmUwZSIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6IjEwYWEyYTVhMmQyMmZlNjliZWJlNGQxMmY4ZmM5ZDViNTk1YTRjYzk2OTE0OGFjZjIzZTgyZmMyZGVkYWMyOGIiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6ImM2ZDVkY2NmNmFjYmQyODhmOTc0NjhhMWE3M2YyMGE2YTQzZWZjZTdiYTI0YzA0NTg1MGQ2ZThhNmVhMDU0MzYiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiZTA5ZmUyYWQxYjgwYTBlYjZkMWQzMzAwNTBlYTU1ZmRmNjMzMWVhZDFjNTFhYTQwOGNlODliOTIzZTdmMTI0MCIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6IjAxZDUyNTMwM2ZmODk0NGExOGVmMjgzMjczNmNmYjdkZmRlNTc2ZDY2NDQzNTBmOTE4OWEyNzZkYTE2YjRkNmIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiIzYWM2NDgzOWZiMDkwMjY0YjFmZjY0NGQ3MDIwODY5YmZiNGFmZDhiYjNjNzdjZWU1ZTc4NWIxZDU2ODBkOGMwIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6IjBkZWY1MWE2ZmI2MTc4NjI2ZThlYzNiMGQ5MzZkZjY1MTM3MjhiMDM4ZGVhZGFlOTRlNWZkYjk4Nzg0ZDYzZWQiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiZTQwNTZkNmI4ODdmMWY2ZDA3ZjdhMWU5MmYxOTZiYWM3NzlhYThmOWE3MzAwM2NlOWIwYjEyNjNhNWYxZWE2MiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1swXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6ImFlMmYzYzg0OTBkMDI2ZWQ0MDdhZDAzOGY5ZWY0NGU1MzM5M2YyN2Q2MmUwMzQ1YTg0OGQ1MGI5YmNmYjgxOTIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMV0uY2xhc3MifSx7InZhbHVlIjoiODQ0OGYwYWU3ZDU1NDE1M2NkY2I1YTllOThjNDIyZWRhYzAxNjhiZjQ4YmI5ZDAzMjU2NWMyNjJjYzg1MTVlOSIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1sxXS5kZXNjcmlwdGlvbiJ9LHsidmFsdWUiOiIzZDM2MTFmYTQ2NDExNGI5ZGEzMDQ4MzQ3Y2Y1MDBlNmI1NmFiZjdhOTY2MGY3NTg4ZWFlNzVkOTI5ODJiYmY2IiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzFdLmVmZmVjdGl2ZURhdGUifSx7InZhbHVlIjoiMzMzMGY1Yzc3MDE0NzE1NGI3NGE4ZWY5ZjAxZDE0YjEwZGU0NGMzY2FlZWY2M2Q2YjkyMDdlYjJiZjEyMGI2MiIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0uaWQifSx7InZhbHVlIjoiYzgwZDM4MTY4ZDcyMDkxNWM4YzJmZGFmNmYxMDE0MmRlZWJjOTM0MDUyZjNiNTgyMmE2YjM3ZWNlYTBmY2JmYSIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udHlwZSJ9LHsidmFsdWUiOiIyYjllOGFlZGJlNTkwMTRmMTQ4M2RjYjg2NDgwZDljM2M0ZmFlNDY1ODQyZmZlY2I5YjhiNjAwMTc5ZjE3MDQ0IiwicGF0aCI6InJlbmRlck1ldGhvZFswXS50ZW1wbGF0ZU5hbWUifV0=",
556
+ privacy: { obfuscated: [] },
557
+ key: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90#controller",
558
+ signature: "0xc65309e0adf50ba6b91607c6913e15cd629412cf8180255e52c160cdf59bcfa0609f6eed71c379e3062b9fea39a5590dfc54323a352933c6ef9b694b63e2d74f1c"
559
+ }
560
+ },
561
+ {
562
+ "@context": [
563
+ "https://www.w3.org/ns/credentials/v2",
564
+ "https://schemata.openattestation.com/com/openattestation/4.0/context.json"
565
+ ],
566
+ name: "Republic of Singapore Driving Licence",
567
+ type: ["VerifiableCredential", "OpenAttestationCredential"],
568
+ issuer: {
569
+ id: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90",
570
+ type: "OpenAttestationIssuer",
571
+ name: "Government Technology Agency of Singapore (GovTech)",
572
+ identityProof: { identityProofType: "DNS-DID", identifier: "example.openattestation.com" }
573
+ },
574
+ validFrom: "2021-03-08T12:00:00+08:00",
575
+ credentialSubject: {
576
+ id: "urn:uuid:a013fb9d-bb03-4056-b696-05575eceaf42",
577
+ type: ["DriversLicense"],
578
+ name: "Jane Doe",
579
+ licenses: [
580
+ {
581
+ class: "3000A",
582
+ description: "Motor spaceships with unladen weight <= 3000tonnes",
583
+ effectiveDate: "2013-05-16T00:00:00+08:00"
584
+ }
585
+ ]
586
+ },
587
+ renderMethod: [
588
+ {
589
+ id: "https://demo-renderer.opencerts.io",
590
+ type: "OpenAttestationEmbeddedRenderer",
591
+ templateName: "GOVTECH_DEMO"
592
+ }
593
+ ],
594
+ proof: {
595
+ type: "OpenAttestationMerkleProofSignature2018",
596
+ proofPurpose: "assertionMethod",
597
+ targetHash: "63edb5b6919143505c522fc96d31bac58ce7b4aa57d366d2df2026c5bb425a64",
598
+ proofs: ["d744b98a001ed34fa133762206e312b5105478f0cc25bf86c3a2a35866597264"],
599
+ merkleRoot: "aad2420d57f9250aaa4933bc1dfe540575f3b233475c51f173c9299b4a97853b",
600
+ salts: "W3sidmFsdWUiOiJhN2EyZjYyMmMxMjdiMTZlMzIwYjA2MTA1YzZkN2FmMmVlNjZjYjBlNDQ1ZTdhNzA0NzExMzQ0OTZjZDM5YmVlIiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6Ijg4NmI1OGExZTI2Yzg5NjYxMjI4MDBiZGY2NTMxNDQwMmZiNmJkYjkxNGNlMDQzOWJiNWQ3ODM4OWI5N2NlNjciLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiOTk0MjRlMmY1YWE0NjVlNTM3YWE4NDY2ODM2OGQ3YTJjYTFmODg5YTlmOWFlNDk1YzA1ZDM5ZTMzNzY0ZmI3YyIsInBhdGgiOiJuYW1lIn0seyJ2YWx1ZSI6ImY1N2ViM2M2ODQ5NjRiMWQ2ZDZjNWQ1MTY1NjI1MjY4MTUwZjg3OTM3YWQ0NjYzZGQyYjhlZWUyNWFjYTBmMmYiLCJwYXRoIjoidHlwZVswXSJ9LHsidmFsdWUiOiIyZGQ4Yzk5N2EwYTliODFlNDgyM2IxMDc4MWEwODk0MTRiMTFmODk4MjNjMTdkNWUzYmM1OGIzZTYyNGY5MTBjIiwicGF0aCI6InR5cGVbMV0ifSx7InZhbHVlIjoiY2ExYmVlODNkMjQwNGVjMGQ5NjQwM2Y5ZDQ0N2RiMWY3NGRlMmJlMTZhYzdiNGUwYWZmNzdhYjU4ZDFmZmE2MyIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiY2RjMjc3MjQ2ZTEyN2I5M2MxYzczN2VlNWJmNDk5ZTI1Y2MyNTYxY2VmOTAyNWQ1NzEyNWJhNjc1NzQxOGJhYiIsInBhdGgiOiJpc3N1ZXIudHlwZSJ9LHsidmFsdWUiOiI0N2U1ZjdkNWQxMzEwZDEwYTk3OGUxMzM1Yjc1NjNkZTMyYTEwMjRmOTdmYjU0YWZmM2JiYjQ3ZDgzNmViNmNlIiwicGF0aCI6Imlzc3Vlci5uYW1lIn0seyJ2YWx1ZSI6IjlhY2I1ZDc1ZmIxMmEyMTg1ODkxNjUzODViN2MxMmQzYmM1ZGY3MzJlMmRjNzg5MmRjZDQ3NDRjNzhhNDRmN2EiLCJwYXRoIjoiaXNzdWVyLmlkZW50aXR5UHJvb2YuaWRlbnRpdHlQcm9vZlR5cGUifSx7InZhbHVlIjoiZjM0OGZjYTU1MTg0MzA0Y2E3NDMxMzBjYzc5N2IwZGE4MjVmZTZiMjkxZTZjNTczMGNmOGU5OTNhZmI2OTRiNyIsInBhdGgiOiJpc3N1ZXIuaWRlbnRpdHlQcm9vZi5pZGVudGlmaWVyIn0seyJ2YWx1ZSI6IjE1YmRjOGFiN2MyOTZiZDc1OGI0OGU1NTcwMDQ1ZGFiNjI3NmE1MWU4MGIxOGQwODM1ZjBkMDkxZTU2M2Y5MzgiLCJwYXRoIjoidmFsaWRGcm9tIn0seyJ2YWx1ZSI6IjA2MGVkMTMxMTE3YzM1NjhkY2VmOTRhMzE4ZTc0ZGJlYzIyNTlhZjYwNDI2YTdkZjU0ODQ2OTY4YWU2MTU0YWIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuaWQifSx7InZhbHVlIjoiNDcyZjgwYzY0OGMxOWNhNTUxNDIxZDVlYmUyYzBmZDA2ZDlkNDFjMTdkZGJjNzUyYTdlODM0MTJiYTIwMWQyNSIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC50eXBlWzBdIn0seyJ2YWx1ZSI6IjBkOWI4NTVkNzk4NWI4YTBkMmM3NGI4NmNkMWRhOGZkNTgwZDMzYzRiNzMxMzcxM2FhMDk5NWI4ODFhOTg4MTUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubmFtZSJ9LHsidmFsdWUiOiJmMDc1YmIyZGE3Yzc1YjE5OWJiYzYyYmNmOTVhNjcxNDFhM2EwYWU3MTRjYzU5NGI3MDFmYmQ2OWZlY2NhNTljIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LmxpY2Vuc2VzWzBdLmNsYXNzIn0seyJ2YWx1ZSI6ImMxOWMzODk0NWVmODc5MzhhNjJmYjM4NGY3ODY3ODIzMzA2NjU5YTEwYzVjNGRhZGQxNjI5MzcyMDIyYWMxZjUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QubGljZW5zZXNbMF0uZGVzY3JpcHRpb24ifSx7InZhbHVlIjoiOGZlNWM5ZDQ5ZGY0ZmNlMGY5OWIyZmM2ODNkYWE3ZTE2MmRmMDZkMTYzODE4MGViOWVjYWEzMDY3Y2I2ODg1NyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5saWNlbnNlc1swXS5lZmZlY3RpdmVEYXRlIn0seyJ2YWx1ZSI6IjFmNWM5ZWJmZjQ5ZDQzMDc3M2FkMGJiMjQ2NTExNDg4MTM3NTk3N2I3Y2I2OThmNzkxNjg4ODQ0ZjRiMWFmNjkiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLmlkIn0seyJ2YWx1ZSI6IjQ2YzhjOGEyMWU0OGQzZjlhZGM3OTBmMDRjNDI0NzkwZTRmZmEwMWE5YjMwNTBlNWVlMGJlMWJhZmQzNTIxZDMiLCJwYXRoIjoicmVuZGVyTWV0aG9kWzBdLnR5cGUifSx7InZhbHVlIjoiY2U5OGFhMDI3NDg1N2RlNWY0YTRhYjI4ZmVjMDBmZjlmMTY2YzJiYWNjODMyYzkwNDlmNTliZTc3YTUwNmQ1YiIsInBhdGgiOiJyZW5kZXJNZXRob2RbMF0udGVtcGxhdGVOYW1lIn1d",
601
+ privacy: { obfuscated: [] },
602
+ key: "did:ethr:0xB26B4941941C51a4885E5B7D3A1B861E54405f90#controller",
603
+ signature: "0xc65309e0adf50ba6b91607c6913e15cd629412cf8180255e52c160cdf59bcfa0609f6eed71c379e3062b9fea39a5590dfc54323a352933c6ef9b694b63e2d74f1c"
604
+ }
605
+ }
606
+ ]);
607
+ const WRAPPED_DOCUMENT_DNS_TXT_V2 = freezeObject({
608
+ version: openAttestation.SchemaId.v2,
609
+ data: {
610
+ id: "c4d0823c-49c9-494f-8fa5-576c746900d7:string:SGCNM21566325",
611
+ $template: {
612
+ name: "26be0257-5d10-421f-b42e-84dc03f77b66:string:CERTIFICATE_OF_NON_MANIPULATION",
613
+ type: "9194bf18-e6ba-4533-b846-5db60ea3a9fc:string:EMBEDDED_RENDERER",
614
+ url: "a9e9af66-bad3-411e-a02e-9863a4103a8e:string:https://demo-cnm.openattestation.com"
615
+ },
616
+ issuers: [
617
+ {
618
+ name: "f12055b9-18ac-4362-9b85-045c7945f267:string:DEMO STORE",
619
+ tokenRegistry: "dcd4aecf-abec-4316-925b-d537418d456a:string:0x142Ca30e3b78A840a82192529cA047ED759a6F7e",
620
+ identityProof: {
621
+ type: "222cb8e1-13bb-40ae-a255-7d56781e716c:string:DNS-TXT",
622
+ location: "7f1c5629-122b-4808-9618-20ea701526b9:string:example.tradetrust.io"
623
+ }
624
+ }
625
+ ],
626
+ recipient: {
627
+ name: "b775d0db-ef6f-41ce-bb2f-f2366ef0e1a6:string:SG FREIGHT",
628
+ address: {
629
+ street: "dc231e06-7fca-4ea1-9933-190457799ae6:string:101 ORCHARD ROAD",
630
+ country: "8c6b9f39-e431-4c91-b1e7-c7833d13e649:string:SINGAPORE"
631
+ }
632
+ },
633
+ consignment: {
634
+ description: "5cba970f-8e70-4181-8b39-ddb9502abba1:string:16667 CARTONS OF RED WINE",
635
+ quantity: {
636
+ value: "69a0296d-0123-4072-a500-59b935c7df3e:string:5000",
637
+ unit: "c2cb02b3-7c26-45fb-8d5c-c1e0db4f5b8c:string:LITRES"
638
+ },
639
+ countryOfOrigin: "5911978b-9f00-4ece-a079-0268cf15246d:string:AUSTRALIA",
640
+ outwardBillNo: "3c971efe-0ce5-4651-ad0c-87728c713dff:string:AQSIQ170923130",
641
+ dateOfDischarge: "290a80c5-1aa8-43dd-aa97-ff85fb6db653:string:2018-01-26",
642
+ dateOfDeparture: "4459e2fa-df5c-46c7-82cb-da9fe8fec1ea:string:2018-01-30",
643
+ countryOfFinalDestination: "152cc7a4-1fc3-48de-8e5e-dc363aa629fd:string:CHINA",
644
+ outgoingVehicleNo: "d77fbf0f-fb4b-4dbc-be61-ce44e2307316:string:COSCO JAPAN 074E/30-JAN"
645
+ },
646
+ declaration: {
647
+ name: "23992b1b-050c-4914-8d19-cfec43d66260:string:PETER LEE",
648
+ designation: "642cefd7-96f2-416e-a390-81c8b0141b6b:string:SHIPPING MANAGER",
649
+ date: "42f3aa4f-7353-4a14-b046-e864e21d5533:string:2018-01-28"
650
+ }
651
+ },
652
+ signature: {
653
+ type: "SHA3MerkleProof",
654
+ targetHash: "de08643a0b7504329f0024174ac7fbb297876a52437aae8190bdbca794f9d96b",
655
+ proof: [],
656
+ merkleRoot: "de08643a0b7504329f0024174ac7fbb297876a52437aae8190bdbca794f9d96b"
657
+ }
658
+ });
659
+ const W3C_VERIFIABLE_DOCUMENT = freezeObject({
660
+ "@context": [
661
+ "https://www.w3.org/2018/credentials/v1",
662
+ "https://w3c-ccg.github.io/citizenship-vocab/contexts/citizenship-v1.jsonld",
663
+ "https://w3id.org/security/bbs/v1",
664
+ "https://w3id.org/vc/status-list/2021/v1"
665
+ ],
666
+ credentialStatus: {
667
+ id: "https://trustvc.github.io/did/credentials/statuslist/1#1",
668
+ type: "StatusList2021Entry",
669
+ statusPurpose: "revocation",
670
+ statusListIndex: "10",
671
+ statusListCredential: "https://trustvc.github.io/did/credentials/statuslist/1"
672
+ },
673
+ credentialSubject: {
674
+ name: "TrustVC",
675
+ birthDate: "2024-04-01T12:19:52Z",
676
+ type: ["PermanentResident", "Person"]
677
+ },
678
+ expirationDate: "2029-12-03T12:19:52Z",
679
+ issuer: "did:web:trustvc.github.io:did:1",
680
+ type: ["VerifiableCredential"],
681
+ issuanceDate: "2024-04-01T12:19:52Z",
682
+ proof: {
683
+ type: "BbsBlsSignature2020",
684
+ created: "2024-10-14T04:11:49Z",
685
+ proofPurpose: "assertionMethod",
686
+ proofValue: "l79dlFQMowalep+WCFqgCvpVBcCAr0GDEFUV6S7gRVY/TQ+sp/wcwaT61PaD19rJYUHlKfzccE4m7waZyoLEkBLFiK2g54Q2i+CdtYBgDdkUDsoULSBMcH1MwGHwdjfXpldFNFrHFx/IAvLVniyeMQ==",
687
+ verificationMethod: "did:web:trustvc.github.io:did:1#keys-1"
688
+ }
689
+ });
690
+ function freezeObject(obj) {
691
+ return deepFreeze(obj);
692
+ }
693
+ __name(freezeObject, "freezeObject");
694
+ function deepFreeze(obj) {
695
+ if (obj && typeof obj === "object" && !Object.isFrozen(obj)) {
696
+ Object.freeze(obj);
697
+ Object.getOwnPropertyNames(obj).forEach((prop) => deepFreeze(obj[prop]));
698
+ }
699
+ return obj;
700
+ }
701
+ __name(deepFreeze, "deepFreeze");
702
+
703
+ exports.BATCHED_RAW_DOCUMENTS_DID = BATCHED_RAW_DOCUMENTS_DID;
704
+ exports.BATCHED_SIGNED_WRAPPED_DOCUMENTS_DID = BATCHED_SIGNED_WRAPPED_DOCUMENTS_DID;
705
+ exports.BATCHED_WRAPPED_DOCUMENTS_DID = BATCHED_WRAPPED_DOCUMENTS_DID;
706
+ exports.RAW_DOCUMENT_DID = RAW_DOCUMENT_DID;
707
+ exports.RAW_DOCUMENT_DID_OSCP = RAW_DOCUMENT_DID_OSCP;
708
+ exports.SAMPLE_SIGNING_KEYS = SAMPLE_SIGNING_KEYS;
709
+ exports.SIGNED_WRAPPED_DOCUMENT_DID = SIGNED_WRAPPED_DOCUMENT_DID;
710
+ exports.SIGNED_WRAPPED_DOCUMENT_DID_OBFUSCATED = SIGNED_WRAPPED_DOCUMENT_DID_OBFUSCATED;
711
+ exports.SIGNED_WRAPPED_DOCUMENT_DID_OSCP = SIGNED_WRAPPED_DOCUMENT_DID_OSCP;
712
+ exports.W3C_VERIFIABLE_DOCUMENT = W3C_VERIFIABLE_DOCUMENT;
713
+ exports.WRAPPED_DOCUMENT_DID = WRAPPED_DOCUMENT_DID;
714
+ exports.WRAPPED_DOCUMENT_DID_OSCP = WRAPPED_DOCUMENT_DID_OSCP;
715
+ exports.WRAPPED_DOCUMENT_DNS_TXT_V2 = WRAPPED_DOCUMENT_DNS_TXT_V2;