@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,121 @@
1
+ import { TreeState } from './../circuits/models';
2
+ import { W3CCredential } from '../verifiable/credential';
3
+ import { DID } from '@iden3/js-iden3-core';
4
+ import { CircuitId, Query } from '../circuits';
5
+ import { IIdentityWallet } from '../identity';
6
+ import { ICredentialWallet } from '../credentials';
7
+ import { Signature } from '@iden3/js-crypto';
8
+ import { ICircuitStorage } from '../storage/interfaces/circuits';
9
+ import { IStateStorage } from '../storage/interfaces';
10
+ import { Signer } from 'ethers';
11
+ import { ZKProof } from '@iden3/js-jwz';
12
+ import { ZeroKnowledgeProofRequest } from '../iden3comm';
13
+ export interface QueryWithFieldName {
14
+ query: Query;
15
+ fieldName: string;
16
+ }
17
+ export interface ProofGenerationOptions {
18
+ authProfileNonce: number;
19
+ credentialSubjectProfileNonce: number;
20
+ skipRevocation: boolean;
21
+ }
22
+ export interface IProofService {
23
+ /**
24
+ * Verification of zkp proof for given circuit id
25
+ *
26
+ * @param {ZKProof} zkp - proof to verify
27
+ * @param {CircuitId} circuitId - circuit id
28
+ * @returns `{Promise<boolean>}`
29
+ */
30
+ verifyProof(zkp: ZKProof, circuitName: CircuitId): Promise<boolean>;
31
+ /**
32
+ * Generate proof from given identity and credential for protocol proof request
33
+ *
34
+ * @param {ZeroKnowledgeProofRequest} proofReq - protocol zkp request
35
+ * @param {DID} identifier - did that will generate proof
36
+ * @param {W3CCredential} credential - credential that will be used for proof generation
37
+ * @param {ProofGenerationOptions} opts - options that will be used for proof generation
38
+ *
39
+ * @returns `Promise<{ proof: ZKProof; credential: W3CCredential }>`
40
+ */
41
+ generateProof(proofReq: ZeroKnowledgeProofRequest, identifier: DID, credential: W3CCredential, opts?: ProofGenerationOptions): Promise<{
42
+ proof: ZKProof;
43
+ credential: W3CCredential;
44
+ }>;
45
+ /**
46
+ * generates auth inputs
47
+ *
48
+ * @param {Uint8Array} hash - challenge that will be signed
49
+ * @param {DID} did - identity that will generate a proof
50
+ * @param {Number} profileNonce - identity that will generate a proof
51
+ * @param {CircuitId} circuitId - circuit id for authentication
52
+ * @returns `Promise<Uint8Array>`
53
+ */
54
+ generateAuthV2Inputs(hash: Uint8Array, did: DID, profileNonce: number, circuitId: CircuitId): Promise<Uint8Array>;
55
+ /**
56
+ * state verification function
57
+ *
58
+ * @param {string} circuitId - id of authentication circuit
59
+ * @param {Array<string>} pubSignals - public signals of authentication circuit
60
+ * @returns `Promise<boolean>`
61
+ */
62
+ verifyState(circuitId: string, pubSignals: Array<string>): Promise<boolean>;
63
+ /**
64
+ * transitState is done always to the latest state
65
+ *
66
+ * Generates a state transition proof and publishes state to the blockchain
67
+ *
68
+ * @param {DID} did - identity that will transit state
69
+ * @param {TreeState} oldTreeState - previous tree state
70
+ * @param {boolean} isOldStateGenesis - is a transition state is done from genesis state
71
+ * @param {IStateStorage} stateStorage - storage of identity states (only eth based storage currently)
72
+ * @param {Signer} ethSigner - signer for transaction
73
+ * @returns `{Promise<string>}` - transaction hash is returned
74
+ */
75
+ transitState(did: DID, oldTreeState: TreeState, isOldStateGenesis: boolean, stateStorage: IStateStorage, ethSigner: Signer): Promise<string>;
76
+ }
77
+ /**
78
+ * Proof service is an implementation of IProofService
79
+ * that works with a native groth16 prover
80
+ *
81
+ * @export
82
+ * @beta
83
+ * @class ProofService
84
+ * @implements implements IProofService interface
85
+ */
86
+ export declare class ProofService implements IProofService {
87
+ private readonly _identityWallet;
88
+ private readonly _credentialWallet;
89
+ private readonly _circuitStorage;
90
+ private readonly _stateStorage;
91
+ private readonly _prover;
92
+ /**
93
+ * Creates an instance of ProofService.
94
+ * @param {IIdentityWallet} _identityWallet - identity wallet
95
+ * @param {ICredentialWallet} _credentialWallet - credential wallet
96
+ * @param {ICircuitStorage} _circuitStorage - circuit storage to load proving / verification files
97
+ * @param {IStateStorage} _stateStorage - state storage to get GIST proof / publish state
98
+ */
99
+ constructor(_identityWallet: IIdentityWallet, _credentialWallet: ICredentialWallet, _circuitStorage: ICircuitStorage, _stateStorage: IStateStorage);
100
+ /** {@inheritdoc IProofService.verifyProof} */
101
+ verifyProof(zkp: ZKProof, circuitId: CircuitId): Promise<boolean>;
102
+ /** {@inheritdoc IProofService.generateProof} */
103
+ generateProof(proofReq: ZeroKnowledgeProofRequest, identifier: DID, credential: W3CCredential, opts?: ProofGenerationOptions): Promise<{
104
+ proof: ZKProof;
105
+ credential: W3CCredential;
106
+ }>;
107
+ /** {@inheritdoc IProofService.transitState} */
108
+ transitState(did: DID, oldTreeState: TreeState, isOldStateGenesis: boolean, stateStorage: IStateStorage, ethSigner: Signer): Promise<string>;
109
+ private getPreparedCredential;
110
+ private prepareAuthBJJCredential;
111
+ private generateInputs;
112
+ private newCircuitClaimData;
113
+ private toCircuitsQuery;
114
+ private prepareMerklizedQuery;
115
+ private prepareNonMerklizedQuery;
116
+ private parseRequest;
117
+ /** {@inheritdoc IProofService.generateAuthV2Inputs} */
118
+ generateAuthV2Inputs(hash: Uint8Array, did: DID, profileNonce: number, circuitId: CircuitId): Promise<Uint8Array>;
119
+ verifyState(circuitId: string, pubSignals: Array<string>): Promise<boolean>;
120
+ }
121
+ export declare const bJJSignatureFromHexString: (sigHex: string) => Promise<Signature>;
@@ -0,0 +1,11 @@
1
+ import { ZKProof } from '@iden3/js-jwz';
2
+ import { CircuitId } from '../circuits';
3
+ import { ICircuitStorage } from '../storage/interfaces/circuits';
4
+ export declare class NativeProver {
5
+ private readonly _circuitStorage;
6
+ private static readonly curveName;
7
+ constructor(_circuitStorage: ICircuitStorage);
8
+ verify(zkp: ZKProof, circuitName: CircuitId): Promise<boolean>;
9
+ generate(inputs: Uint8Array, circuitId: CircuitId): Promise<ZKProof>;
10
+ private terminateCurve;
11
+ }
@@ -0,0 +1,16 @@
1
+ export declare function witnessBuilder(code: any, options?: any): Promise<WitnessCalculator>;
2
+ declare class WitnessCalculator {
3
+ private instance;
4
+ version: any;
5
+ n32: any;
6
+ prime: any;
7
+ witnessSize: any;
8
+ sanityCheck: any;
9
+ constructor(instance: any, sanityCheck: any);
10
+ circom_version(): any;
11
+ _doCalculateWitness(input: any, sanityCheck: any): Promise<void>;
12
+ calculateWitness(input: any, sanityCheck: any): Promise<any[]>;
13
+ calculateBinWitness(input: any, sanityCheck: any): Promise<Uint8Array>;
14
+ calculateWTNSBin(input: any, sanityCheck: any): Promise<Uint8Array>;
15
+ }
16
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './utils';
2
+ export * from './json';
@@ -0,0 +1,2 @@
1
+ export * from './parser';
2
+ export * from './validator';
@@ -0,0 +1,103 @@
1
+ import { W3CCredential } from '../../verifiable';
2
+ import { Claim as CoreClaim } from '@iden3/js-iden3-core';
3
+ /**
4
+ * Parsed slots of core.Claim
5
+ *
6
+ * @export
7
+ * @beta
8
+ * @interface ParsedSlots
9
+ */
10
+ export interface ParsedSlots {
11
+ indexA: Uint8Array;
12
+ indexB: Uint8Array;
13
+ valueA: Uint8Array;
14
+ valueB: Uint8Array;
15
+ }
16
+ /**
17
+ * Serialization of data slots for the fields non-merklized claims
18
+ *
19
+ * @export
20
+ * @beta
21
+ * @interface SerializationSchema
22
+ */
23
+ export interface SerializationSchema {
24
+ indexDataSlotA: string;
25
+ indexDataSlotB: string;
26
+ valueDataSlotA: string;
27
+ valueDataSlotB: string;
28
+ }
29
+ /**
30
+ * schema metadata in the json credential schema
31
+ *
32
+ * @export
33
+ * @beta
34
+ * @interface SchemaMetadata
35
+ */
36
+ export interface SchemaMetadata {
37
+ uris: {
38
+ [key: string]: string;
39
+ };
40
+ serialization?: SerializationSchema;
41
+ }
42
+ /**
43
+ * JSON credential Schema
44
+ *
45
+ * @export
46
+ * @beta
47
+ * @interface Schema
48
+ */
49
+ export interface JSONSchema {
50
+ $metadata: SchemaMetadata;
51
+ $schema: string;
52
+ type: string;
53
+ }
54
+ /**
55
+ * CoreClaimOptions is params for core claim parsing
56
+ *
57
+ * @export
58
+ * @beta
59
+ * @interface CoreClaimOptions
60
+ */
61
+ export interface CoreClaimOptions {
62
+ revNonce: number;
63
+ version: number;
64
+ subjectPosition: string;
65
+ merklizedRootPosition: string;
66
+ updatable: boolean;
67
+ }
68
+ /**
69
+ * Parser can parse claim data according to specification
70
+ *
71
+ * @export
72
+ * @beta
73
+ * @class Parser
74
+ */
75
+ export declare class Parser {
76
+ /**
77
+ * ParseClaim creates core.Claim object from W3CCredential
78
+ *
79
+ * @param {W3CCredential} credential - Verifiable Credential
80
+ * @param {string} credentialType - credential type that will be used as schema hash e.g. https://url-to-ld-schema.com#AuthBJJCredential
81
+ * @param {Uint8Array} jsonSchemaBytes - json schema bytes
82
+ * @param {CoreClaimOptions} [opts] - options to parse core claim
83
+ * @returns `Promise<CoreClaim>`
84
+ */
85
+ parseClaim(credential: W3CCredential, credentialType: string, jsonSchemaBytes: Uint8Array, opts?: CoreClaimOptions): Promise<CoreClaim>;
86
+ /**
87
+ * ParseSlots converts payload to claim slots using provided schema
88
+ *
89
+ * @param {W3CCredential} credential - Verifiable Credential
90
+ * @param {Uint8Array} schemaBytes - JSON schema bytes
91
+ * @returns `ParsedSlots`
92
+ */
93
+ parseSlots(credential: W3CCredential, schemaBytes: Uint8Array): ParsedSlots;
94
+ private assignSlots;
95
+ /**
96
+ * GetFieldSlotIndex return index of slot from 0 to 7 (each claim has by default 8 slots) for non-merklized claims
97
+ *
98
+ * @param {string} field - field name
99
+ * @param {Uint8Array} schemaBytes -json schema bytes
100
+ * @returns `number`
101
+ */
102
+ getFieldSlotIndex(field: string, schemaBytes: Uint8Array): number;
103
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * JSON Schema Validator
3
+ *
4
+ * @export
5
+ * @beta
6
+ * @class JsonSchemaValidator
7
+ */
8
+ export declare class JsonSchemaValidator {
9
+ private _ajv;
10
+ /**
11
+ * Creates an instance of JsonSchemaValidator.
12
+ */
13
+ constructor();
14
+ /**
15
+ * Validate data according to the given schema
16
+ *
17
+ * @param {Uint8Array} dataB - payload to validate
18
+ * @param {Uint8Array} schemaB - schema to process
19
+ * @returns `Promise<boolean>`
20
+ */
21
+ validate(dataB: Uint8Array, schemaB: Uint8Array): Promise<boolean>;
22
+ }
@@ -0,0 +1,49 @@
1
+ import { SchemaHash } from '@iden3/js-iden3-core';
2
+ /**
3
+ * SwapEndianness swaps the endianness of the value encoded in buf. If buf is
4
+ * Big-Endian, the result will be Little-Endian and vice-versa.
5
+ *
6
+ * @param {Uint8Array} buf - bytes to swap
7
+ * @returns Uint8Array - swapped bytes
8
+ */
9
+ export declare const swapEndianness: (buf: Uint8Array) => Uint8Array;
10
+ /**
11
+ * FieldToByteArray convert fields to byte representation based on type
12
+ *
13
+ * @export
14
+ * @param {unknown} field - field to convert
15
+ * @returns Uint8Array
16
+ */
17
+ export declare function fieldToByteArray(field: unknown): Uint8Array;
18
+ /**
19
+ * checks if data fills into slot capacity ()
20
+ *
21
+ * @export
22
+ * @param {Uint8Array} slot - current slot data
23
+ * @param {Uint8Array} newData - new slot data
24
+ * @returns boolean
25
+ */
26
+ export declare function dataFillsSlot(slot: Uint8Array, newData: Uint8Array): boolean;
27
+ /**
28
+ * check if byte data is in Q field
29
+ *
30
+ * @export
31
+ * @param {Uint8Array} data - bytes payload
32
+ * @returns boolean
33
+ */
34
+ export declare function checkDataInField(data: Uint8Array): boolean;
35
+ /**
36
+ * Calculates schema hash
37
+ *
38
+ * @param {Uint8Array} schemaId
39
+ * @returns {*} {SchemaHash}
40
+ */
41
+ export declare const createSchemaHash: (schemaId: Uint8Array) => SchemaHash;
42
+ /**
43
+ * checks if data can fill the slot
44
+ *
45
+ * @param {*} data - object that contains field
46
+ * @param {string} fieldName - field name
47
+ * @returns Uint8Array - filled slot
48
+ */
49
+ export declare const fillSlot: (data: any, fieldName: string) => Uint8Array;
@@ -0,0 +1 @@
1
+ export * from './state';
@@ -0,0 +1,52 @@
1
+ import { RootInfo, StateProof } from './../entities/state';
2
+ import { ZKProof } from '@iden3/js-jwz';
3
+ import { IStateStorage } from '../interfaces/state';
4
+ import { ethers, Signer } from 'ethers';
5
+ import { StateInfo } from '../entities/state';
6
+ /**
7
+ * Configuration of ethereum based blockchain connection
8
+ *
9
+ * @export
10
+ * @beta
11
+ * @interface EthConnectionConfig
12
+ */
13
+ export interface EthConnectionConfig {
14
+ url: string;
15
+ defaultGasLimit: number;
16
+ minGasPrice?: string;
17
+ maxGasPrice?: string;
18
+ confirmationBlockCount: number;
19
+ confirmationTimeout: number;
20
+ contractAddress: string;
21
+ receiptTimeout: number;
22
+ rpcResponseTimeout: number;
23
+ waitReceiptCycleTime: number;
24
+ waitBlockCycleTime: number;
25
+ }
26
+ export declare const defaultEthConnectionConfig: EthConnectionConfig;
27
+ /**
28
+ *
29
+ *
30
+ * @export
31
+ * @beta
32
+ * @class EthStateStorage
33
+ * @implements implements IStateStorage interface
34
+ */
35
+ export declare class EthStateStorage implements IStateStorage {
36
+ private readonly ethConfig;
37
+ readonly stateContract: ethers.Contract;
38
+ readonly provider: ethers.providers.JsonRpcProvider;
39
+ /**
40
+ * Creates an instance of EthStateStorage.
41
+ * @param {EthConnectionConfig} [ethConfig=defaultEthConnectionConfig]
42
+ */
43
+ constructor(ethConfig?: EthConnectionConfig);
44
+ /** {@inheritdoc IStateStorage.getLatestStateById} */
45
+ getLatestStateById(id: bigint): Promise<StateInfo>;
46
+ /** {@inheritdoc IStateStorage.publishState} */
47
+ publishState(proof: ZKProof, signer: Signer): Promise<string>;
48
+ /** {@inheritdoc IStateStorage.getGISTProof} */
49
+ getGISTProof(id: bigint): Promise<StateProof>;
50
+ /** {@inheritdoc IStateStorage.getGISTRootInfo} */
51
+ getGISTRootInfo(id: bigint): Promise<RootInfo>;
52
+ }
@@ -0,0 +1,7 @@
1
+ /** Circuit data that includes id, wasm file, verification key and proving key */
2
+ export type CircuitData = {
3
+ circuitId: string;
4
+ wasm: Uint8Array;
5
+ verificationKey: Uint8Array;
6
+ provingKey: Uint8Array;
7
+ };
@@ -0,0 +1,15 @@
1
+ import { Hash } from '@iden3/js-merkletree';
2
+ /** Identity structure that can be used for identity storage */
3
+ export type Identity = {
4
+ identifier: string;
5
+ state: Hash;
6
+ published: boolean;
7
+ genesis: boolean;
8
+ };
9
+ /** Profile structure that can be used for profiles storage */
10
+ export type Profile = {
11
+ id: string;
12
+ nonce: number;
13
+ genesisIdentifier: string;
14
+ verifier: string;
15
+ };
@@ -0,0 +1,4 @@
1
+ export * from './identity';
2
+ export * from './mt';
3
+ export * from './state';
4
+ export * from './circuitData';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Interface to store metadata about merkle tree
3
+ *
4
+ * @export
5
+ * @beta
6
+ * @interface IdentityMerkleTreeMetaInformation
7
+ */
8
+ export interface IdentityMerkleTreeMetaInformation {
9
+ treeId: string;
10
+ identifier: string;
11
+ type: MerkleTreeType;
12
+ }
13
+ /**
14
+ * Type of MerkleTree
15
+ *
16
+ * @export
17
+ * @enum {number}
18
+ */
19
+ export declare enum MerkleTreeType {
20
+ Claims = 0,
21
+ Revocations = 1,
22
+ Roots = 2
23
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * state information of identity from chain.
3
+ *
4
+ * @export
5
+ * @beta
6
+ * @interface StateInfo
7
+ */
8
+ export interface StateInfo {
9
+ id?: bigint;
10
+ state?: bigint;
11
+ replacedByState?: bigint;
12
+ createdAtTimestamp?: bigint;
13
+ replacedAtTimestamp?: bigint;
14
+ createdAtBlock?: bigint;
15
+ replacedAtBlock?: bigint;
16
+ }
17
+ /**
18
+ * state proof of identity from chain
19
+ *
20
+ * @export
21
+ * @beta
22
+ * @interface StateProof
23
+ */
24
+ export interface StateProof {
25
+ root: bigint;
26
+ existence: boolean;
27
+ siblings: bigint[];
28
+ index: bigint;
29
+ value: bigint;
30
+ auxExistence: boolean;
31
+ auxIndex: bigint;
32
+ auxValue: bigint;
33
+ }
34
+ /**
35
+ * global identity state root info from chain
36
+ *
37
+ * @export
38
+ * @beta
39
+ * @interface RootInfo
40
+ */
41
+ export interface RootInfo {
42
+ root: bigint;
43
+ replacedByRoot: bigint;
44
+ createdAtTimestamp: bigint;
45
+ replacedAtTimestamp: bigint;
46
+ createdAtBlock: bigint;
47
+ replacedAtBlock: bigint;
48
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Storage Errors definition
3
+ *
4
+ * @export
5
+ * @enum {number}
6
+ */
7
+ export declare enum StorageErrors {
8
+ ItemNotFound = "item not found"
9
+ }
@@ -0,0 +1 @@
1
+ export * from './jsonQuery';
@@ -0,0 +1,82 @@
1
+ import { W3CCredential, ProofQuery } from '../../verifiable';
2
+ /**
3
+ * search errors
4
+ *
5
+ * @export
6
+ * @enum {number}
7
+ */
8
+ export declare enum SearchError {
9
+ NotDefinedQueryKey = "not defined query key",
10
+ NotDefinedComparator = "not defined comparator"
11
+ }
12
+ /** allowed operators to search */
13
+ export type FilterOperatorMethod = '$noop' | '$eq' | '$in' | '$nin' | '$gt' | '$lt' | '$ne';
14
+ /** filter function type */
15
+ export type FilterOperatorFunction = (a: any, b: any) => boolean;
16
+ /**
17
+ * query filter interface that allows to query Verifiable Credential
18
+ *
19
+ * @export
20
+ * @beta
21
+ * @interface IFilterQuery
22
+ */
23
+ export interface IFilterQuery {
24
+ /**
25
+ * applies filter to verifiable credential
26
+ *
27
+ * @param {W3CCredential} credential - credential to query
28
+ * @returns boolean
29
+ */
30
+ execute(credential: W3CCredential): boolean;
31
+ }
32
+ export declare const comparatorOptions: {
33
+ [v in FilterOperatorMethod]: FilterOperatorFunction;
34
+ };
35
+ /**
36
+ * credential search path resolver
37
+ *
38
+ * @param {object} object - object to query
39
+ * @param {string} path - given path
40
+ * @param {*} [defaultValue=null]
41
+ */
42
+ export declare const resolvePath: (object: object, path: string, defaultValue?: any) => any;
43
+ /**
44
+ * filter creation factory
45
+ *
46
+ * @param {string} path - given query path
47
+ * @param {*} operatorFunc - filter operation
48
+ * @param {*} value - filter value
49
+ * @param {*} [isReverseParams=false] - reversed params
50
+ */
51
+ export declare const createFilter: (path: string, operatorFunc: any, value: any, isReverseParams?: boolean) => (credential: W3CCredential) => boolean;
52
+ /**
53
+ * Filter for queries of credentialSubject with a json path e.g birthday.date
54
+ *
55
+ *
56
+ * @export
57
+ * @beta
58
+ * @class FilterQuery
59
+ * @implements implements IFilterQuery interface
60
+ */
61
+ export declare class FilterQuery implements IFilterQuery {
62
+ path: string;
63
+ operatorFunc: FilterOperatorFunction;
64
+ value: any;
65
+ isReverseParams: boolean;
66
+ /**
67
+ * Creates an instance of FilterQuery.
68
+ * @param {string} path
69
+ * @param {FilterOperatorFunction} operatorFunc
70
+ * @param {*} value
71
+ * @param {boolean} [isReverseParams=false]
72
+ */
73
+ constructor(path: string, operatorFunc: FilterOperatorFunction, value: any, isReverseParams?: boolean);
74
+ /** {@inheritdoc IFilterQuery} */
75
+ execute(credential: W3CCredential): boolean;
76
+ }
77
+ /**
78
+ * creates filters based on proof query
79
+ * @param {ProofQuery} query - proof query
80
+ * @returns {*} {FilterQuery[]} - array of filters to apply
81
+ */
82
+ export declare const StandardJSONCredentialsQueryFilter: (query: ProofQuery) => FilterQuery[];
@@ -0,0 +1,7 @@
1
+ export * from './interfaces';
2
+ export * from './blockchain';
3
+ export * from './entities';
4
+ export * from './filters';
5
+ export * from './memory';
6
+ export * from './local-storage';
7
+ export * from './shared';
@@ -0,0 +1,26 @@
1
+ import { CircuitId } from '../../circuits';
2
+ import { CircuitData } from '../entities/circuitData';
3
+ /**
4
+ * Interface to work with circuit files
5
+ *
6
+ * @export
7
+ * @beta
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
+ * saves circuit files by circuit id
20
+ *
21
+ * @param {CircuitId} circuitId - circuit id
22
+ * @param {CircuitData} circuitData - circuit keys
23
+ * @returns `Promise<void>`
24
+ */
25
+ saveCircuitData(circuitId: CircuitId, circuitData: CircuitData): Promise<void>;
26
+ }
@@ -0,0 +1,53 @@
1
+ import { ProofQuery, W3CCredential } from '../../verifiable';
2
+ /**
3
+ * Interface for credential storages
4
+ *
5
+ * @export
6
+ * @beta
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
+ }