@provablehq/sdk 0.10.2-rc.1 → 0.10.3

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 (223) hide show
  1. package/dist/dynamic/browser.cjs +12 -0
  2. package/dist/dynamic/browser.d.cts +8 -0
  3. package/dist/dynamic/browser.d.ts +2 -2
  4. package/dist/dynamic/node.cjs +12 -0
  5. package/dist/dynamic/node.d.cts +8 -0
  6. package/dist/dynamic/node.d.ts +2 -2
  7. package/dist/mainnet/account.d.cts +347 -0
  8. package/dist/mainnet/browser.cjs +8507 -0
  9. package/dist/mainnet/browser.cjs.map +1 -0
  10. package/dist/mainnet/browser.d.cts +72 -0
  11. package/dist/mainnet/browser.d.ts +4 -5
  12. package/dist/mainnet/browser.js +332 -855
  13. package/dist/mainnet/browser.js.map +1 -1
  14. package/dist/mainnet/constants.d.cts +40 -0
  15. package/dist/mainnet/external-signing.d.cts +76 -0
  16. package/dist/mainnet/integrations/sealance/merkle-tree.d.cts +192 -0
  17. package/dist/mainnet/keys/keystore/error.d.cts +24 -0
  18. package/dist/mainnet/keys/keystore/file.d.cts +177 -0
  19. package/dist/mainnet/keys/keystore/interface.d.cts +161 -0
  20. package/dist/mainnet/keys/provider/interface.d.cts +170 -0
  21. package/dist/mainnet/keys/provider/memory.d.cts +213 -0
  22. package/dist/mainnet/keys/provider/memory.d.ts +6 -2
  23. package/dist/mainnet/keys/provider/offline.d.cts +365 -0
  24. package/dist/mainnet/keys/verifier/interface.d.cts +70 -0
  25. package/dist/mainnet/keys/verifier/memory.d.cts +37 -0
  26. package/dist/mainnet/keys/verifier/memory.d.ts +1 -1
  27. package/dist/mainnet/models/authorization.d.cts +6 -0
  28. package/dist/mainnet/models/authorization.d.ts +2 -2
  29. package/dist/mainnet/models/blockJSON.d.cts +33 -0
  30. package/dist/mainnet/models/confirmed_transaction.d.cts +9 -0
  31. package/dist/mainnet/models/cryptoBoxPubkey.d.cts +4 -0
  32. package/dist/mainnet/models/deployment/deploymentJSON.d.cts +6 -0
  33. package/dist/mainnet/models/deployment/deploymentObject.d.cts +6 -0
  34. package/dist/mainnet/models/encryptedProvingRequest.d.cts +4 -0
  35. package/dist/mainnet/models/execution/executionJSON.d.cts +11 -0
  36. package/dist/mainnet/models/execution/executionObject.d.cts +11 -0
  37. package/dist/mainnet/models/external-signing.d.cts +123 -0
  38. package/dist/mainnet/models/finalizeJSON.d.cts +6 -0
  39. package/dist/mainnet/models/functionInput.d.cts +7 -0
  40. package/dist/mainnet/models/functionObject.d.cts +8 -0
  41. package/dist/mainnet/models/imports.d.cts +7 -0
  42. package/dist/mainnet/models/input/inputJSON.d.cts +10 -0
  43. package/dist/mainnet/models/input/inputObject.d.cts +15 -0
  44. package/dist/mainnet/models/inputID.d.cts +4 -0
  45. package/dist/mainnet/models/keyPair.d.cts +4 -0
  46. package/dist/mainnet/models/output/outputJSON.d.cts +7 -0
  47. package/dist/mainnet/models/output/outputObject.d.cts +18 -0
  48. package/dist/mainnet/models/owner/ownerJSON.d.cts +4 -0
  49. package/dist/mainnet/models/owner/ownerObject.d.cts +5 -0
  50. package/dist/mainnet/models/plaintext/array.d.cts +3 -0
  51. package/dist/mainnet/models/plaintext/literal.d.cts +1 -0
  52. package/dist/mainnet/models/plaintext/plaintext.d.cts +5 -0
  53. package/dist/mainnet/models/plaintext/struct.d.cts +5 -0
  54. package/dist/mainnet/models/provingRequest.d.cts +6 -0
  55. package/dist/mainnet/models/provingRequest.d.ts +1 -1
  56. package/dist/mainnet/models/provingResponse.d.cts +51 -0
  57. package/dist/mainnet/models/ratification.d.cts +4 -0
  58. package/dist/mainnet/models/record-provider/encryptedRecord.d.cts +58 -0
  59. package/dist/mainnet/models/record-provider/ownedRecord.d.cts +60 -0
  60. package/dist/mainnet/models/record-provider/recordSearchParams.d.cts +19 -0
  61. package/dist/mainnet/models/record-scanner/encryptedRecordsResult.d.cts +7 -0
  62. package/dist/mainnet/models/record-scanner/encryptedRegistrationRequest.d.cts +8 -0
  63. package/dist/mainnet/models/record-scanner/error.d.cts +47 -0
  64. package/dist/mainnet/models/record-scanner/error.d.ts +1 -1
  65. package/dist/mainnet/models/record-scanner/ownedFilter.d.cts +22 -0
  66. package/dist/mainnet/models/record-scanner/ownedFilter.d.ts +3 -3
  67. package/dist/mainnet/models/record-scanner/ownedRecordsResponseFilter.d.cts +42 -0
  68. package/dist/mainnet/models/record-scanner/ownedRecordsResult.d.cts +13 -0
  69. package/dist/mainnet/models/record-scanner/recordsFilter.d.cts +35 -0
  70. package/dist/mainnet/models/record-scanner/recordsFilter.d.ts +2 -2
  71. package/dist/mainnet/models/record-scanner/recordsResponseFilter.d.cts +42 -0
  72. package/dist/mainnet/models/record-scanner/registrationRequest.d.cts +13 -0
  73. package/dist/mainnet/models/record-scanner/registrationResponse.d.cts +13 -0
  74. package/dist/mainnet/models/record-scanner/registrationResult.d.cts +9 -0
  75. package/dist/mainnet/models/record-scanner/revokeResult.d.cts +17 -0
  76. package/dist/mainnet/models/record-scanner/serialNumbersResult.d.cts +15 -0
  77. package/dist/mainnet/models/record-scanner/statusResponse.d.cts +13 -0
  78. package/dist/mainnet/models/record-scanner/statusResult.d.cts +13 -0
  79. package/dist/mainnet/models/record-scanner/tagsResult.d.cts +12 -0
  80. package/dist/mainnet/models/request.d.cts +14 -0
  81. package/dist/mainnet/models/request.d.ts +1 -1
  82. package/dist/mainnet/models/solution.d.cts +14 -0
  83. package/dist/mainnet/models/transaction/transactionJSON.d.cts +11 -0
  84. package/dist/mainnet/models/transaction/transactionObject.d.cts +14 -0
  85. package/dist/mainnet/models/transition/transitionJSON.d.cts +13 -0
  86. package/dist/mainnet/models/transition/transitionObject.d.cts +15 -0
  87. package/dist/mainnet/network-client.d.cts +850 -0
  88. package/dist/mainnet/network-client.d.ts +3 -16
  89. package/dist/mainnet/node-polyfill.cjs +238 -0
  90. package/dist/mainnet/node-polyfill.cjs.map +1 -0
  91. package/dist/mainnet/node-polyfill.d.cts +5 -0
  92. package/dist/mainnet/node-polyfill.js +1 -1
  93. package/dist/mainnet/node-polyfill.js.map +1 -1
  94. package/dist/mainnet/node.cjs +685 -0
  95. package/dist/mainnet/node.cjs.map +1 -0
  96. package/dist/mainnet/node.d.cts +3 -0
  97. package/dist/mainnet/node.js +3 -3
  98. package/dist/mainnet/polyfill/crypto.d.cts +1 -0
  99. package/dist/mainnet/polyfill/fetch.d.cts +1 -0
  100. package/dist/mainnet/polyfill/shared.d.cts +1 -0
  101. package/dist/mainnet/polyfill/worker.d.cts +1 -0
  102. package/dist/mainnet/polyfill/xmlhttprequest.d.cts +1 -0
  103. package/dist/mainnet/program-manager.d.cts +1588 -0
  104. package/dist/mainnet/program-manager.d.ts +1 -62
  105. package/dist/mainnet/record-provider.d.cts +274 -0
  106. package/dist/mainnet/record-scanner.d.cts +371 -0
  107. package/dist/mainnet/record-scanner.d.ts +9 -6
  108. package/dist/mainnet/security.d.cts +62 -0
  109. package/dist/mainnet/security.d.ts +5 -5
  110. package/dist/mainnet/utils.d.cts +23 -0
  111. package/dist/mainnet/utils.d.ts +10 -2
  112. package/dist/mainnet/wasm.d.cts +1 -0
  113. package/dist/mainnet/wasm.d.ts +1 -1
  114. package/dist/testnet/account.d.cts +347 -0
  115. package/dist/testnet/browser.cjs +8507 -0
  116. package/dist/testnet/browser.cjs.map +1 -0
  117. package/dist/testnet/browser.d.cts +72 -0
  118. package/dist/testnet/browser.d.ts +4 -5
  119. package/dist/testnet/browser.js +332 -855
  120. package/dist/testnet/browser.js.map +1 -1
  121. package/dist/testnet/constants.d.cts +40 -0
  122. package/dist/testnet/external-signing.d.cts +76 -0
  123. package/dist/testnet/integrations/sealance/merkle-tree.d.cts +192 -0
  124. package/dist/testnet/keys/keystore/error.d.cts +24 -0
  125. package/dist/testnet/keys/keystore/file.d.cts +177 -0
  126. package/dist/testnet/keys/keystore/interface.d.cts +161 -0
  127. package/dist/testnet/keys/provider/interface.d.cts +170 -0
  128. package/dist/testnet/keys/provider/memory.d.cts +213 -0
  129. package/dist/testnet/keys/provider/memory.d.ts +6 -2
  130. package/dist/testnet/keys/provider/offline.d.cts +365 -0
  131. package/dist/testnet/keys/verifier/interface.d.cts +70 -0
  132. package/dist/testnet/keys/verifier/memory.d.cts +37 -0
  133. package/dist/testnet/keys/verifier/memory.d.ts +1 -1
  134. package/dist/testnet/models/authorization.d.cts +6 -0
  135. package/dist/testnet/models/authorization.d.ts +2 -2
  136. package/dist/testnet/models/blockJSON.d.cts +33 -0
  137. package/dist/testnet/models/confirmed_transaction.d.cts +9 -0
  138. package/dist/testnet/models/cryptoBoxPubkey.d.cts +4 -0
  139. package/dist/testnet/models/deployment/deploymentJSON.d.cts +6 -0
  140. package/dist/testnet/models/deployment/deploymentObject.d.cts +6 -0
  141. package/dist/testnet/models/encryptedProvingRequest.d.cts +4 -0
  142. package/dist/testnet/models/execution/executionJSON.d.cts +11 -0
  143. package/dist/testnet/models/execution/executionObject.d.cts +11 -0
  144. package/dist/testnet/models/external-signing.d.cts +123 -0
  145. package/dist/testnet/models/finalizeJSON.d.cts +6 -0
  146. package/dist/testnet/models/functionInput.d.cts +7 -0
  147. package/dist/testnet/models/functionObject.d.cts +8 -0
  148. package/dist/testnet/models/imports.d.cts +7 -0
  149. package/dist/testnet/models/input/inputJSON.d.cts +10 -0
  150. package/dist/testnet/models/input/inputObject.d.cts +15 -0
  151. package/dist/testnet/models/inputID.d.cts +4 -0
  152. package/dist/testnet/models/keyPair.d.cts +4 -0
  153. package/dist/testnet/models/output/outputJSON.d.cts +7 -0
  154. package/dist/testnet/models/output/outputObject.d.cts +18 -0
  155. package/dist/testnet/models/owner/ownerJSON.d.cts +4 -0
  156. package/dist/testnet/models/owner/ownerObject.d.cts +5 -0
  157. package/dist/testnet/models/plaintext/array.d.cts +3 -0
  158. package/dist/testnet/models/plaintext/literal.d.cts +1 -0
  159. package/dist/testnet/models/plaintext/plaintext.d.cts +5 -0
  160. package/dist/testnet/models/plaintext/struct.d.cts +5 -0
  161. package/dist/testnet/models/provingRequest.d.cts +6 -0
  162. package/dist/testnet/models/provingRequest.d.ts +1 -1
  163. package/dist/testnet/models/provingResponse.d.cts +51 -0
  164. package/dist/testnet/models/ratification.d.cts +4 -0
  165. package/dist/testnet/models/record-provider/encryptedRecord.d.cts +58 -0
  166. package/dist/testnet/models/record-provider/ownedRecord.d.cts +60 -0
  167. package/dist/testnet/models/record-provider/recordSearchParams.d.cts +19 -0
  168. package/dist/testnet/models/record-scanner/encryptedRecordsResult.d.cts +7 -0
  169. package/dist/testnet/models/record-scanner/encryptedRegistrationRequest.d.cts +8 -0
  170. package/dist/testnet/models/record-scanner/error.d.cts +47 -0
  171. package/dist/testnet/models/record-scanner/error.d.ts +1 -1
  172. package/dist/testnet/models/record-scanner/ownedFilter.d.cts +22 -0
  173. package/dist/testnet/models/record-scanner/ownedFilter.d.ts +3 -3
  174. package/dist/testnet/models/record-scanner/ownedRecordsResponseFilter.d.cts +42 -0
  175. package/dist/testnet/models/record-scanner/ownedRecordsResult.d.cts +13 -0
  176. package/dist/testnet/models/record-scanner/recordsFilter.d.cts +35 -0
  177. package/dist/testnet/models/record-scanner/recordsFilter.d.ts +2 -2
  178. package/dist/testnet/models/record-scanner/recordsResponseFilter.d.cts +42 -0
  179. package/dist/testnet/models/record-scanner/registrationRequest.d.cts +13 -0
  180. package/dist/testnet/models/record-scanner/registrationResponse.d.cts +13 -0
  181. package/dist/testnet/models/record-scanner/registrationResult.d.cts +9 -0
  182. package/dist/testnet/models/record-scanner/revokeResult.d.cts +17 -0
  183. package/dist/testnet/models/record-scanner/serialNumbersResult.d.cts +15 -0
  184. package/dist/testnet/models/record-scanner/statusResponse.d.cts +13 -0
  185. package/dist/testnet/models/record-scanner/statusResult.d.cts +13 -0
  186. package/dist/testnet/models/record-scanner/tagsResult.d.cts +12 -0
  187. package/dist/testnet/models/request.d.cts +14 -0
  188. package/dist/testnet/models/request.d.ts +1 -1
  189. package/dist/testnet/models/solution.d.cts +14 -0
  190. package/dist/testnet/models/transaction/transactionJSON.d.cts +11 -0
  191. package/dist/testnet/models/transaction/transactionObject.d.cts +14 -0
  192. package/dist/testnet/models/transition/transitionJSON.d.cts +13 -0
  193. package/dist/testnet/models/transition/transitionObject.d.cts +15 -0
  194. package/dist/testnet/network-client.d.cts +850 -0
  195. package/dist/testnet/network-client.d.ts +3 -16
  196. package/dist/testnet/node-polyfill.cjs +238 -0
  197. package/dist/testnet/node-polyfill.cjs.map +1 -0
  198. package/dist/testnet/node-polyfill.d.cts +5 -0
  199. package/dist/testnet/node-polyfill.js +1 -1
  200. package/dist/testnet/node-polyfill.js.map +1 -1
  201. package/dist/testnet/node.cjs +685 -0
  202. package/dist/testnet/node.cjs.map +1 -0
  203. package/dist/testnet/node.d.cts +3 -0
  204. package/dist/testnet/node.js +3 -3
  205. package/dist/testnet/polyfill/crypto.d.cts +1 -0
  206. package/dist/testnet/polyfill/fetch.d.cts +1 -0
  207. package/dist/testnet/polyfill/shared.d.cts +1 -0
  208. package/dist/testnet/polyfill/worker.d.cts +1 -0
  209. package/dist/testnet/polyfill/xmlhttprequest.d.cts +1 -0
  210. package/dist/testnet/program-manager.d.cts +1588 -0
  211. package/dist/testnet/program-manager.d.ts +1 -62
  212. package/dist/testnet/record-provider.d.cts +274 -0
  213. package/dist/testnet/record-scanner.d.cts +371 -0
  214. package/dist/testnet/record-scanner.d.ts +9 -6
  215. package/dist/testnet/security.d.cts +62 -0
  216. package/dist/testnet/security.d.ts +5 -5
  217. package/dist/testnet/utils.d.cts +23 -0
  218. package/dist/testnet/utils.d.ts +10 -2
  219. package/dist/testnet/wasm.d.cts +1 -0
  220. package/dist/testnet/wasm.d.ts +1 -1
  221. package/package.json +51 -13
  222. package/dist/mainnet/keys/keystore/indexeddb.d.ts +0 -49
  223. package/dist/testnet/keys/keystore/indexeddb.d.ts +0 -49
