@reclaimprotocol/attestor-core 4.0.3 → 5.0.1-beta.10

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 (474) hide show
  1. package/LICENSE +660 -660
  2. package/README.md +1 -2
  3. package/lib/avs/abis/avsDirectoryABI.js +341 -342
  4. package/lib/avs/abis/delegationABI.js +4 -5
  5. package/lib/avs/abis/registryABI.js +722 -723
  6. package/lib/avs/client/create-claim-on-avs.d.ts +5 -5
  7. package/lib/avs/client/create-claim-on-avs.js +160 -139
  8. package/lib/avs/config.d.ts +1 -1
  9. package/lib/avs/config.js +25 -23
  10. package/lib/avs/contracts/ReclaimServiceManager.d.ts +436 -532
  11. package/lib/avs/contracts/ReclaimServiceManager.js +0 -3
  12. package/lib/avs/contracts/common.d.ts +40 -11
  13. package/lib/avs/contracts/common.js +0 -3
  14. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +13 -11
  15. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +1157 -1148
  16. package/lib/avs/contracts/factories/index.d.ts +1 -1
  17. package/lib/avs/contracts/factories/index.js +4 -9
  18. package/lib/avs/contracts/index.d.ts +3 -3
  19. package/lib/avs/contracts/index.js +6 -40
  20. package/lib/avs/types/index.d.ts +6 -6
  21. package/lib/avs/types/index.js +0 -3
  22. package/lib/avs/utils/contracts.d.ts +14 -14
  23. package/lib/avs/utils/contracts.js +50 -35
  24. package/lib/avs/utils/register.d.ts +3 -3
  25. package/lib/avs/utils/register.js +71 -79
  26. package/lib/avs/utils/tasks.d.ts +4 -4
  27. package/lib/avs/utils/tasks.js +44 -41
  28. package/lib/browser/avs/abis/avsDirectoryABI.d.ts +60 -0
  29. package/lib/browser/avs/abis/avsDirectoryABI.js +343 -0
  30. package/lib/browser/avs/abis/delegationABI.d.ts +126 -0
  31. package/lib/browser/avs/abis/delegationABI.js +4 -0
  32. package/lib/browser/avs/abis/registryABI.d.ts +136 -0
  33. package/lib/browser/avs/abis/registryABI.js +728 -0
  34. package/lib/browser/avs/client/create-claim-on-avs.d.ts +12 -0
  35. package/lib/browser/avs/client/create-claim-on-avs.js +168 -0
  36. package/lib/browser/avs/config.d.ts +7 -0
  37. package/lib/browser/avs/config.js +26 -0
  38. package/lib/browser/avs/contracts/ReclaimServiceManager.d.ts +601 -0
  39. package/lib/browser/avs/contracts/ReclaimServiceManager.js +0 -0
  40. package/lib/browser/avs/contracts/common.d.ts +50 -0
  41. package/lib/browser/avs/contracts/common.js +0 -0
  42. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +890 -0
  43. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.js +1183 -0
  44. package/lib/browser/avs/contracts/factories/index.d.ts +1 -0
  45. package/lib/browser/avs/contracts/factories/index.js +4 -0
  46. package/lib/browser/avs/contracts/index.d.ts +3 -0
  47. package/lib/browser/avs/contracts/index.js +6 -0
  48. package/lib/browser/avs/types/index.d.ts +55 -0
  49. package/lib/browser/avs/types/index.js +0 -0
  50. package/lib/browser/avs/utils/contracts.d.ts +21 -0
  51. package/lib/browser/avs/utils/contracts.js +53 -0
  52. package/lib/browser/avs/utils/register.d.ts +27 -0
  53. package/lib/browser/avs/utils/register.js +74 -0
  54. package/lib/browser/avs/utils/tasks.d.ts +22 -0
  55. package/lib/browser/avs/utils/tasks.js +48 -0
  56. package/lib/browser/client/create-claim.d.ts +5 -0
  57. package/lib/browser/client/create-claim.js +461 -0
  58. package/lib/browser/client/index.d.ts +3 -0
  59. package/lib/browser/client/index.js +3 -0
  60. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.d.ts +16 -0
  61. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.js +53 -0
  62. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.d.ts +26 -0
  63. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.js +127 -0
  64. package/lib/browser/client/utils/attestor-pool.d.ts +8 -0
  65. package/lib/browser/client/utils/attestor-pool.js +24 -0
  66. package/lib/browser/client/utils/client-socket.d.ts +11 -0
  67. package/lib/browser/client/utils/client-socket.js +120 -0
  68. package/lib/browser/client/utils/message-handler.d.ts +4 -0
  69. package/lib/browser/client/utils/message-handler.js +97 -0
  70. package/lib/browser/config/index.d.ts +31 -0
  71. package/lib/browser/config/index.js +62 -0
  72. package/lib/browser/external-rpc/benchmark.d.ts +1 -0
  73. package/lib/browser/external-rpc/benchmark.js +82 -0
  74. package/lib/browser/external-rpc/event-bus.d.ts +7 -0
  75. package/lib/browser/external-rpc/event-bus.js +17 -0
  76. package/lib/browser/external-rpc/global.d.js +0 -0
  77. package/lib/browser/external-rpc/handle-incoming-msg.d.ts +2 -0
  78. package/lib/browser/external-rpc/handle-incoming-msg.js +241 -0
  79. package/lib/browser/external-rpc/index.d.ts +3 -0
  80. package/lib/browser/external-rpc/index.js +3 -0
  81. package/lib/browser/external-rpc/jsc-polyfills/1.d.ts +14 -0
  82. package/lib/browser/external-rpc/jsc-polyfills/1.js +80 -0
  83. package/lib/browser/external-rpc/jsc-polyfills/2.js +15 -0
  84. package/lib/browser/external-rpc/jsc-polyfills/event.d.ts +10 -0
  85. package/lib/browser/external-rpc/jsc-polyfills/event.js +19 -0
  86. package/lib/browser/external-rpc/jsc-polyfills/index.d.ts +2 -0
  87. package/lib/browser/external-rpc/jsc-polyfills/index.js +2 -0
  88. package/lib/browser/external-rpc/jsc-polyfills/ws.d.ts +21 -0
  89. package/lib/browser/external-rpc/jsc-polyfills/ws.js +83 -0
  90. package/lib/browser/external-rpc/setup-browser.d.ts +6 -0
  91. package/lib/browser/external-rpc/setup-browser.js +33 -0
  92. package/lib/browser/external-rpc/setup-jsc.d.ts +24 -0
  93. package/lib/browser/external-rpc/setup-jsc.js +22 -0
  94. package/lib/{window-rpc → browser/external-rpc}/types.d.ts +56 -35
  95. package/lib/browser/external-rpc/types.js +0 -0
  96. package/lib/browser/external-rpc/utils.d.ts +20 -0
  97. package/lib/browser/external-rpc/utils.js +100 -0
  98. package/lib/browser/external-rpc/zk.d.ts +14 -0
  99. package/lib/browser/external-rpc/zk.js +58 -0
  100. package/lib/browser/index.browser.js +13 -0
  101. package/lib/browser/index.d.ts +9 -0
  102. package/lib/browser/index.js +13 -0
  103. package/lib/browser/mechain/abis/governanceABI.d.ts +50 -0
  104. package/lib/browser/mechain/abis/governanceABI.js +461 -0
  105. package/lib/browser/mechain/abis/taskABI.d.ts +157 -0
  106. package/lib/browser/mechain/abis/taskABI.js +512 -0
  107. package/lib/browser/mechain/client/create-claim-on-mechain.d.ts +10 -0
  108. package/lib/browser/mechain/client/create-claim-on-mechain.js +33 -0
  109. package/lib/browser/mechain/client/index.d.ts +1 -0
  110. package/lib/browser/mechain/client/index.js +1 -0
  111. package/lib/browser/mechain/constants/index.d.ts +3 -0
  112. package/lib/browser/mechain/constants/index.js +8 -0
  113. package/lib/browser/mechain/index.d.ts +2 -0
  114. package/lib/browser/mechain/index.js +2 -0
  115. package/lib/browser/mechain/types/index.d.ts +23 -0
  116. package/lib/browser/mechain/types/index.js +0 -0
  117. package/lib/browser/proto/api.d.ts +651 -0
  118. package/lib/browser/proto/api.js +4250 -0
  119. package/lib/browser/proto/tee-bundle.d.ts +156 -0
  120. package/lib/browser/proto/tee-bundle.js +1296 -0
  121. package/lib/browser/providers/http/index.d.ts +18 -0
  122. package/lib/browser/providers/http/index.js +640 -0
  123. package/lib/browser/providers/http/patch-parse5-tree.d.ts +6 -0
  124. package/lib/browser/providers/http/patch-parse5-tree.js +34 -0
  125. package/lib/browser/providers/http/utils.d.ts +77 -0
  126. package/lib/browser/providers/http/utils.js +283 -0
  127. package/lib/browser/providers/index.d.ts +4 -0
  128. package/lib/browser/providers/index.js +7 -0
  129. package/lib/browser/scripts/fallbacks/crypto.js +4 -0
  130. package/lib/browser/scripts/fallbacks/empty.js +4 -0
  131. package/lib/browser/scripts/fallbacks/gnark.js +15 -0
  132. package/lib/browser/scripts/fallbacks/re2.js +7 -0
  133. package/lib/browser/scripts/fallbacks/snarkjs.js +10 -0
  134. package/lib/browser/scripts/fallbacks/stwo.js +159 -0
  135. package/lib/browser/types/bgp.d.ts +11 -0
  136. package/lib/browser/types/bgp.js +0 -0
  137. package/lib/browser/types/claims.d.ts +70 -0
  138. package/lib/browser/types/claims.js +0 -0
  139. package/lib/browser/types/client.d.ts +163 -0
  140. package/lib/browser/types/client.js +0 -0
  141. package/lib/browser/types/general.d.ts +77 -0
  142. package/lib/browser/types/general.js +0 -0
  143. package/lib/browser/types/handlers.d.ts +10 -0
  144. package/lib/browser/types/handlers.js +0 -0
  145. package/lib/browser/types/index.d.ts +10 -0
  146. package/lib/browser/types/index.js +10 -0
  147. package/lib/browser/types/providers.d.ts +161 -0
  148. package/lib/browser/types/providers.gen.d.ts +443 -0
  149. package/lib/browser/types/providers.gen.js +16 -0
  150. package/lib/browser/types/providers.js +0 -0
  151. package/lib/browser/types/rpc.d.ts +35 -0
  152. package/lib/browser/types/rpc.js +0 -0
  153. package/lib/browser/types/signatures.d.ts +28 -0
  154. package/lib/browser/types/signatures.js +0 -0
  155. package/lib/browser/types/tunnel.d.ts +18 -0
  156. package/lib/browser/types/tunnel.js +0 -0
  157. package/lib/browser/types/zk.d.ts +38 -0
  158. package/lib/browser/types/zk.js +0 -0
  159. package/lib/browser/utils/auth.d.ts +8 -0
  160. package/lib/browser/utils/auth.js +71 -0
  161. package/lib/browser/utils/b64-json.d.ts +2 -0
  162. package/lib/browser/utils/b64-json.js +17 -0
  163. package/lib/browser/utils/claims.d.ts +33 -0
  164. package/lib/browser/utils/claims.js +89 -0
  165. package/lib/browser/utils/env.d.ts +3 -0
  166. package/lib/browser/utils/env.js +19 -0
  167. package/lib/browser/utils/error.d.ts +26 -0
  168. package/lib/browser/utils/error.js +54 -0
  169. package/lib/browser/utils/generics.d.ts +119 -0
  170. package/lib/browser/utils/generics.js +272 -0
  171. package/lib/browser/utils/http-parser.d.ts +59 -0
  172. package/lib/browser/utils/http-parser.js +201 -0
  173. package/lib/browser/utils/index.browser.js +13 -0
  174. package/lib/browser/utils/index.d.ts +13 -0
  175. package/lib/browser/utils/index.js +13 -0
  176. package/lib/browser/utils/logger.browser.js +88 -0
  177. package/lib/browser/utils/logger.d.ts +14 -0
  178. package/lib/browser/utils/logger.js +88 -0
  179. package/lib/browser/utils/prepare-packets.d.ts +16 -0
  180. package/lib/browser/utils/prepare-packets.js +69 -0
  181. package/lib/browser/utils/redactions.d.ts +73 -0
  182. package/lib/browser/utils/redactions.js +135 -0
  183. package/lib/browser/utils/retries.d.ts +12 -0
  184. package/lib/browser/utils/retries.js +26 -0
  185. package/lib/browser/utils/signatures/eth.d.ts +2 -0
  186. package/lib/browser/utils/signatures/eth.js +31 -0
  187. package/lib/browser/utils/signatures/index.d.ts +5 -0
  188. package/lib/browser/utils/signatures/index.js +12 -0
  189. package/lib/browser/utils/socket-base.d.ts +23 -0
  190. package/lib/browser/utils/socket-base.js +96 -0
  191. package/lib/browser/utils/tls-imports.d.ts +21 -0
  192. package/lib/browser/utils/tls-imports.js +71 -0
  193. package/lib/browser/utils/tls.d.ts +2 -0
  194. package/lib/browser/utils/tls.js +58 -0
  195. package/lib/browser/utils/ws.d.ts +7 -0
  196. package/lib/browser/utils/ws.js +22 -0
  197. package/lib/browser/utils/zk.d.ts +71 -0
  198. package/lib/browser/utils/zk.js +625 -0
  199. package/lib/client/create-claim.d.ts +2 -2
  200. package/lib/client/create-claim.js +437 -400
  201. package/lib/client/index.d.ts +3 -3
  202. package/lib/client/index.js +3 -20
  203. package/lib/client/tunnels/make-rpc-tcp-tunnel.d.ts +2 -2
  204. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +49 -56
  205. package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +4 -3
  206. package/lib/client/tunnels/make-rpc-tls-tunnel.js +123 -131
  207. package/lib/client/utils/attestor-pool.d.ts +3 -1
  208. package/lib/client/utils/attestor-pool.js +21 -25
  209. package/lib/client/utils/client-socket.d.ts +4 -4
  210. package/lib/client/utils/client-socket.js +114 -94
  211. package/lib/client/utils/message-handler.d.ts +2 -2
  212. package/lib/client/utils/message-handler.js +89 -86
  213. package/lib/config/index.d.ts +6 -3
  214. package/lib/config/index.js +60 -37
  215. package/lib/external-rpc/benchmark.d.ts +1 -0
  216. package/lib/external-rpc/benchmark.js +82 -0
  217. package/lib/external-rpc/event-bus.d.ts +7 -0
  218. package/lib/external-rpc/event-bus.js +17 -0
  219. package/lib/external-rpc/global.d.js +0 -0
  220. package/lib/external-rpc/handle-incoming-msg.d.ts +2 -0
  221. package/lib/external-rpc/handle-incoming-msg.js +241 -0
  222. package/lib/external-rpc/index.d.ts +3 -0
  223. package/lib/external-rpc/index.js +3 -0
  224. package/lib/external-rpc/jsc-polyfills/1.d.ts +14 -0
  225. package/lib/external-rpc/jsc-polyfills/1.js +80 -0
  226. package/lib/external-rpc/jsc-polyfills/2.js +15 -0
  227. package/lib/external-rpc/jsc-polyfills/event.d.ts +10 -0
  228. package/lib/external-rpc/jsc-polyfills/event.js +19 -0
  229. package/lib/external-rpc/jsc-polyfills/index.d.ts +2 -0
  230. package/lib/external-rpc/jsc-polyfills/index.js +2 -0
  231. package/lib/external-rpc/jsc-polyfills/ws.d.ts +21 -0
  232. package/lib/external-rpc/jsc-polyfills/ws.js +83 -0
  233. package/lib/external-rpc/setup-browser.d.ts +6 -0
  234. package/lib/external-rpc/setup-browser.js +33 -0
  235. package/lib/external-rpc/setup-jsc.d.ts +24 -0
  236. package/lib/external-rpc/setup-jsc.js +22 -0
  237. package/lib/external-rpc/types.d.ts +213 -0
  238. package/lib/external-rpc/types.js +0 -0
  239. package/lib/external-rpc/utils.d.ts +20 -0
  240. package/lib/external-rpc/utils.js +100 -0
  241. package/lib/external-rpc/zk.d.ts +14 -0
  242. package/lib/external-rpc/zk.js +58 -0
  243. package/lib/index.browser.d.ts +9 -0
  244. package/lib/index.d.ts +8 -9
  245. package/lib/index.js +12 -49
  246. package/lib/mechain/abis/governanceABI.js +460 -461
  247. package/lib/mechain/abis/taskABI.js +505 -506
  248. package/lib/mechain/client/create-claim-on-mechain.d.ts +3 -3
  249. package/lib/mechain/client/create-claim-on-mechain.js +31 -30
  250. package/lib/mechain/client/index.d.ts +1 -1
  251. package/lib/mechain/client/index.js +1 -18
  252. package/lib/mechain/constants/index.js +8 -7
  253. package/lib/mechain/index.d.ts +2 -2
  254. package/lib/mechain/index.js +2 -19
  255. package/lib/mechain/types/index.d.ts +2 -2
  256. package/lib/mechain/types/index.js +0 -3
  257. package/lib/proto/api.d.ts +182 -39
  258. package/lib/proto/api.js +4105 -3555
  259. package/lib/proto/tee-bundle.d.ts +156 -0
  260. package/lib/proto/tee-bundle.js +1296 -0
  261. package/lib/providers/http/index.d.ts +16 -1
  262. package/lib/providers/http/index.js +603 -576
  263. package/lib/providers/http/patch-parse5-tree.d.ts +6 -0
  264. package/lib/providers/http/patch-parse5-tree.js +34 -0
  265. package/lib/providers/http/utils.d.ts +7 -4
  266. package/lib/providers/http/utils.js +240 -317
  267. package/lib/providers/index.d.ts +1 -1
  268. package/lib/providers/index.js +5 -9
  269. package/lib/scripts/check-avs-registration.d.ts +1 -1
  270. package/lib/scripts/check-avs-registration.js +24 -25
  271. package/lib/scripts/fallbacks/crypto.d.ts +1 -0
  272. package/lib/scripts/fallbacks/crypto.js +4 -0
  273. package/lib/scripts/fallbacks/empty.d.ts +3 -0
  274. package/lib/scripts/fallbacks/empty.js +4 -0
  275. package/lib/scripts/fallbacks/gnark.d.ts +7 -0
  276. package/lib/scripts/fallbacks/gnark.js +15 -0
  277. package/lib/scripts/fallbacks/re2.d.ts +1 -0
  278. package/lib/scripts/fallbacks/re2.js +7 -0
  279. package/lib/scripts/fallbacks/snarkjs.d.ts +1 -0
  280. package/lib/scripts/fallbacks/snarkjs.js +10 -0
  281. package/lib/scripts/fallbacks/stwo.d.ts +6 -0
  282. package/lib/scripts/generate-provider-types.js +92 -73
  283. package/lib/scripts/generate-receipt.d.ts +2 -2
  284. package/lib/scripts/generate-receipt.js +94 -83
  285. package/lib/scripts/generate-toprf-keys.js +17 -16
  286. package/lib/scripts/jsc-cli-rpc.d.ts +1 -0
  287. package/lib/scripts/jsc-cli-rpc.js +35 -0
  288. package/lib/scripts/register-avs-operator.d.ts +1 -1
  289. package/lib/scripts/register-avs-operator.js +3 -7
  290. package/lib/scripts/start-server.d.ts +1 -1
  291. package/lib/scripts/start-server.js +9 -11
  292. package/lib/scripts/update-avs-metadata.d.ts +1 -1
  293. package/lib/scripts/update-avs-metadata.js +17 -19
  294. package/lib/scripts/utils.js +8 -9
  295. package/lib/scripts/whitelist-operator.d.ts +1 -1
  296. package/lib/scripts/whitelist-operator.js +13 -15
  297. package/lib/server/create-server.d.ts +3 -2
  298. package/lib/server/create-server.js +98 -85
  299. package/lib/server/handlers/claimTeeBundle.d.ts +6 -0
  300. package/lib/server/handlers/claimTeeBundle.js +232 -0
  301. package/lib/server/handlers/claimTunnel.d.ts +1 -1
  302. package/lib/server/handlers/claimTunnel.js +75 -73
  303. package/lib/server/handlers/completeClaimOnChain.d.ts +1 -1
  304. package/lib/server/handlers/completeClaimOnChain.js +27 -26
  305. package/lib/server/handlers/createClaimOnChain.d.ts +1 -1
  306. package/lib/server/handlers/createClaimOnChain.js +30 -29
  307. package/lib/server/handlers/createTaskOnMechain.d.ts +1 -1
  308. package/lib/server/handlers/createTaskOnMechain.js +54 -49
  309. package/lib/server/handlers/createTunnel.d.ts +1 -1
  310. package/lib/server/handlers/createTunnel.js +91 -94
  311. package/lib/server/handlers/disconnectTunnel.d.ts +1 -1
  312. package/lib/server/handlers/disconnectTunnel.js +6 -8
  313. package/lib/server/handlers/fetchCertificateBytes.d.ts +2 -0
  314. package/lib/server/handlers/fetchCertificateBytes.js +57 -0
  315. package/lib/server/handlers/index.d.ts +1 -1
  316. package/lib/server/handlers/index.js +24 -21
  317. package/lib/server/handlers/init.d.ts +1 -1
  318. package/lib/server/handlers/init.js +31 -34
  319. package/lib/server/handlers/toprf.d.ts +1 -1
  320. package/lib/server/handlers/toprf.js +17 -19
  321. package/lib/server/index.d.ts +4 -4
  322. package/lib/server/index.js +4 -21
  323. package/lib/server/socket.d.ts +7 -7
  324. package/lib/server/socket.js +104 -106
  325. package/lib/server/tunnels/make-tcp-tunnel.d.ts +5 -3
  326. package/lib/server/tunnels/make-tcp-tunnel.js +189 -162
  327. package/lib/server/utils/apm.d.ts +1 -1
  328. package/lib/server/utils/apm.js +26 -40
  329. package/lib/server/utils/assert-valid-claim-request.d.ts +6 -5
  330. package/lib/server/utils/assert-valid-claim-request.js +339 -185
  331. package/lib/server/utils/config-env.js +4 -7
  332. package/lib/server/utils/dns.js +18 -16
  333. package/lib/server/utils/gcp-attestation.d.ts +17 -0
  334. package/lib/server/utils/gcp-attestation.js +237 -0
  335. package/lib/server/utils/generics.d.ts +3 -3
  336. package/lib/server/utils/generics.js +37 -51
  337. package/lib/server/utils/iso.js +255 -256
  338. package/lib/server/utils/keep-alive.d.ts +2 -2
  339. package/lib/server/utils/keep-alive.js +36 -40
  340. package/lib/server/utils/nitro-attestation.d.ts +33 -0
  341. package/lib/server/utils/nitro-attestation.js +249 -0
  342. package/lib/server/utils/oprf-raw.d.ts +21 -0
  343. package/lib/server/utils/oprf-raw.js +61 -0
  344. package/lib/server/utils/process-handshake.d.ts +3 -3
  345. package/lib/server/utils/process-handshake.js +217 -175
  346. package/lib/server/utils/proxy-session.d.ts +1 -0
  347. package/lib/server/utils/proxy-session.js +4 -0
  348. package/lib/server/utils/tee-oprf-mpc-verification.d.ts +16 -0
  349. package/lib/server/utils/tee-oprf-mpc-verification.js +86 -0
  350. package/lib/server/utils/tee-oprf-verification.d.ts +24 -0
  351. package/lib/server/utils/tee-oprf-verification.js +151 -0
  352. package/lib/server/utils/tee-transcript-reconstruction.d.ts +24 -0
  353. package/lib/server/utils/tee-transcript-reconstruction.js +140 -0
  354. package/lib/server/utils/tee-verification.d.ts +28 -0
  355. package/lib/server/utils/tee-verification.js +358 -0
  356. package/lib/{utils → server/utils}/validation.d.ts +1 -1
  357. package/lib/server/utils/validation.js +45 -0
  358. package/lib/types/bgp.js +0 -3
  359. package/lib/types/claims.d.ts +7 -10
  360. package/lib/types/claims.js +0 -3
  361. package/lib/types/client.d.ts +5 -5
  362. package/lib/types/client.js +0 -3
  363. package/lib/types/general.d.ts +30 -4
  364. package/lib/types/general.js +0 -3
  365. package/lib/types/handlers.d.ts +3 -3
  366. package/lib/types/handlers.js +0 -3
  367. package/lib/types/index.d.ts +10 -10
  368. package/lib/types/index.js +10 -27
  369. package/lib/types/providers.d.ts +15 -4
  370. package/lib/types/providers.gen.d.ts +15 -1
  371. package/lib/types/providers.gen.js +15 -13
  372. package/lib/types/providers.js +0 -3
  373. package/lib/types/rpc.d.ts +2 -2
  374. package/lib/types/rpc.js +0 -3
  375. package/lib/types/signatures.js +0 -3
  376. package/lib/types/tunnel.d.ts +2 -2
  377. package/lib/types/tunnel.js +0 -3
  378. package/lib/types/zk.d.ts +17 -2
  379. package/lib/types/zk.js +0 -3
  380. package/lib/utils/auth.d.ts +2 -1
  381. package/lib/utils/auth.js +66 -59
  382. package/lib/utils/b64-json.js +13 -19
  383. package/lib/utils/bgp-listener.d.ts +1 -1
  384. package/lib/utils/bgp-listener.js +111 -114
  385. package/lib/utils/claims.d.ts +3 -3
  386. package/lib/utils/claims.js +78 -101
  387. package/lib/utils/env.js +15 -16
  388. package/lib/utils/error.d.ts +6 -7
  389. package/lib/utils/error.js +50 -39
  390. package/lib/utils/generics.d.ts +20 -13
  391. package/lib/utils/generics.js +221 -297
  392. package/lib/utils/http-parser.d.ts +1 -1
  393. package/lib/utils/http-parser.js +186 -237
  394. package/lib/utils/index.browser.d.ts +13 -0
  395. package/lib/utils/index.d.ts +14 -12
  396. package/lib/utils/index.js +14 -29
  397. package/lib/utils/logger.browser.d.ts +14 -0
  398. package/lib/utils/logger.d.ts +1 -1
  399. package/lib/utils/logger.js +69 -87
  400. package/lib/utils/prepare-packets.d.ts +3 -3
  401. package/lib/utils/prepare-packets.js +66 -58
  402. package/lib/utils/redactions.d.ts +20 -1
  403. package/lib/utils/redactions.js +116 -129
  404. package/lib/utils/retries.d.ts +1 -1
  405. package/lib/utils/retries.js +24 -26
  406. package/lib/utils/signatures/eth.d.ts +1 -1
  407. package/lib/utils/signatures/eth.js +28 -30
  408. package/lib/utils/signatures/index.d.ts +3 -3
  409. package/lib/utils/signatures/index.js +11 -10
  410. package/lib/utils/socket-base.d.ts +6 -5
  411. package/lib/utils/socket-base.js +89 -88
  412. package/lib/utils/tls-imports.d.ts +21 -0
  413. package/lib/utils/tls-imports.js +71 -0
  414. package/lib/utils/tls.d.ts +1 -1
  415. package/lib/utils/tls.js +54 -28
  416. package/lib/utils/ws.d.ts +1 -6
  417. package/lib/utils/ws.js +17 -33
  418. package/lib/utils/zk.d.ts +28 -12
  419. package/lib/utils/zk.js +587 -406
  420. package/package.json +79 -60
  421. package/lib/avs/tests/test.operator.d.ts +0 -11
  422. package/lib/avs/tests/test.operator.js +0 -313
  423. package/lib/avs/tests/utils.d.ts +0 -2
  424. package/lib/avs/tests/utils.js +0 -50
  425. package/lib/scripts/verify-root-ca.d.ts +0 -1
  426. package/lib/scripts/verify-root-ca.js +0 -51
  427. package/lib/tests/describe-with-server.d.ts +0 -20
  428. package/lib/tests/describe-with-server.js +0 -64
  429. package/lib/tests/mock-provider-server.d.ts +0 -13
  430. package/lib/tests/mock-provider-server.js +0 -65
  431. package/lib/tests/mocks.d.ts +0 -4
  432. package/lib/tests/mocks.js +0 -23
  433. package/lib/tests/test.auth.js +0 -75
  434. package/lib/tests/test.bgp-listener.js +0 -169
  435. package/lib/tests/test.claim-creation.js +0 -280
  436. package/lib/tests/test.http-parser.d.ts +0 -1
  437. package/lib/tests/test.http-parser.js +0 -120
  438. package/lib/tests/test.http-provider-utils.js +0 -2416
  439. package/lib/tests/test.http-provider.js +0 -114
  440. package/lib/tests/test.rpc-communication.d.ts +0 -1
  441. package/lib/tests/test.rpc-communication.js +0 -64
  442. package/lib/tests/test.rpc-tunnel.d.ts +0 -1
  443. package/lib/tests/test.rpc-tunnel.js +0 -172
  444. package/lib/tests/test.signatures.d.ts +0 -1
  445. package/lib/tests/test.signatures.js +0 -24
  446. package/lib/tests/test.tcp-tunnel.d.ts +0 -1
  447. package/lib/tests/test.tcp-tunnel.js +0 -64
  448. package/lib/tests/test.zk.d.ts +0 -1
  449. package/lib/tests/test.zk.js +0 -337
  450. package/lib/tests/utils.d.ts +0 -18
  451. package/lib/tests/utils.js +0 -64
  452. package/lib/utils/atomic-operations.d.ts +0 -24
  453. package/lib/utils/atomic-operations.js +0 -65
  454. package/lib/utils/benchmark.d.ts +0 -1
  455. package/lib/utils/benchmark.js +0 -70
  456. package/lib/utils/connection-state-machine.d.ts +0 -43
  457. package/lib/utils/connection-state-machine.js +0 -129
  458. package/lib/utils/resource-monitor.d.ts +0 -61
  459. package/lib/utils/resource-monitor.js +0 -107
  460. package/lib/utils/validation.js +0 -46
  461. package/lib/window-rpc/index.d.ts +0 -3
  462. package/lib/window-rpc/index.js +0 -20
  463. package/lib/window-rpc/setup-window-rpc.d.ts +0 -5
  464. package/lib/window-rpc/setup-window-rpc.js +0 -291
  465. package/lib/window-rpc/types.js +0 -3
  466. package/lib/window-rpc/utils.d.ts +0 -14
  467. package/lib/window-rpc/utils.js +0 -102
  468. package/lib/window-rpc/window-rpc-zk.d.ts +0 -15
  469. package/lib/window-rpc/window-rpc-zk.js +0 -85
  470. /package/lib/{tests/test.auth.d.ts → browser/external-rpc/jsc-polyfills/2.d.ts} +0 -0
  471. /package/lib/{tests/test.bgp-listener.d.ts → external-rpc/jsc-polyfills/2.d.ts} +0 -0
  472. /package/lib/{tests/test.claim-creation.d.ts → scripts/build-browser.d.ts} +0 -0
  473. /package/lib/{tests/test.http-provider-utils.d.ts → scripts/build-jsc.d.ts} +0 -0
  474. /package/lib/{tests/test.http-provider.d.ts → scripts/build-lib.d.ts} +0 -0
