@0xpolygonid/js-sdk 1.0.0-beta.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 (469) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +40 -0
  3. package/dist/cjs/auth/auth.js +179 -0
  4. package/dist/cjs/auth/auth.js.map +1 -0
  5. package/dist/cjs/auth/index.js +18 -0
  6. package/dist/cjs/auth/index.js.map +1 -0
  7. package/dist/cjs/circuits/atomic-query-mtp-v2.js +181 -0
  8. package/dist/cjs/circuits/atomic-query-mtp-v2.js.map +1 -0
  9. package/dist/cjs/circuits/atomic-query-sig-v2.js +219 -0
  10. package/dist/cjs/circuits/atomic-query-sig-v2.js.map +1 -0
  11. package/dist/cjs/circuits/auth-v2.js +99 -0
  12. package/dist/cjs/circuits/auth-v2.js.map +1 -0
  13. package/dist/cjs/circuits/common.js +193 -0
  14. package/dist/cjs/circuits/common.js.map +1 -0
  15. package/dist/cjs/circuits/comparer.js +132 -0
  16. package/dist/cjs/circuits/comparer.js.map +1 -0
  17. package/dist/cjs/circuits/index.js +24 -0
  18. package/dist/cjs/circuits/index.js.map +1 -0
  19. package/dist/cjs/circuits/models.js +110 -0
  20. package/dist/cjs/circuits/models.js.map +1 -0
  21. package/dist/cjs/circuits/state-transition.js +94 -0
  22. package/dist/cjs/circuits/state-transition.js.map +1 -0
  23. package/dist/cjs/credentials/credential-wallet.js +264 -0
  24. package/dist/cjs/credentials/credential-wallet.js.map +1 -0
  25. package/dist/cjs/credentials/index.js +18 -0
  26. package/dist/cjs/credentials/index.js.map +1 -0
  27. package/dist/cjs/credentials/revocation.js +290 -0
  28. package/dist/cjs/credentials/revocation.js.map +1 -0
  29. package/dist/cjs/iden3comm/constants.js +45 -0
  30. package/dist/cjs/iden3comm/constants.js.map +1 -0
  31. package/dist/cjs/iden3comm/errors.js +15 -0
  32. package/dist/cjs/iden3comm/errors.js.map +1 -0
  33. package/dist/cjs/iden3comm/index.js +35 -0
  34. package/dist/cjs/iden3comm/index.js.map +1 -0
  35. package/dist/cjs/iden3comm/packageManager.js +78 -0
  36. package/dist/cjs/iden3comm/packageManager.js.map +1 -0
  37. package/dist/cjs/iden3comm/packers/index.js +19 -0
  38. package/dist/cjs/iden3comm/packers/index.js.map +1 -0
  39. package/dist/cjs/iden3comm/packers/plain.js +49 -0
  40. package/dist/cjs/iden3comm/packers/plain.js.map +1 -0
  41. package/dist/cjs/iden3comm/packers/zkp.js +155 -0
  42. package/dist/cjs/iden3comm/packers/zkp.js.map +1 -0
  43. package/dist/cjs/iden3comm/types/index.js +24 -0
  44. package/dist/cjs/iden3comm/types/index.js.map +1 -0
  45. package/dist/cjs/iden3comm/types/packageManager.js +3 -0
  46. package/dist/cjs/iden3comm/types/packageManager.js.map +1 -0
  47. package/dist/cjs/iden3comm/types/packer.js +3 -0
  48. package/dist/cjs/iden3comm/types/packer.js.map +1 -0
  49. package/dist/cjs/iden3comm/types/protocol/auth.js +3 -0
  50. package/dist/cjs/iden3comm/types/protocol/auth.js.map +1 -0
  51. package/dist/cjs/iden3comm/types/protocol/credentials.js +3 -0
  52. package/dist/cjs/iden3comm/types/protocol/credentials.js.map +1 -0
  53. package/dist/cjs/iden3comm/types/protocol/messages.js +3 -0
  54. package/dist/cjs/iden3comm/types/protocol/messages.js.map +1 -0
  55. package/dist/cjs/iden3comm/types/protocol/proof.js +3 -0
  56. package/dist/cjs/iden3comm/types/protocol/proof.js.map +1 -0
  57. package/dist/cjs/iden3comm/types/protocol/revocation.js +3 -0
  58. package/dist/cjs/iden3comm/types/protocol/revocation.js.map +1 -0
  59. package/dist/cjs/iden3comm/utils/bytes.js +20 -0
  60. package/dist/cjs/iden3comm/utils/bytes.js.map +1 -0
  61. package/dist/cjs/iden3comm/utils/envelope.js +99 -0
  62. package/dist/cjs/iden3comm/utils/envelope.js.map +1 -0
  63. package/dist/cjs/iden3comm/utils/index.js +6 -0
  64. package/dist/cjs/iden3comm/utils/index.js.map +1 -0
  65. package/dist/cjs/iden3comm/utils/message.js +43 -0
  66. package/dist/cjs/iden3comm/utils/message.js.map +1 -0
  67. package/dist/cjs/identity/common.js +40 -0
  68. package/dist/cjs/identity/common.js.map +1 -0
  69. package/dist/cjs/identity/identity-wallet.js +422 -0
  70. package/dist/cjs/identity/identity-wallet.js.map +1 -0
  71. package/dist/cjs/identity/index.js +19 -0
  72. package/dist/cjs/identity/index.js.map +1 -0
  73. package/dist/cjs/index.js +42 -0
  74. package/dist/cjs/index.js.map +1 -0
  75. package/dist/cjs/kms/bjj-provider.js +101 -0
  76. package/dist/cjs/kms/bjj-provider.js.map +1 -0
  77. package/dist/cjs/kms/index.js +20 -0
  78. package/dist/cjs/kms/index.js.map +1 -0
  79. package/dist/cjs/kms/kms.js +74 -0
  80. package/dist/cjs/kms/kms.js.map +1 -0
  81. package/dist/cjs/kms/provider-helpers.js +49 -0
  82. package/dist/cjs/kms/provider-helpers.js.map +1 -0
  83. package/dist/cjs/kms/store/abstract-key-store.js +15 -0
  84. package/dist/cjs/kms/store/abstract-key-store.js.map +1 -0
  85. package/dist/cjs/kms/store/index.js +21 -0
  86. package/dist/cjs/kms/store/index.js.map +1 -0
  87. package/dist/cjs/kms/store/local-storage-key-store.js +56 -0
  88. package/dist/cjs/kms/store/local-storage-key-store.js.map +1 -0
  89. package/dist/cjs/kms/store/memory-key-store.js +28 -0
  90. package/dist/cjs/kms/store/memory-key-store.js.map +1 -0
  91. package/dist/cjs/kms/store/types.js +15 -0
  92. package/dist/cjs/kms/store/types.js.map +1 -0
  93. package/dist/cjs/loaders/index.js +19 -0
  94. package/dist/cjs/loaders/index.js.map +1 -0
  95. package/dist/cjs/loaders/key.js +50 -0
  96. package/dist/cjs/loaders/key.js.map +1 -0
  97. package/dist/cjs/loaders/schema.js +110 -0
  98. package/dist/cjs/loaders/schema.js.map +1 -0
  99. package/dist/cjs/proof/common.js +64 -0
  100. package/dist/cjs/proof/common.js.map +1 -0
  101. package/dist/cjs/proof/index.js +20 -0
  102. package/dist/cjs/proof/index.js.map +1 -0
  103. package/dist/cjs/proof/proof-service.js +344 -0
  104. package/dist/cjs/proof/proof-service.js.map +1 -0
  105. package/dist/cjs/proof/prover.js +79 -0
  106. package/dist/cjs/proof/prover.js.map +1 -0
  107. package/dist/cjs/proof/witness_calculator.js +282 -0
  108. package/dist/cjs/proof/witness_calculator.js.map +1 -0
  109. package/dist/cjs/schema-processor/index.js +19 -0
  110. package/dist/cjs/schema-processor/index.js.map +1 -0
  111. package/dist/cjs/schema-processor/json/index.js +19 -0
  112. package/dist/cjs/schema-processor/json/index.js.map +1 -0
  113. package/dist/cjs/schema-processor/json/parser.js +136 -0
  114. package/dist/cjs/schema-processor/json/parser.js.map +1 -0
  115. package/dist/cjs/schema-processor/json/validator.js +42 -0
  116. package/dist/cjs/schema-processor/json/validator.js.map +1 -0
  117. package/dist/cjs/schema-processor/utils.js +98 -0
  118. package/dist/cjs/schema-processor/utils.js.map +1 -0
  119. package/dist/cjs/storage/blockchain/index.js +18 -0
  120. package/dist/cjs/storage/blockchain/index.js.map +1 -0
  121. package/dist/cjs/storage/blockchain/state-abi.json +922 -0
  122. package/dist/cjs/storage/blockchain/state.js +112 -0
  123. package/dist/cjs/storage/blockchain/state.js.map +1 -0
  124. package/dist/cjs/storage/entities/circuitData.js +3 -0
  125. package/dist/cjs/storage/entities/circuitData.js.map +1 -0
  126. package/dist/cjs/storage/entities/identity.js +3 -0
  127. package/dist/cjs/storage/entities/identity.js.map +1 -0
  128. package/dist/cjs/storage/entities/index.js +21 -0
  129. package/dist/cjs/storage/entities/index.js.map +1 -0
  130. package/dist/cjs/storage/entities/mt.js +19 -0
  131. package/dist/cjs/storage/entities/mt.js.map +1 -0
  132. package/dist/cjs/storage/entities/state.js +3 -0
  133. package/dist/cjs/storage/entities/state.js.map +1 -0
  134. package/dist/cjs/storage/errors.js +14 -0
  135. package/dist/cjs/storage/errors.js.map +1 -0
  136. package/dist/cjs/storage/filters/index.js +18 -0
  137. package/dist/cjs/storage/filters/index.js.map +1 -0
  138. package/dist/cjs/storage/filters/jsonQuery.js +141 -0
  139. package/dist/cjs/storage/filters/jsonQuery.js.map +1 -0
  140. package/dist/cjs/storage/index.js +24 -0
  141. package/dist/cjs/storage/index.js.map +1 -0
  142. package/dist/cjs/storage/interfaces/circuits.js +3 -0
  143. package/dist/cjs/storage/interfaces/circuits.js.map +1 -0
  144. package/dist/cjs/storage/interfaces/credentials.js +3 -0
  145. package/dist/cjs/storage/interfaces/credentials.js.map +1 -0
  146. package/dist/cjs/storage/interfaces/data-source.js +3 -0
  147. package/dist/cjs/storage/interfaces/data-source.js.map +1 -0
  148. package/dist/cjs/storage/interfaces/data-storage.js +3 -0
  149. package/dist/cjs/storage/interfaces/data-storage.js.map +1 -0
  150. package/dist/cjs/storage/interfaces/identity.js +3 -0
  151. package/dist/cjs/storage/interfaces/identity.js.map +1 -0
  152. package/dist/cjs/storage/interfaces/index.js +24 -0
  153. package/dist/cjs/storage/interfaces/index.js.map +1 -0
  154. package/dist/cjs/storage/interfaces/merkletree.js +3 -0
  155. package/dist/cjs/storage/interfaces/merkletree.js.map +1 -0
  156. package/dist/cjs/storage/interfaces/state.js +3 -0
  157. package/dist/cjs/storage/interfaces/state.js.map +1 -0
  158. package/dist/cjs/storage/local-storage/data-source.js +89 -0
  159. package/dist/cjs/storage/local-storage/data-source.js.map +1 -0
  160. package/dist/cjs/storage/local-storage/index.js +19 -0
  161. package/dist/cjs/storage/local-storage/index.js.map +1 -0
  162. package/dist/cjs/storage/local-storage/merkletree.js +148 -0
  163. package/dist/cjs/storage/local-storage/merkletree.js.map +1 -0
  164. package/dist/cjs/storage/memory/data-source.js +49 -0
  165. package/dist/cjs/storage/memory/data-source.js.map +1 -0
  166. package/dist/cjs/storage/memory/index.js +19 -0
  167. package/dist/cjs/storage/memory/index.js.map +1 -0
  168. package/dist/cjs/storage/memory/merkletree.js +94 -0
  169. package/dist/cjs/storage/memory/merkletree.js.map +1 -0
  170. package/dist/cjs/storage/shared/circuit-storage.js +46 -0
  171. package/dist/cjs/storage/shared/circuit-storage.js.map +1 -0
  172. package/dist/cjs/storage/shared/credential-storage.js +66 -0
  173. package/dist/cjs/storage/shared/credential-storage.js.map +1 -0
  174. package/dist/cjs/storage/shared/identity-storage.js +71 -0
  175. package/dist/cjs/storage/shared/identity-storage.js.map +1 -0
  176. package/dist/cjs/storage/shared/index.js +20 -0
  177. package/dist/cjs/storage/shared/index.js.map +1 -0
  178. package/dist/cjs/verifiable/constants.js +104 -0
  179. package/dist/cjs/verifiable/constants.js.map +1 -0
  180. package/dist/cjs/verifiable/credential.js +129 -0
  181. package/dist/cjs/verifiable/credential.js.map +1 -0
  182. package/dist/cjs/verifiable/index.js +21 -0
  183. package/dist/cjs/verifiable/index.js.map +1 -0
  184. package/dist/cjs/verifiable/proof.js +70 -0
  185. package/dist/cjs/verifiable/proof.js.map +1 -0
  186. package/dist/cjs/verifiable/schema.js +245 -0
  187. package/dist/cjs/verifiable/schema.js.map +1 -0
  188. package/dist/esm/auth/auth.js +152 -0
  189. package/dist/esm/auth/auth.js.map +1 -0
  190. package/dist/esm/auth/index.js +2 -0
  191. package/dist/esm/auth/index.js.map +1 -0
  192. package/dist/esm/circuits/atomic-query-mtp-v2.js +176 -0
  193. package/dist/esm/circuits/atomic-query-mtp-v2.js.map +1 -0
  194. package/dist/esm/circuits/atomic-query-sig-v2.js +214 -0
  195. package/dist/esm/circuits/atomic-query-sig-v2.js.map +1 -0
  196. package/dist/esm/circuits/auth-v2.js +94 -0
  197. package/dist/esm/circuits/auth-v2.js.map +1 -0
  198. package/dist/esm/circuits/common.js +186 -0
  199. package/dist/esm/circuits/common.js.map +1 -0
  200. package/dist/esm/circuits/comparer.js +126 -0
  201. package/dist/esm/circuits/comparer.js.map +1 -0
  202. package/dist/esm/circuits/index.js +8 -0
  203. package/dist/esm/circuits/index.js.map +1 -0
  204. package/dist/esm/circuits/models.js +104 -0
  205. package/dist/esm/circuits/models.js.map +1 -0
  206. package/dist/esm/circuits/state-transition.js +89 -0
  207. package/dist/esm/circuits/state-transition.js.map +1 -0
  208. package/dist/esm/credentials/credential-wallet.js +232 -0
  209. package/dist/esm/credentials/credential-wallet.js.map +1 -0
  210. package/dist/esm/credentials/index.js +2 -0
  211. package/dist/esm/credentials/index.js.map +1 -0
  212. package/dist/esm/credentials/revocation.js +281 -0
  213. package/dist/esm/credentials/revocation.js.map +1 -0
  214. package/dist/esm/iden3comm/constants.js +42 -0
  215. package/dist/esm/iden3comm/constants.js.map +1 -0
  216. package/dist/esm/iden3comm/errors.js +12 -0
  217. package/dist/esm/iden3comm/errors.js.map +1 -0
  218. package/dist/esm/iden3comm/index.js +6 -0
  219. package/dist/esm/iden3comm/index.js.map +1 -0
  220. package/dist/esm/iden3comm/packageManager.js +74 -0
  221. package/dist/esm/iden3comm/packageManager.js.map +1 -0
  222. package/dist/esm/iden3comm/packers/index.js +3 -0
  223. package/dist/esm/iden3comm/packers/index.js.map +1 -0
  224. package/dist/esm/iden3comm/packers/plain.js +45 -0
  225. package/dist/esm/iden3comm/packers/plain.js.map +1 -0
  226. package/dist/esm/iden3comm/packers/zkp.js +149 -0
  227. package/dist/esm/iden3comm/packers/zkp.js.map +1 -0
  228. package/dist/esm/iden3comm/types/index.js +8 -0
  229. package/dist/esm/iden3comm/types/index.js.map +1 -0
  230. package/dist/esm/iden3comm/types/packageManager.js +2 -0
  231. package/dist/esm/iden3comm/types/packageManager.js.map +1 -0
  232. package/dist/esm/iden3comm/types/packer.js +2 -0
  233. package/dist/esm/iden3comm/types/packer.js.map +1 -0
  234. package/dist/esm/iden3comm/types/protocol/auth.js +2 -0
  235. package/dist/esm/iden3comm/types/protocol/auth.js.map +1 -0
  236. package/dist/esm/iden3comm/types/protocol/credentials.js +2 -0
  237. package/dist/esm/iden3comm/types/protocol/credentials.js.map +1 -0
  238. package/dist/esm/iden3comm/types/protocol/messages.js +2 -0
  239. package/dist/esm/iden3comm/types/protocol/messages.js.map +1 -0
  240. package/dist/esm/iden3comm/types/protocol/proof.js +2 -0
  241. package/dist/esm/iden3comm/types/protocol/proof.js.map +1 -0
  242. package/dist/esm/iden3comm/types/protocol/revocation.js +2 -0
  243. package/dist/esm/iden3comm/types/protocol/revocation.js.map +1 -0
  244. package/dist/esm/iden3comm/utils/bytes.js +20 -0
  245. package/dist/esm/iden3comm/utils/bytes.js.map +1 -0
  246. package/dist/esm/iden3comm/utils/envelope.js +92 -0
  247. package/dist/esm/iden3comm/utils/envelope.js.map +1 -0
  248. package/dist/esm/iden3comm/utils/index.js +3 -0
  249. package/dist/esm/iden3comm/utils/index.js.map +1 -0
  250. package/dist/esm/iden3comm/utils/message.js +37 -0
  251. package/dist/esm/iden3comm/utils/message.js.map +1 -0
  252. package/dist/esm/identity/common.js +35 -0
  253. package/dist/esm/identity/common.js.map +1 -0
  254. package/dist/esm/identity/identity-wallet.js +395 -0
  255. package/dist/esm/identity/identity-wallet.js.map +1 -0
  256. package/dist/esm/identity/index.js +3 -0
  257. package/dist/esm/identity/index.js.map +1 -0
  258. package/dist/esm/index.js +13 -0
  259. package/dist/esm/index.js.map +1 -0
  260. package/dist/esm/kms/bjj-provider.js +74 -0
  261. package/dist/esm/kms/bjj-provider.js.map +1 -0
  262. package/dist/esm/kms/index.js +4 -0
  263. package/dist/esm/kms/index.js.map +1 -0
  264. package/dist/esm/kms/kms.js +70 -0
  265. package/dist/esm/kms/kms.js.map +1 -0
  266. package/dist/esm/kms/provider-helpers.js +44 -0
  267. package/dist/esm/kms/provider-helpers.js.map +1 -0
  268. package/dist/esm/kms/store/abstract-key-store.js +11 -0
  269. package/dist/esm/kms/store/abstract-key-store.js.map +1 -0
  270. package/dist/esm/kms/store/index.js +5 -0
  271. package/dist/esm/kms/store/index.js.map +1 -0
  272. package/dist/esm/kms/store/local-storage-key-store.js +52 -0
  273. package/dist/esm/kms/store/local-storage-key-store.js.map +1 -0
  274. package/dist/esm/kms/store/memory-key-store.js +24 -0
  275. package/dist/esm/kms/store/memory-key-store.js.map +1 -0
  276. package/dist/esm/kms/store/types.js +12 -0
  277. package/dist/esm/kms/store/types.js.map +1 -0
  278. package/dist/esm/loaders/index.js +3 -0
  279. package/dist/esm/loaders/index.js.map +1 -0
  280. package/dist/esm/loaders/key.js +23 -0
  281. package/dist/esm/loaders/key.js.map +1 -0
  282. package/dist/esm/loaders/schema.js +100 -0
  283. package/dist/esm/loaders/schema.js.map +1 -0
  284. package/dist/esm/proof/common.js +59 -0
  285. package/dist/esm/proof/common.js.map +1 -0
  286. package/dist/esm/proof/index.js +4 -0
  287. package/dist/esm/proof/index.js.map +1 -0
  288. package/dist/esm/proof/proof-service.js +339 -0
  289. package/dist/esm/proof/proof-service.js.map +1 -0
  290. package/dist/esm/proof/prover.js +52 -0
  291. package/dist/esm/proof/prover.js.map +1 -0
  292. package/dist/esm/proof/witness_calculator.js +278 -0
  293. package/dist/esm/proof/witness_calculator.js.map +1 -0
  294. package/dist/esm/schema-processor/index.js +3 -0
  295. package/dist/esm/schema-processor/index.js.map +1 -0
  296. package/dist/esm/schema-processor/json/index.js +3 -0
  297. package/dist/esm/schema-processor/json/index.js.map +1 -0
  298. package/dist/esm/schema-processor/json/parser.js +132 -0
  299. package/dist/esm/schema-processor/json/parser.js.map +1 -0
  300. package/dist/esm/schema-processor/json/validator.js +35 -0
  301. package/dist/esm/schema-processor/json/validator.js.map +1 -0
  302. package/dist/esm/schema-processor/utils.js +89 -0
  303. package/dist/esm/schema-processor/utils.js.map +1 -0
  304. package/dist/esm/storage/blockchain/index.js +2 -0
  305. package/dist/esm/storage/blockchain/index.js.map +1 -0
  306. package/dist/esm/storage/blockchain/state-abi.json +922 -0
  307. package/dist/esm/storage/blockchain/state.js +105 -0
  308. package/dist/esm/storage/blockchain/state.js.map +1 -0
  309. package/dist/esm/storage/entities/circuitData.js +2 -0
  310. package/dist/esm/storage/entities/circuitData.js.map +1 -0
  311. package/dist/esm/storage/entities/identity.js +2 -0
  312. package/dist/esm/storage/entities/identity.js.map +1 -0
  313. package/dist/esm/storage/entities/index.js +5 -0
  314. package/dist/esm/storage/entities/index.js.map +1 -0
  315. package/dist/esm/storage/entities/mt.js +16 -0
  316. package/dist/esm/storage/entities/mt.js.map +1 -0
  317. package/dist/esm/storage/entities/state.js +2 -0
  318. package/dist/esm/storage/entities/state.js.map +1 -0
  319. package/dist/esm/storage/errors.js +11 -0
  320. package/dist/esm/storage/errors.js.map +1 -0
  321. package/dist/esm/storage/filters/index.js +2 -0
  322. package/dist/esm/storage/filters/index.js.map +1 -0
  323. package/dist/esm/storage/filters/jsonQuery.js +134 -0
  324. package/dist/esm/storage/filters/jsonQuery.js.map +1 -0
  325. package/dist/esm/storage/index.js +8 -0
  326. package/dist/esm/storage/index.js.map +1 -0
  327. package/dist/esm/storage/interfaces/circuits.js +2 -0
  328. package/dist/esm/storage/interfaces/circuits.js.map +1 -0
  329. package/dist/esm/storage/interfaces/credentials.js +2 -0
  330. package/dist/esm/storage/interfaces/credentials.js.map +1 -0
  331. package/dist/esm/storage/interfaces/data-source.js +2 -0
  332. package/dist/esm/storage/interfaces/data-source.js.map +1 -0
  333. package/dist/esm/storage/interfaces/data-storage.js +2 -0
  334. package/dist/esm/storage/interfaces/data-storage.js.map +1 -0
  335. package/dist/esm/storage/interfaces/identity.js +2 -0
  336. package/dist/esm/storage/interfaces/identity.js.map +1 -0
  337. package/dist/esm/storage/interfaces/index.js +8 -0
  338. package/dist/esm/storage/interfaces/index.js.map +1 -0
  339. package/dist/esm/storage/interfaces/merkletree.js +2 -0
  340. package/dist/esm/storage/interfaces/merkletree.js.map +1 -0
  341. package/dist/esm/storage/interfaces/state.js +2 -0
  342. package/dist/esm/storage/interfaces/state.js.map +1 -0
  343. package/dist/esm/storage/local-storage/data-source.js +85 -0
  344. package/dist/esm/storage/local-storage/data-source.js.map +1 -0
  345. package/dist/esm/storage/local-storage/index.js +3 -0
  346. package/dist/esm/storage/local-storage/index.js.map +1 -0
  347. package/dist/esm/storage/local-storage/merkletree.js +121 -0
  348. package/dist/esm/storage/local-storage/merkletree.js.map +1 -0
  349. package/dist/esm/storage/memory/data-source.js +45 -0
  350. package/dist/esm/storage/memory/data-source.js.map +1 -0
  351. package/dist/esm/storage/memory/index.js +3 -0
  352. package/dist/esm/storage/memory/index.js.map +1 -0
  353. package/dist/esm/storage/memory/merkletree.js +67 -0
  354. package/dist/esm/storage/memory/merkletree.js.map +1 -0
  355. package/dist/esm/storage/shared/circuit-storage.js +42 -0
  356. package/dist/esm/storage/shared/circuit-storage.js.map +1 -0
  357. package/dist/esm/storage/shared/credential-storage.js +62 -0
  358. package/dist/esm/storage/shared/credential-storage.js.map +1 -0
  359. package/dist/esm/storage/shared/identity-storage.js +67 -0
  360. package/dist/esm/storage/shared/identity-storage.js.map +1 -0
  361. package/dist/esm/storage/shared/index.js +4 -0
  362. package/dist/esm/storage/shared/index.js.map +1 -0
  363. package/dist/esm/verifiable/constants.js +101 -0
  364. package/dist/esm/verifiable/constants.js.map +1 -0
  365. package/dist/esm/verifiable/credential.js +124 -0
  366. package/dist/esm/verifiable/credential.js.map +1 -0
  367. package/dist/esm/verifiable/index.js +5 -0
  368. package/dist/esm/verifiable/index.js.map +1 -0
  369. package/dist/esm/verifiable/proof.js +64 -0
  370. package/dist/esm/verifiable/proof.js.map +1 -0
  371. package/dist/esm/verifiable/schema.js +242 -0
  372. package/dist/esm/verifiable/schema.js.map +1 -0
  373. package/dist/esm_esbuild/index.js +128087 -0
  374. package/dist/esm_esbuild/index.js.map +7 -0
  375. package/dist/types/auth/auth.d.ts +131 -0
  376. package/dist/types/auth/index.d.ts +1 -0
  377. package/dist/types/circuits/atomic-query-mtp-v2.d.ts +64 -0
  378. package/dist/types/circuits/atomic-query-sig-v2.d.ts +65 -0
  379. package/dist/types/circuits/auth-v2.d.ts +46 -0
  380. package/dist/types/circuits/common.d.ts +124 -0
  381. package/dist/types/circuits/comparer.d.ts +87 -0
  382. package/dist/types/circuits/index.d.ts +7 -0
  383. package/dist/types/circuits/models.d.ts +181 -0
  384. package/dist/types/circuits/state-transition.d.ts +50 -0
  385. package/dist/types/credentials/credential-wallet.d.ts +248 -0
  386. package/dist/types/credentials/index.d.ts +1 -0
  387. package/dist/types/credentials/revocation.d.ts +97 -0
  388. package/dist/types/iden3comm/constants.d.ts +27 -0
  389. package/dist/types/iden3comm/errors.d.ts +8 -0
  390. package/dist/types/iden3comm/index.d.ts +5 -0
  391. package/dist/types/iden3comm/packageManager.d.ts +31 -0
  392. package/dist/types/iden3comm/packers/index.d.ts +2 -0
  393. package/dist/types/iden3comm/packers/plain.d.ts +34 -0
  394. package/dist/types/iden3comm/packers/zkp.d.ts +86 -0
  395. package/dist/types/iden3comm/types/index.d.ts +15 -0
  396. package/dist/types/iden3comm/types/packageManager.d.ts +80 -0
  397. package/dist/types/iden3comm/types/packer.d.ts +59 -0
  398. package/dist/types/iden3comm/types/protocol/auth.d.ts +49 -0
  399. package/dist/types/iden3comm/types/protocol/credentials.d.ts +74 -0
  400. package/dist/types/iden3comm/types/protocol/messages.d.ts +16 -0
  401. package/dist/types/iden3comm/types/protocol/proof.d.ts +31 -0
  402. package/dist/types/iden3comm/types/protocol/revocation.d.ts +28 -0
  403. package/dist/types/iden3comm/utils/bytes.d.ts +8 -0
  404. package/dist/types/iden3comm/utils/envelope.d.ts +31 -0
  405. package/dist/types/iden3comm/utils/index.d.ts +2 -0
  406. package/dist/types/iden3comm/utils/message.d.ts +19 -0
  407. package/dist/types/identity/common.d.ts +18 -0
  408. package/dist/types/identity/identity-wallet.d.ts +248 -0
  409. package/dist/types/identity/index.d.ts +2 -0
  410. package/dist/types/index.d.ts +12 -0
  411. package/dist/types/kms/bjj-provider.d.ts +47 -0
  412. package/dist/types/kms/index.d.ts +3 -0
  413. package/dist/types/kms/kms.d.ts +80 -0
  414. package/dist/types/kms/provider-helpers.d.ts +18 -0
  415. package/dist/types/kms/store/abstract-key-store.d.ts +31 -0
  416. package/dist/types/kms/store/index.d.ts +4 -0
  417. package/dist/types/kms/store/local-storage-key-store.d.ts +32 -0
  418. package/dist/types/kms/store/memory-key-store.d.ts +20 -0
  419. package/dist/types/kms/store/types.d.ts +21 -0
  420. package/dist/types/loaders/index.d.ts +2 -0
  421. package/dist/types/loaders/key.d.ts +29 -0
  422. package/dist/types/loaders/schema.d.ts +85 -0
  423. package/dist/types/proof/common.d.ts +17 -0
  424. package/dist/types/proof/index.d.ts +3 -0
  425. package/dist/types/proof/proof-service.d.ts +121 -0
  426. package/dist/types/proof/prover.d.ts +11 -0
  427. package/dist/types/proof/witness_calculator.d.ts +16 -0
  428. package/dist/types/schema-processor/index.d.ts +2 -0
  429. package/dist/types/schema-processor/json/index.d.ts +2 -0
  430. package/dist/types/schema-processor/json/parser.d.ts +103 -0
  431. package/dist/types/schema-processor/json/validator.d.ts +22 -0
  432. package/dist/types/schema-processor/utils.d.ts +49 -0
  433. package/dist/types/storage/blockchain/index.d.ts +1 -0
  434. package/dist/types/storage/blockchain/state.d.ts +52 -0
  435. package/dist/types/storage/entities/circuitData.d.ts +7 -0
  436. package/dist/types/storage/entities/identity.d.ts +15 -0
  437. package/dist/types/storage/entities/index.d.ts +4 -0
  438. package/dist/types/storage/entities/mt.d.ts +23 -0
  439. package/dist/types/storage/entities/state.d.ts +48 -0
  440. package/dist/types/storage/errors.d.ts +9 -0
  441. package/dist/types/storage/filters/index.d.ts +1 -0
  442. package/dist/types/storage/filters/jsonQuery.d.ts +82 -0
  443. package/dist/types/storage/index.d.ts +7 -0
  444. package/dist/types/storage/interfaces/circuits.d.ts +26 -0
  445. package/dist/types/storage/interfaces/credentials.d.ts +53 -0
  446. package/dist/types/storage/interfaces/data-source.d.ts +39 -0
  447. package/dist/types/storage/interfaces/data-storage.d.ts +17 -0
  448. package/dist/types/storage/interfaces/identity.d.ts +63 -0
  449. package/dist/types/storage/interfaces/index.d.ts +7 -0
  450. package/dist/types/storage/interfaces/merkletree.d.ts +44 -0
  451. package/dist/types/storage/interfaces/state.d.ts +41 -0
  452. package/dist/types/storage/local-storage/data-source.d.ts +47 -0
  453. package/dist/types/storage/local-storage/index.d.ts +2 -0
  454. package/dist/types/storage/local-storage/merkletree.d.ts +46 -0
  455. package/dist/types/storage/memory/data-source.d.ts +22 -0
  456. package/dist/types/storage/memory/index.d.ts +2 -0
  457. package/dist/types/storage/memory/merkletree.d.ts +49 -0
  458. package/dist/types/storage/shared/circuit-storage.d.ts +35 -0
  459. package/dist/types/storage/shared/credential-storage.d.ts +39 -0
  460. package/dist/types/storage/shared/identity-storage.d.ts +40 -0
  461. package/dist/types/storage/shared/index.d.ts +3 -0
  462. package/dist/types/verifiable/constants.d.ts +78 -0
  463. package/dist/types/verifiable/credential.d.ts +123 -0
  464. package/dist/types/verifiable/index.d.ts +4 -0
  465. package/dist/types/verifiable/proof.d.ts +123 -0
  466. package/dist/types/verifiable/schema.d.ts +2 -0
  467. package/dist/umd/index.js +462 -0
  468. package/dist/umd/index.js.map +7 -0
  469. package/package.json +95 -0
