@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,28 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeWithRetries = executeWithRetries;
4
- /**
5
- * Execute a function, and upon failure -- retry
6
- * based on specified options.
7
- */
8
- async function executeWithRetries(code, { maxRetries = 3, shouldRetry, logger, }) {
9
- let retries = 0;
10
- while (retries < maxRetries) {
11
- try {
12
- const result = await code(retries);
13
- return result;
14
- }
15
- catch (err) {
16
- retries += 1;
17
- if (retries >= maxRetries) {
18
- throw err;
19
- }
20
- if (!shouldRetry(err)) {
21
- throw err;
22
- }
23
- logger.info({ err, retries }, 'retrying failed operation');
24
- }
1
+ async function executeWithRetries(code, {
2
+ maxRetries = 3,
3
+ shouldRetry,
4
+ logger
5
+ }) {
6
+ let retries = 0;
7
+ while (retries < maxRetries) {
8
+ try {
9
+ const result = await code(retries);
10
+ return result;
11
+ } catch (err) {
12
+ retries += 1;
13
+ if (retries >= maxRetries) {
14
+ throw err;
15
+ }
16
+ if (!shouldRetry(err)) {
17
+ throw err;
18
+ }
19
+ logger.info({ err, retries }, "retrying failed operation");
25
20
  }
26
- throw new Error('retries exhausted');
21
+ }
22
+ throw new Error("retries exhausted");
27
23
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZXRyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsZ0RBNEJDO0FBaENEOzs7R0FHRztBQUNJLEtBQUssVUFBVSxrQkFBa0IsQ0FDdkMsSUFBcUMsRUFDckMsRUFDQyxVQUFVLEdBQUcsQ0FBQyxFQUNkLFdBQVcsRUFDWCxNQUFNLEdBQ1k7SUFFbkIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsT0FBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDbEMsT0FBTyxNQUFNLENBQUE7UUFDZCxDQUFDO1FBQUMsT0FBTSxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDLENBQUE7WUFDWixJQUFHLE9BQU8sSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxHQUFHLENBQUE7WUFDVixDQUFDO1lBRUQsSUFBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLEdBQUcsQ0FBQTtZQUNWLENBQUM7WUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLDJCQUEyQixDQUFDLENBQUE7UUFDM0QsQ0FBQztJQUNGLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUE7QUFDckMsQ0FBQyJ9
24
+ export {
25
+ executeWithRetries
26
+ };
@@ -1,2 +1,2 @@
1
- import { ServiceSignatureProvider } from '../../types';
1
+ import type { ServiceSignatureProvider } from '#src/types/index.ts';
2
2
  export declare const ETH_SIGNATURE_PROVIDER: ServiceSignatureProvider;
@@ -1,33 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ETH_SIGNATURE_PROVIDER = void 0;
4
- const ethers_1 = require("ethers");
5
- const utils_1 = require("ethers/lib/utils");
6
- exports.ETH_SIGNATURE_PROVIDER = {
7
- getPublicKey(privateKey) {
8
- const pub = (0, utils_1.computePublicKey)(privateKey, true);
9
- return ethers_1.utils.arrayify(pub);
10
- },
11
- getAddress(publicKey) {
12
- return (0, utils_1.computeAddress)(publicKey).toLowerCase();
13
- },
14
- async sign(data, privateKey) {
15
- const wallet = getEthWallet(privateKey);
16
- const signature = await wallet.signMessage(data);
17
- return ethers_1.utils.arrayify(signature);
18
- },
19
- async verify(data, signature, addressBytes) {
20
- const address = typeof addressBytes === 'string'
21
- ? addressBytes
22
- : ethers_1.utils.hexlify(addressBytes);
23
- const signerAddress = ethers_1.utils.verifyMessage(data, signature);
24
- return signerAddress.toLowerCase() === address.toLowerCase();
25
- }
1
+ import { computeAddress, getBytes, hexlify, SigningKey, verifyMessage, Wallet } from "ethers";
2
+ const ETH_SIGNATURE_PROVIDER = {
3
+ getPublicKey(privateKey) {
4
+ const pub = SigningKey.computePublicKey(privateKey, true);
5
+ return getBytes(pub);
6
+ },
7
+ getAddress(publicKey) {
8
+ const pubKeyHex = typeof publicKey === "string" ? publicKey : hexlify(publicKey);
9
+ return computeAddress(pubKeyHex).toLowerCase();
10
+ },
11
+ async sign(data, privateKey) {
12
+ const wallet = getEthWallet(privateKey);
13
+ const signature = await wallet.signMessage(data);
14
+ return getBytes(signature);
15
+ },
16
+ async verify(data, signature, addressBytes) {
17
+ const address = typeof addressBytes === "string" ? addressBytes : hexlify(addressBytes);
18
+ const signatureHex = typeof signature === "string" ? signature : hexlify(signature);
19
+ const signerAddress = verifyMessage(data, signatureHex);
20
+ return signerAddress.toLowerCase() === address.toLowerCase();
21
+ }
26
22
  };
27
23
  function getEthWallet(privateKey) {
28
- if (!privateKey) {
29
- throw new Error('Private key missing');
30
- }
31
- return new ethers_1.Wallet(privateKey);
24
+ if (!privateKey) {
25
+ throw new Error("Private key missing");
26
+ }
27
+ return new Wallet(privateKey);
32
28
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3NpZ25hdHVyZXMvZXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFzQztBQUN0Qyw0Q0FBbUU7QUFHdEQsUUFBQSxzQkFBc0IsR0FBNkI7SUFDL0QsWUFBWSxDQUFDLFVBQVU7UUFDdEIsTUFBTSxHQUFHLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDOUMsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFDRCxVQUFVLENBQUMsU0FBUztRQUNuQixPQUFPLElBQUEsc0JBQWMsRUFBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVTtRQUMxQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2hELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVk7UUFDekMsTUFBTSxPQUFPLEdBQUcsT0FBTyxZQUFZLEtBQUssUUFBUTtZQUMvQyxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxjQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzlCLE1BQU0sYUFBYSxHQUFHLGNBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzFELE9BQU8sYUFBYSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUM3RCxDQUFDO0NBQ0QsQ0FBQTtBQUVELFNBQVMsWUFBWSxDQUFDLFVBQWtCO0lBQ3ZDLElBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVELE9BQU8sSUFBSSxlQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7QUFDOUIsQ0FBQyJ9
29
+ export {
30
+ ETH_SIGNATURE_PROVIDER
31
+ };
@@ -1,5 +1,5 @@
1
- import { ServiceSignatureType } from '../../proto/api';
2
- import { ServiceSignatureProvider } from '../../types';
1
+ import { ServiceSignatureType } from '#src/proto/api.ts';
2
+ import type { ServiceSignatureProvider } from '#src/types/index.ts';
3
3
  export declare const SIGNATURES: { [key in ServiceSignatureType]: ServiceSignatureProvider; };
4
- export declare const SelectedServiceSignatureType = ServiceSignatureType.SERVICE_SIGNATURE_TYPE_ETH;
4
+ export declare const SelectedServiceSignatureType: 1;
5
5
  export declare const SelectedServiceSignature: ServiceSignatureProvider;
@@ -1,11 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SelectedServiceSignature = exports.SelectedServiceSignatureType = exports.SIGNATURES = void 0;
4
- const api_1 = require("../../proto/api");
5
- const eth_1 = require("../../utils/signatures/eth");
6
- exports.SIGNATURES = {
7
- [api_1.ServiceSignatureType.SERVICE_SIGNATURE_TYPE_ETH]: eth_1.ETH_SIGNATURE_PROVIDER,
1
+ import { ServiceSignatureType } from "../../proto/api.js";
2
+ import { ETH_SIGNATURE_PROVIDER } from "../../utils/signatures/eth.js";
3
+ const SIGNATURES = {
4
+ [ServiceSignatureType.SERVICE_SIGNATURE_TYPE_ETH]: ETH_SIGNATURE_PROVIDER
5
+ };
6
+ const SelectedServiceSignatureType = ServiceSignatureType.SERVICE_SIGNATURE_TYPE_ETH;
7
+ const SelectedServiceSignature = SIGNATURES[SelectedServiceSignatureType];
8
+ export {
9
+ SIGNATURES,
10
+ SelectedServiceSignature,
11
+ SelectedServiceSignatureType
8
12
  };
9
- exports.SelectedServiceSignatureType = api_1.ServiceSignatureType.SERVICE_SIGNATURE_TYPE_ETH;
10
- exports.SelectedServiceSignature = exports.SIGNATURES[exports.SelectedServiceSignatureType];
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvc2lnbmF0dXJlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FBb0Q7QUFFcEQsa0RBQWlFO0FBRXBELFFBQUEsVUFBVSxHQUFHO0lBQ3pCLENBQUMsMEJBQW9CLENBQUMsMEJBQTBCLENBQUMsRUFBRSw0QkFBc0I7Q0FDVixDQUFBO0FBRW5ELFFBQUEsNEJBQTRCLEdBQUcsMEJBQW9CLENBQUMsMEJBQTBCLENBQUE7QUFFOUUsUUFBQSx3QkFBd0IsR0FBRyxrQkFBVSxDQUFDLG9DQUE0QixDQUFDLENBQUEifQ==
@@ -1,15 +1,16 @@
1
- import { InitRequest, RPCMessage, RPCMessages } from '../proto/api';
2
- import { IAttestorSocket, Logger, RPCEvent, RPCEventMap } from '../types';
3
1
  import type { WebSocket as WSWebSocket } from 'ws';
2
+ import type { InitRequest, RPCMessage } from '#src/proto/api.ts';
3
+ import { RPCMessages } from '#src/proto/api.ts';
4
+ import type { IAttestorSocket, Logger, RPCEvent, RPCEventMap } from '#src/types/index.ts';
4
5
  /**
5
6
  * Common AttestorSocket class used on the client & server side as the
6
7
  * base for their respective socket implementations.
7
8
  */
8
9
  export declare class AttestorSocket implements IAttestorSocket {
9
- protected socket: WebSocket | WSWebSocket;
10
- metadata: InitRequest;
11
- logger: Logger;
12
10
  private eventTarget;
11
+ protected socket: WebSocket | WSWebSocket;
12
+ readonly logger: Logger;
13
+ readonly metadata: InitRequest;
13
14
  isInitialised: boolean;
14
15
  constructor(socket: WebSocket | WSWebSocket, metadata: InitRequest, logger: Logger);
15
16
  get isOpen(): boolean;
@@ -1,95 +1,96 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AttestorSocket = void 0;
4
- const message_handler_1 = require("../client/utils/message-handler");
5
- const api_1 = require("../proto/api");
6
- const utils_1 = require("../utils");
7
- /**
8
- * Common AttestorSocket class used on the client & server side as the
9
- * base for their respective socket implementations.
10
- */
1
+ import { wsMessageHandler } from "../client/utils/message-handler.js";
2
+ import { RPCMessages } from "../proto/api.js";
3
+ import { AttestorError, makeRpcEvent, packRpcMessages } from "../utils/index.js";
11
4
  class AttestorSocket {
12
- constructor(socket, metadata, logger) {
13
- this.socket = socket;
14
- this.metadata = metadata;
15
- this.logger = logger;
16
- this.eventTarget = new EventTarget();
17
- this.isInitialised = false;
18
- socket.addEventListener('error', (event) => {
19
- const witErr = utils_1.AttestorError.fromError(event.error
20
- || new Error(event.message));
21
- witErr.code = 'ERROR_NETWORK_ERROR';
22
- this.dispatchRPCEvent('connection-terminated', witErr);
23
- });
24
- socket.addEventListener('close', () => (this.dispatchRPCEvent('connection-terminated', new utils_1.AttestorError('ERROR_NO_ERROR', 'connection closed'))));
25
- socket.addEventListener('message', async ({ data }) => {
26
- try {
27
- await message_handler_1.wsMessageHandler.call(this, data);
28
- }
29
- catch (err) {
30
- this.logger.error({ err }, 'error processing message');
31
- }
32
- });
33
- }
34
- get isOpen() {
35
- return this.socket.readyState === this.socket.OPEN;
5
+ eventTarget = new EventTarget();
6
+ socket;
7
+ logger;
8
+ metadata;
9
+ isInitialised = false;
10
+ constructor(socket, metadata, logger) {
11
+ this.socket = socket;
12
+ this.metadata = metadata;
13
+ this.logger = logger;
14
+ socket.addEventListener("error", (event) => {
15
+ const witErr = AttestorError.fromError(
16
+ event.error || new Error(event.message),
17
+ "ERROR_NETWORK_ERROR"
18
+ );
19
+ this.dispatchRPCEvent("connection-terminated", witErr);
20
+ });
21
+ socket.addEventListener("close", () => this.dispatchRPCEvent(
22
+ "connection-terminated",
23
+ new AttestorError(
24
+ "ERROR_NO_ERROR",
25
+ "connection closed"
26
+ )
27
+ ));
28
+ socket.addEventListener("message", async (event) => {
29
+ try {
30
+ await wsMessageHandler.call(this, event.data);
31
+ } catch (err) {
32
+ this.logger.error({ err }, "error processing message");
33
+ }
34
+ });
35
+ }
36
+ get isOpen() {
37
+ return this.socket.readyState === this.socket.OPEN;
38
+ }
39
+ get isClosed() {
40
+ return this.socket.readyState === this.socket.CLOSED || this.socket.readyState === this.socket.CLOSING;
41
+ }
42
+ async sendMessage(...msgs) {
43
+ if (this.isClosed) {
44
+ throw new AttestorError(
45
+ "ERROR_NETWORK_ERROR",
46
+ "Connection closed, cannot send message"
47
+ );
36
48
  }
37
- get isClosed() {
38
- return this.socket.readyState === this.socket.CLOSED
39
- || this.socket.readyState === this.socket.CLOSING;
49
+ if (!this.isOpen) {
50
+ throw new AttestorError(
51
+ "ERROR_NETWORK_ERROR",
52
+ "Wait for connection to open before sending message"
53
+ );
40
54
  }
41
- async sendMessage(...msgs) {
42
- if (this.isClosed) {
43
- throw new utils_1.AttestorError('ERROR_NETWORK_ERROR', 'Connection closed, cannot send message');
44
- }
45
- if (!this.isOpen) {
46
- throw new utils_1.AttestorError('ERROR_NETWORK_ERROR', 'Wait for connection to open before sending message');
47
- }
48
- const msg = (0, utils_1.packRpcMessages)(...msgs);
49
- const bytes = api_1.RPCMessages.encode(msg).finish();
50
- this.logger.trace({ msg }, 'sending messages');
51
- if ('sendPromise' in this.socket && this.socket.sendPromise) {
52
- await this.socket.sendPromise(bytes);
53
- }
54
- else {
55
- this.socket.send(bytes);
56
- }
57
- return msg;
55
+ const msg = packRpcMessages(...msgs);
56
+ const bytes = RPCMessages.encode(msg).finish();
57
+ this.logger.trace({ msg }, "sending messages");
58
+ if ("sendPromise" in this.socket && this.socket.sendPromise) {
59
+ await this.socket.sendPromise(bytes);
60
+ } else {
61
+ this.socket.send(bytes);
58
62
  }
59
- dispatchRPCEvent(type, data) {
60
- const event = (0, utils_1.makeRpcEvent)(type, data);
61
- this.eventTarget.dispatchEvent(event);
63
+ return msg;
64
+ }
65
+ dispatchRPCEvent(type, data) {
66
+ const event = makeRpcEvent(type, data);
67
+ this.eventTarget.dispatchEvent(event);
68
+ }
69
+ addEventListener(type, listener) {
70
+ this.eventTarget.addEventListener(type, listener);
71
+ }
72
+ removeEventListener(type, listener) {
73
+ this.eventTarget.removeEventListener(type, listener);
74
+ }
75
+ async terminateConnection(err) {
76
+ if (this.isClosed) {
77
+ return;
62
78
  }
63
- addEventListener(type, listener) {
64
- this.eventTarget.addEventListener(type, listener);
65
- }
66
- removeEventListener(type, listener) {
67
- this.eventTarget.removeEventListener(type, listener);
68
- }
69
- async terminateConnection(err) {
70
- var _a;
71
- // connection already closed
72
- if (this.isClosed) {
73
- return;
74
- }
75
- try {
76
- const witErr = err
77
- ? utils_1.AttestorError.fromError(err)
78
- : new utils_1.AttestorError('ERROR_NO_ERROR', '');
79
- this.dispatchRPCEvent('connection-terminated', witErr);
80
- if (this.isOpen) {
81
- await this.sendMessage({
82
- connectionTerminationAlert: witErr.toProto()
83
- });
84
- }
85
- }
86
- catch (err) {
87
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.error({ err }, 'error terminating connection');
88
- }
89
- finally {
90
- this.socket.close();
91
- }
79
+ try {
80
+ const witErr = err ? AttestorError.fromError(err) : new AttestorError("ERROR_NO_ERROR", "");
81
+ this.dispatchRPCEvent("connection-terminated", witErr);
82
+ if (this.isOpen) {
83
+ await this.sendMessage({
84
+ connectionTerminationAlert: witErr.toProto()
85
+ });
86
+ }
87
+ } catch (err2) {
88
+ this.logger?.error({ err: err2 }, "error terminating connection");
89
+ } finally {
90
+ this.socket.close();
92
91
  }
92
+ }
93
93
  }
94
- exports.AttestorSocket = AttestorSocket;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc29ja2V0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQW1FO0FBQ25FLHVDQUFvRTtBQUVwRSxxQ0FBd0U7QUFHeEU7OztHQUdHO0FBQ0gsTUFBYSxjQUFjO0lBTTFCLFlBQ1csTUFBK0IsRUFDbEMsUUFBcUIsRUFDckIsTUFBYztRQUZYLFdBQU0sR0FBTixNQUFNLENBQXlCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVBkLGdCQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtRQUV2QyxrQkFBYSxHQUFHLEtBQUssQ0FBQTtRQU9wQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxNQUFNLEdBQUcscUJBQWEsQ0FBQyxTQUFTLENBQ3JDLEtBQUssQ0FBQyxLQUFLO21CQUNQLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDNUIsQ0FBQTtZQUNELE1BQU0sQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUE7WUFFbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQ3BCLHVCQUF1QixFQUN2QixJQUFJLHFCQUFhLENBQ2hCLGdCQUFnQixFQUNoQixtQkFBbUIsQ0FDbkIsQ0FDRCxDQUNELENBQUMsQ0FBQTtRQUVGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUM7Z0JB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
94
+ export {
95
+ AttestorSocket
96
+ };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Convert ASCII string to Uint8Array
3
+ */
4
+ export declare function asciiToUint8Array(str: string): Uint8Array;
5
+ /**
6
+ * Concatenate multiple Uint8Arrays into one
7
+ */
8
+ export declare function concatenateUint8Arrays(arrays: Uint8Array[]): Uint8Array;
9
+ /**
10
+ * Check if two Uint8Arrays are equal
11
+ */
12
+ export declare function areUint8ArraysEqual(a: Uint8Array, b: Uint8Array): boolean;
13
+ /**
14
+ * Convert Uint8Array to binary string
15
+ */
16
+ export declare function uint8ArrayToBinaryStr(arr: Uint8Array): string;
17
+ /**
18
+ * Convert Uint8Array to DataView
19
+ */
20
+ export declare function uint8ArrayToDataView(arr: Uint8Array): DataView;
21
+ export { crypto, decryptWrappedRecord, encryptWrappedRecord, generateIV, makeTLSClient, setCryptoImplementation, CONTENT_TYPE_MAP, PACKET_TYPE, SUPPORTED_CIPHER_SUITE_MAP, SUPPORTED_NAMED_CURVES, } from '@reclaimprotocol/tls';
@@ -0,0 +1,71 @@
1
+ function asciiToUint8Array(str) {
2
+ const bytes = new Uint8Array(str.length);
3
+ for (let i = 0; i < str.length; i++) {
4
+ const charCode = str.charCodeAt(i);
5
+ if (charCode < 0 || charCode > 255) {
6
+ throw new Error(`Invalid ASCII character at index ${i}: ${str[i]}`);
7
+ }
8
+ bytes[i] = charCode;
9
+ }
10
+ return bytes;
11
+ }
12
+ function concatenateUint8Arrays(arrays) {
13
+ const totalLength = arrays.reduce((acc, curr) => acc + curr.length, 0);
14
+ const result = new Uint8Array(totalLength);
15
+ let offset = 0;
16
+ for (const arr of arrays) {
17
+ result.set(arr, offset);
18
+ offset += arr.length;
19
+ }
20
+ return result;
21
+ }
22
+ function areUint8ArraysEqual(a, b) {
23
+ if (a.length !== b.length) {
24
+ return false;
25
+ }
26
+ for (let i = 0; i < a.length; i++) {
27
+ if (a[i] !== b[i]) {
28
+ return false;
29
+ }
30
+ }
31
+ return true;
32
+ }
33
+ function uint8ArrayToBinaryStr(arr) {
34
+ let str = "";
35
+ for (const byte of arr) {
36
+ str += String.fromCharCode(byte);
37
+ }
38
+ return str;
39
+ }
40
+ function uint8ArrayToDataView(arr) {
41
+ return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
42
+ }
43
+ import {
44
+ crypto,
45
+ decryptWrappedRecord,
46
+ encryptWrappedRecord,
47
+ generateIV,
48
+ makeTLSClient,
49
+ setCryptoImplementation,
50
+ CONTENT_TYPE_MAP,
51
+ PACKET_TYPE,
52
+ SUPPORTED_CIPHER_SUITE_MAP,
53
+ SUPPORTED_NAMED_CURVES
54
+ } from "@reclaimprotocol/tls";
55
+ export {
56
+ CONTENT_TYPE_MAP,
57
+ PACKET_TYPE,
58
+ SUPPORTED_CIPHER_SUITE_MAP,
59
+ SUPPORTED_NAMED_CURVES,
60
+ areUint8ArraysEqual,
61
+ asciiToUint8Array,
62
+ concatenateUint8Arrays,
63
+ crypto,
64
+ decryptWrappedRecord,
65
+ encryptWrappedRecord,
66
+ generateIV,
67
+ makeTLSClient,
68
+ setCryptoImplementation,
69
+ uint8ArrayToBinaryStr,
70
+ uint8ArrayToDataView
71
+ };
@@ -1,2 +1,2 @@
1
- import { TLSConnectionOptions } from '@reclaimprotocol/tls';
1
+ import type { TLSConnectionOptions } from '@reclaimprotocol/tls';
2
2
  export declare function getDefaultTlsOptions(): TLSConnectionOptions;
package/lib/utils/tls.js CHANGED
@@ -1,32 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDefaultTlsOptions = getDefaultTlsOptions;
4
- const tls_1 = require("@reclaimprotocol/tls");
5
- const env_1 = require("../utils/env");
6
- // we only support the following cipher suites
7
- // for ZK proof generation
1
+ import { SUPPORTED_NAMED_CURVES } from "../utils/tls-imports.js";
2
+ import { detectEnvironment } from "../utils/env.js";
8
3
  const ZK_CIPHER_SUITES = [
9
- // chacha-20
10
- 'TLS_CHACHA20_POLY1305_SHA256',
11
- 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256',
12
- 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256',
13
- // aes-256
14
- 'TLS_AES_256_GCM_SHA384',
15
- 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384',
16
- 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',
17
- // aes-128
18
- 'TLS_AES_128_GCM_SHA256',
19
- 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256',
20
- 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',
4
+ // chacha-20
5
+ "TLS_CHACHA20_POLY1305_SHA256",
6
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
7
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
8
+ // aes-256
9
+ "TLS_AES_256_GCM_SHA384",
10
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
11
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
12
+ // aes-128
13
+ "TLS_AES_128_GCM_SHA256",
14
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
15
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
16
+ "TLS_RSA_WITH_AES_128_GCM_SHA256"
21
17
  ];
22
- const NAMED_CURVE_LIST = (0, env_1.detectEnvironment)() === 'node'
23
- ? tls_1.SUPPORTED_NAMED_CURVES
24
- // X25519 is not supported in the browser
25
- : tls_1.SUPPORTED_NAMED_CURVES.filter(c => c !== 'X25519');
18
+ const NAMED_CURVE_LIST = detectEnvironment() === "node" ? SUPPORTED_NAMED_CURVES : SUPPORTED_NAMED_CURVES.filter((c) => c !== "X25519");
19
+ TLS_ADDITIONAL_ROOT_CA_LIST.push(
20
+ `-----BEGIN CERTIFICATE-----
21
+ MIIEszCCA5ugAwIBAgIQCyWUIs7ZgSoVoE6ZUooO+jANBgkqhkiG9w0BAQsFADBh
22
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
23
+ d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
24
+ MjAeFw0xNzExMDIxMjI0MzNaFw0yNzExMDIxMjI0MzNaMGAxCzAJBgNVBAYTAlVT
25
+ MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
26
+ b20xHzAdBgNVBAMTFlJhcGlkU1NMIFRMUyBSU0EgQ0EgRzEwggEiMA0GCSqGSIb3
27
+ DQEBAQUAA4IBDwAwggEKAoIBAQC/uVklRBI1FuJdUEkFCuDL/I3aJQiaZ6aibRHj
28
+ ap/ap9zy1aYNrphe7YcaNwMoPsZvXDR+hNJOo9gbgOYVTPq8gXc84I75YKOHiVA4
29
+ NrJJQZ6p2sJQyqx60HkEIjzIN+1LQLfXTlpuznToOa1hyTD0yyitFyOYwURM+/CI
30
+ 8FNFMpBhw22hpeAQkOOLmsqT5QZJYeik7qlvn8gfD+XdDnk3kkuuu0eG+vuyrSGr
31
+ 5uX5LRhFWlv1zFQDch/EKmd163m6z/ycx/qLa9zyvILc7cQpb+k7TLra9WE17YPS
32
+ n9ANjG+ECo9PDW3N9lwhKQCNvw1gGoguyCQu7HE7BnW8eSSFAgMBAAGjggFmMIIB
33
+ YjAdBgNVHQ4EFgQUDNtsgkkPSmcKuBTuesRIUojrVjgwHwYDVR0jBBgwFoAUTiJU
34
+ IBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsG
35
+ AQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMDQGCCsGAQUFBwEB
36
+ BCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEIGA1Ud
37
+ HwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEds
38
+ b2JhbFJvb3RHMi5jcmwwYwYDVR0gBFwwWjA3BglghkgBhv1sAQEwKjAoBggrBgEF
39
+ BQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzALBglghkgBhv1sAQIw
40
+ CAYGZ4EMAQIBMAgGBmeBDAECAjANBgkqhkiG9w0BAQsFAAOCAQEAGUSlOb4K3Wtm
41
+ SlbmE50UYBHXM0SKXPqHMzk6XQUpCheF/4qU8aOhajsyRQFDV1ih/uPIg7YHRtFi
42
+ CTq4G+zb43X1T77nJgSOI9pq/TqCwtukZ7u9VLL3JAq3Wdy2moKLvvC8tVmRzkAe
43
+ 0xQCkRKIjbBG80MSyDX/R4uYgj6ZiNT/Zg6GI6RofgqgpDdssLc0XIRQEotxIZcK
44
+ zP3pGJ9FCbMHmMLLyuBd+uCWvVcF2ogYAawufChS/PT61D9rqzPRS5I2uqa3tmIT
45
+ 44JhJgWhBnFMb7AGQkvNq9KNS9dd3GWc17H/dXa1enoxzWjE0hBdFjxPhUb0W3wi
46
+ 8o34/m8Fxw==
47
+ -----END CERTIFICATE-----`
48
+ //RapidSSL TLS RSA CA G1
49
+ );
26
50
  function getDefaultTlsOptions() {
27
- return {
28
- cipherSuites: ZK_CIPHER_SUITES,
29
- namedCurves: NAMED_CURVE_LIST,
30
- };
51
+ return {
52
+ cipherSuites: ZK_CIPHER_SUITES,
53
+ namedCurves: NAMED_CURVE_LIST
54
+ };
31
55
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3Rscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXlCQSxvREFLQztBQTlCRCw4Q0FBZ0c7QUFDaEcsdUNBQWlEO0FBRWpELDhDQUE4QztBQUM5QywwQkFBMEI7QUFDMUIsTUFBTSxnQkFBZ0IsR0FBa0I7SUFDdkMsWUFBWTtJQUNaLDhCQUE4QjtJQUM5Qiw2Q0FBNkM7SUFDN0MsK0NBQStDO0lBQy9DLFVBQVU7SUFDVix3QkFBd0I7SUFDeEIseUNBQXlDO0lBQ3pDLHVDQUF1QztJQUN2QyxVQUFVO0lBQ1Ysd0JBQXdCO0lBQ3hCLHlDQUF5QztJQUN6Qyx1Q0FBdUM7Q0FDdkMsQ0FBQTtBQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx1QkFBaUIsR0FBRSxLQUFLLE1BQU07SUFDdEQsQ0FBQyxDQUFDLDRCQUFzQjtJQUN4Qix5Q0FBeUM7SUFDekMsQ0FBQyxDQUFDLDRCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQTtBQUVyRCxTQUFnQixvQkFBb0I7SUFDbkMsT0FBTztRQUNOLFlBQVksRUFBRSxnQkFBZ0I7UUFDOUIsV0FBVyxFQUFFLGdCQUFnQjtLQUM3QixDQUFBO0FBQ0YsQ0FBQyJ9
56
+ export {
57
+ getDefaultTlsOptions
58
+ };
package/lib/utils/ws.d.ts CHANGED
@@ -1,10 +1,5 @@
1
1
  import type { WebSocket as WSWebSocket } from 'ws';
2
- /**
3
- * Default WebSocket implementation, uses `ws` package
4
- * for Node.js and the native WebSocket for the browser & other
5
- * environments.
6
- */
7
- export declare function makeWebSocket(url: string): WebSocket | WSWebSocket;
2
+ export declare function makeWebSocket(url: string): WebSocket;
8
3
  /**
9
4
  * Adds the "sendPromise" fn to the given WebSocket instance,
10
5
  * if not already present.
package/lib/utils/ws.js CHANGED
@@ -1,38 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeWebSocket = makeWebSocket;
4
- exports.promisifySend = promisifySend;
5
- const config_1 = require("../config");
6
- const env_1 = require("../utils/env");
7
- /**
8
- * Default WebSocket implementation, uses `ws` package
9
- * for Node.js and the native WebSocket for the browser & other
10
- * environments.
11
- */
12
1
  function makeWebSocket(url) {
13
- if ((0, env_1.detectEnvironment)() === 'node') {
14
- const ws = require('ws');
15
- return promisifySend(new ws.WebSocket(url, { maxPayload: config_1.MAX_PAYLOAD_SIZE }));
16
- }
17
- return new WebSocket(url);
2
+ return new WebSocket(url);
18
3
  }
19
- /**
20
- * Adds the "sendPromise" fn to the given WebSocket instance,
21
- * if not already present.
22
- */
23
4
  function promisifySend(ws) {
24
- if (ws.sendPromise) {
25
- return ws;
26
- }
27
- ws.sendPromise = (data) => (new Promise((resolve, reject) => {
28
- ws.send(data, err => {
29
- if (err) {
30
- reject(err);
31
- return;
32
- }
33
- resolve();
34
- });
35
- }));
5
+ if (ws.sendPromise) {
36
6
  return ws;
7
+ }
8
+ ws.sendPromise = (data) => new Promise((resolve, reject) => {
9
+ ws.send(data, (err) => {
10
+ if (err) {
11
+ reject(err);
12
+ return;
13
+ }
14
+ resolve();
15
+ });
16
+ });
17
+ return ws;
37
18
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTQSxzQ0FTQztBQU1ELHNDQW1CQztBQTNDRCx1Q0FBNkM7QUFDN0MsdUNBQWlEO0FBR2pEOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUMsR0FBVztJQUN4QyxJQUFHLElBQUEsdUJBQWlCLEdBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUF3QixDQUFBO1FBQy9DLE9BQU8sYUFBYSxDQUNuQixJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLHlCQUFnQixFQUFFLENBQUMsQ0FDdkQsQ0FBQTtJQUNGLENBQUM7SUFFRCxPQUFPLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzFCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixhQUFhLENBQUMsRUFBZTtJQUM1QyxJQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQTtJQUNWLENBQUM7SUFFRCxFQUFFLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUMxQixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUMvQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNuQixJQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUNSLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDWCxPQUFNO1lBQ1AsQ0FBQztZQUVELE9BQU8sRUFBRSxDQUFBO1FBQ1YsQ0FBQyxDQUFDLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FDRixDQUFBO0lBRUQsT0FBTyxFQUFFLENBQUE7QUFDVixDQUFDIn0=
19
+ export {
20
+ makeWebSocket,
21
+ promisifySend
22
+ };