@@ -1,19 +1,13 @@
1
+ import '#src/external-rpc/global.d.ts';
1
2
  import type { OPRFOperator, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
2
- import type { TaskCompletedEventObject } from '../avs/contracts/ReclaimServiceManager';
3
- import type { CreateClaimOnAvsOpts, CreateClaimOnAvsStep } from '../avs/types';
4
- import type { CreateClaimOnMechainStep } from '../mechain/types';
5
- import { AuthenticationRequest } from '../proto/api';
6
- import type { extractHTMLElement, extractJSONValueIndex } from '../providers/http/utils';
7
- import type { AttestorData, CompleteClaimData, CreateClaimOnAttestorOpts, LogLevel, ProofGenerationStep, ProviderName, ProviderParams, ProviderSecretParams } from '../types';
8
- import { HttpRequest, HttpResponse } from '../utils';
3
+ import type { TaskCompletedEvent } from '#src/avs/contracts/ReclaimServiceManager.ts';
4
+ import type { CreateClaimOnAvsOpts, CreateClaimOnAvsStep } from '#src/avs/types/index.ts';
5
+ import type { CreateClaimOnMechainStep } from '#src/mechain/types/index.ts';
6
+ import type { AuthenticationRequest } from '#src/proto/api.ts';
7
+ import type { extractHTMLElement, extractJSONValueIndex } from '#src/providers/http/utils.ts';
8
+ import type { AttestorData, CompleteClaimData, CreateClaimOnAttestorOpts, LogLevel, ProofGenerationStep, ProviderName, ProviderParams, ProviderSecretParams } from '#src/types/index.ts';
9
+ import type { HttpRequest, HttpResponse } from '#src/utils/index.ts';
9
10
  type IdentifiedMessage = {
10
- module: 'attestor-core';
11
- /**
12
- * Optionally, name of the channel to respond to
13
- * Useful for specifying 'flutter_webview'
14
- * channel
15
- */
16
- channel?: string;
17
11
  id: string;
18
12
  };
19
13
  type CreateClaimRPCBaseOpts = {
@@ -61,7 +55,7 @@ type LogLevelOptions = {
61
55
  sendLogsToApp: boolean;
62
56
  };
63
57
  type AVSCreateResult = {
64
- object: TaskCompletedEventObject;
58
+ object: TaskCompletedEvent.OutputObject;
65
59
  txHash: string;
66
60
  };
67
61
  type MechainCreateResult = {
@@ -84,7 +78,7 @@ export type CreateClaimResponse = {
84
78
  * Fns the app calls on the attestor.
85
79
  * These are things done inside the attestor
86
80
  */
87
- export type WindowRPCClient = {
81
+ export type ExternalRPCClient = {
88
82
  /**
89
83
  * Create a claim on the attestor where the RPC SDK is hosted.
90
84
  */
@@ -113,6 +107,9 @@ export type WindowRPCClient = {
113
107
  */
114
108
  setLogLevel(options: LogLevelOptions): Promise<void>;
115
109
  benchmarkZK(): Promise<string>;
110
+ ping(): Promise<{
111
+ pong: string;
112
+ }>;
116
113
  };
117
114
  type AsFunction<K> = K extends (...args: any[]) => any ? K : never;
118
115
  type FunctionalOperator<T, K extends keyof T> = {
@@ -124,26 +121,55 @@ export type ExecuteOPRFOpts<T extends keyof OPRFOperator = keyof OPRFOperator> =
124
121
  /**
125
122
  * Fns the attestor calls on the app
126
123
  */
127
- export type WindowRPCAppClient = {
124
+ export type ExternalRPCAppClient = {
128
125
  executeZkFunctionV3(opts: ExecuteZKOpts): Promise<any>;
129
126
  executeOprfFunctionV3(opts: ExecuteOPRFOpts): Promise<any>;
130
127
  updateProviderParams(opts: UpdateProviderParamsOpts): Promise<{
131
128
  params: Partial<ProviderParams<'http'>>;
132
129
  secretParams: Partial<ProviderSecretParams<'http'>>;
133
130
  }>;
131
+ /**
132
+ * The runtime needs to open a WebSocket connection. Is required for
133
+ * runtimes that do not support WebSockets natively.
134
+ *
135
+ * The app should facilitate this by opening a WebSocket connection
136
+ * to the given URL.
137
+ * "id" is a unique identifier for the WebSocket connection.
138
+ */
139
+ connectWs(opts: {
140
+ id: string;
141
+ url: string;
142
+ }): Promise<{}>;
143
+ /**
144
+ * Runtime wants to disconnect a WebSocket connection.
145
+ * "code" is an optional close code,
146
+ * and "reason" is an optional reason for closing.
147
+ */
148
+ disconnectWs(opts: {
149
+ id: string;
150
+ code?: number;
151
+ reason?: any;
152
+ }): Promise<{}>;
153
+ /**
154
+ * Runtime wants to send a message over a WebSocket connection.
155
+ */
156
+ sendWsMessage(opts: {
157
+ id: string;
158
+ data: ArrayBufferView | string;
159
+ }): Promise<{}>;
134
160
  };
135
161
  type AnyRPCClient = {
136
162
  [_: string]: (opts: any) => any;
137
163
  };
138
- export type WindowRPCRequest<T extends AnyRPCClient, K extends keyof T> = {
164
+ export type ExternalRPCRequest<T extends AnyRPCClient, K extends keyof T> = {
139
165
  type: K;
140
166
  request: Parameters<T[K]>[0];
141
167
  };
142
- export type WindowRPCResponse<T extends AnyRPCClient, K extends (keyof T) & string> = {
168
+ export type ExternalRPCResponse<T extends AnyRPCClient, K extends (keyof T) & string> = {
143
169
  type: `${K}Done`;
144
170
  response: Awaited<ReturnType<T[K]>>;
145
171
  };
146
- export type WindowRPCErrorResponse = {
172
+ export type ExternalRPCErrorResponse = {
147
173
  type: 'error';
148
174
  data: {
149
175
  message: string;
@@ -156,15 +182,21 @@ type AsResponse<T> = T & {
156
182
  /**
157
183
  * Data sent to the attestor from the window/application
158
184
  */
159
- export type WindowRPCIncomingMsg = (WindowRPCRequest<WindowRPCClient, 'createClaim'> | WindowRPCRequest<WindowRPCClient, 'createClaimOnAvs'> | WindowRPCRequest<WindowRPCClient, 'createClaimOnMechain'> | WindowRPCRequest<WindowRPCClient, 'extractHtmlElement'> | WindowRPCRequest<WindowRPCClient, 'extractJSONValueIndex'> | WindowRPCRequest<WindowRPCClient, 'getCurrentMemoryUsage'> | WindowRPCRequest<WindowRPCClient, 'setLogLevel'> | WindowRPCRequest<WindowRPCClient, 'benchmarkZK'> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'executeZkFunctionV3'>> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'executeOprfFunctionV3'>> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'updateProviderParams'>> | AsResponse<WindowRPCErrorResponse>) & IdentifiedMessage;
185
+ export type ExternalRPCIncomingMsg = (ExternalRPCRequest<ExternalRPCClient, 'createClaim'> | ExternalRPCRequest<ExternalRPCClient, 'createClaimOnAvs'> | ExternalRPCRequest<ExternalRPCClient, 'createClaimOnMechain'> | ExternalRPCRequest<ExternalRPCClient, 'extractHtmlElement'> | ExternalRPCRequest<ExternalRPCClient, 'extractJSONValueIndex'> | ExternalRPCRequest<ExternalRPCClient, 'getCurrentMemoryUsage'> | ExternalRPCRequest<ExternalRPCClient, 'setLogLevel'> | ExternalRPCRequest<ExternalRPCClient, 'benchmarkZK'> | ExternalRPCRequest<ExternalRPCClient, 'ping'> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'executeZkFunctionV3'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'executeOprfFunctionV3'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'updateProviderParams'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'connectWs'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'disconnectWs'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'sendWsMessage'>> | AsResponse<ExternalRPCErrorResponse> | ExternalRPCRequest<ExternalRPCAppClient, 'sendWsMessage'> | {
186
+ type: 'disconnectWs';
187
+ request: {
188
+ id: string;
189
+ err?: string;
190
+ };
191
+ }) & IdentifiedMessage;
160
192
  /**
161
193
  * Data sent back from the attestor to
162
194
  * the window/application containing the attestor
163
195
  */
164
- export type WindowRPCOutgoingMsg = (AsResponse<WindowRPCResponse<WindowRPCClient, 'createClaim'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'createClaimOnAvs'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'extractHtmlElement'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'extractJSONValueIndex'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'getCurrentMemoryUsage'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'setLogLevel'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'benchmarkZK'>> | WindowRPCRequest<WindowRPCAppClient, 'executeZkFunctionV3'> | WindowRPCRequest<WindowRPCAppClient, 'executeOprfFunctionV3'> | WindowRPCRequest<WindowRPCAppClient, 'updateProviderParams'> | ({
196
+ export type ExternalRPCOutgoingMsg = (AsResponse<ExternalRPCResponse<ExternalRPCClient, 'createClaim'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'createClaimOnAvs'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'extractHtmlElement'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'extractJSONValueIndex'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'getCurrentMemoryUsage'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'setLogLevel'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'benchmarkZK'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'ping'>> | ExternalRPCRequest<ExternalRPCAppClient, 'executeZkFunctionV3'> | ExternalRPCRequest<ExternalRPCAppClient, 'executeOprfFunctionV3'> | ExternalRPCRequest<ExternalRPCAppClient, 'updateProviderParams'> | ExternalRPCRequest<ExternalRPCAppClient, 'connectWs'> | ExternalRPCRequest<ExternalRPCAppClient, 'disconnectWs'> | ExternalRPCRequest<ExternalRPCAppClient, 'sendWsMessage'> | ({
165
197
  type: 'createClaimStep';
166
198
  step: {
167
- name: 'attestor-progress' | 'witness-progress';
199
+ name: 'attestor-progress';
168
200
  step: ProofGenerationStep;
169
201
  };
170
202
  }) | ({
@@ -177,16 +209,5 @@ export type WindowRPCOutgoingMsg = (AsResponse<WindowRPCResponse<WindowRPCClient
177
209
  type: 'log';
178
210
  level: LogLevelOptions['logLevel'];
179
211
  message: object;
180
- }) | AsResponse<WindowRPCErrorResponse>) & IdentifiedMessage;
181
- export type CommunicationBridge = {
182
- send(msg: WindowRPCOutgoingMsg): void;
183
- onMessage(cb: (msg: WindowRPCIncomingMsg) => void): (() => void);
184
- };
185
- declare global {
186
- interface Performance {
187
- measureUserAgentSpecificMemory(): {
188
- bytes: number;
189
- };
190
- }
191
- }
212
+ }) | AsResponse<ExternalRPCErrorResponse>) & IdentifiedMessage;
192
213
  export {};
File without changes
@@ -0,0 +1,20 @@
1
+ import { EventBus } from '#src/external-rpc/event-bus.ts';
2
+ import type { ExternalRPCAppClient, ExternalRPCIncomingMsg, ExternalRPCOutgoingMsg, ExternalRPCRequest, ExternalRPCResponse } from '#src/external-rpc/types.ts';
3
+ export declare const RPC_MSG_BRIDGE: EventBus<ExternalRPCIncomingMsg>;
4
+ export declare function getCurrentMemoryUsage(): Promise<{
5
+ available: boolean;
6
+ content: string;
7
+ }>;
8
+ export declare function generateRpcRequestId(): string;
9
+ /**
10
+ * The window RPC will be served from the same origin as the API server.
11
+ * so we can get the API server's origin from the location.
12
+ */
13
+ export declare function getWsApiUrlFromBaseUrl(): string;
14
+ export declare function rpcRequest<T extends keyof ExternalRPCAppClient>(opts: ExternalRPCRequest<ExternalRPCAppClient, T>): Promise<ExternalRPCResponse<ExternalRPCAppClient, T>['response']>;
15
+ export declare function waitForResponse<T extends keyof ExternalRPCAppClient>(type: T, requestId: string, timeoutMs?: number): Promise<Awaited<ReturnType<ExternalRPCAppClient[T]>>>;
16
+ /**
17
+ * Sends a message back to the host app
18
+ * @param data
19
+ */
20
+ export declare function sendMessageToApp(data: ExternalRPCOutgoingMsg): void;
@@ -0,0 +1,100 @@
1
+ import { WS_PATHNAME } from "../config/index.js";
2
+ import { EventBus } from "../external-rpc/event-bus.js";
3
+ import { B64_JSON_REPLACER } from "../utils/b64-json.js";
4
+ import { AttestorError } from "../utils/error.js";
5
+ const RPC_MSG_BRIDGE = new EventBus();
6
+ async function getCurrentMemoryUsage() {
7
+ if (!window.crossOriginIsolated) {
8
+ return {
9
+ available: false,
10
+ content: "N/A (page not cross-origin-isolated)"
11
+ };
12
+ } else if (!performance.measureUserAgentSpecificMemory) {
13
+ return {
14
+ available: false,
15
+ content: "N/A (performance.measureUserAgentSpecificMemory() is not available)"
16
+ };
17
+ } else {
18
+ try {
19
+ const result = performance.measureUserAgentSpecificMemory();
20
+ const totalmb = Math.round(result.bytes / 1024 / 1024);
21
+ return { available: true, content: `${totalmb}mb` };
22
+ } catch (error) {
23
+ if (error instanceof DOMException && error.name === "SecurityError") {
24
+ return { available: false, content: `N/A (${error.message})` };
25
+ }
26
+ throw error;
27
+ }
28
+ }
29
+ }
30
+ function generateRpcRequestId() {
31
+ return Math.random().toString(36).slice(2);
32
+ }
33
+ function getWsApiUrlFromBaseUrl() {
34
+ if (typeof ATTESTOR_BASE_URL !== "string") {
35
+ throw new Error("ATTESTOR_BASE_URL is not set");
36
+ }
37
+ const parsed = new URL(ATTESTOR_BASE_URL);
38
+ const { host, protocol } = parsed;
39
+ const wsProtocol = protocol === "https:" ? "wss:" : "ws:";
40
+ return `${wsProtocol}//${host}${WS_PATHNAME}`;
41
+ }
42
+ function rpcRequest(opts) {
43
+ const id = generateRpcRequestId();
44
+ const waitForRes = waitForResponse(opts.type, id);
45
+ sendMessageToApp({
46
+ id,
47
+ type: opts.type,
48
+ request: opts.request
49
+ });
50
+ return waitForRes;
51
+ }
52
+ function waitForResponse(type, requestId, timeoutMs = 6e4) {
53
+ const returnType = `${type}Done`;
54
+ return new Promise((resolve, reject) => {
55
+ const timeout = setTimeout(() => {
56
+ reject(
57
+ new AttestorError(
58
+ "ERROR_INTERNAL",
59
+ `Timeout waiting for response: ${type}`,
60
+ { requestId }
61
+ )
62
+ );
63
+ cancel();
64
+ }, timeoutMs);
65
+ const cancel = RPC_MSG_BRIDGE.addListener((msg) => {
66
+ if (msg.id !== requestId) {
67
+ return;
68
+ }
69
+ if (msg.type === "error") {
70
+ reject(new Error(msg.data.message));
71
+ } else if (msg.type === returnType) {
72
+ resolve(msg.response);
73
+ } else {
74
+ return;
75
+ }
76
+ clearTimeout(timeout);
77
+ cancel();
78
+ });
79
+ });
80
+ }
81
+ function sendMessageToApp(data) {
82
+ const str = JSON.stringify(data, B64_JSON_REPLACER);
83
+ if (!RPC_CHANNEL_NAME) {
84
+ throw new Error("global RPC_CHANNEL_NAME is not set");
85
+ }
86
+ const channel = globalThis[RPC_CHANNEL_NAME];
87
+ if (!channel) {
88
+ throw new Error(`RPC channel ${RPC_CHANNEL_NAME} not set on globalThis`);
89
+ }
90
+ channel.postMessage(str);
91
+ }
92
+ export {
93
+ RPC_MSG_BRIDGE,
94
+ generateRpcRequestId,
95
+ getCurrentMemoryUsage,
96
+ getWsApiUrlFromBaseUrl,
97
+ rpcRequest,
98
+ sendMessageToApp,
99
+ waitForResponse
100
+ };
@@ -0,0 +1,14 @@
1
+ import type { EncryptionAlgorithm, OPRFOperator, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
2
+ export declare const ALL_ENC_ALGORITHMS: EncryptionAlgorithm[];
3
+ /**
4
+ * The goal of this RPC operator is if the attestor client
5
+ * is running in a WebView, it can call the native
6
+ * application to perform the ZK operations
7
+ */
8
+ export declare function makeExternalRpcZkOperator(algorithm: EncryptionAlgorithm, zkEngine?: ZKEngine): ZKOperator;
9
+ /**
10
+ * The goal of this RPC operator is if the attestor client
11
+ * is running in a WebView, it can call the native
12
+ * application to perform the OPRF operations
13
+ */
14
+ export declare function makeExternalRpcOprfOperator(algorithm: EncryptionAlgorithm, zkEngine?: ZKEngine): OPRFOperator;
@@ -0,0 +1,58 @@
1
+ import { rpcRequest } from "../external-rpc/utils.js";
2
+ import { logger, makeDefaultZkOperator } from "../utils/index.js";
3
+ const ALL_ENC_ALGORITHMS = [
4
+ "aes-256-ctr",
5
+ "aes-128-ctr",
6
+ "chacha20"
7
+ ];
8
+ function makeExternalRpcZkOperator(algorithm, zkEngine = "snarkjs") {
9
+ return {
10
+ async generateWitness(input) {
11
+ const operator = await makeDefaultZkOperator(algorithm, zkEngine, logger);
12
+ return operator.generateWitness(input);
13
+ },
14
+ groth16Prove(input) {
15
+ return callFnZk({ fn: "groth16Prove", args: [input] });
16
+ },
17
+ groth16Verify(publicSignals, proof) {
18
+ return callFnZk({ fn: "groth16Verify", args: [publicSignals, proof] });
19
+ }
20
+ };
21
+ }
22
+ function callFnZk(request) {
23
+ return rpcRequest({ type: "executeZkFunctionV3", request });
24
+ }
25
+ function makeExternalRpcOprfOperator(algorithm, zkEngine = "snarkjs") {
26
+ return {
27
+ async generateWitness(input) {
28
+ const operator = await makeDefaultZkOperator(algorithm, zkEngine, logger);
29
+ return operator.generateWitness(input);
30
+ },
31
+ groth16Prove(input) {
32
+ return callFnOprf({ fn: "groth16Prove", args: [input] });
33
+ },
34
+ groth16Verify(publicSignals, proof) {
35
+ return callFnOprf({ fn: "groth16Verify", args: [publicSignals, proof] });
36
+ },
37
+ generateThresholdKeys(total, threshold) {
38
+ return callFnOprf({ fn: "generateThresholdKeys", args: [total, threshold] });
39
+ },
40
+ generateOPRFRequestData(data, domainSeparator) {
41
+ return callFnOprf({ fn: "generateOPRFRequestData", args: [data, domainSeparator] });
42
+ },
43
+ finaliseOPRF(serverPublicKey, request, responses) {
44
+ return callFnOprf({ fn: "finaliseOPRF", args: [serverPublicKey, request, responses] });
45
+ },
46
+ evaluateOPRF(serverPrivateKey, request) {
47
+ return callFnOprf({ fn: "evaluateOPRF", args: [serverPrivateKey, request] });
48
+ }
49
+ };
50
+ }
51
+ function callFnOprf(request) {
52
+ return rpcRequest({ type: "executeOprfFunctionV3", request });
53
+ }
54
+ export {
55
+ ALL_ENC_ALGORITHMS,
56
+ makeExternalRpcOprfOperator,
57
+ makeExternalRpcZkOperator
58
+ };
@@ -0,0 +1,13 @@
1
+ import * as tls from "@reclaimprotocol/tls";
2
+ export * from "./client/utils/client-socket.js";
3
+ export * from "./config/index.js";
4
+ export * from "./types/index.js";
5
+ export * from "./utils/index.js";
6
+ export * from "./providers/index.js";
7
+ import * as proto from "./proto/api.js";
8
+ export * from "./client/index.js";
9
+ export * from "./mechain/index.js";
10
+ export {
11
+ proto,
12
+ tls
13
+ };
@@ -0,0 +1,9 @@
1
+ export * as tls from '@reclaimprotocol/tls';
2
+ export * from './client/utils/client-socket.ts';
3
+ export * from './config/index.ts';
4
+ export * from './types/index.ts';
5
+ export * from './utils/index.js';
6
+ export * from './providers/index.ts';
7
+ export * as proto from './proto/api.ts';
8
+ export * from './client/index.ts';
9
+ export * from './mechain/index.ts';
@@ -0,0 +1,13 @@
1
+ import * as tls from "@reclaimprotocol/tls";
2
+ export * from "./client/utils/client-socket.js";
3
+ export * from "./config/index.js";
4
+ export * from "./types/index.js";
5
+ export * from "./utils/index.js";
6
+ export * from "./providers/index.js";
7
+ import * as proto from "./proto/api.js";
8
+ export * from "./client/index.js";
9
+ export * from "./mechain/index.js";
10
+ export {
11
+ proto,
12
+ tls
13
+ };
@@ -0,0 +1,50 @@
1
+ export declare const governanceABI: ({
2
+ inputs: {
3
+ internalType: string;
4
+ name: string;
5
+ type: string;
6
+ }[];
7
+ stateMutability: string;
8
+ type: string;
9
+ name?: undefined;
10
+ anonymous?: undefined;
11
+ outputs?: undefined;
12
+ } | {
13
+ inputs: {
14
+ internalType: string;
15
+ name: string;
16
+ type: string;
17
+ }[];
18
+ name: string;
19
+ type: string;
20
+ stateMutability?: undefined;
21
+ anonymous?: undefined;
22
+ outputs?: undefined;
23
+ } | {
24
+ anonymous: boolean;
25
+ inputs: {
26
+ indexed: boolean;
27
+ internalType: string;
28
+ name: string;
29
+ type: string;
30
+ }[];
31
+ name: string;
32
+ type: string;
33
+ stateMutability?: undefined;
34
+ outputs?: undefined;
35
+ } | {
36
+ inputs: {
37
+ internalType: string;
38
+ name: string;
39
+ type: string;
40
+ }[];
41
+ name: string;
42
+ outputs: {
43
+ internalType: string;
44
+ name: string;
45
+ type: string;
46
+ }[];
47
+ stateMutability: string;
48
+ type: string;
49
+ anonymous?: undefined;
50
+ })[];