package/package.json CHANGED
@@ -1,33 +1,66 @@
1
1
  {
2
2
  "name": "@provablehq/sdk",
3
- "version": "0.10.2-rc.1",
3
+ "version": "0.10.3",
4
4
  "description": "A Software Development Kit (SDK) for Zero-Knowledge Transactions",
5
5
  "collaborators": [
6
6
  "The Provable Team"
7
7
  ],
8
8
  "license": "GPL-3.0",
9
9
  "type": "module",
10
- "main": "./dist/testnet/node.js",
10
+ "main": "./dist/testnet/node.cjs",
11
+ "module": "./dist/testnet/node.js",
11
12
  "browser": "./dist/testnet/browser.js",
12
13
  "exports": {
13
14
  ".": {
14
- "types": "./dist/testnet/node.d.ts",
15
- "node": "./dist/testnet/node.js",
15
+ "node": {
16
+ "types": {
17
+ "import": "./dist/testnet/node.d.ts",
18
+ "require": "./dist/testnet/node.d.cts"
19
+ },
20
+ "import": "./dist/testnet/node.js",
21
+ "require": "./dist/testnet/node.cjs",
22
+ "default": "./dist/testnet/node.js"
23
+ },
24
+ "types": "./dist/testnet/browser.d.ts",
16
25
  "default": "./dist/testnet/browser.js"
17
26
  },
18
27
  "./testnet.js": {
19
- "types": "./dist/testnet/node.d.ts",
20
- "node": "./dist/testnet/node.js",
28
+ "node": {
29
+ "types": {
30
+ "import": "./dist/testnet/node.d.ts",
31
+ "require": "./dist/testnet/node.d.cts"
32
+ },
33
+ "import": "./dist/testnet/node.js",
34
+ "require": "./dist/testnet/node.cjs",
35
+ "default": "./dist/testnet/node.js"
36
+ },
37
+ "types": "./dist/testnet/browser.d.ts",
21
38
  "default": "./dist/testnet/browser.js"
22
39
  },
23
40
  "./mainnet.js": {
24
- "types": "./dist/mainnet/node.d.ts",
25
- "node": "./dist/mainnet/node.js",
41
+ "node": {
42
+ "types": {
43
+ "import": "./dist/mainnet/node.d.ts",
44
+ "require": "./dist/mainnet/node.d.cts"
45
+ },
46
+ "import": "./dist/mainnet/node.js",
47
+ "require": "./dist/mainnet/node.cjs",
48
+ "default": "./dist/mainnet/node.js"
49
+ },
50
+ "types": "./dist/mainnet/browser.d.ts",
26
51
  "default": "./dist/mainnet/browser.js"
27
52
  },
28
53
  "./dynamic.js": {
29
- "types": "./dist/dynamic/node.d.ts",
30
- "node": "./dist/dynamic/node.js",
54
+ "node": {
55
+ "types": {
56
+ "import": "./dist/dynamic/node.d.ts",
57
+ "require": "./dist/dynamic/node.d.cts"
58
+ },
59
+ "import": "./dist/dynamic/node.js",
60
+ "require": "./dist/dynamic/node.cjs",
61
+ "default": "./dist/dynamic/node.js"
62
+ },
63
+ "types": "./dist/dynamic/browser.d.ts",
31
64
  "default": "./dist/dynamic/browser.js"
32
65
  }
33
66
  },
@@ -38,7 +71,10 @@
38
71
  ],
