@europeum-ebsi/cli 0.0.0

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 (209) hide show
  1. package/LICENSE.txt +289 -0
  2. package/README.md +98 -0
  3. package/bin/cli.js +13 -0
  4. package/dist/abi/pilot/DidRegistry.js +568 -0
  5. package/dist/abi/pilot/DidRegistry.js.map +1 -0
  6. package/dist/abi/pilot/Ptr.js +666 -0
  7. package/dist/abi/pilot/Ptr.js.map +1 -0
  8. package/dist/abi/pilot/SchemaSCRegistry.js +264 -0
  9. package/dist/abi/pilot/SchemaSCRegistry.js.map +1 -0
  10. package/dist/abi/pilot/Tcr.js +715 -0
  11. package/dist/abi/pilot/Tcr.js.map +1 -0
  12. package/dist/abi/pilot/Timestamp.js +658 -0
  13. package/dist/abi/pilot/Timestamp.js.map +1 -0
  14. package/dist/abi/pilot/Tir.js +428 -0
  15. package/dist/abi/pilot/Tir.js.map +1 -0
  16. package/dist/abi/pilot/TnT.js +842 -0
  17. package/dist/abi/pilot/TnT.js.map +1 -0
  18. package/dist/abi/pilot/Tpr.js +492 -0
  19. package/dist/abi/pilot/Tpr.js.map +1 -0
  20. package/dist/abi/test/DidRegistry.js +568 -0
  21. package/dist/abi/test/DidRegistry.js.map +1 -0
  22. package/dist/abi/test/Ptr.js +666 -0
  23. package/dist/abi/test/Ptr.js.map +1 -0
  24. package/dist/abi/test/SchemaSCRegistry.js +300 -0
  25. package/dist/abi/test/SchemaSCRegistry.js.map +1 -0
  26. package/dist/abi/test/Tcr.js +715 -0
  27. package/dist/abi/test/Tcr.js.map +1 -0
  28. package/dist/abi/test/Timestamp.js +658 -0
  29. package/dist/abi/test/Timestamp.js.map +1 -0
  30. package/dist/abi/test/Tir.js +428 -0
  31. package/dist/abi/test/Tir.js.map +1 -0
  32. package/dist/abi/test/TnT.js +842 -0
  33. package/dist/abi/test/TnT.js.map +1 -0
  34. package/dist/abi/test/Tpr.js +492 -0
  35. package/dist/abi/test/Tpr.js.map +1 -0
  36. package/dist/app.js +659 -0
  37. package/dist/app.js.map +1 -0
  38. package/dist/buildParam/didr.js +374 -0
  39. package/dist/buildParam/didr.js.map +1 -0
  40. package/dist/buildParam/index.js +53 -0
  41. package/dist/buildParam/index.js.map +1 -0
  42. package/dist/buildParam/ptr.js +80 -0
  43. package/dist/buildParam/ptr.js.map +1 -0
  44. package/dist/buildParam/tcr.js +36 -0
  45. package/dist/buildParam/tcr.js.map +1 -0
  46. package/dist/buildParam/timestamp.js +350 -0
  47. package/dist/buildParam/timestamp.js.map +1 -0
  48. package/dist/buildParam/tir.js +110 -0
  49. package/dist/buildParam/tir.js.map +1 -0
  50. package/dist/buildParam/tnt.js +214 -0
  51. package/dist/buildParam/tnt.js.map +1 -0
  52. package/dist/buildParam/tpr.js +91 -0
  53. package/dist/buildParam/tpr.js.map +1 -0
  54. package/dist/buildParam/tsr.js +115 -0
  55. package/dist/buildParam/tsr.js.map +1 -0
  56. package/dist/cli.js +11 -0
  57. package/dist/cli.js.map +1 -0
  58. package/dist/commands/authorisation.js +144 -0
  59. package/dist/commands/authorisation.js.map +1 -0
  60. package/dist/commands/compute.js +680 -0
  61. package/dist/commands/compute.js.map +1 -0
  62. package/dist/commands/conformance.js +813 -0
  63. package/dist/commands/conformance.js.map +1 -0
  64. package/dist/commands/hardwarewallet.js +41 -0
  65. package/dist/commands/hardwarewallet.js.map +1 -0
  66. package/dist/commands/index.js +8 -0
  67. package/dist/commands/index.js.map +1 -0
  68. package/dist/commands/ledger.js +397 -0
  69. package/dist/commands/ledger.js.map +1 -0
  70. package/dist/commands/ptr.js +54 -0
  71. package/dist/commands/ptr.js.map +1 -0
  72. package/dist/commands/tcr.js +50 -0
  73. package/dist/commands/tcr.js.map +1 -0
  74. package/dist/commands/tir.js +64 -0
  75. package/dist/commands/tir.js.map +1 -0
  76. package/dist/commands/tnl.js +81 -0
  77. package/dist/commands/tnl.js.map +1 -0
  78. package/dist/commands/tsr.js +45 -0
  79. package/dist/commands/tsr.js.map +1 -0
  80. package/dist/commands/view.js +53 -0
  81. package/dist/commands/view.js.map +1 -0
  82. package/dist/config.js +497 -0
  83. package/dist/config.js.map +1 -0
  84. package/dist/index.js +7 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/interfaces/context.js +2 -0
  87. package/dist/interfaces/context.js.map +1 -0
  88. package/dist/interfaces/contracts/ProxyFactory.js +2 -0
  89. package/dist/interfaces/contracts/ProxyFactory.js.map +1 -0
  90. package/dist/interfaces/contracts/ProxyTemplateRegistry.js +2 -0
  91. package/dist/interfaces/contracts/ProxyTemplateRegistry.js.map +1 -0
  92. package/dist/interfaces/contracts/SchemaSCRegistry.js +2 -0
  93. package/dist/interfaces/contracts/SchemaSCRegistry.js.map +1 -0
  94. package/dist/interfaces/contracts/common.js +2 -0
  95. package/dist/interfaces/contracts/common.js.map +1 -0
  96. package/dist/interfaces/index.js +5 -0
  97. package/dist/interfaces/index.js.map +1 -0
  98. package/dist/interfaces/jsonrpc.interface.js +2 -0
  99. package/dist/interfaces/jsonrpc.interface.js.map +1 -0
  100. package/dist/interfaces/paginated-list.interface.js +2 -0
  101. package/dist/interfaces/paginated-list.interface.js.map +1 -0
  102. package/dist/interfaces/unsigned-transaction.interface.js +2 -0
  103. package/dist/interfaces/unsigned-transaction.interface.js.map +1 -0
  104. package/dist/interfaces/utils.interface.js +2 -0
  105. package/dist/interfaces/utils.interface.js.map +1 -0
  106. package/dist/programs/migrateDid.js +159 -0
  107. package/dist/programs/migrateDid.js.map +1 -0
  108. package/dist/programs/migrateDids.js +232 -0
  109. package/dist/programs/migrateDids.js.map +1 -0
  110. package/dist/programs/migrateTsr.js +201 -0
  111. package/dist/programs/migrateTsr.js.map +1 -0
  112. package/dist/scripts/accreditAndAuthorize/conformance/step1 +34 -0
  113. package/dist/scripts/accreditAndAuthorize/conformance/step2 +18 -0
  114. package/dist/scripts/accreditAndAuthorize/conformance/step3 +9 -0
  115. package/dist/scripts/accreditAndAuthorize/conformance/step4 +27 -0
  116. package/dist/scripts/accreditAndAuthorize/conformance/step5 +13 -0
  117. package/dist/scripts/accreditAndAuthorize/conformance/step6 +14 -0
  118. package/dist/scripts/accreditAndAuthorize/conformance/step7 +7 -0
  119. package/dist/scripts/accreditAndAuthorize/test/step1 +34 -0
  120. package/dist/scripts/accreditAndAuthorize/test/step2 +18 -0
  121. package/dist/scripts/accreditAndAuthorize/test/step3 +9 -0
  122. package/dist/scripts/accreditAndAuthorize/test/step4 +27 -0
  123. package/dist/scripts/accreditAndAuthorize/test/step5 +13 -0
  124. package/dist/scripts/accreditAndAuthorize/test/step6 +14 -0
  125. package/dist/scripts/accreditAndAuthorize/test/step7 +7 -0
  126. package/dist/scripts/accreditTI +21 -0
  127. package/dist/scripts/assets/Nodes.json +27 -0
  128. package/dist/scripts/assets/vcdm1.1/CTRevocableCredential.json +30 -0
  129. package/dist/scripts/assets/vcdm1.1/CredentialToAttestVerifiableAuthorisationForTrustChain.json +29 -0
  130. package/dist/scripts/assets/vcdm1.1/Nodes.json +27 -0
  131. package/dist/scripts/assets/vcdm1.1/TrustedNodesList.json +35 -0
  132. package/dist/scripts/assets/vcdm1.1/VerifiableAccreditationToAccredit.json +35 -0
  133. package/dist/scripts/assets/vcdm1.1/VerifiableAccreditationToAttest.json +33 -0
  134. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationForTrustChain.json +22 -0
  135. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationToInvoke.json +24 -0
  136. package/dist/scripts/assets/vcdm1.1/VerifiableAuthorisationToOnboard.json +24 -0
  137. package/dist/scripts/assets/vcdm2.0/CredentialToAttestVerifiableAuthorisationForTrustChain.json +29 -0
  138. package/dist/scripts/assets/vcdm2.0/TrustedNodesList.json +36 -0
  139. package/dist/scripts/assets/vcdm2.0/VerifiableAccreditationToAccredit.json +40 -0
  140. package/dist/scripts/assets/vcdm2.0/VerifiableAccreditationToAttest.json +38 -0
  141. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationForTrustChain.json +30 -0
  142. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationToInvoke.json +24 -0
  143. package/dist/scripts/assets/vcdm2.0/VerifiableAuthorisationToOnboard.json +23 -0
  144. package/dist/scripts/bootstrap/0a-loadTPROperator +5 -0
  145. package/dist/scripts/bootstrap/0b-loadAdmin +8 -0
  146. package/dist/scripts/bootstrap/1-populateTPR +92 -0
  147. package/dist/scripts/bootstrap/2-populateDID +6 -0
  148. package/dist/scripts/bootstrap/3-populateTimestamp +9 -0
  149. package/dist/scripts/bootstrap/4-populateTIR +8 -0
  150. package/dist/scripts/bootstrap/5-populateTSR +85 -0
  151. package/dist/scripts/bootstrap/6-setupConformanceIssuer +35 -0
  152. package/dist/scripts/bootstrap/README.md +218 -0
  153. package/dist/scripts/issueVcInvoke +10 -0
  154. package/dist/scripts/issueVcOnboard +9 -0
  155. package/dist/scripts/issueVcRootTAO +11 -0
  156. package/dist/scripts/issueVcTAO +12 -0
  157. package/dist/scripts/issueVcTI +12 -0
  158. package/dist/scripts/issueVcTnl +32 -0
  159. package/dist/scripts/issue_CTRevocableCredential +12 -0
  160. package/dist/scripts/issue_SelfAttestationSupportOffice +10 -0
  161. package/dist/scripts/issue_VerifiableAccreditationToAccredit +11 -0
  162. package/dist/scripts/issue_VerifiableAccreditationToAttest +11 -0
  163. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +10 -0
  164. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +9 -0
  165. package/dist/scripts/preregisterIssuer +6 -0
  166. package/dist/scripts/registerDidDocument +15 -0
  167. package/dist/scripts/registerIssuer +6 -0
  168. package/dist/scripts/updateVcRootTAO +10 -0
  169. package/dist/scripts/updateVcTAO +11 -0
  170. package/dist/scripts/updateVcTI +11 -0
  171. package/dist/scripts/vcdm2.0/issueSelfAttestationSupportOffice +10 -0
  172. package/dist/scripts/vcdm2.0/issueVcInvoke +12 -0
  173. package/dist/scripts/vcdm2.0/issueVcOnboard +11 -0
  174. package/dist/scripts/vcdm2.0/issueVcRootTAO +14 -0
  175. package/dist/scripts/vcdm2.0/issueVcTAO +15 -0
  176. package/dist/scripts/vcdm2.0/issueVcTI +15 -0
  177. package/dist/scripts/vcdm2.0/issueVcTnl +34 -0
  178. package/dist/scripts/vcdm2.0/registerDidDocument +15 -0
  179. package/dist/scripts/vcdm2.0/updateVcRootTAO +13 -0
  180. package/dist/scripts/vcdm2.0/updateVcTAO +14 -0
  181. package/dist/scripts/vcdm2.0/updateVcTI +14 -0
  182. package/dist/scripts/vcdm2.0/verifyVcTnl +10 -0
  183. package/dist/scripts/verifyVcTnl +10 -0
  184. package/dist/scripts/wct/accreditAndAuthorize +133 -0
  185. package/dist/scripts/wct/accreditAndAuthorize2 +89 -0
  186. package/dist/scripts/wct/holderWallet +39 -0
  187. package/dist/scripts/wct/holderWallet2 +39 -0
  188. package/dist/scripts/wct/issueToHolder +38 -0
  189. package/dist/scripts/wct/issueToHolder2 +38 -0
  190. package/dist/scripts/wct/pda1 +3 -0
  191. package/dist/scripts/wct/verifier +8 -0
  192. package/dist/scripts/wct/verifier2 +7 -0
  193. package/dist/utils/Client.js +155 -0
  194. package/dist/utils/Client.js.map +1 -0
  195. package/dist/utils/HardwareWallet.js +326 -0
  196. package/dist/utils/HardwareWallet.js.map +1 -0
  197. package/dist/utils/http.js +132 -0
  198. package/dist/utils/http.js.map +1 -0
  199. package/dist/utils/index.js +8 -0
  200. package/dist/utils/index.js.map +1 -0
  201. package/dist/utils/jsonrpc.js +38 -0
  202. package/dist/utils/jsonrpc.js.map +1 -0
  203. package/dist/utils/print.js +56 -0
  204. package/dist/utils/print.js.map +1 -0
  205. package/dist/utils/utils.js +427 -0
  206. package/dist/utils/utils.js.map +1 -0
  207. package/dist/utils/vcdm.js +47 -0
  208. package/dist/utils/vcdm.js.map +1 -0
  209. package/package.json +121 -0
