@mocanetwork/privado-js-sdk 1.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 (517) hide show
  1. package/README.md +75 -0
  2. package/dist/browser/esm/index.js +14901 -0
  3. package/dist/browser/esm/index.js.map +1 -0
  4. package/dist/browser/umd/index.global.js +678 -0
  5. package/dist/browser/umd/index.global.js.map +1 -0
  6. package/dist/node/cjs/index.cjs +15418 -0
  7. package/dist/node/cjs/index.cjs.map +1 -0
  8. package/dist/node/esm/index.js +14901 -0
  9. package/dist/node/esm/index.js.map +1 -0
  10. package/dist/types/blockchain/index.d.ts +2 -0
  11. package/dist/types/blockchain/index.d.ts.map +1 -0
  12. package/dist/types/blockchain/transaction-service.d.ts +81 -0
  13. package/dist/types/blockchain/transaction-service.d.ts.map +1 -0
  14. package/dist/types/circuits/atomic-query-mtp-v2-on-chain.d.ts +70 -0
  15. package/dist/types/circuits/atomic-query-mtp-v2-on-chain.d.ts.map +1 -0
  16. package/dist/types/circuits/atomic-query-mtp-v2.d.ts +63 -0
  17. package/dist/types/circuits/atomic-query-mtp-v2.d.ts.map +1 -0
  18. package/dist/types/circuits/atomic-query-sig-v2-on-chain.d.ts +137 -0
  19. package/dist/types/circuits/atomic-query-sig-v2-on-chain.d.ts.map +1 -0
  20. package/dist/types/circuits/atomic-query-sig-v2.d.ts +64 -0
  21. package/dist/types/circuits/atomic-query-sig-v2.d.ts.map +1 -0
  22. package/dist/types/circuits/atomic-query-v3-on-chain.d.ts +141 -0
  23. package/dist/types/circuits/atomic-query-v3-on-chain.d.ts.map +1 -0
  24. package/dist/types/circuits/atomic-query-v3.d.ts +121 -0
  25. package/dist/types/circuits/atomic-query-v3.d.ts.map +1 -0
  26. package/dist/types/circuits/auth-v2.d.ts +46 -0
  27. package/dist/types/circuits/auth-v2.d.ts.map +1 -0
  28. package/dist/types/circuits/common.d.ts +153 -0
  29. package/dist/types/circuits/common.d.ts.map +1 -0
  30. package/dist/types/circuits/comparer.d.ts +122 -0
  31. package/dist/types/circuits/comparer.d.ts.map +1 -0
  32. package/dist/types/circuits/index.d.ts +13 -0
  33. package/dist/types/circuits/index.d.ts.map +1 -0
  34. package/dist/types/circuits/linked-multi-query.d.ts +38 -0
  35. package/dist/types/circuits/linked-multi-query.d.ts.map +1 -0
  36. package/dist/types/circuits/models.d.ts +189 -0
  37. package/dist/types/circuits/models.d.ts.map +1 -0
  38. package/dist/types/circuits/state-transition.d.ts +49 -0
  39. package/dist/types/circuits/state-transition.d.ts.map +1 -0
  40. package/dist/types/credentials/credential-wallet.d.ts +200 -0
  41. package/dist/types/credentials/credential-wallet.d.ts.map +1 -0
  42. package/dist/types/credentials/index.d.ts +12 -0
  43. package/dist/types/credentials/index.d.ts.map +1 -0
  44. package/dist/types/credentials/models.d.ts +84 -0
  45. package/dist/types/credentials/models.d.ts.map +1 -0
  46. package/dist/types/credentials/rhs.d.ts +38 -0
  47. package/dist/types/credentials/rhs.d.ts.map +1 -0
  48. package/dist/types/credentials/status/agent-revocation.d.ts +20 -0
  49. package/dist/types/credentials/status/agent-revocation.d.ts.map +1 -0
  50. package/dist/types/credentials/status/credential-status-publisher.d.ts +73 -0
  51. package/dist/types/credentials/status/credential-status-publisher.d.ts.map +1 -0
  52. package/dist/types/credentials/status/did-resolver-revocation.d.ts +8 -0
  53. package/dist/types/credentials/status/did-resolver-revocation.d.ts.map +1 -0
  54. package/dist/types/credentials/status/on-chain-revocation.d.ts +58 -0
  55. package/dist/types/credentials/status/on-chain-revocation.d.ts.map +1 -0
  56. package/dist/types/credentials/status/resolver.d.ts +69 -0
  57. package/dist/types/credentials/status/resolver.d.ts.map +1 -0
  58. package/dist/types/credentials/status/reverse-sparse-merkle-tree.d.ts +126 -0
  59. package/dist/types/credentials/status/reverse-sparse-merkle-tree.d.ts.map +1 -0
  60. package/dist/types/credentials/status/sparse-merkle-tree.d.ts +38 -0
  61. package/dist/types/credentials/status/sparse-merkle-tree.d.ts.map +1 -0
  62. package/dist/types/credentials/utils.d.ts +15 -0
  63. package/dist/types/credentials/utils.d.ts.map +1 -0
  64. package/dist/types/iden3comm/constants.d.ts +61 -0
  65. package/dist/types/iden3comm/constants.d.ts.map +1 -0
  66. package/dist/types/iden3comm/errors.d.ts +10 -0
  67. package/dist/types/iden3comm/errors.d.ts.map +1 -0
  68. package/dist/types/iden3comm/handlers/auth.d.ts +157 -0
  69. package/dist/types/iden3comm/handlers/auth.d.ts.map +1 -0
  70. package/dist/types/iden3comm/handlers/common.d.ts +72 -0
  71. package/dist/types/iden3comm/handlers/common.d.ts.map +1 -0
  72. package/dist/types/iden3comm/handlers/contract-request.d.ts +96 -0
  73. package/dist/types/iden3comm/handlers/contract-request.d.ts.map +1 -0
  74. package/dist/types/iden3comm/handlers/credential-proposal.d.ts +120 -0
  75. package/dist/types/iden3comm/handlers/credential-proposal.d.ts.map +1 -0
  76. package/dist/types/iden3comm/handlers/discovery-protocol.d.ts +101 -0
  77. package/dist/types/iden3comm/handlers/discovery-protocol.d.ts.map +1 -0
  78. package/dist/types/iden3comm/handlers/fetch.d.ts +130 -0
  79. package/dist/types/iden3comm/handlers/fetch.d.ts.map +1 -0
  80. package/dist/types/iden3comm/handlers/index.d.ts +12 -0
  81. package/dist/types/iden3comm/handlers/index.d.ts.map +1 -0
  82. package/dist/types/iden3comm/handlers/message-handler.d.ts +93 -0
  83. package/dist/types/iden3comm/handlers/message-handler.d.ts.map +1 -0
  84. package/dist/types/iden3comm/handlers/payment.d.ts +167 -0
  85. package/dist/types/iden3comm/handlers/payment.d.ts.map +1 -0
  86. package/dist/types/iden3comm/handlers/problem-report.d.ts +18 -0
  87. package/dist/types/iden3comm/handlers/problem-report.d.ts.map +1 -0
  88. package/dist/types/iden3comm/handlers/refresh.d.ts +57 -0
  89. package/dist/types/iden3comm/handlers/refresh.d.ts.map +1 -0
  90. package/dist/types/iden3comm/handlers/revocation-status.d.ts +76 -0
  91. package/dist/types/iden3comm/handlers/revocation-status.d.ts.map +1 -0
  92. package/dist/types/iden3comm/index.d.ts +9 -0
  93. package/dist/types/iden3comm/index.d.ts.map +1 -0
  94. package/dist/types/iden3comm/packageManager.d.ts +47 -0
  95. package/dist/types/iden3comm/packageManager.d.ts.map +1 -0
  96. package/dist/types/iden3comm/packers/index.d.ts +4 -0
  97. package/dist/types/iden3comm/packers/index.d.ts.map +1 -0
  98. package/dist/types/iden3comm/packers/jws.d.ts +56 -0
  99. package/dist/types/iden3comm/packers/jws.d.ts.map +1 -0
  100. package/dist/types/iden3comm/packers/plain.d.ts +47 -0
  101. package/dist/types/iden3comm/packers/plain.d.ts.map +1 -0
  102. package/dist/types/iden3comm/packers/zkp.d.ts +98 -0
  103. package/dist/types/iden3comm/packers/zkp.d.ts.map +1 -0
  104. package/dist/types/iden3comm/types/index.d.ts +17 -0
  105. package/dist/types/iden3comm/types/index.d.ts.map +1 -0
  106. package/dist/types/iden3comm/types/models.d.ts +7 -0
  107. package/dist/types/iden3comm/types/models.d.ts.map +1 -0
  108. package/dist/types/iden3comm/types/packageManager.d.ts +100 -0
  109. package/dist/types/iden3comm/types/packageManager.d.ts.map +1 -0
  110. package/dist/types/iden3comm/types/packer.d.ts +158 -0
  111. package/dist/types/iden3comm/types/packer.d.ts.map +1 -0
  112. package/dist/types/iden3comm/types/protocol/accept-profile.d.ts +8 -0
  113. package/dist/types/iden3comm/types/protocol/accept-profile.d.ts.map +1 -0
  114. package/dist/types/iden3comm/types/protocol/attachment.d.ts +11 -0
  115. package/dist/types/iden3comm/types/protocol/attachment.d.ts.map +1 -0
  116. package/dist/types/iden3comm/types/protocol/auth.d.ts +90 -0
  117. package/dist/types/iden3comm/types/protocol/auth.d.ts.map +1 -0
  118. package/dist/types/iden3comm/types/protocol/common.d.ts +11 -0
  119. package/dist/types/iden3comm/types/protocol/common.d.ts.map +1 -0
  120. package/dist/types/iden3comm/types/protocol/contract-request.d.ts +62 -0
  121. package/dist/types/iden3comm/types/protocol/contract-request.d.ts.map +1 -0
  122. package/dist/types/iden3comm/types/protocol/credentials.d.ts +82 -0
  123. package/dist/types/iden3comm/types/protocol/credentials.d.ts.map +1 -0
  124. package/dist/types/iden3comm/types/protocol/discovery-protocol.d.ts +42 -0
  125. package/dist/types/iden3comm/types/protocol/discovery-protocol.d.ts.map +1 -0
  126. package/dist/types/iden3comm/types/protocol/messages.d.ts +12 -0
  127. package/dist/types/iden3comm/types/protocol/messages.d.ts.map +1 -0
  128. package/dist/types/iden3comm/types/protocol/payment.d.ts +178 -0
  129. package/dist/types/iden3comm/types/protocol/payment.d.ts.map +1 -0
  130. package/dist/types/iden3comm/types/protocol/problem-report.d.ts +17 -0
  131. package/dist/types/iden3comm/types/protocol/problem-report.d.ts.map +1 -0
  132. package/dist/types/iden3comm/types/protocol/proof.d.ts +22 -0
  133. package/dist/types/iden3comm/types/protocol/proof.d.ts.map +1 -0
  134. package/dist/types/iden3comm/types/protocol/proposal-request.d.ts +33 -0
  135. package/dist/types/iden3comm/types/protocol/proposal-request.d.ts.map +1 -0
  136. package/dist/types/iden3comm/types/protocol/revocation.d.ts +20 -0
  137. package/dist/types/iden3comm/types/protocol/revocation.d.ts.map +1 -0
  138. package/dist/types/iden3comm/utils/accept-profile.d.ts +4 -0
  139. package/dist/types/iden3comm/utils/accept-profile.d.ts.map +1 -0
  140. package/dist/types/iden3comm/utils/did.d.ts +8 -0
  141. package/dist/types/iden3comm/utils/did.d.ts.map +1 -0
  142. package/dist/types/iden3comm/utils/envelope.d.ts +32 -0
  143. package/dist/types/iden3comm/utils/envelope.d.ts.map +1 -0
  144. package/dist/types/iden3comm/utils/index.d.ts +5 -0
  145. package/dist/types/iden3comm/utils/index.d.ts.map +1 -0
  146. package/dist/types/iden3comm/utils/message.d.ts +20 -0
  147. package/dist/types/iden3comm/utils/message.d.ts.map +1 -0
  148. package/dist/types/identity/common.d.ts +27 -0
  149. package/dist/types/identity/common.d.ts.map +1 -0
  150. package/dist/types/identity/identity-wallet.d.ts +472 -0
  151. package/dist/types/identity/identity-wallet.d.ts.map +1 -0
  152. package/dist/types/identity/index.d.ts +3 -0
  153. package/dist/types/identity/index.d.ts.map +1 -0
  154. package/dist/types/index.d.ts +17 -0
  155. package/dist/types/index.d.ts.map +1 -0
  156. package/dist/types/kms/index.d.ts +5 -0
  157. package/dist/types/kms/index.d.ts.map +1 -0
  158. package/dist/types/kms/key-providers/bjj-provider.d.ts +54 -0
  159. package/dist/types/kms/key-providers/bjj-provider.d.ts.map +1 -0
  160. package/dist/types/kms/key-providers/ed25519-provider.d.ts +61 -0
  161. package/dist/types/kms/key-providers/ed25519-provider.d.ts.map +1 -0
  162. package/dist/types/kms/key-providers/index.d.ts +4 -0
  163. package/dist/types/kms/key-providers/index.d.ts.map +1 -0
  164. package/dist/types/kms/key-providers/secp256k1-provider.d.ts +62 -0
  165. package/dist/types/kms/key-providers/secp256k1-provider.d.ts.map +1 -0
  166. package/dist/types/kms/kms.d.ts +120 -0
  167. package/dist/types/kms/kms.d.ts.map +1 -0
  168. package/dist/types/kms/provider-helpers.d.ts +10 -0
  169. package/dist/types/kms/provider-helpers.d.ts.map +1 -0
  170. package/dist/types/kms/store/abstract-key-store.d.ts +41 -0
  171. package/dist/types/kms/store/abstract-key-store.d.ts.map +1 -0
  172. package/dist/types/kms/store/index.d.ts +6 -0
  173. package/dist/types/kms/store/index.d.ts.map +1 -0
  174. package/dist/types/kms/store/indexed-db-key-store.d.ts +44 -0
  175. package/dist/types/kms/store/indexed-db-key-store.d.ts.map +1 -0
  176. package/dist/types/kms/store/local-storage-key-store.d.ts +42 -0
  177. package/dist/types/kms/store/local-storage-key-store.d.ts.map +1 -0
  178. package/dist/types/kms/store/memory-key-store.d.ts +24 -0
  179. package/dist/types/kms/store/memory-key-store.d.ts.map +1 -0
  180. package/dist/types/kms/store/types.d.ts +21 -0
  181. package/dist/types/kms/store/types.d.ts.map +1 -0
  182. package/dist/types/proof/common.d.ts +49 -0
  183. package/dist/types/proof/common.d.ts.map +1 -0
  184. package/dist/types/proof/index.d.ts +5 -0
  185. package/dist/types/proof/index.d.ts.map +1 -0
  186. package/dist/types/proof/proof-service.d.ts +169 -0
  187. package/dist/types/proof/proof-service.d.ts.map +1 -0
  188. package/dist/types/proof/provers/index.d.ts +4 -0
  189. package/dist/types/proof/provers/index.d.ts.map +1 -0
  190. package/dist/types/proof/provers/inputs-generator.d.ts +57 -0
  191. package/dist/types/proof/provers/inputs-generator.d.ts.map +1 -0
  192. package/dist/types/proof/provers/prover.d.ts +56 -0
  193. package/dist/types/proof/provers/prover.d.ts.map +1 -0
  194. package/dist/types/proof/provers/witness_calculator.d.ts +17 -0
  195. package/dist/types/proof/provers/witness_calculator.d.ts.map +1 -0
  196. package/dist/types/proof/verifiers/index.d.ts +4 -0
  197. package/dist/types/proof/verifiers/index.d.ts.map +1 -0
  198. package/dist/types/proof/verifiers/pub-signals-verifier.d.ts +60 -0
  199. package/dist/types/proof/verifiers/pub-signals-verifier.d.ts.map +1 -0
  200. package/dist/types/proof/verifiers/query-hash.d.ts +4 -0
  201. package/dist/types/proof/verifiers/query-hash.d.ts.map +1 -0
  202. package/dist/types/proof/verifiers/query.d.ts +43 -0
  203. package/dist/types/proof/verifiers/query.d.ts.map +1 -0
  204. package/dist/types/schema-processor/index.d.ts +4 -0
  205. package/dist/types/schema-processor/index.d.ts.map +1 -0
  206. package/dist/types/schema-processor/json/index.d.ts +3 -0
  207. package/dist/types/schema-processor/json/index.d.ts.map +1 -0
  208. package/dist/types/schema-processor/json/parser.d.ts +141 -0
  209. package/dist/types/schema-processor/json/parser.d.ts.map +1 -0
  210. package/dist/types/schema-processor/json/validator.d.ts +26 -0
  211. package/dist/types/schema-processor/json/validator.d.ts.map +1 -0
  212. package/dist/types/schema-processor/jsonld/cache.d.ts +3 -0
  213. package/dist/types/schema-processor/jsonld/cache.d.ts.map +1 -0
  214. package/dist/types/schema-processor/jsonld/index.d.ts +3 -0
  215. package/dist/types/schema-processor/jsonld/index.d.ts.map +1 -0
  216. package/dist/types/schema-processor/jsonld/parser.d.ts +30 -0
  217. package/dist/types/schema-processor/jsonld/parser.d.ts.map +1 -0
  218. package/dist/types/schema-processor/utils.d.ts +54 -0
  219. package/dist/types/schema-processor/utils.d.ts.map +1 -0
  220. package/dist/types/storage/blockchain/common.d.ts +8 -0
  221. package/dist/types/storage/blockchain/common.d.ts.map +1 -0
  222. package/dist/types/storage/blockchain/did-resolver-readonly-storage.d.ts +17 -0
  223. package/dist/types/storage/blockchain/did-resolver-readonly-storage.d.ts.map +1 -0
  224. package/dist/types/storage/blockchain/erc20-helper.d.ts +20 -0
  225. package/dist/types/storage/blockchain/erc20-helper.d.ts.map +1 -0
  226. package/dist/types/storage/blockchain/errors.d.ts +4 -0
  227. package/dist/types/storage/blockchain/errors.d.ts.map +1 -0
  228. package/dist/types/storage/blockchain/index.d.ts +8 -0
  229. package/dist/types/storage/blockchain/index.d.ts.map +1 -0
  230. package/dist/types/storage/blockchain/onchain-issuer-adapter/non-merklized/version/v0.0.1/onchain-non-merklized-issuer-adapter.d.ts +67 -0
  231. package/dist/types/storage/blockchain/onchain-issuer-adapter/non-merklized/version/v0.0.1/onchain-non-merklized-issuer-adapter.d.ts.map +1 -0
  232. package/dist/types/storage/blockchain/onchain-issuer.d.ts +41 -0
  233. package/dist/types/storage/blockchain/onchain-issuer.d.ts.map +1 -0
  234. package/dist/types/storage/blockchain/onchain-revocation.d.ts +41 -0
  235. package/dist/types/storage/blockchain/onchain-revocation.d.ts.map +1 -0
  236. package/dist/types/storage/blockchain/onchain-zkp-verifier.d.ts +116 -0
  237. package/dist/types/storage/blockchain/onchain-zkp-verifier.d.ts.map +1 -0
  238. package/dist/types/storage/blockchain/state.d.ts +127 -0
  239. package/dist/types/storage/blockchain/state.d.ts.map +1 -0
  240. package/dist/types/storage/entities/circuitData.d.ts +8 -0
  241. package/dist/types/storage/entities/circuitData.d.ts.map +1 -0
  242. package/dist/types/storage/entities/identity.d.ts +17 -0
  243. package/dist/types/storage/entities/identity.d.ts.map +1 -0
  244. package/dist/types/storage/entities/index.d.ts +5 -0
  245. package/dist/types/storage/entities/index.d.ts.map +1 -0
  246. package/dist/types/storage/entities/mt.d.ts +22 -0
  247. package/dist/types/storage/entities/mt.d.ts.map +1 -0
  248. package/dist/types/storage/entities/state.d.ts +92 -0
  249. package/dist/types/storage/entities/state.d.ts.map +1 -0
  250. package/dist/types/storage/errors.d.ts +9 -0
  251. package/dist/types/storage/errors.d.ts.map +1 -0
  252. package/dist/types/storage/filters/index.d.ts +2 -0
  253. package/dist/types/storage/filters/index.d.ts.map +1 -0
  254. package/dist/types/storage/filters/jsonQuery.d.ts +83 -0
  255. package/dist/types/storage/filters/jsonQuery.d.ts.map +1 -0
  256. package/dist/types/storage/fs/circuits-storage.d.ts +64 -0
  257. package/dist/types/storage/fs/circuits-storage.d.ts.map +1 -0
  258. package/dist/types/storage/fs/index.d.ts +2 -0
  259. package/dist/types/storage/fs/index.d.ts.map +1 -0
  260. package/dist/types/storage/index.d.ts +10 -0
  261. package/dist/types/storage/index.d.ts.map +1 -0
  262. package/dist/types/storage/indexed-db/data-source.d.ts +44 -0
  263. package/dist/types/storage/indexed-db/data-source.d.ts.map +1 -0
  264. package/dist/types/storage/indexed-db/index.d.ts +3 -0
  265. package/dist/types/storage/indexed-db/index.d.ts.map +1 -0
  266. package/dist/types/storage/indexed-db/merkletree.d.ts +43 -0
  267. package/dist/types/storage/indexed-db/merkletree.d.ts.map +1 -0
  268. package/dist/types/storage/interfaces/circuits.d.ts +26 -0
  269. package/dist/types/storage/interfaces/circuits.d.ts.map +1 -0
  270. package/dist/types/storage/interfaces/credentials.d.ts +53 -0
  271. package/dist/types/storage/interfaces/credentials.d.ts.map +1 -0
  272. package/dist/types/storage/interfaces/data-source.d.ts +39 -0
  273. package/dist/types/storage/interfaces/data-source.d.ts.map +1 -0
  274. package/dist/types/storage/interfaces/data-storage.d.ts +17 -0
  275. package/dist/types/storage/interfaces/data-storage.d.ts.map +1 -0
  276. package/dist/types/storage/interfaces/identity.d.ts +70 -0
  277. package/dist/types/storage/interfaces/identity.d.ts.map +1 -0
  278. package/dist/types/storage/interfaces/index.d.ts +11 -0
  279. package/dist/types/storage/interfaces/index.d.ts.map +1 -0
  280. package/dist/types/storage/interfaces/merkletree.d.ts +44 -0
  281. package/dist/types/storage/interfaces/merkletree.d.ts.map +1 -0
  282. package/dist/types/storage/interfaces/onchain-issuer.d.ts +13 -0
  283. package/dist/types/storage/interfaces/onchain-issuer.d.ts.map +1 -0
  284. package/dist/types/storage/interfaces/onchain-revocation.d.ts +19 -0
  285. package/dist/types/storage/interfaces/onchain-revocation.d.ts.map +1 -0
  286. package/dist/types/storage/interfaces/onchain-zkp-verifier.d.ts +63 -0
  287. package/dist/types/storage/interfaces/onchain-zkp-verifier.d.ts.map +1 -0
  288. package/dist/types/storage/interfaces/state.d.ts +74 -0
  289. package/dist/types/storage/interfaces/state.d.ts.map +1 -0
  290. package/dist/types/storage/local-storage/data-source.d.ts +41 -0
  291. package/dist/types/storage/local-storage/data-source.d.ts.map +1 -0
  292. package/dist/types/storage/local-storage/index.d.ts +3 -0
  293. package/dist/types/storage/local-storage/index.d.ts.map +1 -0
  294. package/dist/types/storage/local-storage/merkletree.d.ts +41 -0
  295. package/dist/types/storage/local-storage/merkletree.d.ts.map +1 -0
  296. package/dist/types/storage/memory/cache-lru.d.ts +11 -0
  297. package/dist/types/storage/memory/cache-lru.d.ts.map +1 -0
  298. package/dist/types/storage/memory/data-source.d.ts +20 -0
  299. package/dist/types/storage/memory/data-source.d.ts.map +1 -0
  300. package/dist/types/storage/memory/index.d.ts +4 -0
  301. package/dist/types/storage/memory/index.d.ts.map +1 -0
  302. package/dist/types/storage/memory/merkletree.d.ts +48 -0
  303. package/dist/types/storage/memory/merkletree.d.ts.map +1 -0
  304. package/dist/types/storage/shared/circuit-storage.d.ts +39 -0
  305. package/dist/types/storage/shared/circuit-storage.d.ts.map +1 -0
  306. package/dist/types/storage/shared/credential-storage.d.ts +39 -0
  307. package/dist/types/storage/shared/credential-storage.d.ts.map +1 -0
  308. package/dist/types/storage/shared/identity-storage.d.ts +45 -0
  309. package/dist/types/storage/shared/identity-storage.d.ts.map +1 -0
  310. package/dist/types/storage/shared/index.d.ts +4 -0
  311. package/dist/types/storage/shared/index.d.ts.map +1 -0
  312. package/dist/types/storage/utils.d.ts +4 -0
  313. package/dist/types/storage/utils.d.ts.map +1 -0
  314. package/dist/types/utils/compare-func.d.ts +2 -0
  315. package/dist/types/utils/compare-func.d.ts.map +1 -0
  316. package/dist/types/utils/did-helper.d.ts +38 -0
  317. package/dist/types/utils/did-helper.d.ts.map +1 -0
  318. package/dist/types/utils/encoding.d.ts +25 -0
  319. package/dist/types/utils/encoding.d.ts.map +1 -0
  320. package/dist/types/utils/index.d.ts +8 -0
  321. package/dist/types/utils/index.d.ts.map +1 -0
  322. package/dist/types/utils/message-bus.d.ts +63 -0
  323. package/dist/types/utils/message-bus.d.ts.map +1 -0
  324. package/dist/types/utils/object.d.ts +10 -0
  325. package/dist/types/utils/object.d.ts.map +1 -0
  326. package/dist/types/utils/payments/evm.d.ts +19 -0
  327. package/dist/types/utils/payments/evm.d.ts.map +1 -0
  328. package/dist/types/utils/payments/solana.d.ts +88 -0
  329. package/dist/types/utils/payments/solana.d.ts.map +1 -0
  330. package/dist/types/verifiable/constants.d.ts +188 -0
  331. package/dist/types/verifiable/constants.d.ts.map +1 -0
  332. package/dist/types/verifiable/core-utils.d.ts +87 -0
  333. package/dist/types/verifiable/core-utils.d.ts.map +1 -0
  334. package/dist/types/verifiable/credential.d.ts +150 -0
  335. package/dist/types/verifiable/credential.d.ts.map +1 -0
  336. package/dist/types/verifiable/index.d.ts +7 -0
  337. package/dist/types/verifiable/index.d.ts.map +1 -0
  338. package/dist/types/verifiable/presentation.d.ts +11 -0
  339. package/dist/types/verifiable/presentation.d.ts.map +1 -0
  340. package/dist/types/verifiable/proof.d.ts +211 -0
  341. package/dist/types/verifiable/proof.d.ts.map +1 -0
  342. package/dist/types/verifiable/schema.d.ts +3 -0
  343. package/dist/types/verifiable/schema.d.ts.map +1 -0
  344. package/package.json +104 -0
  345. package/src/blockchain/index.ts +1 -0
  346. package/src/blockchain/transaction-service.ts +121 -0
  347. package/src/circuits/atomic-query-mtp-v2-on-chain.ts +338 -0
  348. package/src/circuits/atomic-query-mtp-v2.ts +283 -0
  349. package/src/circuits/atomic-query-sig-v2-on-chain.ts +411 -0
  350. package/src/circuits/atomic-query-sig-v2.ts +340 -0
  351. package/src/circuits/atomic-query-v3-on-chain.ts +531 -0
  352. package/src/circuits/atomic-query-v3.ts +461 -0
  353. package/src/circuits/auth-v2.ts +159 -0
  354. package/src/circuits/common.ts +261 -0
  355. package/src/circuits/comparer.ts +227 -0
  356. package/src/circuits/index.ts +12 -0
  357. package/src/circuits/linked-multi-query.ts +180 -0
  358. package/src/circuits/models.ts +263 -0
  359. package/src/circuits/state-transition.ts +139 -0
  360. package/src/credentials/credential-wallet.ts +353 -0
  361. package/src/credentials/index.ts +11 -0
  362. package/src/credentials/models.ts +93 -0
  363. package/src/credentials/rhs.ts +176 -0
  364. package/src/credentials/status/agent-revocation.ts +69 -0
  365. package/src/credentials/status/credential-status-publisher.ts +143 -0
  366. package/src/credentials/status/did-resolver-revocation.ts +24 -0
  367. package/src/credentials/status/on-chain-revocation.ts +174 -0
  368. package/src/credentials/status/resolver.ts +81 -0
  369. package/src/credentials/status/reverse-sparse-merkle-tree.ts +366 -0
  370. package/src/credentials/status/sparse-merkle-tree.ts +50 -0
  371. package/src/credentials/utils.ts +36 -0
  372. package/src/iden3comm/constants.ts +119 -0
  373. package/src/iden3comm/errors.ts +14 -0
  374. package/src/iden3comm/handlers/auth.ts +520 -0
  375. package/src/iden3comm/handlers/common.ts +324 -0
  376. package/src/iden3comm/handlers/contract-request.ts +367 -0
  377. package/src/iden3comm/handlers/credential-proposal.ts +371 -0
  378. package/src/iden3comm/handlers/discovery-protocol.ts +277 -0
  379. package/src/iden3comm/handlers/fetch.ts +450 -0
  380. package/src/iden3comm/handlers/index.ts +11 -0
  381. package/src/iden3comm/handlers/message-handler.ts +165 -0
  382. package/src/iden3comm/handlers/payment.ts +698 -0
  383. package/src/iden3comm/handlers/problem-report.ts +41 -0
  384. package/src/iden3comm/handlers/refresh.ts +138 -0
  385. package/src/iden3comm/handlers/revocation-status.ts +228 -0
  386. package/src/iden3comm/index.ts +9 -0
  387. package/src/iden3comm/packageManager.ts +143 -0
  388. package/src/iden3comm/packers/index.ts +3 -0
  389. package/src/iden3comm/packers/jws.ts +225 -0
  390. package/src/iden3comm/packers/plain.ts +86 -0
  391. package/src/iden3comm/packers/zkp.ts +243 -0
  392. package/src/iden3comm/types/index.ts +17 -0
  393. package/src/iden3comm/types/models.ts +7 -0
  394. package/src/iden3comm/types/packageManager.ts +112 -0
  395. package/src/iden3comm/types/packer.ts +190 -0
  396. package/src/iden3comm/types/protocol/accept-profile.ts +14 -0
  397. package/src/iden3comm/types/protocol/attachment.ts +12 -0
  398. package/src/iden3comm/types/protocol/auth.ts +104 -0
  399. package/src/iden3comm/types/protocol/common.ts +10 -0
  400. package/src/iden3comm/types/protocol/contract-request.ts +76 -0
  401. package/src/iden3comm/types/protocol/credentials.ts +96 -0
  402. package/src/iden3comm/types/protocol/discovery-protocol.ts +49 -0
  403. package/src/iden3comm/types/protocol/messages.ts +13 -0
  404. package/src/iden3comm/types/protocol/payment.ts +231 -0
  405. package/src/iden3comm/types/protocol/problem-report.ts +18 -0
  406. package/src/iden3comm/types/protocol/proof.ts +25 -0
  407. package/src/iden3comm/types/protocol/proposal-request.ts +38 -0
  408. package/src/iden3comm/types/protocol/revocation.ts +23 -0
  409. package/src/iden3comm/utils/accept-profile.ts +121 -0
  410. package/src/iden3comm/utils/did.ts +71 -0
  411. package/src/iden3comm/utils/envelope.ts +101 -0
  412. package/src/iden3comm/utils/index.ts +4 -0
  413. package/src/iden3comm/utils/message.ts +41 -0
  414. package/src/identity/common.ts +69 -0
  415. package/src/identity/identity-wallet.ts +1592 -0
  416. package/src/identity/index.ts +2 -0
  417. package/src/index.ts +16 -0
  418. package/src/kms/index.ts +4 -0
  419. package/src/kms/key-providers/bjj-provider.ts +118 -0
  420. package/src/kms/key-providers/ed25519-provider.ts +105 -0
  421. package/src/kms/key-providers/index.ts +3 -0
  422. package/src/kms/key-providers/secp256k1-provider.ts +125 -0
  423. package/src/kms/kms.ts +173 -0
  424. package/src/kms/provider-helpers.ts +13 -0
  425. package/src/kms/store/abstract-key-store.ts +34 -0
  426. package/src/kms/store/index.ts +5 -0
  427. package/src/kms/store/indexed-db-key-store.ts +60 -0
  428. package/src/kms/store/local-storage-key-store.ts +69 -0
  429. package/src/kms/store/memory-key-store.ts +29 -0
  430. package/src/kms/store/types.ts +21 -0
  431. package/src/proof/common.ts +273 -0
  432. package/src/proof/index.ts +4 -0
  433. package/src/proof/proof-service.ts +623 -0
  434. package/src/proof/provers/index.ts +3 -0
  435. package/src/proof/provers/inputs-generator.ts +627 -0
  436. package/src/proof/provers/prover.ts +104 -0
  437. package/src/proof/provers/witness_calculator.ts +315 -0
  438. package/src/proof/verifiers/index.ts +3 -0
  439. package/src/proof/verifiers/pub-signals-verifier.ts +730 -0
  440. package/src/proof/verifiers/query-hash.ts +57 -0
  441. package/src/proof/verifiers/query.ts +340 -0
  442. package/src/schema-processor/index.ts +3 -0
  443. package/src/schema-processor/json/index.ts +2 -0
  444. package/src/schema-processor/json/parser.ts +256 -0
  445. package/src/schema-processor/json/validator.ts +67 -0
  446. package/src/schema-processor/jsonld/cache.ts +49 -0
  447. package/src/schema-processor/jsonld/index.ts +2 -0
  448. package/src/schema-processor/jsonld/parser.ts +93 -0
  449. package/src/schema-processor/utils.ts +84 -0
  450. package/src/storage/blockchain/abi/CredentialStatusResolver.json +1 -0
  451. package/src/storage/blockchain/abi/ERC20.json +1 -0
  452. package/src/storage/blockchain/abi/ERC20Permit.json +1 -0
  453. package/src/storage/blockchain/abi/IdentityBase.json +1 -0
  454. package/src/storage/blockchain/abi/State.json +1 -0
  455. package/src/storage/blockchain/abi/ZkpVerifier.json +789 -0
  456. package/src/storage/blockchain/common.ts +20 -0
  457. package/src/storage/blockchain/did-resolver-readonly-storage.ts +90 -0
  458. package/src/storage/blockchain/erc20-helper.ts +66 -0
  459. package/src/storage/blockchain/errors.ts +46 -0
  460. package/src/storage/blockchain/index.ts +7 -0
  461. package/src/storage/blockchain/onchain-issuer-adapter/non-merklized/version/v0.0.1/onchain-non-merklized-issuer-adapter.ts +327 -0
  462. package/src/storage/blockchain/onchain-issuer.ts +104 -0
  463. package/src/storage/blockchain/onchain-revocation.ts +143 -0
  464. package/src/storage/blockchain/onchain-zkp-verifier.ts +704 -0
  465. package/src/storage/blockchain/state.ts +471 -0
  466. package/src/storage/entities/circuitData.ts +7 -0
  467. package/src/storage/entities/identity.ts +18 -0
  468. package/src/storage/entities/index.ts +4 -0
  469. package/src/storage/entities/mt.ts +25 -0
  470. package/src/storage/entities/state.ts +97 -0
  471. package/src/storage/errors.ts +8 -0
  472. package/src/storage/filters/index.ts +1 -0
  473. package/src/storage/filters/jsonQuery.ts +368 -0
  474. package/src/storage/fs/circuits-storage.ts +149 -0
  475. package/src/storage/fs/index.ts +1 -0
  476. package/src/storage/index.ts +9 -0
  477. package/src/storage/indexed-db/data-source.ts +58 -0
  478. package/src/storage/indexed-db/index.ts +2 -0
  479. package/src/storage/indexed-db/merkletree.ts +140 -0
  480. package/src/storage/interfaces/circuits.ts +27 -0
  481. package/src/storage/interfaces/credentials.ts +53 -0
  482. package/src/storage/interfaces/data-source.ts +41 -0
  483. package/src/storage/interfaces/data-storage.ts +17 -0
  484. package/src/storage/interfaces/identity.ts +73 -0
  485. package/src/storage/interfaces/index.ts +10 -0
  486. package/src/storage/interfaces/merkletree.ts +52 -0
  487. package/src/storage/interfaces/onchain-issuer.ts +13 -0
  488. package/src/storage/interfaces/onchain-revocation.ts +22 -0
  489. package/src/storage/interfaces/onchain-zkp-verifier.ts +94 -0
  490. package/src/storage/interfaces/state.ts +81 -0
  491. package/src/storage/local-storage/data-source.ts +87 -0
  492. package/src/storage/local-storage/index.ts +2 -0
  493. package/src/storage/local-storage/merkletree.ts +137 -0
  494. package/src/storage/memory/cache-lru.ts +30 -0
  495. package/src/storage/memory/data-source.ts +45 -0
  496. package/src/storage/memory/index.ts +3 -0
  497. package/src/storage/memory/merkletree.ts +116 -0
  498. package/src/storage/shared/circuit-storage.ts +49 -0
  499. package/src/storage/shared/credential-storage.ts +70 -0
  500. package/src/storage/shared/identity-storage.ts +82 -0
  501. package/src/storage/shared/index.ts +3 -0
  502. package/src/storage/utils.ts +19 -0
  503. package/src/utils/compare-func.ts +5 -0
  504. package/src/utils/did-helper.ts +157 -0
  505. package/src/utils/encoding.ts +47 -0
  506. package/src/utils/index.ts +7 -0
  507. package/src/utils/message-bus.ts +88 -0
  508. package/src/utils/object.ts +52 -0
  509. package/src/utils/payments/evm.ts +152 -0
  510. package/src/utils/payments/solana.ts +360 -0
  511. package/src/verifiable/constants.ts +239 -0
  512. package/src/verifiable/core-utils.ts +307 -0
  513. package/src/verifiable/credential.ts +649 -0
  514. package/src/verifiable/index.ts +6 -0
  515. package/src/verifiable/presentation.ts +97 -0
  516. package/src/verifiable/proof.ts +277 -0
  517. package/src/verifiable/schema.ts +241 -0