39
72
  "scripts": {
40
73
  "build": "rimraf dist && rollup -c rollup.config.js",
41
- "test": "rimraf tmp && rollup -c rollup.test.js && mocha tmp/**/*.test.js --timeout 60000 && RUN_SKIPPED=true mocha tmp/**/wasm.test.js --timeout 60000 --grep Consensus"
74
+ "test": "rimraf tmp && rollup -c rollup.test.js && mocha tmp/**/*.test.js --timeout 60000 && RUN_SKIPPED=true mocha tmp/**/wasm.test.js --timeout 60000 --grep Consensus",
75
+ "test:attw": "yarn pack --filename /tmp/provablehq-sdk-attw.tgz && attw /tmp/provablehq-sdk-attw.tgz --profile=node16",
76
+ "test:cjs": "node tests/cjs-smoke/smoke.cjs",
77
+ "test:cjs:pack": "node tests/cjs-smoke/pack-install.cjs"
42
78
  },
43
79
  "repository": {
44
80
  "type": "git",
@@ -55,15 +91,16 @@
55
91
  },
56
92
  "homepage": "https://github.com/ProvableHQ/sdk#readme",
57
93
  "dependencies": {
58
- "@provablehq/wasm": "^0.10.2-rc.1",
94
+ "@provablehq/wasm": "^0.10.3",
59
95
  "@scure/base": "^2.0.0",
96
+ "@serenity-kit/noble-sodium": "0.2.3",
60
97
  "comlink": "^4.4.2",
61
98
  "core-js": "^3.40.0",
62
99
  "mime": "^4.0.6",
63
- "libsodium-wrappers": "^0.8.2",
64
100
  "xmlhttprequest-ssl": "^4.0.0"
65
101
  },