@@ -0,0 +1,12 @@
1
+ # way of use:
2
+ # ==> run issueVcTI <didSubject>
3
+
4
+ reservedAttributeId: compute randomID
5
+ payloadVcTI: load assets/vcdm1.1/VerifiableAccreditationToAttest.json
6
+ set payloadVcTI.issuer user.did
7
+ set payloadVcTI.credentialSubject.id $1
8
+ set payloadVcTI.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
+ set payloadVcTI.termsOfUse.id user.accreditationUrl
10
+ set payloadVcTI.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
11
+ set payloadVcTI.credentialSubject.reservedAttributeId reservedAttributeId
12
+ compute createVcJwt payloadVcTI {} ES256 1.1
@@ -0,0 +1,32 @@
1
+ payloadVcTnl: load assets/vcdm1.1/TrustedNodesList.json
2
+ set payloadVcTnl.credentialSubject.id SET_SERVICE_OPS_MANAGER
3
+
4
+ # environment: test, pilot, preprod, or prod
5
+ set payloadVcTnl.credentialSubject.environment SET_ENV
6
+
7
+ # chainId
8
+ # test: 6175
9
+ # pilot: 6179
10
+ set payloadVcTnl.credentialSubject.chainId SET_CHAIN_ID
11
+
12
+ # version
13
+ set payloadVcTnl.credentialSubject.version SET_TNL_VERSION
14
+
15
+ # Load nodes
16
+ nodes: load assets/Nodes.json
17
+
18
+ # Check the status
19
+ resultHealth: tnl healthNodes nodes
20
+ nodesTotal: compute length resultHealth.nodesOk
21
+ set payloadVcTnl.credentialSubject.nodesTotal nodesTotal
22
+ set payloadVcTnl.credentialSubject.nodes resultHealth.nodesOk
23
+
24
+ # Other updates
25
+ set payloadVcTnl.termsOfUse.id user.accreditationUrl
26
+ set payloadVcTnl.credentialSchema.id ebsi: payloadVcTnl.credentialSubject.environment :trusted-schemas-registry:/schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
27
+
28
+ # Issue the credential
29
+ vcTnl: compute createVcJwt payloadVcTnl {} ES256 1.1
30
+
31
+ view resultHealth
32
+ # pass the VC to the Service Ops Manager (see verifyVcTnl)
@@ -0,0 +1,12 @@
1
+ # way of use:
2
+ # ==> run issue_CTRevocableCredential <didIssuer> <didSubject> <issuerAttributeIdUrl> <issuerProxyId> <statusIndex> <statusListIndex>
3
+
4
+ payloadCTRevocableCredential: load assets/vcdm1.1/CTRevocableCredential.json
5
+ set payloadCTRevocableCredential.issuer $1
6
+ set payloadCTRevocableCredential.credentialSubject.id $2
7
+ set payloadCTRevocableCredential.termsOfUse.id $3
8
+ set payloadCTRevocableCredential.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
+ set payloadCTRevocableCredential.credentialStatus.id tirUrl /issuers/ user.did /proxies/ $4 /credentials/status/ $5
10
+ set payloadCTRevocableCredential.credentialStatus.statusListIndex $6
11
+ set payloadCTRevocableCredential.credentialStatus.statusListCredential tirUrl /issuers/ user.did /proxies/ $4 /credentials/status/ $5
12
+ compute createVcJwt payloadCTRevocableCredential {} ES256 1.1
@@ -0,0 +1,10 @@
1
+ # way of use:
2
+ # ==> run issue_SelfAttestationSupportOffice <didIssuer> <reservedAttributeId>
3
+
4
+ payloadVc: load assets/vcdm1.1/CredentialToAttestVerifiableAuthorisationForTrustChain.json
5
+ set payloadVc.issuer $1
6
+ set payloadVc.credentialSubject.id $1
7
+ set payloadVc.credentialSubject.accreditedFor[0].schemaId tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
8
+ set payloadVc.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
+ set payloadVc.credentialSubject.reservedAttributeId $2
10
+ compute createVcJwt payloadVc {} ES256 1.1
@@ -0,0 +1,11 @@
1
+ # way of use:
2
+ # ==> run issue_VerifiableAccreditationToAccredit <didIssuer> <didSubject> <issuerAttributeIdUrl> <reservedAttributeId>
3
+
4
+ payloadVcTAO: load assets/vcdm1.1/VerifiableAccreditationToAccredit.json
5
+ set payloadVcTAO.issuer $1
6
+ set payloadVcTAO.credentialSubject.id $2
7
+ set payloadVcTAO.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
8
+ set payloadVcTAO.termsOfUse.0.id $3
9
+ set payloadVcTAO.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
10
+ set payloadVcTAO.credentialSubject.reservedAttributeId $4
11
+ compute createVcJwt payloadVcTAO {} ES256 1.1
@@ -0,0 +1,11 @@
1
+ # way of use:
2
+ # ==> run issue_VerifiableAccreditationToAttest <didIssuer> <didSubject> <issuerAttributeIdUrl> <reservedAttributeId>
3
+
4
+ payloadVcTI: load assets/vcdm1.1/VerifiableAccreditationToAttest.json
5
+ set payloadVcTI.issuer $1
6
+ set payloadVcTI.credentialSubject.id $2
7
+ set payloadVcTI.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
8
+ set payloadVcTI.termsOfUse.id $3
9
+ set payloadVcTI.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
10
+ set payloadVcTI.credentialSubject.reservedAttributeId $4
11
+ compute createVcJwt payloadVcTI {} ES256 1.1
@@ -0,0 +1,10 @@
1
+ # way of use:
2
+ # ==> run issue_VerifiableAuthorisationForTrustChain <didIssuer> <didSubject> <issuerAttributeIdUrl> <reservedAttributeId>
3
+
4
+ payloadVcRootTAO: load assets/vcdm1.1/VerifiableAuthorisationForTrustChain.json
5
+ set payloadVcRootTAO.issuer $1
6
+ set payloadVcRootTAO.credentialSubject.id $2
7
+ set payloadVcRootTAO.termsOfUse.id $3
8
+ set payloadVcRootTAO.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
+ set payloadVcRootTAO.credentialSubject.reservedAttributeId $4
10
+ compute createVcJwt payloadVcRootTAO {} ES256 1.1
@@ -0,0 +1,9 @@
1
+ # way of use:
2
+ # ==> run issue_VerifiableAuthorisationToOnboard <didIssuer> <didSubject> <issuerAttributeIdUrl>
3
+
4
+ payloadVcOnboard: load assets/vcdm1.1/VerifiableAuthorisationToOnboard.json
5
+ set payloadVcOnboard.issuer $1
6
+ set payloadVcOnboard.credentialSubject.id $2
7
+ set payloadVcOnboard.termsOfUse.id $3
8
+ set payloadVcOnboard.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
+ compute createVcJwt payloadVcOnboard {} ES256 1.1
@@ -0,0 +1,6 @@
1
+ # ==> run preregisterIssuer <didSubject> <issuerType> <vc>
2
+ jwtDecoded: compute decodeJWT $3
3
+ set reservedAttributeId jwtDecoded.payload.vc.credentialSubject.reservedAttributeId
4
+ resAuthTIR: authorisation auth tir_write_presentation ES256 [] 1.1
5
+ using token resAuthTIR.access_token
6
+ tir setAttributeMetadata $1 reservedAttributeId $2 user.did user.accreditationId
@@ -0,0 +1,15 @@
1
+ # register first part of DID document
2
+ resAuthDIDRInvite: authorisation auth didr_invite_presentation ES256 $1 1.1
3
+ using token resAuthDIDRInvite.access_token
4
+
5
+ did insertDidDocument
6
+ compute wait 5
7
+
8
+ # complete DID document
9
+ resAuthDIDRWrite: authorisation auth didr_write_presentation ES256K [] 1.1
10
+ using token resAuthDIDRWrite.access_token
11
+
12
+ did addVerificationMethod user.did ES256
13
+ compute wait 5
14
+ did addVerificationRelationship user.did authentication ES256
15
+ did addVerificationRelationship user.did assertionMethod ES256
@@ -0,0 +1,6 @@
1
+ # ==> run registerIssuer <vc>
2
+ jwtDecoded: compute decodeJWT $1
3
+ set reservedAttributeId jwtDecoded.payload.vc.credentialSubject.reservedAttributeId
4
+ resAuthTIR: authorisation auth tir_invite_presentation ES256 $1
5
+ using token resAuthTIR.access_token
6
+ tir setAttributeData user.did reservedAttributeId $1
@@ -0,0 +1,10 @@
1
+ # way of use:
2
+ # ==> run issueVcRootTAO <didSubject> <reservedAttributeId>
3
+
4
+ payloadVcRootTAO: load assets/vcdm1.1/VerifiableAuthorisationForTrustChain.json
5
+ set payloadVcRootTAO.issuer user.did
6
+ set payloadVcRootTAO.credentialSubject.id $1
7
+ set payloadVcRootTAO.termsOfUse.id user.accreditationUrl
8
+ set payloadVcRootTAO.credentialSchema.id tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
9
+ set payloadVcRootTAO.credentialSubject.reservedAttributeId $2
10
+ compute createVcJwt payloadVcRootTAO {} ES256 1.1
@@ -0,0 +1,11 @@
1
+ # way of use:
2
+ # ==> run issueVcTAO <didSubject> <reservedAttributeId>
3
+
4
+ payloadVcTAO: load assets/vcdm1.1/VerifiableAccreditationToAccredit.json
5
+ set payloadVcTAO.issuer user.did
6
+ set payloadVcTAO.credentialSubject.id $1
7
+ set payloadVcTAO.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
8
+ set payloadVcTAO.termsOfUse.0.id user.accreditationUrl
9
+ set payloadVcTAO.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
10
+ set payloadVcTAO.credentialSubject.reservedAttributeId $2
11
+ compute createVcJwt payloadVcTAO {} ES256 1.1
@@ -0,0 +1,11 @@
1
+ # way of use:
2
+ # ==> run issueVcTI <didSubject> <reservedAttributeId>
3
+
4
+ payloadVcTI: load assets/vcdm1.1/VerifiableAccreditationToAttest.json
5
+ set payloadVcTI.issuer user.did
6
+ set payloadVcTI.credentialSubject.id $1
7
+ set payloadVcTI.credentialSubject.accreditedFor.0.schemaId tsrUrl /schemas/zH74MKkYTbQ6ZfTxufi6A3Aw8giS4piGm8dpgxFmkJjmu
8
+ set payloadVcTI.termsOfUse.id user.accreditationUrl
9
+ set payloadVcTI.credentialSchema.id tsrUrl /schemas/zHXHLkJpZg4w9nt2GbEBbyE8uhkfirbmT3nF7mJ9kFnjv
10
+ set payloadVcTI.credentialSubject.reservedAttributeId $2
11
+ compute createVcJwt payloadVcTI {} ES256 1.1
@@ -0,0 +1,10 @@
1
+ # way of use:
2
+ # ==> run issue_SelfAttestationSupportOffice <didIssuer> <reservedAttributeId>
3
+
4
+ payloadVc: load assets/vcdm2.0/CredentialToAttestVerifiableAuthorisationForTrustChain.json
5
+ set payloadVc.issuer $1
6
+ set payloadVc.credentialSubject.id $1
7
+ set payloadVc.credentialSubject.permissionFor[0].schemaId tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
8
+ set payloadVc.credentialSchema.id tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
9
+ set payloadVc.credentialSubject.reservedAttributeId $2
10
+ compute createVcJwt payloadVc {} ES256 2.0
@@ -0,0 +1,12 @@
1
+ # way of use:
2
+ # ==> run issueVcInvoke <didSubject> <address>
3
+
4
+ rootAuthorisationFromAccreditation: tir getRootAuthorisation user.accreditationUrl
5
+ payloadVcInvoke: load assets/vcdm2.0/VerifiableAuthorisationToInvoke.json
6
+ set payloadVcInvoke.issuer user.did
7
+ set payloadVcInvoke.credentialSubject.id $1
8
+ set payloadVcInvoke.credentialSubject.contractAddress $2
9
+ set payloadVcInvoke.termsOfUse.parentAccreditation user.accreditationUrl
10
+ set payloadVcInvoke.termsOfUse.rootAuthorisation rootAuthorisationFromAccreditation
11
+ set payloadVcInvoke.credentialSchema.id tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
12
+ compute createVcJwt payloadVcInvoke {} ES256 2.0
@@ -0,0 +1,11 @@
1
+ # way of use:
2
+ # ==> run issueVcOnboard <didSubject>
3
+
4
+ rootAuthorisationFromAccreditation: tir getRootAuthorisation user.accreditationUrl
5
+ payloadVcOnboard: load assets/vcdm2.0/VerifiableAuthorisationToOnboard.json
6
+ set payloadVcOnboard.issuer user.did
7
+ set payloadVcOnboard.credentialSubject.id $1
8
+ set payloadVcOnboard.termsOfUse.parentAccreditation user.accreditationUrl
9
+ set payloadVcOnboard.termsOfUse.rootAuthorisation rootAuthorisationFromAccreditation
10
+ set payloadVcOnboard.credentialSchema.id tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
11
+ compute createVcJwt payloadVcOnboard {} ES256 2.0
@@ -0,0 +1,14 @@
1
+ # way of use:
2
+ # ==> run issueVcRootTAO <didSubject> <trustFramework> <policyId> <legalBasis>
3
+
4
+ reservedAttributeId: compute randomID
5
+ payloadVcRootTAO: load assets/vcdm2.0/VerifiableAuthorisationForTrustChain.json
6
+ set payloadVcRootTAO.issuer user.did
7
+ set payloadVcRootTAO.credentialSubject.id $1
8
+ set payloadVcRootTAO.termsOfUse.trustFramework $2
9
+ set payloadVcRootTAO.termsOfUse.policyId $3
10
+ set payloadVcRootTAO.termsOfUse.legalBasis $4
11
+ set payloadVcRootTAO.credentialSchema.id tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
12
+ set payloadVcRootTAO.credentialStatus.id tirUrl /issuers/ $1 /attributes/ reservedAttributeId
13
+ set payloadVcRootTAO.credentialSubject.reservedAttributeId reservedAttributeId
14
+ compute createVcJwt payloadVcRootTAO {} ES256 2.0
@@ -0,0 +1,15 @@
1
+ # way of use:
2
+ # ==> run issueVcTAO <didSubject>
3
+
4
+ rootAuthorisationFromAccreditation: tir getRootAuthorisation user.accreditationUrl
5
+ reservedAttributeId: compute randomID
6
+ payloadVcTAO: load assets/vcdm2.0/VerifiableAccreditationToAccredit.json
7
+ set payloadVcTAO.issuer user.did
8
+ set payloadVcTAO.credentialSubject.id $1
9
+ set payloadVcTAO.credentialSubject.permissionFor.0.schemaId tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
10
+ set payloadVcTAO.termsOfUse.0.parentAccreditation user.accreditationUrl
11
+ set payloadVcTAO.termsOfUse.0.rootAuthorisation rootAuthorisationFromAccreditation
12
+ set payloadVcTAO.credentialSchema.id tsrUrl /schemas/z2DzoeZrgduRwk3y4RAetwSHRZAHAqNF6fWWMaEcZUdAY
13
+ set payloadVcTAO.credentialStatus.id tirUrl /issuers/ $1 /attributes/ reservedAttributeId
14
+ set payloadVcTAO.credentialSubject.reservedAttributeId reservedAttributeId
15
+ compute createVcJwt payloadVcTAO {} ES256 2.0
@@ -0,0 +1,15 @@
1
+ # way of use:
2
+ # ==> run issueVcTI <didSubject>
3
+
4
+ rootAuthorisationFromAccreditation: tir getRootAuthorisation user.accreditationUrl
5
+ reservedAttributeId: compute randomID
6
+ payloadVcTI: load assets/vcdm2.0/VerifiableAccreditationToAttest.json
7
+ set payloadVcTI.issuer user.did
8
+ set payloadVcTI.credentialSubject.id $1
9
+ set payloadVcTI.credentialSubject.permissionFor.0.schemaId tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
10
+ set payloadVcTI.termsOfUse.parentAccreditation user.accreditationUrl
11
+ set payloadVcTI.termsOfUse.rootAuthorisation rootAuthorisationFromAccreditation
12
+ set payloadVcTI.credentialSchema.id tsrUrl /schemas/z2DzoeZrgduRwk3y4RAetwSHRZAHAqNF6fWWMaEcZUdAY
13
+ set payloadVcTI.credentialStatus.id tirUrl /issuers/ $1 /attributes/ reservedAttributeId
14
+ set payloadVcTI.credentialSubject.reservedAttributeId reservedAttributeId
15
+ compute createVcJwt payloadVcTI {} ES256 2.0
@@ -0,0 +1,34 @@
1
+ payloadVcTnl: load assets/vcdm2.0/TrustedNodesList.json
2
+ set payloadVcTnl.credentialSubject.id SET_SERVICE_OPS_MANAGER
3
+
4
+ # environment: test, pilot, preprod, or prod
5
+ set payloadVcTnl.credentialSubject.environment SET_ENV
6
+
7
+ # chainId
8
+ # test: 6175
9
+ # pilot: 6179
10
+ set payloadVcTnl.credentialSubject.chainId SET_CHAIN_ID
11
+
12
+ # version
13
+ set payloadVcTnl.credentialSubject.version SET_TNL_VERSION
14
+
15
+ # Load nodes
16
+ nodes: load assets/Nodes.json
17
+
18
+ # Check the status
19
+ resultHealth: tnl healthNodes nodes
20
+ nodesTotal: compute length resultHealth.nodesOk
21
+ set payloadVcTnl.credentialSubject.nodesTotal nodesTotal
22
+ set payloadVcTnl.credentialSubject.nodes resultHealth.nodesOk
23
+
24
+ # Other updates
25
+ rootAuthorisationFromAccreditation: tir getRootAuthorisation user.accreditationUrl
26
+ set payloadVcTnl.termsOfUse.parentAccreditation user.accreditationUrl
27
+ set payloadVcTnl.termsOfUse.rootAuthorisation rootAuthorisationFromAccreditation
28
+ set payloadVcTnl.credentialSchema.id ebsi: payloadVcTnl.credentialSubject.environment :trusted-schemas-registry:/schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
29
+
30
+ # Issue the credential
31
+ vcTnl: compute createVcJwt payloadVcTnl {} ES256 2.0
32
+
33
+ view resultHealth
34
+ # pass the VC to the Service Ops Manager (see verifyVcTnl)
@@ -0,0 +1,15 @@
1
+ # register first part of DID document
2
+ resAuthDIDRInvite: authorisation auth didr_invite_presentation ES256 $1 2.0
3
+ using token resAuthDIDRInvite.access_token
4
+
5
+ did insertDidDocument
6
+ compute wait 5
7
+
8
+ # complete DID document
9
+ resAuthDIDRWrite: authorisation auth didr_write_presentation ES256K [] 2.0
10
+ using token resAuthDIDRWrite.access_token
11
+
12
+ did addVerificationMethod user.did ES256
13
+ compute wait 5
14
+ did addVerificationRelationship user.did authentication ES256
15
+ did addVerificationRelationship user.did assertionMethod ES256
@@ -0,0 +1,13 @@
1
+ # way of use:
2
+ # ==> run issueVcRootTAO <didSubject> <trustFramework> <policyId> <legalBasis> <reservedAttributeId>
3
+
4
+ payloadVcRootTAO: load assets/vcdm2.0/VerifiableAuthorisationForTrustChain.json
5
+ set payloadVcRootTAO.issuer user.did
6
+ set payloadVcRootTAO.credentialSubject.id $1
7
+ set payloadVcRootTAO.termsOfUse.trustFramework $2
8
+ set payloadVcRootTAO.termsOfUse.policyId $3
9
+ set payloadVcRootTAO.termsOfUse.legalBasis $4
10
+ set payloadVcRootTAO.credentialSchema.id tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
11
+ set payloadVcRootTAO.credentialStatus.id tirUrl /issuers/ $1 /attributes/ $5
12
+ set payloadVcRootTAO.credentialSubject.reservedAttributeId $5
13
+ compute createVcJwt payloadVcRootTAO {} ES256 2.0
@@ -0,0 +1,14 @@
1
+ # way of use:
2
+ # ==> run issueVcTAO <didSubject> <reservedAttributeId>
3
+
4
+ rootAuthorisationFromAccreditation: tir getRootAuthorisation user.accreditationUrl
5
+ payloadVcTAO: load assets/vcdm2.0/VerifiableAccreditationToAccredit.json
6
+ set payloadVcTAO.issuer user.did
7
+ set payloadVcTAO.credentialSubject.id $1
8
+ set payloadVcTAO.credentialSubject.permissionFor.0.schemaId tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
9
+ set payloadVcTAO.termsOfUse.0.parentAccreditation user.accreditationUrl
10
+ set payloadVcTAO.termsOfUse.0.rootAuthorisation rootAuthorisationFromAccreditation
11
+ set payloadVcTAO.credentialSchema.id tsrUrl /schemas/z2DzoeZrgduRwk3y4RAetwSHRZAHAqNF6fWWMaEcZUdAY
12
+ set payloadVcTAO.credentialStatus.id tirUrl /issuers/ $1 /attributes/ $2
13
+ set payloadVcTAO.credentialSubject.reservedAttributeId $2
14
+ compute createVcJwt payloadVcTAO {} ES256 2.0
@@ -0,0 +1,14 @@
1
+ # way of use:
2
+ # ==> run issueVcTI <didSubject> <reservedAttributeId>
3
+
4
+ rootAuthorisationFromAccreditation: tir getRootAuthorisation user.accreditationUrl
5
+ payloadVcTI: load assets/vcdm2.0/VerifiableAccreditationToAttest.json
6
+ set payloadVcTI.issuer user.did
7
+ set payloadVcTI.credentialSubject.id $1
8
+ set payloadVcTI.credentialSubject.permissionFor.0.schemaId tsrUrl /schemas/zB5yLy7GXdZs1iaJ7wN2K5mhwZDTxjECM2fELYE73mu3E
9
+ set payloadVcTI.termsOfUse.parentAccreditation user.accreditationUrl
10
+ set payloadVcTI.termsOfUse.rootAuthorisation rootAuthorisationFromAccreditation
11
+ set payloadVcTI.credentialSchema.id tsrUrl /schemas/z2DzoeZrgduRwk3y4RAetwSHRZAHAqNF6fWWMaEcZUdAY
12
+ set payloadVcTI.credentialStatus.id tirUrl /issuers/ $1 /attributes/ $2
13
+ set payloadVcTI.credentialSubject.reservedAttributeId $2
14
+ compute createVcJwt payloadVcTI {} ES256 2.0
@@ -0,0 +1,10 @@
1
+ # the Service Ops Manager loads his user, verifies the
2
+ # credential and creates a VP with a generic audience
3
+
4
+ set jwtPayload {"aud":"any"}
5
+ set jwtPayload.exp # undefined: no expiration
6
+ vpTnl: compute createVpJwt vcTnl {} jwtPayload ES256 2.0
7
+
8
+ # verify VC and VP
9
+ compute verifyVcJwt vcTnl
10
+ compute verifyVpJwt vpTnl any
@@ -0,0 +1,10 @@
1
+ # the Service Ops Manager loads his user, verifies the
2
+ # credential and creates a VP with a generic audience
3
+
4
+ set jwtPayload {"aud":"any"}
5
+ set jwtPayload.exp # undefined: no expiration
6
+ vpTnl: compute createVpJwt vcTnl {} jwtPayload ES256 1.1
7
+
8
+ # verify VC and VP
9
+ compute verifyVcJwt vcTnl
10
+ compute verifyVpJwt vpTnl any
@@ -0,0 +1,133 @@
1
+ # create new issuer
2
+ using user null
3
+ using user
4
+ using user ES256 did1 user.keys.ES256K.privateKeyHex
5
+
6
+ # request credential to onboard
7
+ vcOnboard: conformance getCredential onboard ES256 1.1
8
+ conformance check ti_request_verifiable_authorisation_to_onboard
9
+
10
+ set myIssuer user
11
+
12
+ # get the did of conformance api
13
+ vcOnboardDecoded: compute decodeJWT vcOnboard.vc
14
+ set conformanceApiDid vcOnboardDecoded.payload.iss
15
+
16
+ # register did document
17
+ run registerDidDocument vcOnboard.vc
18
+ conformance check ti_register_did
19
+
20
+ # request VerifiableAccreditationToAttest (TI)
21
+ vcTI: conformance getCredential ti
22
+ conformance check ti_request_verifiable_accreditation_to_attest
23
+
24
+ # register the credential for TI
25
+ t: authorisation auth tir_invite_presentation ES256 vcTI.vc 1.1
26
+ using token t.access_token
27
+ tir setAttributeData myIssuer.did vcTI.reservedAttributeId vcTI.vc
28
+ set vcTI.url tirUrl /issuers/ myIssuer.did /attributes/ vcTI.reservedAttributeId
29
+ conformance check ti_register_verifiable_accreditation_to_attest
30
+
31
+ # create a proxy
32
+ conformance clientMockUpdateList "1" "0" "0"
33
+ t: authorisation auth tir_write_presentation ES256
34
+ using token t.access_token
35
+ set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/status/1"}
36
+ set proxyData.prefix myIssuer.clientId
37
+ tir addIssuerProxy myIssuer.did proxyData
38
+ proxies: tir get /issuers/ myIssuer.did /proxies
39
+ set user.proxyId proxies.items.0.proxyId
40
+ set user.accreditationUrl vcTI.url
41
+ conformance clientMockInitiate
42
+
43
+ # issue CTRevocable with credentialStatus StatusList2021
44
+ conformance check ti_request_ctrevocable
45
+
46
+ # Validate the issued credential details
47
+ conformance check ti_validate_ctrevocable
48
+
49
+ # revoke credential
50
+ statusListIndex: compute statusListIndex conformanceApiDid
51
+ conformance clientMockUpdateList 1 statusListIndex 1
52
+ conformance check ti_revoke_ctrevocable
53
+
54
+ # create a proxy for bitstring
55
+ conformance clientMockUpdateBitstringList "1" "0" "0"
56
+ t: authorisation auth tir_write_presentation ES256
57
+ using token t.access_token
58
+ set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/bitstring-status/1"}
59
+ set proxyData.prefix myIssuer.clientId
60
+ tir addIssuerProxy myIssuer.did proxyData
61
+ proxies: tir get /issuers/ myIssuer.did /proxies
62
+ set user.proxyId proxies.items.1.proxyId
63
+ set user.accreditationUrl vcTI.url
64
+ conformance clientMockInitiate
65
+
66
+ # issue CTRevocable with credentialStatus bitstring
67
+ conformance check ti_request_bitstring_ctrevocable
68
+
69
+ # Validate the issued credential details
70
+ conformance check ti_validate_bitstring_ctrevocable
71
+
72
+ # revoke credential
73
+ statusListIndex: compute statusListIndex conformanceApiDid
74
+ conformance clientMockUpdateBitstringList 1 statusListIndex 1
75
+ conformance check ti_revoke_bitstring_ctrevocable
76
+
77
+ # request VerifiableAccreditationToAccredit (TAO)
78
+ vcTAO: conformance getCredential tao
79
+ conformance check tao_request_verifiable_accreditation_to_accredit
80
+
81
+ # register the credential for TAO
82
+ t: authorisation auth tir_write_presentation ES256
83
+ using token t.access_token
84
+ tir setAttributeData myIssuer.did vcTAO.reservedAttributeId vcTAO.vc
85
+ set vcTAO.url tirUrl /issuers/ myIssuer.did /attributes/ vcTAO.reservedAttributeId
86
+ set user.accreditationUrl vcTAO.url
87
+ conformance clientMockInitiate
88
+ conformance check tao_register_verifiable_accreditation_to_accredit
89
+
90
+ # request credential to onboard sub-account
91
+ conformance check tao_request_verifiable_authorisation_to_onboard_subaccount
92
+
93
+ # validate credential and register sub-account
94
+ conformance check tao_validate_verifiable_authorisation_to_onboard_subaccount
95
+
96
+ # request VerifiableAccreditationToAttest for sub-account (TI)
97
+ conformance check tao_request_verifiable_accreditation_to_attest_subaccount
98
+
99
+ # validate and register credential for sub-account
100
+ conformance check tao_validate_verifiable_accreditation_to_attest_subaccount
101
+
102
+ # request VerifiableAccreditationToAccredit for sub-account (TAO)
103
+ conformance check tao_request_verifiable_accreditation_to_accredit_subaccount
104
+
105
+ # validate and register credential for sub-account
106
+ conformance check tao_validate_verifiable_accreditation_to_accredit_subaccount
107
+
108
+ # revoke credentials issued to subaccount
109
+ subaccount: compute subaccountDid myIssuer.did
110
+ attributes: tir get /issuers/ subaccount /attributes
111
+ t: authorisation auth tir_write_presentation ES256
112
+ using token t.access_token
113
+ tir setAttributeMetadata subaccount attributes.items.0.id revoked myIssuer.did vcTAO.reservedAttributeId
114
+ tir setAttributeMetadata subaccount attributes.items.1.id revoked myIssuer.did vcTAO.reservedAttributeId
115
+ conformance check tao_revoke_rights_subaccount
116
+
117
+ # request VerifiableAuthorisationForTrustChain (Root TAO)
118
+ vcRootTAO: conformance getCredential roottao ES256 1.1 vcOnboard.vc
119
+ conformance check rtao_request_verifiableauthorisationfortrustchain
120
+
121
+ # register the credential for RootTAO
122
+ t: authorisation auth tir_write_presentation ES256
123
+ using token t.access_token
124
+ tir setAttributeData myIssuer.did vcRootTAO.reservedAttributeId vcRootTAO.vc
125
+ conformance check rtao_register_verifiableauthorisationfortrustchain
126
+
127
+
128
+ # request CTAAQualificationCredential
129
+ compute wait 10
130
+ ctaaQualification: conformance getCredential qualification
131
+ conformance check request_ctaaqualificationcredential
132
+
133
+ # ACCREDIT AND AUTHORIZE TESTS FINISHED!!
@@ -0,0 +1,89 @@
1
+ # create new issuer
2
+ using user null
3
+ using user
4
+ using user ES256 did1 user.keys.ES256K.privateKeyHex
5
+
6
+ # request credential to onboard
7
+ vcOnboard: conformance getCredential onboard ES256 2.0
8
+ conformance check ti_request_verifiable_authorisation_to_onboard
9
+
10
+ set myIssuer user
11
+
12
+ # register did document
13
+ run vcdm2.0/registerDidDocument vcOnboard.vc
14
+ conformance check ti_register_did
15
+
16
+ # request VerifiableAccreditationToAttest (TI)
17
+ vcTI: conformance getCredential ti ES256 2.0
18
+ conformance check ti_request_verifiable_accreditation_to_attest
19
+
20
+ # register the credential for TI
21
+ t: authorisation auth tir_invite_presentation ES256 vcTI.vc 2.0
22
+ using token t.access_token
23
+ tir setAttributeData myIssuer.did vcTI.reservedAttributeId vcTI.vc
24
+ set vcTI.url tirUrl /issuers/ myIssuer.did /attributes/ vcTI.reservedAttributeId
25
+ conformance check ti_register_verifiable_accreditation_to_attest
26
+
27
+ # create a proxy
28
+ conformance clientMockUpdateList 1 0 0
29
+ t: authorisation auth tir_write_presentation ES256 [] 2.0
30
+ using token t.access_token
31
+ set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/status/1"}
32
+ set proxyData.prefix myIssuer.clientId
33
+ tir addIssuerProxy myIssuer.did proxyData
34
+ proxies: tir get /issuers/ myIssuer.did /proxies
35
+ set user.proxyId proxies.items.0.proxyId
36
+ set user.accreditationUrl vcTI.url
37
+ conformance clientMockInitiate
38
+
39
+ # request VerifiableAccreditationToAccredit (TAO)
40
+ vcTAO: conformance getCredential tao ES256 2.0
41
+ conformance check tao_request_verifiable_accreditation_to_accredit
42
+
43
+ # register the credential for TAO
44
+ t: authorisation auth tir_write_presentation ES256 [] 2.0
45
+ using token t.access_token
46
+ tir setAttributeData myIssuer.did vcTAO.reservedAttributeId vcTAO.vc
47
+ set vcTAO.url tirUrl /issuers/ myIssuer.did /attributes/ vcTAO.reservedAttributeId
48
+ set user.accreditationUrl vcTAO.url
49
+ conformance clientMockInitiate
50
+ conformance check tao_register_verifiable_accreditation_to_accredit 2.0
51
+
52
+ # request credential to onboard sub-account
53
+ conformance check tao_request_verifiable_authorisation_to_onboard_subaccount 2.0
54
+
55
+ # validate credential and register sub-account
56
+ conformance check tao_validate_verifiable_authorisation_to_onboard_subaccount 2.0
57
+
58
+ # request VerifiableAccreditationToAttest for sub-account (TI)
59
+ conformance check tao_request_verifiable_accreditation_to_attest_subaccount 2.0
60
+
61
+ # validate and register credential for sub-account
62
+ conformance check tao_validate_verifiable_accreditation_to_attest_subaccount 2.0
63
+
64
+ # request VerifiableAccreditationToAccredit for sub-account (TAO)
65
+ conformance check tao_request_verifiable_accreditation_to_accredit_subaccount 2.0
66
+
67
+ # validate and register credential for sub-account
68
+ conformance check tao_validate_verifiable_accreditation_to_accredit_subaccount 2.0
69
+
70
+ # revoke credentials issued to subaccount
71
+ subaccount: compute subaccountDid myIssuer.did
72
+ attributes: tir get /issuers/ subaccount /attributes
73
+ t: authorisation auth tir_write_presentation ES256 [] 2.0
74
+ using token t.access_token
75
+ tir setAttributeMetadata subaccount attributes.items.0.id revoked myIssuer.did vcTAO.reservedAttributeId
76
+ tir setAttributeMetadata subaccount attributes.items.1.id revoked myIssuer.did vcTAO.reservedAttributeId
77
+ conformance check tao_revoke_rights_subaccount 2.0
78
+
79
+ # request VerifiableAuthorisationForTrustChain (Root TAO)
80
+ vcRootTAO: conformance getCredential roottao ES256 2.0 vcOnboard.vc
81
+ conformance check rtao_request_verifiableauthorisationfortrustchain 2.0
82
+
83
+ # register the credential for RootTAO
84
+ t: authorisation auth tir_write_presentation ES256 [] 2.0
85
+ using token t.access_token
86
+ tir setAttributeData myIssuer.did vcRootTAO.reservedAttributeId vcRootTAO.vc
87
+ conformance check rtao_register_verifiableauthorisationfortrustchain 2.0
88
+
89
+ # ACCREDIT AND AUTHORIZE TESTS FINISHED FOR VCDM 2.0!!