@@ -0,0 +1,140 @@
1
+ import { createStore, UseStore, get, set, del } from 'idb-keyval';
2
+ import { IndexedDBStorage, Merkletree, str2Bytes } from '@iden3/js-merkletree';
3
+ import { IdentityMerkleTreeMetaInformation, MerkleTreeType } from '../entities/mt';
4
+ import * as uuid from 'uuid';
5
+
6
+ import { IMerkleTreeStorage } from '../interfaces/merkletree';
7
+ import { createMerkleTreeMetaInfo } from '../utils';
8
+
9
+ /**
10
+ * Merkle tree storage that uses browser indexed db storage
11
+ *
12
+ * @public
13
+ * @class MerkleTreeIndexedDBStorage
14
+ * @implements implements IMerkleTreeStorage interface
15
+ */
16
+ export class MerkleTreeIndexedDBStorage implements IMerkleTreeStorage {
17
+ /**
18
+ * key for the storage key metadata
19
+ *
20
+ * @static
21
+ */
22
+ static readonly storageKeyMeta = 'merkle-tree-meta';
23
+ static readonly storageBindingKeyMeta = 'binding-did';
24
+
25
+ private readonly _merkleTreeMetaStore: UseStore;
26
+ private readonly _bindingStore: UseStore;
27
+
28
+ /**
29
+ * Creates an instance of MerkleTreeIndexedDBStorage.
30
+ * @param {number} _mtDepth
31
+ */
32
+ constructor(private readonly _mtDepth: number) {
33
+ this._merkleTreeMetaStore = createStore(
34
+ `${MerkleTreeIndexedDBStorage.storageKeyMeta}-db`,
35
+ MerkleTreeIndexedDBStorage.storageKeyMeta
36
+ );
37
+ this._bindingStore = createStore(
38
+ `${MerkleTreeIndexedDBStorage.storageBindingKeyMeta}-db`,
39
+ MerkleTreeIndexedDBStorage.storageBindingKeyMeta
40
+ );
41
+ }
42
+
43
+ /** creates a tree in the indexed db storage */
44
+ async createIdentityMerkleTrees(
45
+ identifier: string
46
+ ): Promise<IdentityMerkleTreeMetaInformation[]> {
47
+ if (!identifier) {
48
+ identifier = `${uuid.v4()}`;
49
+ }
50
+ const existingBinging = await get(identifier, this._bindingStore);
51
+ if (existingBinging) {
52
+ throw new Error(
53
+ `Present merkle tree meta information in the store for current identifier ${identifier}`
54
+ );
55
+ }
56
+ const treesMeta = createMerkleTreeMetaInfo(identifier);
57
+ await set(identifier, treesMeta, this._merkleTreeMetaStore);
58
+ return treesMeta;
59
+ }
60
+ /**
61
+ *
62
+ * getIdentityMerkleTreesInfo from the indexed db storage
63
+ * @param {string} identifier
64
+ * @returns `{Promise<IdentityMerkleTreeMetaInformation[]>}`
65
+ */
66
+ async getIdentityMerkleTreesInfo(
67
+ identifier: string
68
+ ): Promise<IdentityMerkleTreeMetaInformation[]> {
69
+ const meta = await get(identifier, this._merkleTreeMetaStore);
70
+ if (meta) {
71
+ return meta;
72
+ }
73
+ throw new Error(`Merkle tree meta not found for identifier ${identifier}`);
74
+ }
75
+
76
+ /** get merkle tree from the indexed db storage */
77
+ async getMerkleTreeByIdentifierAndType(
78
+ identifier: string,
79
+ mtType: MerkleTreeType
80
+ ): Promise<Merkletree> {
81
+ const meta = await get(identifier, this._merkleTreeMetaStore);
82
+ const err = new Error(`Merkle tree not found for identifier ${identifier} and type ${mtType}`);
83
+ if (!meta) {
84
+ throw err;
85
+ }
86
+
87
+ const resultMeta = meta.find(
88
+ (m: { identifier: string; type: MerkleTreeType }) =>
89
+ m.identifier === identifier && m.type === mtType
90
+ );
91
+ if (!resultMeta) {
92
+ throw err;
93
+ }
94
+ return new Merkletree(new IndexedDBStorage(str2Bytes(resultMeta.treeId)), true, this._mtDepth);
95
+ }
96
+ /** adds to merkle tree in the indexed db storage */
97
+ async addToMerkleTree(
98
+ identifier: string,
99
+ mtType: MerkleTreeType,
100
+ hindex: bigint,
101
+ hvalue: bigint
102
+ ): Promise<void> {
103
+ const meta = await get(identifier, this._merkleTreeMetaStore);
104
+ if (!meta) {
105
+ throw new Error(`Merkle tree meta not found for identifier ${identifier}`);
106
+ }
107
+ const resultMeta = meta.find(
108
+ (m: { identifier: string; type: MerkleTreeType }) =>
109
+ m.identifier === identifier && m.type === mtType
110
+ );
111
+ if (!resultMeta) {
112
+ throw new Error(`Merkle tree not found for identifier ${identifier} and type ${mtType}`);
113
+ }
114
+
115
+ const tree = new Merkletree(
116
+ new IndexedDBStorage(str2Bytes(resultMeta.treeId)),
117
+ true,
118
+ this._mtDepth
119
+ );
120
+
121
+ await tree.add(hindex, hvalue);
122
+ }
123
+
124
+ /** binds merkle tree in the indexed db storage to the new identifiers */
125
+ async bindMerkleTreeToNewIdentifier(oldIdentifier: string, newIdentifier: string): Promise<void> {
126
+ const meta = await get(oldIdentifier, this._merkleTreeMetaStore);
127
+ if (!meta || !meta?.length) {
128
+ throw new Error(`Merkle tree meta not found for identifier ${oldIdentifier}`);
129
+ }
130
+
131
+ const treesMeta = meta.map((m: { identifier: string; type: MerkleTreeType }) => ({
132
+ ...m,
133
+ identifier: newIdentifier
134
+ }));
135
+
136
+ await del(oldIdentifier, this._merkleTreeMetaStore);
137
+ await set(newIdentifier, treesMeta, this._merkleTreeMetaStore);
138
+ await set(oldIdentifier, newIdentifier, this._bindingStore);
139
+ }
140
+ }
@@ -0,0 +1,27 @@
1
+ import { CircuitId } from '../../circuits';
2
+ import { CircuitData } from '../entities/circuitData';
3
+
4
+ /**
5
+ * Interface to work with circuit files
6
+ *
7
+ * @public
8
+ * @interface ICircuitStorage
9
+ */
10
+ export interface ICircuitStorage {
11
+ /**
12
+ * load circuit keys by id
13
+ *
14
+ * @param {CircuitId} circuitId - circuit id
15
+ * @returns `{Promise<CircuitData>}`
16
+ */
17
+ loadCircuitData(circuitId: CircuitId): Promise<CircuitData>;
18
+
19
+ /**
20
+ * saves circuit files by circuit id
21
+ *
22
+ * @param {CircuitId} circuitId - circuit id
23
+ * @param {CircuitData} circuitData - circuit keys
24
+ * @returns `Promise<void>`
25
+ */
26
+ saveCircuitData(circuitId: CircuitId, circuitData: CircuitData): Promise<void>;
27
+ }
@@ -0,0 +1,53 @@
1
+ import { ProofQuery, W3CCredential } from '../../verifiable';
2
+
3
+ /**
4
+ * Interface for credential storages
5
+ *
6
+ * @public
7
+ * @interface ICredentialStorage
8
+ */
9
+ export interface ICredentialStorage {
10
+ /**
11
+ *
12
+ * save credential to the storage
13
+ *
14
+ * @param {W3CCredential} credential - credential to save
15
+ * @returns `{Promise<void>}`
16
+ */
17
+ saveCredential(credential: W3CCredential): Promise<void>;
18
+ /**
19
+ *
20
+ * save all credential (upsert) to the storage
21
+ *
22
+ * @param {W3CCredential[]} credentials - credentials to save
23
+ * @returns `Promise<void>`
24
+ */
25
+ saveAllCredentials(credentials: W3CCredential[]): Promise<void>;
26
+ /**
27
+ * returns all credentials in the storage
28
+ *
29
+ * @returns `Promise<W3CCredential[]>`
30
+ */
31
+ listCredentials(): Promise<W3CCredential[]>;
32
+ /**
33
+ * Removes credential from storage
34
+ *
35
+ * @param {string} id - id of credential
36
+ * @returns `Promise<void>`
37
+ */
38
+ removeCredential(id: string): Promise<void>;
39
+ /**
40
+ * finds credential in the storage for given query
41
+ *
42
+ * @param {ProofQuery} query - query to apply
43
+ * @returns `{Promise<W3CCredential[]>}`
44
+ */
45
+ findCredentialsByQuery(query: ProofQuery): Promise<W3CCredential[]>;
46
+ /**
47
+ * finds credential by identifier
48
+ *
49
+ * @param {string} id - id of credential
50
+ * @returns `{(Promise<W3CCredential | undefined>)}`
51
+ */
52
+ findCredentialById(id: string): Promise<W3CCredential | undefined>;
53
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Generic Key/Value Data Source for crud operation
3
+ *
4
+ * @public
5
+ * @interface IDataSource
6
+ * @template Type - generic type
7
+ */
8
+ export interface IDataSource<Type> {
9
+ /**
10
+ * load all object with Type from data source
11
+ *
12
+ * @returns `{Type[]}`
13
+ */
14
+ load(): Promise<Type[]>;
15
+
16
+ /**
17
+ * Save value under the key with optional key name
18
+ *
19
+ * @param {string} key - key value
20
+ * @param {Type} value - value to store
21
+ * @param {string} [keyName] - key name
22
+ */
23
+ save(key: string, value: Type, keyName?: string): Promise<void>;
24
+
25
+ /**
26
+ * returns data value for key value and optional key name
27
+ *
28
+ * @param {string} key - key value
29
+ * @param {string} [keyName] - key name
30
+ * @returns ` {(Type | undefined)}`
31
+ */
32
+ get(key: string, keyName?: string): Promise<Type | undefined>;
33
+
34
+ /**
35
+ * deletes data value for given key with an optional key name
36
+ *
37
+ * @param {string} key - key value
38
+ * @param {string} [keyName] - key name
39
+ */
40
+ delete(key: string, keyName?: string): Promise<void>;
41
+ }
@@ -0,0 +1,17 @@
1
+ import { ICredentialStorage } from './credentials';
2
+ import { IIdentityStorage } from './identity';
3
+ import { IMerkleTreeStorage } from './merkletree';
4
+ import { IStateStorage } from './state';
5
+
6
+ /**
7
+ * General Data storage interface that union identity, credential, merkletree and states storage.
8
+ *
9
+ * @public
10
+ * @interface IDataStorage
11
+ */
12
+ export interface IDataStorage {
13
+ credential: ICredentialStorage;
14
+ identity: IIdentityStorage;
15
+ mt: IMerkleTreeStorage;
16
+ states: IStateStorage;
17
+ }
@@ -0,0 +1,73 @@
1
+ import { Identity } from '../entities';
2
+ import { Profile } from '../entities';
3
+
4
+ /**
5
+ * storage for identities and profiles
6
+ *
7
+ * @public
8
+ * @interface IIdentityStorage
9
+ */
10
+ export interface IIdentityStorage {
11
+ /**
12
+ * saves identity to the data source
13
+ *
14
+ * @param {Identity} identity
15
+ * @returns `{Promise<void>}`
16
+ */
17
+ saveIdentity(identity: Identity): Promise<void>;
18
+ /**
19
+ * gets identity from the the data source
20
+ *
21
+ *
22
+ * @param {string} identifier - id of identity
23
+ * @returns `{(Promise<Identity | undefined>)}`
24
+ */
25
+ getIdentity(identifier: string): Promise<Identity | undefined>;
26
+ /**
27
+ *
28
+ * gets all identity from the data source
29
+ *
30
+ * @returns `{Promise<Identity[]>}`
31
+ */
32
+ getAllIdentities(): Promise<Identity[]>;
33
+
34
+ /**
35
+ *
36
+ * saves profile identity to data
37
+ *
38
+ * @param {Profile} profile - identity profile
39
+ * @returns `{Promise<void>}`
40
+ */
41
+ saveProfile(profile: Profile): Promise<void>;
42
+ /**
43
+ * gets profile by verifier
44
+ * @deprecated The method should not be used. It returns only one profile per verifier, which can potentially restrict business use cases
45
+ * @param {string} verifier - verifier to which profile has been shared
46
+ * @returns `{Promise<Profile>}`
47
+ */
48
+ getProfileByVerifier(verifier: string): Promise<Profile | undefined>;
49
+
50
+ /**
51
+ * gets profile by verifiers
52
+ * @param {string} verifier - verifier to which profile has been shared
53
+ * @param {string[]} tags - optional tag to filter profile entry
54
+ * @returns `{Promise<Profile[]>}`
55
+ */
56
+ getProfilesByVerifier(verifier: string, tags?: string[]): Promise<Profile[]>;
57
+
58
+ /**
59
+ * gets profile by identifier
60
+ *
61
+ * @param {string} identifier - profile id
62
+ * @returns `{Promise<Profile>}`
63
+ */
64
+ getProfileById(identifier: string): Promise<Profile | undefined>;
65
+ /**
66
+ *
67
+ * gets profile identity by genesis identifiers
68
+ *
69
+ * @param {string} genesisIdentifier - genesis identifier from which profile has been derived
70
+ * @returns `{Promise<Profile[]>}`
71
+ */
72
+ getProfilesByGenesisIdentifier(genesisIdentifier: string): Promise<Profile[]>;
73
+ }
@@ -0,0 +1,10 @@
1
+ export * from './credentials';
2
+ export * from './identity';
3
+ export * from './merkletree';
4
+ export * from './state';
5
+ export * from './data-storage';
6
+ export * from './data-source';
7
+ export * from './circuits';
8
+ export * from './onchain-zkp-verifier';
9
+ export * from './onchain-revocation';
10
+ export * from './onchain-issuer';
@@ -0,0 +1,52 @@
1
+ import { Merkletree } from '@iden3/js-merkletree';
2
+ import { IdentityMerkleTreeMetaInformation, MerkleTreeType } from '../entities/mt';
3
+
4
+ /**
5
+ * Interface to work with a merkle tree storage
6
+ *
7
+ * @public
8
+ * @interface IMerkleTreeStorage
9
+ */
10
+ export interface IMerkleTreeStorage {
11
+ /**
12
+ * creates merkle tree in the storage
13
+ *
14
+ * @param {string} identifier
15
+ * @returns `Promise<IdentityMerkleTreeMetaInformation[]>`
16
+ */
17
+ createIdentityMerkleTrees(identifier: string): Promise<IdentityMerkleTreeMetaInformation[]>;
18
+
19
+ /**
20
+ * adds entry to merkle tree
21
+ *
22
+ * @param {string} identifier - identifier to which tree belongs
23
+ * @param {MerkleTreeType} mtType - merkle tree type
24
+ * @param {bigint} hindex - hash index
25
+ * @param {bigint} hvalue - hash value
26
+ * @returns `Promise<void>`
27
+ */
28
+ addToMerkleTree(
29
+ identifier: string,
30
+ mtType: MerkleTreeType,
31
+ hindex: bigint,
32
+ hvalue: bigint
33
+ ): Promise<void>;
34
+
35
+ /**
36
+ * gets merkle tree by identifier and type
37
+ *
38
+ * @param {string} identifier - identifier for tree
39
+ * @param {MerkleTreeType} mtType - merkle tree type
40
+ * @returns `{Promise<Merkletree>}`
41
+ */
42
+ getMerkleTreeByIdentifierAndType(identifier: string, mtType: MerkleTreeType): Promise<Merkletree>;
43
+
44
+ /**
45
+ * binding to be able to update identifier that belongs to tree
46
+ *
47
+ * @param {string} oldIdentifier -
48
+ * @param {string} newIdentifier -
49
+ * @returns `{Promise<void>}`
50
+ */
51
+ bindMerkleTreeToNewIdentifier(oldIdentifier: string, newIdentifier: string): Promise<void>;
52
+ }
@@ -0,0 +1,13 @@
1
+ import { DID } from '@mocanetwork/moca-iden3';
2
+ import { W3CCredential } from '../../verifiable';
3
+
4
+ /**
5
+ * Interface that allows the processing of the on-chain issuer
6
+ *
7
+ * @beta
8
+ * @interface IOnchainIssuer
9
+ */
10
+ export interface IOnchainIssuer {
11
+ getCredential(issuerDID: DID, userDID: DID, credentialId: bigint): Promise<W3CCredential>;
12
+ getUserCredentialIds(issuerDID: DID, userDID: DID): Promise<bigint[]>;
13
+ }
@@ -0,0 +1,22 @@
1
+ import { RevocationStatus } from '../../verifiable';
2
+ /**
3
+ * Interface that defines methods for onchain revocation store
4
+ *
5
+ * @public
6
+ * @interface IOnchainRevocationStore
7
+ */
8
+ export interface IOnchainRevocationStore {
9
+ /**
10
+ * gets latest state of identity
11
+ *
12
+ * @param {bigint} issuerID - issuer id
13
+ * @param {bigint} state - issuer state
14
+ * @param {number} nonce - revocation nonce
15
+ * @returns `Promise<StateInfo>`
16
+ */
17
+ getRevocationStatusByIdAndState(
18
+ issuerID: bigint,
19
+ state: bigint,
20
+ nonce: number
21
+ ): Promise<RevocationStatus>;
22
+ }
@@ -0,0 +1,94 @@
1
+ import { Signer } from 'ethers';
2
+ import {
3
+ AuthProof,
4
+ ContractInvokeTransactionData,
5
+ JsonDocumentObjectValue,
6
+ ZeroKnowledgeInvokeResponse,
7
+ ZeroKnowledgeProofResponse
8
+ } from '../../iden3comm';
9
+ import { TxPreparationResultSubmitResponse } from '../blockchain/onchain-zkp-verifier';
10
+
11
+ /**
12
+ * Interface that defines methods for ZKP verifier
13
+ *
14
+ * @beta
15
+ * @interface IOnChainZKPVerifier
16
+ */
17
+ export interface IOnChainZKPVerifier {
18
+ /**
19
+ * Submit ZKP Responses to OnChainZKPVerifier contract.
20
+ * @beta
21
+ * @param {Signer} ethSigner - tx signer
22
+ * @param {txData} ContractInvokeTransactionData - transaction data
23
+ * @param {ZeroKnowledgeProofResponse[]} zkProofResponses - zkProofResponses
24
+ * @returns {Promise<Map<string, ZeroKnowledgeProofResponse>>} - map of transaction hash - ZeroKnowledgeProofResponse
25
+ */
26
+ submitZKPResponse(
27
+ ethSigner: Signer,
28
+ txData: ContractInvokeTransactionData,
29
+ zkProofResponses: ZeroKnowledgeProofResponse[]
30
+ ): Promise<Map<string, ZeroKnowledgeProofResponse>>;
31
+
32
+ /**
33
+ * Submit ZKP Response V2 to OnChainZKPVerifier contract.
34
+ * @beta
35
+ * @param {Signer} ethSigner - tx signer
36
+ * @param {txData} ContractInvokeTransactionData - transaction data
37
+ * @param {ZeroKnowledgeProofResponse[]} zkProofResponses - zkProofResponses
38
+ * @returns {Promise<Map<string, ZeroKnowledgeProofResponse[]>>} - map of transaction hash - ZeroKnowledgeProofResponse[]
39
+ */
40
+ submitZKPResponseV2(
41
+ ethSigner: Signer,
42
+ txData: ContractInvokeTransactionData,
43
+ zkProofResponses: ZeroKnowledgeProofResponse[]
44
+ ): Promise<Map<string, ZeroKnowledgeProofResponse[]>>;
45
+
46
+ /**
47
+ * Submit Response to OnChainZKPVerifier contract.
48
+ * @beta
49
+ * @param {Signer} ethSigner - tx signer
50
+ * @param {txData} ContractInvokeTransactionData - transaction data
51
+ * @param {AuthProofResponse} authResponse - authResponse
52
+ * @param {ZeroKnowledgeProofMultiQueryResponse[]} responses - singleResponses and groupedResponses
53
+ * @param {ZeroKnowledgeProofAuthResponse} [authProof] - authProof in case of authV2
54
+ * @returns {Promise<Map<string, ZeroKnowledgeInvokeResponse>>} - map of transaction hash - ZeroKnowledgeInvokeResponse
55
+ */
56
+ submitResponse(
57
+ ethSigner: Signer,
58
+ txData: ContractInvokeTransactionData,
59
+ responses: ZeroKnowledgeProofResponse[],
60
+ authProof: AuthProof
61
+ ): Promise<Map<string, ZeroKnowledgeInvokeResponse>>;
62
+
63
+ /**
64
+ * Returns tx args for the ZKP verifier contract submission (singe tx args for each response).
65
+ * @param txData
66
+ * @param zkProofResponse
67
+ */
68
+ prepareTxArgsSubmitV1(
69
+ txData: ContractInvokeTransactionData,
70
+ zkProofResponse: ZeroKnowledgeProofResponse
71
+ ): Promise<JsonDocumentObjectValue[]>;
72
+
73
+ /**
74
+ * Returns args for the ZKP verifier contract submission V2 (single tx args for an array of responses).
75
+ * @param txData
76
+ * @param zkProofResponses
77
+ */
78
+ prepareTxArgsSubmitV2(
79
+ txData: ContractInvokeTransactionData,
80
+ zkProofResponses: ZeroKnowledgeProofResponse[]
81
+ ): Promise<JsonDocumentObjectValue[]>;
82
+
83
+ /**
84
+ * Returns args for the verifier multi-query contract submission (single tx args for an array of responses).
85
+ * @param {txData} ContractInvokeTransactionData - transaction data
86
+ * @param {authProof} AuthProof - AuthProof
87
+ * @param {ZeroKnowledgeProofMultiQueryResponse[]} responses - singleResponses and groupedResponses
88
+ */
89
+ prepareTxArgsSubmit(
90
+ txData: ContractInvokeTransactionData,
91
+ responses: ZeroKnowledgeProofResponse[],
92
+ authProof: AuthProof
93
+ ): Promise<{ result: TxPreparationResultSubmitResponse; txDataArgs: JsonDocumentObjectValue[] }>;
94
+ }
@@ -0,0 +1,81 @@
1
+ import { ZKProof } from '@iden3/js-jwz';
2
+ import { JsonRpcProvider, Signer } from 'ethers';
3
+ import { RootInfo, StateInfo, StateProof } from '../entities/state';
4
+ import { Id } from '@mocanetwork/moca-iden3';
5
+ import { Hash } from '@iden3/js-merkletree';
6
+
7
+ export interface UserStateTransitionInfo {
8
+ userId: Id; // Identity id
9
+ oldUserState: Hash; // Previous identity state
10
+ newUserState: Hash; // New identity state
11
+ isOldStateGenesis: boolean; // Is the previous state genesis?
12
+ methodId: bigint; // State transition method id
13
+ methodParams: string; // State transition method-specific params
14
+ }
15
+
16
+ /**
17
+ * Interface that defines methods for state storage
18
+ *
19
+ * @public
20
+ * @interface IStateStorage
21
+ */
22
+ export interface IStateStorage {
23
+ /**
24
+ * gets latest state of identity
25
+ *
26
+ * @param {bigint} id - id to check
27
+ * @returns `Promise<StateInfo>`
28
+ */
29
+ getLatestStateById(id: bigint): Promise<StateInfo>;
30
+
31
+ /**
32
+ * gets state info of identity by id and state
33
+ *
34
+ * @param {bigint} id - id to check
35
+ * @param {bigint} state - state to check
36
+ * @returns `Promise<StateInfo>`
37
+ */
38
+ getStateInfoByIdAndState(id: bigint, state: bigint): Promise<StateInfo>;
39
+ /**
40
+ * method to publish state onchain
41
+ *
42
+ * @param {ZKProof} proof - proof to publish
43
+ * @param {Signer} signer - signer of transaction
44
+ * @returns `Promise<string>` - transaction identifier
45
+ */
46
+ publishState(proof: ZKProof | undefined, signer: Signer): Promise<string>;
47
+ /**
48
+ * method to publish state onchain
49
+ *
50
+ * @param {Signer} signer - signer of transaction
51
+ * @param {UserStateTransitionInfo} userStateTransitionInfo - user state transition information
52
+ * @returns `Promise<string>` - transaction identifier
53
+ */
54
+ publishStateGeneric(
55
+ signer: Signer,
56
+ userStateTransitionInfo?: UserStateTransitionInfo
57
+ ): Promise<string>;
58
+ /**
59
+ * generates proof of inclusion / non-inclusion to global identity state for given identity
60
+ *
61
+ * @param {bigint} id - id to check
62
+ * @returns `Promise<StateProof>`
63
+ */
64
+ getGISTProof(id: bigint): Promise<StateProof>;
65
+
66
+ /**
67
+ * gets root info of global identity state tree
68
+ *
69
+ * @param {bigint} root - root to check
70
+ * @param {bigint} userId - user id
71
+ * @returns `Promise<RootInfo>`
72
+ */
73
+ getGISTRootInfo(root: bigint, userId: bigint): Promise<RootInfo>;
74
+
75
+ /**
76
+ * gets RPC provider
77
+ *
78
+ * @returns `Promise<JsonRpcProvider>`
79
+ */
80
+ getRpcProvider(): JsonRpcProvider;
81
+ }