66
102
  "devDependencies": {
103
+ "@arethetypeswrong/cli": "^0.18.2",
67
104
  "@rollup/plugin-replace": "^6.0.2",
68
105
  "@types/chai": "^5.0.1",
69
106
  "@types/mocha": "^10.0.10",
@@ -80,6 +117,7 @@
80
117
  "glob": "^11.0.1",
81
118
  "jsdoc": "^4.0.4",
82
119
  "kis-jsdoc-plugin": "^2.2.1",
120
+ "libsodium-wrappers": "^0.8.2",
83
121
  "mocha": "^11.1.0",
84
122
  "prettier": "3.4.2",
85
123
  "rimraf": "^6.0.1",
@@ -1,49 +0,0 @@
1
- import { FunctionKeyPair } from "../../models/keyPair.js";
2
- import { KeyFingerprint } from "../verifier/interface.js";
3
- import { KeyLocator, KeyStore, ProvingKeyLocator, VerifyingKeyLocator } from "./interface.js";
4
- import { ProvingKey, VerifyingKey } from "../../wasm.js";
5
- /**
6
- * Browser-compatible {@link KeyStore} backed by IndexedDB.
7
- *
8
- * This is the browser counterpart to {@link LocalFileKeyStore} (which requires Node.js `fs`).
9
- * It persists proving and verifying keys across page reloads and browser sessions using the
10
- * IndexedDB API available in all modern browsers and Web Workers.
11
- *
12
- * @example
13
- * ```ts
14
- * import { IndexedDBKeyStore, ProgramManager } from "@provablehq/sdk";
15
- *
16
- * const keyStore = new IndexedDBKeyStore();
17
- * const pm = new ProgramManager();
18
- * pm.setKeyStore(keyStore);
19
- * // Keys synthesized during execution are now cached in IndexedDB
20
- * // and reloaded automatically on subsequent runs.
21
- * ```
22
- */
23
- export declare class IndexedDBKeyStore implements KeyStore {
24
- private readonly dbName;
25
- private readonly storeName;
26
- private readonly keyVerifier;
27
- private dbPromise;
28
- /**
29
- * @param dbName IndexedDB database name. Defaults to `"aleo-keystore"`.
30
- */
31
- constructor(dbName?: string);
32
- /** Opens (or creates) the database, returning a cached promise. */
33
- private openDB;
34
- /** Runs a single read-write transaction and returns the request result. */
35
- private tx;
36
- private validateComponent;
37
- private validateNonNegative;
38
- private serializeLocator;
39
- private checksumToFingerprint;
40
- getKeyBytes(locator: KeyLocator): Promise<Uint8Array | null>;
41
- getProvingKey(locator: ProvingKeyLocator): Promise<ProvingKey | null>;
42
- getVerifyingKey(locator: VerifyingKeyLocator): Promise<VerifyingKey | null>;
43
- setKeys(proverLocator: ProvingKeyLocator, verifierLocator: VerifyingKeyLocator, keys: FunctionKeyPair): Promise<void>;
44
- setKeyBytes(keyBytes: Uint8Array, locator: KeyLocator): Promise<void>;
45
- getKeyMetadata(locator: KeyLocator): Promise<KeyFingerprint | null>;
46
- has(locator: KeyLocator): Promise<boolean>;
47
- delete(locator: KeyLocator): Promise<void>;
48
- clear(): Promise<void>;
49
- }
@@ -1,49 +0,0 @@
1
- import { FunctionKeyPair } from "../../models/keyPair.js";
2
- import { KeyFingerprint } from "../verifier/interface.js";
3
- import { KeyLocator, KeyStore, ProvingKeyLocator, VerifyingKeyLocator } from "./interface.js";
4
- import { ProvingKey, VerifyingKey } from "../../wasm.js";
5
- /**
6
- * Browser-compatible {@link KeyStore} backed by IndexedDB.
7
- *
8
- * This is the browser counterpart to {@link LocalFileKeyStore} (which requires Node.js `fs`).
9
- * It persists proving and verifying keys across page reloads and browser sessions using the
10
- * IndexedDB API available in all modern browsers and Web Workers.
11
- *
12
- * @example
13
- * ```ts
14
- * import { IndexedDBKeyStore, ProgramManager } from "@provablehq/sdk";
15
- *
16
- * const keyStore = new IndexedDBKeyStore();
17
- * const pm = new ProgramManager();
18
- * pm.setKeyStore(keyStore);
19
- * // Keys synthesized during execution are now cached in IndexedDB
20
- * // and reloaded automatically on subsequent runs.
21
- * ```
22
- */
23
- export declare class IndexedDBKeyStore implements KeyStore {
24
- private readonly dbName;
25
- private readonly storeName;
26
- private readonly keyVerifier;
27
- private dbPromise;
28
- /**
29
- * @param dbName IndexedDB database name. Defaults to `"aleo-keystore"`.
30
- */
31
- constructor(dbName?: string);
32
- /** Opens (or creates) the database, returning a cached promise. */
33
- private openDB;
34
- /** Runs a single read-write transaction and returns the request result. */
35
- private tx;
36
- private validateComponent;
37
- private validateNonNegative;
38
- private serializeLocator;
39
- private checksumToFingerprint;
40
- getKeyBytes(locator: KeyLocator): Promise<Uint8Array | null>;
41
- getProvingKey(locator: ProvingKeyLocator): Promise<ProvingKey | null>;
42
- getVerifyingKey(locator: VerifyingKeyLocator): Promise<VerifyingKey | null>;
43
- setKeys(proverLocator: ProvingKeyLocator, verifierLocator: VerifyingKeyLocator, keys: FunctionKeyPair): Promise<void>;
44
- setKeyBytes(keyBytes: Uint8Array, locator: KeyLocator): Promise<void>;
45
- getKeyMetadata(locator: KeyLocator): Promise<KeyFingerprint | null>;
46
- has(locator: KeyLocator): Promise<boolean>;
47
- delete(locator: KeyLocator): Promise<void>;
48
- clear(): Promise<void>;
49
- }