@@ -0,0 +1,248 @@
1
+ import { KMS, KmsKeyId, KmsKeyType } from '../kms';
2
+ import { Blockchain, Claim, DID, DidMethod, NetworkId } from '@iden3/js-iden3-core';
3
+ import { Signature } from '@iden3/js-crypto';
4
+ import { IDataStorage } from '../storage/interfaces/data-storage';
5
+ import { W3CCredential, MerkleTreeProofWithTreeState } from '../verifiable';
6
+ import { CredentialRequest, ICredentialWallet } from '../credentials';
7
+ import { TreesModel } from '../credentials/revocation';
8
+ import { TreeState } from '../circuits';
9
+ /**
10
+ * Credential issue options
11
+ * with publishing to chain and to reverse hash service
12
+ *
13
+ * @export
14
+ * @beta
15
+ * @interface CredentialIssueOptions
16
+ */
17
+ export interface CredentialIssueOptions {
18
+ /**
19
+ * option to show if reverse hash service is used to check the Credential Status
20
+ *
21
+ */
22
+ withRHS: string;
23
+ }
24
+ /**
25
+ * DID creation options
26
+ * seed - seed to generate BJJ keypair
27
+ * rhsUrl - rhsUrl is url to reverse hash service, so revocation status can be fetched for Auth BJJ credential
28
+ * @export
29
+ * @interface IdentityCreationOptions
30
+ */
31
+ export interface IdentityCreationOptions {
32
+ method: DidMethod;
33
+ blockchain: Blockchain;
34
+ networkId: NetworkId;
35
+ seed?: Uint8Array;
36
+ rhsUrl?: string;
37
+ }
38
+ /**
39
+ * Proof creation result
40
+ *
41
+ * @export
42
+ * @beta
43
+ * @interface Iden3ProofCreationResult
44
+ */
45
+ export interface Iden3ProofCreationResult {
46
+ credentials: W3CCredential[];
47
+ oldTreeState: TreeState;
48
+ newTreeState: TreeState;
49
+ }
50
+ /**
51
+ * Interface for IdentityWallet
52
+ * @public
53
+ * @beta
54
+ */
55
+ export interface IIdentityWallet {
56
+ /**
57
+ * Create Identity creates Auth BJJ credential,
58
+ * Merkle trees for claims, revocations and root of roots,
59
+ * adds auth BJJ credential to claims tree and generates mtp of inclusion
60
+ * based on the resulting state it provides an identifier in DID form.
61
+ *
62
+ * @param {string} hostUrl - hostUrl is used as a part of the identifier of Auth BJJ credential
63
+ * @param {IdentityCreationOptions} opts - default is did:iden3:polygon:mumbai** with generated key.
64
+ * @returns `Promise<{ did: DID; credential: W3CCredential }>` - returns did and Auth BJJ credential
65
+ * @beta
66
+ */
67
+ createIdentity(hostUrl: string, opts?: IdentityCreationOptions): Promise<{
68
+ did: DID;
69
+ credential: W3CCredential;
70
+ }>;
71
+ /**
72
+ * Creates profile based on genesis identifier
73
+ *
74
+ * @param {DID} did - identity to derive profile from
75
+ * @param {number} nonce - unique integer number to generate a profile
76
+ * @param {string} verifier - verifier identity/alias in a string from
77
+ * @returns `Promise<DID>` - profile did
78
+ */
79
+ createProfile(did: DID, nonce: number, verifier: string): Promise<DID>;
80
+ /**
81
+ * Generates a new key
82
+ *
83
+ * @param {KmsKeyType} keyType - supported key type by KMS
84
+ * @returns `Promise<KmsKeyId>` - creates a new key BJJ or ECDSA
85
+ */
86
+ generateKey(keyType: KmsKeyType): Promise<KmsKeyId>;
87
+ /**
88
+ * Issues new credential from issuer according to the claim request
89
+ *
90
+ * @param {DID} issuerDID - issuer identity
91
+ * @param {CredentialRequest} req - claim request
92
+ * @param {string} hostUrl - url that will be a part of credential id prefix
93
+ * @param {CredentialIssueOptions} [opts] - with / without RHS
94
+ * @returns `Promise<W3CCredential>` - returns created W3CCredential
95
+ */
96
+ issueCredential(issuerDID: DID, req: CredentialRequest, hostUrl: string, opts?: CredentialIssueOptions): Promise<W3CCredential>;
97
+ /**
98
+ * Gets a tree model for given did that includes claims tree, revocation tree, the root of roots tree and calculated state hash
99
+ *
100
+ * @param {DID} did - did which trees info we need to receive
101
+ * @returns `Promise<TreesModel>`
102
+ * */
103
+ getDIDTreeModel(did: DID): Promise<TreesModel>;
104
+ /**
105
+ * Generates proof of credential inclusion / non-inclusion to the given claims tree
106
+ * and its root or to the current root of the Claims tree in the given Merkle tree storage.
107
+ *
108
+ * @param {DID} did - issuer did
109
+ * @param {W3CCredential} credential - credential to generate mtp
110
+ * @param {TreeState} [treeState] - tree state when to generate a proof
111
+ * @returns `Promise<MerkleTreeProofWithTreeState>` - MerkleTreeProof and TreeState on which proof has been generated
112
+ */
113
+ generateCredentialMtp(did: DID, credential: W3CCredential, treeState?: TreeState): Promise<MerkleTreeProofWithTreeState>;
114
+ /**
115
+ * Generates proof of credential revocation nonce inclusion / non-inclusion to the given revocation tree
116
+ * and its root or to the current root of the Revocation tree in the given Merkle tree storage.
117
+ *
118
+ * @param {DID} did
119
+ * @param {W3CCredential} credential
120
+ * @param {TreeState} [treeState]
121
+ * @returns `Promise<MerkleTreeProofWithTreeState>` - MerkleTreeProof and TreeState on which proof has been generated
122
+ */
123
+ generateNonRevocationMtp(did: DID, credential: W3CCredential, treeState?: TreeState): Promise<MerkleTreeProofWithTreeState>;
124
+ /**
125
+ * Signs a payload of arbitrary size with an Auth BJJ Credential that identifies a key for signing.
126
+ *
127
+ * @param {Uint8Array} payload
128
+ * @param {W3CCredential} credential - Auth BJJ Credential
129
+ * @returns `Promise<Signature>`- the signature object with R8 and S params
130
+ */
131
+ sign(payload: Uint8Array, credential: W3CCredential): Promise<Signature>;
132
+ /**
133
+ * Signs a big integer with an Auth BJJ Credential that identifies a key for signing.
134
+ *
135
+ *
136
+ * @param {bigint} payload - big number in Field
137
+ * @param {W3CCredential} credential - Auth BJJ credential
138
+ * @returns `Promise<Signature>` - the signature object with R8 and S params
139
+ */
140
+ signChallenge(payload: bigint, credential: W3CCredential): Promise<Signature>;
141
+ /**
142
+ *
143
+ *
144
+ * @param {DID} issuerDID - identifier of the issuer
145
+ * @param {W3CCredential} credential - credential to revoke
146
+ * @returns `Promise<number>` a revocation nonce of credential
147
+ */
148
+ revokeCredential(issuerDID: DID, credential: W3CCredential): Promise<number>;
149
+ /**
150
+ * Generate Iden3SparseMerkleTree proof of inclusion to issuer state of specific credentials
151
+ *
152
+ * @param {DID} issuerDID - issuer did
153
+ * @param {W3CCredential[]} credentials - list of verifiable credentials to generate a proof
154
+ * @param {string} txId - transaction hash in which state transition has been done
155
+ * @param {number} [blockNumber] - block number in which state transition has been done
156
+ * @param {number} [blockTimestamp] - block timestamp in which state transition has been done
157
+ * @returns `Promise<W3CCredential[]>` credentials with an Iden3SparseMerkleTreeProof
158
+ */
159
+ generateIden3SparseMerkleTreeProof(issuerDID: DID, credentials: W3CCredential[], txId: string, blockNumber?: number, blockTimestamp?: number): Promise<W3CCredential[]>;
160
+ /**
161
+ * Adds verifiable credentials to issuer Claims Merkle tree
162
+ *
163
+ * @param {W3CCredential[]} credentials - credentials to include in the claims tree
164
+ * @param {DID} issuerDID - issuer did
165
+ * @returns `Promise<Iden3ProofCreationResult>`- old tree state and tree state with included credentials
166
+ */
167
+ addCredentialsToMerkleTree(credentials: W3CCredential[], issuerDID: DID): Promise<Iden3ProofCreationResult>;
168
+ /**
169
+ *
170
+ *
171
+ * @param {DID} issuerDID - issuer did
172
+ * @param {string} rhsURL - reverse hash service URL
173
+ * @param {number[]} [revokedNonces] - revoked nonces for the period from the last published
174
+ * @returns `Promise<void>`
175
+ */
176
+ publishStateToRHS(issuerDID: DID, rhsURL: string, revokedNonces?: number[]): Promise<void>;
177
+ /**
178
+ * Extracts core claim from signature or merkle tree proof. If both proof persists core claim must be the same
179
+ *
180
+ * @exports
181
+ * @beta
182
+ * @param {W3CCredential} credential - credential to extract core claim
183
+ * @returns `{Promise<Claim>}`
184
+ */
185
+ getCoreClaimFromCredential(credential: W3CCredential): Promise<Claim>;
186
+ }
187
+ /**
188
+ * @public
189
+ * Wallet instance to manage the digital identity based on iden3 protocol
190
+ * allows to: create identity/profile, sign payloads (bigint / bytes), generate keys,
191
+ * generate Merkle tree proofs of inclusion / non-inclusion to Merkle trees, issue credentials with a BJJSignature and Iden3SparseMerkleTree Proofs,
192
+ * revoke credentials, add credentials to Merkle trees, push states to reverse hash service
193
+ *
194
+ *
195
+ * @export
196
+ * @beta
197
+ * @class IdentityWallet - class
198
+ * @beta
199
+ * @implements implements IIdentityWallet interface
200
+ */
201
+ export declare class IdentityWallet implements IIdentityWallet {
202
+ private readonly _kms;
203
+ private readonly _storage;
204
+ private readonly _credentialWallet;
205
+ /**
206
+ * Constructs a new instance of the `IdentityWallet` class
207
+ *
208
+ * @param {KMS} _kms - Key Management System that allows signing data with BJJ key
209
+ * @param {IDataStorage} _storage - data storage to access credential / identity / Merkle tree data
210
+ * @param {ICredentialWallet} _credentialWallet - credential wallet instance to quickly access credential CRUD functionality
211
+ * @public
212
+ */
213
+ constructor(_kms: KMS, _storage: IDataStorage, _credentialWallet: ICredentialWallet);
214
+ /**
215
+ * {@inheritDoc IIdentityWallet.createIdentity}
216
+ */
217
+ createIdentity(hostUrl: string, opts?: IdentityCreationOptions): Promise<{
218
+ did: DID;
219
+ credential: W3CCredential;
220
+ }>;
221
+ /** {@inheritDoc IIdentityWallet.createProfile} */
222
+ createProfile(did: DID, nonce: number, verifier: string): Promise<DID>;
223
+ /** {@inheritDoc IIdentityWallet.generateKey} */
224
+ generateKey(keyType: KmsKeyType): Promise<KmsKeyId>;
225
+ /** {@inheritDoc IIdentityWallet.getDIDTreeModel} */
226
+ getDIDTreeModel(did: DID): Promise<TreesModel>;
227
+ /** {@inheritDoc IIdentityWallet.generateClaimMtp} */
228
+ generateCredentialMtp(did: DID, credential: W3CCredential, treeState?: TreeState): Promise<MerkleTreeProofWithTreeState>;
229
+ /** {@inheritDoc IIdentityWallet.generateNonRevocationMtp} */
230
+ generateNonRevocationMtp(did: DID, credential: W3CCredential, treeState?: TreeState): Promise<MerkleTreeProofWithTreeState>;
231
+ /** {@inheritDoc IIdentityWallet.sign} */
232
+ sign(message: Uint8Array, credential: W3CCredential): Promise<Signature>;
233
+ /** {@inheritDoc IIdentityWallet.signChallenge} */
234
+ signChallenge(challenge: bigint, credential: W3CCredential): Promise<Signature>;
235
+ /** {@inheritDoc IIdentityWallet.issueCredential} */
236
+ issueCredential(issuerDID: DID, req: CredentialRequest, hostUrl: string, opts?: CredentialIssueOptions): Promise<W3CCredential>;
237
+ /** {@inheritDoc IIdentityWallet.revokeCredential} */
238
+ revokeCredential(issuerDID: DID, credential: W3CCredential): Promise<number>;
239
+ /** {@inheritDoc IIdentityWallet.addCredentialsToMerkleTree} */
240
+ addCredentialsToMerkleTree(credentials: W3CCredential[], issuerDID: DID): Promise<Iden3ProofCreationResult>;
241
+ /** {@inheritDoc IIdentityWallet.generateIden3SparseMerkleTreeProof} */
242
+ generateIden3SparseMerkleTreeProof(issuerDID: DID, credentials: W3CCredential[], txId: string, blockNumber?: number, blockTimestamp?: number): Promise<W3CCredential[]>;
243
+ /** {@inheritDoc IIdentityWallet.publishStateToRHS} */
244
+ publishStateToRHS(issuerDID: DID, rhsURL: string, revokedNonces?: number[]): Promise<void>;
245
+ private getKMSIdByAuthCredential;
246
+ private defineMTRootPosition;
247
+ getCoreClaimFromCredential(credential: W3CCredential): Promise<Claim>;
248
+ }
@@ -0,0 +1,2 @@
1
+ export * from './identity-wallet';
2
+ export * from '../auth/auth';
@@ -0,0 +1,12 @@
1
+ export * from './identity';
2
+ export * from './credentials';
3
+ export * from './kms';
4
+ export * from './storage';
5
+ export * from './verifiable';
6
+ export * from './schema-processor';
7
+ export * from './proof';
8
+ export * from './iden3comm';
9
+ export * from './circuits';
10
+ export * from './loaders';
11
+ import * as core from '@iden3/js-iden3-core';
12
+ export { core };
@@ -0,0 +1,47 @@
1
+ import { PublicKey } from '@iden3/js-crypto';
2
+ import { IKeyProvider } from './kms';
3
+ import { AbstractPrivateKeyStore, KmsKeyId, KmsKeyType } from './store';
4
+ /**
5
+ * Provider for Baby Jub Jub keys
6
+ * @beta
7
+ * @export
8
+ * @beta
9
+ * @class BjjProvider
10
+ * @implements implements IKeyProvider interface
11
+ */
12
+ export declare class BjjProvider implements IKeyProvider {
13
+ /**
14
+ * key type that is handled by BJJ Provider
15
+ * @type {KmsKeyType}
16
+ */
17
+ keyType: KmsKeyType;
18
+ private keyStore;
19
+ /**
20
+ * Creates an instance of BjjProvider.
21
+ * @param {KmsKeyType} keyType - kms key type
22
+ * @param {AbstractPrivateKeyStore} keyStore - key store for kms
23
+ */
24
+ constructor(keyType: KmsKeyType, keyStore: AbstractPrivateKeyStore);
25
+ /**
26
+ * generates a baby jub jub key from a seed phrase
27
+ * @param {Uint8Array} seed - byte array seed
28
+ * @returns kms key identifier
29
+ */
30
+ newPrivateKeyFromSeed(seed: Uint8Array): Promise<KmsKeyId>;
31
+ /**
32
+ * Gets public key by kmsKeyId
33
+ *
34
+ * @param {KmsKeyId} keyId - key identifier
35
+ */
36
+ publicKey(keyId: KmsKeyId): Promise<PublicKey>;
37
+ /**
38
+ * signs prepared payload of size,
39
+ * with a key id
40
+ *
41
+ * @param {KmsKeyId} keyId - key identifier
42
+ * @param {Uint8Array} data - data to sign (32 bytes)
43
+ * @returns Uint8Array signature
44
+ */
45
+ sign(keyId: KmsKeyId, data: Uint8Array): Promise<Uint8Array>;
46
+ private privateKey;
47
+ }
@@ -0,0 +1,3 @@
1
+ export * from './kms';
2
+ export * from './bjj-provider';
3
+ export * from './store';
@@ -0,0 +1,80 @@
1
+ import { PublicKey } from '@iden3/js-crypto';
2
+ import { KmsKeyId, KmsKeyType } from './store';
3
+ /**
4
+ * KeyProvider is responsible for signing and creation of the keys
5
+ *
6
+ * @export
7
+ * @beta
8
+ * @interface IKeyProvider
9
+ */
10
+ export interface IKeyProvider {
11
+ /**
12
+ * property to store key type
13
+ *
14
+ * @type {KmsKeyType}
15
+ */
16
+ keyType: KmsKeyType;
17
+ /**
18
+ * gets public key by key id
19
+ *
20
+ * @param {KmsKeyId} keyID - kms key identifier
21
+ * @returns `Promise<PublicKey>`
22
+ */
23
+ publicKey(keyID: KmsKeyId): Promise<PublicKey>;
24
+ /**
25
+ * sign data with kms key
26
+ *
27
+ * @param {KmsKeyId} keyId - key identifier
28
+ * @param {Uint8Array} data - bytes payload
29
+ * @returns `Promise<Uint8Array>`
30
+ */
31
+ sign(keyId: KmsKeyId, data: Uint8Array): Promise<Uint8Array>;
32
+ /**
33
+ * creates new key pair from given seed
34
+ *
35
+ * @param {Uint8Array} seed - seed
36
+ * @returns `Promise<KmsKeyId>`
37
+ */
38
+ newPrivateKeyFromSeed(seed: Uint8Array): Promise<KmsKeyId>;
39
+ }
40
+ /**
41
+ * Key management system class contains different key providers.
42
+ * allows to register custom provider, create key, get public key and sign
43
+ *
44
+ * @beta
45
+ * @export
46
+ * @class KMS - class
47
+ */
48
+ export declare class KMS {
49
+ private registry;
50
+ /**
51
+ * register key provider in the KMS
52
+ *
53
+ * @param {KmsKeyType} keyType - kms key type
54
+ * @param {IKeyProvider} keyProvider - key provider implementation
55
+ */
56
+ registerKeyProvider(keyType: KmsKeyType, keyProvider: IKeyProvider): void;
57
+ /**
58
+ * generates a new key and returns it kms key id
59
+ *
60
+ * @param {KmsKeyType} keyType
61
+ * @param {Uint8Array} bytes
62
+ * @returns kms key id
63
+ */
64
+ createKeyFromSeed(keyType: KmsKeyType, bytes: Uint8Array): Promise<KmsKeyId>;
65
+ /**
66
+ * gets public key for key id
67
+ *
68
+ * @param {KmsKeyId} keyId -- key id
69
+ * @returns public key
70
+ */
71
+ publicKey(keyId: KmsKeyId): Promise<PublicKey>;
72
+ /**
73
+ * sign Uint8Array with giv KmsKeyIden
74
+ *
75
+ * @param {KmsKeyId} keyId - key id
76
+ * @param {Uint8Array} data - prepared data bytes
77
+ * @returns `Promise<Uint8Array>` - return signature
78
+ */
79
+ sign(keyId: KmsKeyId, data: Uint8Array): Promise<Uint8Array>;
80
+ }
@@ -0,0 +1,18 @@
1
+ import { KmsKeyType } from './store';
2
+ /**
3
+ * builds key path
4
+ *
5
+ * @export
6
+ * @param {KmsKeyType} keyType - key type
7
+ * @param {string} keyID - key id
8
+ * @returns string path
9
+ */
10
+ export declare function keyPath(keyType: KmsKeyType, keyID: string): string;
11
+ /**
12
+ * generates Uint8Array with random bytes of size n
13
+ *
14
+ * @export
15
+ * @param {number} n - size of array
16
+ * @returns Uint8Array
17
+ */
18
+ export declare function getRandomBytes(n: number): Uint8Array;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * KeyStore that allows to import and get keys by alias.
3
+ *
4
+ * @export
5
+ * @abstract
6
+ * @beta
7
+ * @class AbstractPrivateKeyStore
8
+ */
9
+ export declare abstract class AbstractPrivateKeyStore {
10
+ /**
11
+ * imports key by alias
12
+ *
13
+ * @abstract
14
+ * @param {{ alias: string; key: string }} args - key alias and hex representation
15
+ * @returns `Promise<void>`
16
+ */
17
+ abstract import(args: {
18
+ alias: string;
19
+ key: string;
20
+ }): Promise<void>;
21
+ /**
22
+ * get key by alias
23
+ *
24
+ * @abstract
25
+ * @param {{ alias: string }} args -key alias
26
+ * @returns `Promise<string>`
27
+ */
28
+ abstract get(args: {
29
+ alias: string;
30
+ }): Promise<string>;
31
+ }
@@ -0,0 +1,4 @@
1
+ export * from './abstract-key-store';
2
+ export * from './memory-key-store';
3
+ export * from './types';
4
+ export * from './local-storage-key-store';
@@ -0,0 +1,32 @@
1
+ import { AbstractPrivateKeyStore } from './abstract-key-store';
2
+ /**
3
+ * Allows storing keys in the local storage of the browser
4
+ * (NOT ENCRYPTED: DO NOT USE IN THE PRODUCTION)
5
+ *
6
+ * @export
7
+ * @beta
8
+ * @class LocalStoragePrivateKeyStore
9
+ * @implements implements AbstractPrivateKeyStore interface
10
+ */
11
+ export declare class LocalStoragePrivateKeyStore implements AbstractPrivateKeyStore {
12
+ static readonly storageKey = "keystore";
13
+ /**
14
+ * Gets key from the local storage
15
+ *
16
+ * @param {{ alias: string }} args
17
+ * @returns hex string
18
+ */
19
+ get(args: {
20
+ alias: string;
21
+ }): Promise<string>;
22
+ /**
23
+ * Import key to the local storage
24
+ *
25
+ * @param {{ alias: string; key: string }} args - alias and private key in the hex
26
+ * @returns void
27
+ */
28
+ import(args: {
29
+ alias: string;
30
+ key: string;
31
+ }): Promise<void>;
32
+ }
@@ -0,0 +1,20 @@
1
+ import { AbstractPrivateKeyStore } from './abstract-key-store';
2
+ /**
3
+ * Key Store to use in memory
4
+ *
5
+ * @export
6
+ * @beta
7
+ * @class InMemoryPrivateKeyStore
8
+ * @implements implements AbstractPrivateKeyStore interface
9
+ */
10
+ export declare class InMemoryPrivateKeyStore implements AbstractPrivateKeyStore {
11
+ private _data;
12
+ constructor();
13
+ get(args: {
14
+ alias: string;
15
+ }): Promise<string>;
16
+ import(args: {
17
+ alias: string;
18
+ key: string;
19
+ }): Promise<void>;
20
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Key type that can be used in the key management system
3
+ *
4
+ * @export
5
+ * @enum {number}
6
+ */
7
+ export declare enum KmsKeyType {
8
+ BabyJubJub = "BJJ",
9
+ Ethereum = "ETH"
10
+ }
11
+ /**
12
+ * ID of the key that describe contain key type
13
+ *
14
+ * @export
15
+ * @beta
16
+ * @interface KmsKeyId
17
+ */
18
+ export interface KmsKeyId {
19
+ type: KmsKeyType;
20
+ id: string;
21
+ }
@@ -0,0 +1,2 @@
1
+ export * from './key';
2
+ export * from './schema';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Loader interface to load from different sources
3
+ *
4
+ * @export
5
+ * @beta
6
+ * @interface IKeyLoader
7
+ */
8
+ export interface IKeyLoader {
9
+ /**
10
+ * loads file as a byte array
11
+ *
12
+ * @param {string} path - path to file
13
+ * @returns `Promise<Uint8Array>`
14
+ */
15
+ load(path: string): Promise<Uint8Array>;
16
+ }
17
+ /**
18
+ * Loader from file system
19
+ *
20
+ * @export
21
+ * @beta
22
+ * @class FSKeyLoader
23
+ * @implements implements IKeyLoader interface
24
+ */
25
+ export declare class FSKeyLoader implements IKeyLoader {
26
+ readonly dir: string;
27
+ constructor(dir: string);
28
+ load(path: string): Promise<Uint8Array>;
29
+ }
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Loader interface to load schema
3
+ *
4
+ * @export
5
+ * @beta
6
+ * @interface ISchemaLoader
7
+ */
8
+ export interface ISchemaLoader {
9
+ /**
10
+ * loads schema by its url
11
+ *
12
+ * @param {string} url
13
+ * @returns `Promise<Uint8Array>`
14
+ */
15
+ load(url: string): Promise<Uint8Array>;
16
+ }
17
+ /**
18
+ * loads schemas from ipfs and http sources
19
+ *
20
+ * @export
21
+ * @beta
22
+ * @class UniversalSchemaLoader
23
+ * @implements implements ISchemaLoader interface
24
+ */
25
+ export declare class UniversalSchemaLoader implements ISchemaLoader {
26
+ private ipfsUrl;
27
+ constructor(ipfsUrl: string);
28
+ /**
29
+ * loads schema by URL
30
+ *
31
+ * @param {string} url - schema URL
32
+ * @returns `Promise<Uint8Array>`
33
+ */
34
+ load(url: string): Promise<Uint8Array>;
35
+ }
36
+ /**
37
+ * loads schemas from http source
38
+ *
39
+ * @export
40
+ * @beta
41
+ * @class HttpSchemaLoader
42
+ * @implements implements ISchemaLoader interface
43
+ */
44
+ export declare class HttpSchemaLoader implements ISchemaLoader {
45
+ /**
46
+ *
47
+ *
48
+ * @param {string} url - schema URL
49
+ * @returns `Promise<Uint8Array>`
50
+ */
51
+ load(url: string): Promise<Uint8Array>;
52
+ }
53
+ /**
54
+ * loads schemas from ipfs source
55
+ *
56
+ * @export
57
+ * @beta
58
+ * @class IpfsSchemaLoader
59
+ * @implements implements ISchemaLoader interface
60
+ */
61
+ export declare class IpfsSchemaLoader implements ISchemaLoader {
62
+ private readonly url;
63
+ private readonly client;
64
+ /**
65
+ * Creates an instance of IpfsSchemaLoader.
66
+ * @param {string} url - host of the ipfs node
67
+ */
68
+ constructor(url: string);
69
+ /**
70
+ * loads schema from ipfs by its identifier
71
+ *
72
+ * @param {string} url - schema IPFS identifier
73
+ * @returns `Promise<Uint8Array>`
74
+ */
75
+ load(url: string): Promise<Uint8Array>;
76
+ }
77
+ /**
78
+ * returns loader for schemas based on the URL protocol
79
+ *
80
+ * @export
81
+ * @param {string} url - schema url
82
+ * @param {string} [ipfsConfigUrl] - ipfs node host url
83
+ * @returns ISchemaLoader
84
+ */
85
+ export declare function getLoader(url: string, ipfsConfigUrl?: string): ISchemaLoader;
@@ -0,0 +1,17 @@
1
+ import { ClaimNonRevStatus, GISTProof } from '../circuits';
2
+ import { StateProof } from '../storage/entities/state';
3
+ import { RevocationStatus } from '../verifiable';
4
+ /**
5
+ * converts verifiable RevocationStatus model to circuits structure
6
+ *
7
+ * @param {RevocationStatus} - credential.status of the verifiable credential
8
+ * @returns {ClaimNonRevStatus}
9
+ */
10
+ export declare const toClaimNonRevStatus: (s: RevocationStatus) => ClaimNonRevStatus;
11
+ /**
12
+ * converts state info from smart contract to gist proof
13
+ *
14
+ * @param {StateProof} smtProof - state proof from smart contract
15
+ * @returns {GISTProof}
16
+ */
17
+ export declare const toGISTProof: (smtProof: StateProof) => GISTProof;
@@ -0,0 +1,3 @@
1
+ export * from './proof-service';
2
+ export * from './prover';
3
+ export * from './common';