@joclaim/attestor-core 0.2.0 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/README.md +21 -15
  2. package/lib/avs/abis/avsDirectoryABI.d.ts +60 -0
  3. package/lib/avs/abis/avsDirectoryABI.js +340 -0
  4. package/lib/avs/abis/delegationABI.d.ts +126 -0
  5. package/lib/avs/abis/delegationABI.js +1 -0
  6. package/lib/avs/abis/registryABI.d.ts +136 -0
  7. package/lib/avs/abis/registryABI.js +725 -0
  8. package/lib/avs/client/create-claim-on-avs.d.ts +12 -0
  9. package/lib/avs/client/create-claim-on-avs.js +138 -0
  10. package/lib/avs/config.d.ts +7 -0
  11. package/lib/avs/config.js +20 -0
  12. package/lib/avs/contracts/ReclaimServiceManager.d.ts +697 -0
  13. package/lib/avs/contracts/ReclaimServiceManager.js +1 -0
  14. package/lib/avs/contracts/common.d.ts +21 -0
  15. package/lib/avs/contracts/common.js +1 -0
  16. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +888 -0
  17. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +1169 -0
  18. package/lib/avs/contracts/factories/index.d.ts +1 -0
  19. package/{src/avs/contracts/factories/index.ts → lib/avs/contracts/factories/index.js} +1 -1
  20. package/{src/avs/contracts/index.ts → lib/avs/contracts/index.d.ts} +0 -3
  21. package/lib/avs/contracts/index.js +2 -0
  22. package/lib/avs/types/index.d.ts +55 -0
  23. package/lib/avs/types/index.js +1 -0
  24. package/lib/avs/utils/contracts.d.ts +21 -0
  25. package/lib/avs/utils/contracts.js +33 -0
  26. package/lib/avs/utils/register.d.ts +27 -0
  27. package/lib/avs/utils/register.js +78 -0
  28. package/lib/avs/utils/tasks.d.ts +22 -0
  29. package/lib/avs/utils/tasks.js +40 -0
  30. package/lib/client/create-claim.d.ts +5 -0
  31. package/lib/client/create-claim.js +437 -0
  32. package/lib/client/index.d.ts +3 -0
  33. package/lib/client/index.js +3 -0
  34. package/lib/client/tunnels/make-rpc-tcp-tunnel.d.ts +16 -0
  35. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +51 -0
  36. package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +26 -0
  37. package/lib/client/tunnels/make-rpc-tls-tunnel.js +131 -0
  38. package/lib/client/utils/attestor-pool.d.ts +8 -0
  39. package/lib/client/utils/attestor-pool.js +25 -0
  40. package/lib/client/utils/client-socket.d.ts +11 -0
  41. package/lib/client/utils/client-socket.js +98 -0
  42. package/lib/client/utils/message-handler.d.ts +4 -0
  43. package/lib/client/utils/message-handler.js +87 -0
  44. package/lib/config/index.d.ts +30 -0
  45. package/lib/config/index.js +43 -0
  46. package/lib/external-rpc/benchmark.d.ts +1 -0
  47. package/lib/external-rpc/benchmark.js +69 -0
  48. package/lib/external-rpc/event-bus.d.ts +7 -0
  49. package/lib/external-rpc/event-bus.js +14 -0
  50. package/lib/external-rpc/handle-incoming-msg.d.ts +2 -0
  51. package/lib/external-rpc/handle-incoming-msg.js +233 -0
  52. package/lib/external-rpc/index.d.ts +3 -0
  53. package/lib/external-rpc/index.js +3 -0
  54. package/lib/external-rpc/jsc-polyfills/1.d.ts +14 -0
  55. package/lib/external-rpc/jsc-polyfills/1.js +82 -0
  56. package/lib/external-rpc/jsc-polyfills/2.d.ts +1 -0
  57. package/lib/external-rpc/jsc-polyfills/2.js +20 -0
  58. package/lib/external-rpc/jsc-polyfills/event.d.ts +10 -0
  59. package/lib/external-rpc/jsc-polyfills/event.js +14 -0
  60. package/lib/external-rpc/jsc-polyfills/index.d.ts +2 -0
  61. package/lib/external-rpc/jsc-polyfills/index.js +2 -0
  62. package/lib/external-rpc/jsc-polyfills/ws.d.ts +21 -0
  63. package/lib/external-rpc/jsc-polyfills/ws.js +81 -0
  64. package/lib/external-rpc/setup-browser.d.ts +6 -0
  65. package/lib/external-rpc/setup-browser.js +33 -0
  66. package/lib/external-rpc/setup-jsc.d.ts +24 -0
  67. package/lib/external-rpc/setup-jsc.js +22 -0
  68. package/lib/external-rpc/types.d.ts +213 -0
  69. package/lib/external-rpc/types.js +1 -0
  70. package/lib/external-rpc/utils.d.ts +20 -0
  71. package/lib/external-rpc/utils.js +100 -0
  72. package/lib/external-rpc/zk.d.ts +14 -0
  73. package/lib/external-rpc/zk.js +63 -0
  74. package/lib/index.d.ts +9 -0
  75. package/lib/index.js +9 -0
  76. package/lib/mechain/abis/governanceABI.d.ts +50 -0
  77. package/lib/mechain/abis/governanceABI.js +458 -0
  78. package/lib/mechain/abis/taskABI.d.ts +157 -0
  79. package/lib/mechain/abis/taskABI.js +509 -0
  80. package/lib/mechain/client/create-claim-on-mechain.d.ts +10 -0
  81. package/lib/mechain/client/create-claim-on-mechain.js +28 -0
  82. package/lib/mechain/client/index.d.ts +1 -0
  83. package/lib/mechain/client/index.js +1 -0
  84. package/lib/mechain/constants/index.d.ts +3 -0
  85. package/{src/mechain/constants/index.ts → lib/mechain/constants/index.js} +3 -5
  86. package/lib/mechain/index.d.ts +2 -0
  87. package/lib/mechain/index.js +2 -0
  88. package/lib/mechain/types/index.d.ts +23 -0
  89. package/lib/mechain/types/index.js +1 -0
  90. package/lib/proto/api.d.ts +633 -0
  91. package/lib/proto/api.js +4258 -0
  92. package/lib/proto/tee-bundle.d.ts +135 -0
  93. package/lib/proto/tee-bundle.js +1161 -0
  94. package/lib/providers/http/index.d.ts +18 -0
  95. package/lib/providers/http/index.js +658 -0
  96. package/lib/providers/http/patch-parse5-tree.d.ts +6 -0
  97. package/lib/providers/http/patch-parse5-tree.js +33 -0
  98. package/lib/providers/http/utils.d.ts +77 -0
  99. package/lib/providers/http/utils.js +324 -0
  100. package/lib/providers/index.d.ts +4 -0
  101. package/lib/providers/index.js +4 -0
  102. package/lib/scripts/build-browser.d.ts +1 -0
  103. package/lib/scripts/build-browser.js +37 -0
  104. package/lib/scripts/build-jsc.d.ts +1 -0
  105. package/lib/scripts/build-jsc.js +49 -0
  106. package/lib/scripts/check-avs-registration.d.ts +1 -0
  107. package/lib/scripts/check-avs-registration.js +26 -0
  108. package/lib/scripts/fallbacks/crypto.d.ts +1 -0
  109. package/lib/scripts/fallbacks/crypto.js +1 -0
  110. package/lib/scripts/fallbacks/empty.d.ts +3 -0
  111. package/lib/scripts/fallbacks/empty.js +1 -0
  112. package/lib/scripts/fallbacks/re2.d.ts +1 -0
  113. package/lib/scripts/fallbacks/re2.js +4 -0
  114. package/lib/scripts/fallbacks/snarkjs.d.ts +1 -0
  115. package/lib/scripts/fallbacks/snarkjs.js +1 -0
  116. package/lib/scripts/generate-provider-types.d.ts +5 -0
  117. package/lib/scripts/generate-provider-types.js +78 -0
  118. package/lib/scripts/generate-receipt.d.ts +9 -0
  119. package/lib/scripts/generate-receipt.js +90 -0
  120. package/lib/scripts/generate-toprf-keys.d.ts +1 -0
  121. package/lib/scripts/generate-toprf-keys.js +20 -0
  122. package/lib/scripts/jsc-cli-rpc.d.ts +1 -0
  123. package/lib/scripts/jsc-cli-rpc.js +37 -0
  124. package/lib/scripts/register-avs-operator.d.ts +1 -0
  125. package/lib/scripts/register-avs-operator.js +4 -0
  126. package/lib/scripts/start-server.d.ts +1 -0
  127. package/lib/scripts/start-server.js +13 -0
  128. package/lib/scripts/update-avs-metadata.d.ts +1 -0
  129. package/lib/scripts/update-avs-metadata.js +19 -0
  130. package/lib/scripts/utils.d.ts +1 -0
  131. package/lib/scripts/utils.js +7 -0
  132. package/lib/scripts/whitelist-operator.d.ts +1 -0
  133. package/lib/scripts/whitelist-operator.js +15 -0
  134. package/lib/server/create-server.d.ts +7 -0
  135. package/lib/server/create-server.js +122 -0
  136. package/lib/server/handlers/claimTeeBundle.d.ts +6 -0
  137. package/lib/server/handlers/claimTeeBundle.js +206 -0
  138. package/lib/server/handlers/claimTunnel.d.ts +2 -0
  139. package/lib/server/handlers/claimTunnel.js +73 -0
  140. package/lib/server/handlers/completeClaimOnChain.d.ts +2 -0
  141. package/lib/server/handlers/completeClaimOnChain.js +22 -0
  142. package/lib/server/handlers/createClaimOnChain.d.ts +2 -0
  143. package/lib/server/handlers/createClaimOnChain.js +26 -0
  144. package/lib/server/handlers/createTaskOnMechain.d.ts +2 -0
  145. package/lib/server/handlers/createTaskOnMechain.js +47 -0
  146. package/lib/server/handlers/createTunnel.d.ts +2 -0
  147. package/lib/server/handlers/createTunnel.js +93 -0
  148. package/lib/server/handlers/disconnectTunnel.d.ts +2 -0
  149. package/lib/server/handlers/disconnectTunnel.js +5 -0
  150. package/lib/server/handlers/fetchCertificateBytes.d.ts +2 -0
  151. package/lib/server/handlers/fetchCertificateBytes.js +41 -0
  152. package/lib/server/handlers/index.d.ts +4 -0
  153. package/lib/server/handlers/index.js +22 -0
  154. package/lib/server/handlers/init.d.ts +2 -0
  155. package/lib/server/handlers/init.js +30 -0
  156. package/lib/server/handlers/toprf.d.ts +2 -0
  157. package/lib/server/handlers/toprf.js +16 -0
  158. package/lib/server/index.d.ts +4 -0
  159. package/lib/server/index.js +4 -0
  160. package/lib/server/provider-api.d.ts +9 -0
  161. package/lib/server/provider-api.js +98 -0
  162. package/lib/server/provider-store.d.ts +53 -0
  163. package/lib/server/provider-store.js +80 -0
  164. package/lib/server/session-api.d.ts +9 -0
  165. package/lib/server/session-api.js +95 -0
  166. package/lib/server/session-store.d.ts +14 -0
  167. package/lib/server/session-store.js +36 -0
  168. package/lib/server/socket.d.ts +13 -0
  169. package/lib/server/socket.js +109 -0
  170. package/lib/server/tunnels/make-tcp-tunnel.d.ts +22 -0
  171. package/lib/server/tunnels/make-tcp-tunnel.js +177 -0
  172. package/lib/server/utils/apm.d.ts +11 -0
  173. package/lib/server/utils/apm.js +36 -0
  174. package/lib/server/utils/assert-valid-claim-request.d.ts +31 -0
  175. package/lib/server/utils/assert-valid-claim-request.js +229 -0
  176. package/lib/server/utils/config-env.d.ts +1 -0
  177. package/lib/server/utils/config-env.js +4 -0
  178. package/lib/server/utils/dns.d.ts +1 -0
  179. package/lib/server/utils/dns.js +18 -0
  180. package/lib/server/utils/gcp-attestation.d.ts +17 -0
  181. package/lib/server/utils/gcp-attestation.js +289 -0
  182. package/lib/server/utils/generics.d.ts +22 -0
  183. package/lib/server/utils/generics.js +51 -0
  184. package/lib/server/utils/iso.d.ts +1 -0
  185. package/lib/server/utils/iso.js +256 -0
  186. package/lib/server/utils/keep-alive.d.ts +7 -0
  187. package/lib/server/utils/keep-alive.js +38 -0
  188. package/lib/server/utils/nitro-attestation.d.ts +33 -0
  189. package/lib/server/utils/nitro-attestation.js +325 -0
  190. package/lib/server/utils/process-handshake.d.ts +13 -0
  191. package/lib/server/utils/process-handshake.js +214 -0
  192. package/lib/server/utils/proxy-session.d.ts +1 -0
  193. package/lib/server/utils/proxy-session.js +6 -0
  194. package/lib/server/utils/tee-oprf-verification.d.ts +22 -0
  195. package/lib/server/utils/tee-oprf-verification.js +160 -0
  196. package/lib/server/utils/tee-transcript-reconstruction.d.ts +24 -0
  197. package/lib/server/utils/tee-transcript-reconstruction.js +187 -0
  198. package/lib/server/utils/tee-verification.d.ts +27 -0
  199. package/lib/server/utils/tee-verification.js +365 -0
  200. package/lib/server/utils/validation.d.ts +2 -0
  201. package/lib/server/utils/validation.js +38 -0
  202. package/lib/types/bgp.d.ts +11 -0
  203. package/lib/types/bgp.js +1 -0
  204. package/lib/types/claims.d.ts +73 -0
  205. package/lib/types/claims.js +1 -0
  206. package/lib/types/client.d.ts +163 -0
  207. package/lib/types/client.js +1 -0
  208. package/lib/types/general.d.ts +54 -0
  209. package/lib/types/general.js +1 -0
  210. package/lib/types/handlers.d.ts +10 -0
  211. package/lib/types/handlers.js +1 -0
  212. package/lib/types/index.d.ts +10 -0
  213. package/lib/types/index.js +10 -0
  214. package/lib/types/providers.d.ts +161 -0
  215. package/lib/types/providers.gen.d.ts +443 -0
  216. package/lib/types/providers.gen.js +10 -0
  217. package/lib/types/providers.js +1 -0
  218. package/lib/types/rpc.d.ts +35 -0
  219. package/lib/types/rpc.js +1 -0
  220. package/lib/types/signatures.d.ts +28 -0
  221. package/lib/types/signatures.js +1 -0
  222. package/lib/types/tunnel.d.ts +18 -0
  223. package/lib/types/tunnel.js +1 -0
  224. package/lib/types/zk.d.ts +28 -0
  225. package/lib/types/zk.js +1 -0
  226. package/lib/utils/auth.d.ts +8 -0
  227. package/lib/utils/auth.js +59 -0
  228. package/lib/utils/b64-json.d.ts +2 -0
  229. package/lib/utils/b64-json.js +17 -0
  230. package/lib/utils/bgp-listener.d.ts +7 -0
  231. package/lib/utils/bgp-listener.js +119 -0
  232. package/lib/utils/claims.d.ts +33 -0
  233. package/lib/utils/claims.js +101 -0
  234. package/lib/utils/env.d.ts +3 -0
  235. package/lib/utils/env.js +15 -0
  236. package/lib/utils/error.d.ts +26 -0
  237. package/lib/utils/error.js +50 -0
  238. package/lib/utils/generics.d.ts +114 -0
  239. package/lib/utils/generics.js +317 -0
  240. package/lib/utils/http-parser.d.ts +59 -0
  241. package/lib/utils/http-parser.js +246 -0
  242. package/lib/utils/index.d.ts +13 -0
  243. package/lib/utils/index.js +13 -0
  244. package/lib/utils/logger.d.ts +13 -0
  245. package/lib/utils/logger.js +91 -0
  246. package/lib/utils/prepare-packets.d.ts +16 -0
  247. package/lib/utils/prepare-packets.js +62 -0
  248. package/lib/utils/redactions.d.ts +62 -0
  249. package/lib/utils/redactions.js +148 -0
  250. package/lib/utils/retries.d.ts +12 -0
  251. package/lib/utils/retries.js +24 -0
  252. package/lib/utils/signatures/eth.d.ts +2 -0
  253. package/lib/utils/signatures/eth.js +29 -0
  254. package/lib/utils/signatures/index.d.ts +5 -0
  255. package/lib/utils/signatures/index.js +7 -0
  256. package/lib/utils/socket-base.d.ts +23 -0
  257. package/lib/utils/socket-base.js +90 -0
  258. package/lib/utils/tls.d.ts +2 -0
  259. package/{src/utils/tls.ts → lib/utils/tls.js} +28 -35
  260. package/lib/utils/ws.d.ts +7 -0
  261. package/lib/utils/ws.js +22 -0
  262. package/lib/utils/zk.d.ts +70 -0
  263. package/lib/utils/zk.js +572 -0
  264. package/package.json +19 -12
  265. package/src/avs/abis/avsDirectoryABI.ts +0 -340
  266. package/src/avs/abis/delegationABI.ts +0 -1
  267. package/src/avs/abis/registryABI.ts +0 -725
  268. package/src/avs/client/create-claim-on-avs.ts +0 -206
  269. package/src/avs/config.ts +0 -25
  270. package/src/avs/contracts/ReclaimServiceManager.ts +0 -1457
  271. package/src/avs/contracts/common.ts +0 -44
  272. package/src/avs/contracts/factories/ReclaimServiceManager__factory.ts +0 -1213
  273. package/src/avs/tests/test.operator.ts +0 -413
  274. package/src/avs/tests/utils.ts +0 -51
  275. package/src/avs/types/index.ts +0 -60
  276. package/src/avs/utils/contracts.ts +0 -66
  277. package/src/avs/utils/register.ts +0 -125
  278. package/src/avs/utils/tasks.ts +0 -76
  279. package/src/client/create-claim.ts +0 -626
  280. package/src/client/index.ts +0 -3
  281. package/src/client/tunnels/make-rpc-tcp-tunnel.ts +0 -78
  282. package/src/client/tunnels/make-rpc-tls-tunnel.ts +0 -172
  283. package/src/client/utils/attestor-pool.ts +0 -35
  284. package/src/client/utils/client-socket.ts +0 -160
  285. package/src/client/utils/message-handler.ts +0 -116
  286. package/src/config/index.ts +0 -65
  287. package/src/external-rpc/benchmark.ts +0 -102
  288. package/src/external-rpc/event-bus.ts +0 -19
  289. package/src/external-rpc/global.d.ts +0 -20
  290. package/src/external-rpc/handle-incoming-msg.ts +0 -308
  291. package/src/external-rpc/index.ts +0 -3
  292. package/src/external-rpc/jsc-polyfills/1.ts +0 -117
  293. package/src/external-rpc/jsc-polyfills/2.ts +0 -24
  294. package/src/external-rpc/jsc-polyfills/event.ts +0 -16
  295. package/src/external-rpc/jsc-polyfills/index.ts +0 -2
  296. package/src/external-rpc/jsc-polyfills/ws.ts +0 -105
  297. package/src/external-rpc/setup-browser.ts +0 -42
  298. package/src/external-rpc/setup-jsc.ts +0 -48
  299. package/src/external-rpc/types.ts +0 -289
  300. package/src/external-rpc/utils.ts +0 -126
  301. package/src/external-rpc/zk.ts +0 -79
  302. package/src/index.ts +0 -9
  303. package/src/mechain/abis/governanceABI.ts +0 -458
  304. package/src/mechain/abis/taskABI.ts +0 -509
  305. package/src/mechain/client/create-claim-on-mechain.ts +0 -52
  306. package/src/mechain/client/index.ts +0 -1
  307. package/src/mechain/index.ts +0 -2
  308. package/src/mechain/types/index.ts +0 -29
  309. package/src/proto/api.ts +0 -5285
  310. package/src/proto/tee-bundle.ts +0 -1413
  311. package/src/providers/http/index.ts +0 -873
  312. package/src/providers/http/patch-parse5-tree.ts +0 -49
  313. package/src/providers/http/utils.ts +0 -439
  314. package/src/providers/index.ts +0 -8
  315. package/src/scripts/build-browser.sh +0 -9
  316. package/src/scripts/build-browser.ts +0 -40
  317. package/src/scripts/build-jsc.ts +0 -55
  318. package/src/scripts/check-avs-registration.ts +0 -38
  319. package/src/scripts/contract-data-gen.sh +0 -8
  320. package/src/scripts/fallbacks/crypto.ts +0 -1
  321. package/src/scripts/fallbacks/empty.ts +0 -2
  322. package/src/scripts/fallbacks/re2.ts +0 -5
  323. package/src/scripts/fallbacks/snarkjs.ts +0 -5
  324. package/src/scripts/generate-certs.sh +0 -11
  325. package/src/scripts/generate-proto.sh +0 -5
  326. package/src/scripts/generate-provider-types.ts +0 -121
  327. package/src/scripts/generate-receipt.ts +0 -138
  328. package/src/scripts/generate-toprf-keys.ts +0 -30
  329. package/src/scripts/jsc-cli-rpc.ts +0 -48
  330. package/src/scripts/register-avs-operator.ts +0 -5
  331. package/src/scripts/start-server.ts +0 -17
  332. package/src/scripts/update-avs-metadata.ts +0 -26
  333. package/src/scripts/utils.ts +0 -8
  334. package/src/scripts/whitelist-operator.ts +0 -22
  335. package/src/server/create-server.ts +0 -169
  336. package/src/server/handlers/claimTeeBundle.ts +0 -308
  337. package/src/server/handlers/claimTunnel.ts +0 -106
  338. package/src/server/handlers/completeClaimOnChain.ts +0 -36
  339. package/src/server/handlers/createClaimOnChain.ts +0 -39
  340. package/src/server/handlers/createTaskOnMechain.ts +0 -80
  341. package/src/server/handlers/createTunnel.ts +0 -128
  342. package/src/server/handlers/disconnectTunnel.ts +0 -11
  343. package/src/server/handlers/fetchCertificateBytes.ts +0 -66
  344. package/src/server/handlers/index.ts +0 -24
  345. package/src/server/handlers/init.ts +0 -46
  346. package/src/server/handlers/toprf.ts +0 -25
  347. package/src/server/index.ts +0 -4
  348. package/src/server/provider-api.ts +0 -118
  349. package/src/server/provider-store.ts +0 -117
  350. package/src/server/session-api.ts +0 -115
  351. package/src/server/session-store.ts +0 -60
  352. package/src/server/socket.ts +0 -156
  353. package/src/server/tunnels/make-tcp-tunnel.ts +0 -275
  354. package/src/server/utils/apm.ts +0 -49
  355. package/src/server/utils/assert-valid-claim-request.ts +0 -375
  356. package/src/server/utils/config-env.ts +0 -6
  357. package/src/server/utils/dns.ts +0 -25
  358. package/src/server/utils/gcp-attestation.ts +0 -415
  359. package/src/server/utils/generics.ts +0 -68
  360. package/src/server/utils/iso.ts +0 -258
  361. package/src/server/utils/keep-alive.ts +0 -50
  362. package/src/server/utils/nitro-attestation.ts +0 -396
  363. package/src/server/utils/process-handshake.ts +0 -311
  364. package/src/server/utils/proxy-session.ts +0 -6
  365. package/src/server/utils/tee-oprf-verification.ts +0 -231
  366. package/src/server/utils/tee-transcript-reconstruction.ts +0 -254
  367. package/src/server/utils/tee-verification.ts +0 -513
  368. package/src/server/utils/validation.ts +0 -57
  369. package/src/tests/auth.test.ts +0 -105
  370. package/src/tests/bgp-listener.test.ts +0 -193
  371. package/src/tests/claim-creation.test.ts +0 -415
  372. package/src/tests/describe-with-server.ts +0 -94
  373. package/src/tests/gcp-attestation.test.ts +0 -206
  374. package/src/tests/http-parser.test.ts +0 -135
  375. package/src/tests/http-provider-utils.test.ts +0 -3306
  376. package/src/tests/http-provider.test.ts +0 -125
  377. package/src/tests/jsc.test_mac.ts +0 -296
  378. package/src/tests/mock-provider-server.ts +0 -106
  379. package/src/tests/mocks.ts +0 -25
  380. package/src/tests/proof_bundle.bin +0 -0
  381. package/src/tests/rpc-communication.test.ts +0 -115
  382. package/src/tests/rpc-tunnel.test.ts +0 -239
  383. package/src/tests/signatures.test.ts +0 -37
  384. package/src/tests/tcp-tunnel.test.ts +0 -154
  385. package/src/tests/tee-bundle.test.ts +0 -321
  386. package/src/tests/tee-signatures.test.ts +0 -81
  387. package/src/tests/utils.ts +0 -108
  388. package/src/tests/verification_bundle.pb +0 -0
  389. package/src/tests/verification_bundle_tee.pb +0 -0
  390. package/src/tests/zk.test.ts +0 -453
  391. package/src/types/bgp.ts +0 -17
  392. package/src/types/claims.ts +0 -79
  393. package/src/types/client.ts +0 -205
  394. package/src/types/general.ts +0 -61
  395. package/src/types/handlers.ts +0 -16
  396. package/src/types/index.ts +0 -10
  397. package/src/types/providers.gen.ts +0 -135
  398. package/src/types/providers.ts +0 -203
  399. package/src/types/rpc.ts +0 -46
  400. package/src/types/signatures.ts +0 -29
  401. package/src/types/tunnel.ts +0 -25
  402. package/src/types/zk.ts +0 -31
  403. package/src/utils/auth.ts +0 -92
  404. package/src/utils/b64-json.ts +0 -25
  405. package/src/utils/bgp-listener.ts +0 -159
  406. package/src/utils/claims.ts +0 -132
  407. package/src/utils/env.ts +0 -21
  408. package/src/utils/error.ts +0 -76
  409. package/src/utils/generics.ts +0 -429
  410. package/src/utils/http-parser.ts +0 -312
  411. package/src/utils/index.ts +0 -13
  412. package/src/utils/logger.ts +0 -114
  413. package/src/utils/prepare-packets.ts +0 -98
  414. package/src/utils/redactions.ts +0 -203
  415. package/src/utils/retries.ts +0 -41
  416. package/src/utils/signatures/eth.ts +0 -35
  417. package/src/utils/signatures/index.ts +0 -11
  418. package/src/utils/socket-base.ts +0 -132
  419. package/src/utils/ws.ts +0 -30
  420. package/src/utils/zk.ts +0 -908
@@ -0,0 +1 @@
1
+ export * from "./create-claim-on-mechain.js";
@@ -0,0 +1,3 @@
1
+ export declare const TASK_CONTRACT_ADDRESS = "0xB51FCb41fF11e0445600f63D8c38f955DcCB0B2c";
2
+ export declare const GOVERNANCE_CONTRACT_ADDRESS = "0x4A79C4fBe6c2F849D0fD4da8c24214491BaF41cd";
3
+ export declare const RPC_URL = "https://testnet-rpc.mechain.tech";
@@ -1,5 +1,3 @@
1
- export const TASK_CONTRACT_ADDRESS = '0xB51FCb41fF11e0445600f63D8c38f955DcCB0B2c'
2
-
3
- export const GOVERNANCE_CONTRACT_ADDRESS = '0x4A79C4fBe6c2F849D0fD4da8c24214491BaF41cd'
4
-
5
- export const RPC_URL = 'https://testnet-rpc.mechain.tech'
1
+ export const TASK_CONTRACT_ADDRESS = '0xB51FCb41fF11e0445600f63D8c38f955DcCB0B2c';
2
+ export const GOVERNANCE_CONTRACT_ADDRESS = '0x4A79C4fBe6c2F849D0fD4da8c24214491BaF41cd';
3
+ export const RPC_URL = 'https://testnet-rpc.mechain.tech';
@@ -0,0 +1,2 @@
1
+ export * from './client/index.ts';
2
+ export * from './types/index.ts';
@@ -0,0 +1,2 @@
1
+ export * from "./client/index.js";
2
+ export * from "./types/index.js";
@@ -0,0 +1,23 @@
1
+ import type { createClaimOnAttestor } from '../../client/index.js';
2
+ import type { CreateClaimOnAttestorOpts, ProviderName } from '../../types/index.js';
3
+ export type CreateClaimOnMechainStep = {
4
+ type: 'taskRequested';
5
+ timestamp: number;
6
+ } | {
7
+ type: 'taskCreated';
8
+ taskId: number;
9
+ } | {
10
+ type: 'attestorRequested';
11
+ host: string;
12
+ };
13
+ export type DefaultClient = {
14
+ url: string;
15
+ };
16
+ export type CreateClaimOnMechainOpts<N extends ProviderName> = (Omit<CreateClaimOnAttestorOpts<N>, 'onStep' | 'client'>) & {
17
+ onStep?(step: CreateClaimOnMechainStep): void;
18
+ /**
19
+ * Override the default createClaimOnAttestor function
20
+ */
21
+ createClaimOnAttestor?: typeof createClaimOnAttestor;
22
+ client: DefaultClient;
23
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,633 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ export declare const protobufPackage = "reclaim_attestor";
3
+ export declare const TranscriptMessageSenderType: {
4
+ readonly TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN: 0;
5
+ readonly TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT: 1;
6
+ readonly TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER: 2;
7
+ readonly UNRECOGNIZED: -1;
8
+ };
9
+ export type TranscriptMessageSenderType = typeof TranscriptMessageSenderType[keyof typeof TranscriptMessageSenderType];
10
+ export declare namespace TranscriptMessageSenderType {
11
+ type TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN = typeof TranscriptMessageSenderType.TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN;
12
+ type TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT = typeof TranscriptMessageSenderType.TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT;
13
+ type TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER = typeof TranscriptMessageSenderType.TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER;
14
+ type UNRECOGNIZED = typeof TranscriptMessageSenderType.UNRECOGNIZED;
15
+ }
16
+ export declare function transcriptMessageSenderTypeFromJSON(object: any): TranscriptMessageSenderType;
17
+ export declare function transcriptMessageSenderTypeToJSON(object: TranscriptMessageSenderType): string;
18
+ export declare const ServiceSignatureType: {
19
+ readonly SERVICE_SIGNATURE_TYPE_UNKNOWN: 0;
20
+ /**
21
+ * SERVICE_SIGNATURE_TYPE_ETH - ETH keys & signature
22
+ * keys: secp256k1
23
+ * signature: ethereum flavor of ECDSA (https://goethereumbook.org/signature-generate/)
24
+ */
25
+ readonly SERVICE_SIGNATURE_TYPE_ETH: 1;
26
+ readonly UNRECOGNIZED: -1;
27
+ };
28
+ export type ServiceSignatureType = typeof ServiceSignatureType[keyof typeof ServiceSignatureType];
29
+ export declare namespace ServiceSignatureType {
30
+ type SERVICE_SIGNATURE_TYPE_UNKNOWN = typeof ServiceSignatureType.SERVICE_SIGNATURE_TYPE_UNKNOWN;
31
+ type SERVICE_SIGNATURE_TYPE_ETH = typeof ServiceSignatureType.SERVICE_SIGNATURE_TYPE_ETH;
32
+ type UNRECOGNIZED = typeof ServiceSignatureType.UNRECOGNIZED;
33
+ }
34
+ export declare function serviceSignatureTypeFromJSON(object: any): ServiceSignatureType;
35
+ export declare function serviceSignatureTypeToJSON(object: ServiceSignatureType): string;
36
+ export declare const AttestorVersion: {
37
+ readonly ATTESTOR_VERSION_UNKNOWN: 0;
38
+ readonly ATTESTOR_VERSION_1_0_0: 1;
39
+ readonly ATTESTOR_VERSION_1_1_0: 2;
40
+ readonly ATTESTOR_VERSION_2_0_0: 3;
41
+ readonly ATTESTOR_VERSION_2_0_1: 4;
42
+ readonly ATTESTOR_VERSION_3_0_0: 5;
43
+ readonly UNRECOGNIZED: -1;
44
+ };
45
+ export type AttestorVersion = typeof AttestorVersion[keyof typeof AttestorVersion];
46
+ export declare namespace AttestorVersion {
47
+ type ATTESTOR_VERSION_UNKNOWN = typeof AttestorVersion.ATTESTOR_VERSION_UNKNOWN;
48
+ type ATTESTOR_VERSION_1_0_0 = typeof AttestorVersion.ATTESTOR_VERSION_1_0_0;
49
+ type ATTESTOR_VERSION_1_1_0 = typeof AttestorVersion.ATTESTOR_VERSION_1_1_0;
50
+ type ATTESTOR_VERSION_2_0_0 = typeof AttestorVersion.ATTESTOR_VERSION_2_0_0;
51
+ type ATTESTOR_VERSION_2_0_1 = typeof AttestorVersion.ATTESTOR_VERSION_2_0_1;
52
+ type ATTESTOR_VERSION_3_0_0 = typeof AttestorVersion.ATTESTOR_VERSION_3_0_0;
53
+ type UNRECOGNIZED = typeof AttestorVersion.UNRECOGNIZED;
54
+ }
55
+ export declare function attestorVersionFromJSON(object: any): AttestorVersion;
56
+ export declare function attestorVersionToJSON(object: AttestorVersion): string;
57
+ export declare const ErrorCode: {
58
+ /**
59
+ * ERROR_NO_ERROR - 0 should be treated as the absence of an error
60
+ * should be used when gracefully closing the connection
61
+ */
62
+ readonly ERROR_NO_ERROR: 0;
63
+ /**
64
+ * ERROR_INTERNAL - internal error in the attestor -- all "Error/TypeError"
65
+ * messages are mapped to this
66
+ */
67
+ readonly ERROR_INTERNAL: 1;
68
+ /** ERROR_BAD_REQUEST - bad request from the client */
69
+ readonly ERROR_BAD_REQUEST: 2;
70
+ /** ERROR_NOT_FOUND - the item requested was not found */
71
+ readonly ERROR_NOT_FOUND: 3;
72
+ /** ERROR_PROXY_ERROR - error in the proxy */
73
+ readonly ERROR_PROXY_ERROR: 4;
74
+ /**
75
+ * ERROR_INVALID_CLAIM - claim creation failed -- i.e. the transcript
76
+ * did not result in a valid claim
77
+ */
78
+ readonly ERROR_INVALID_CLAIM: 5;
79
+ /** ERROR_NETWORK_ERROR - any network error */
80
+ readonly ERROR_NETWORK_ERROR: 6;
81
+ /** ERROR_PAYMENT_REFUSED - attestor refused to pay the costs */
82
+ readonly ERROR_PAYMENT_REFUSED: 7;
83
+ /**
84
+ * ERROR_BGP_ANNOUNCEMENT_OVERLAP - BGP announcement overlapped, potentially
85
+ * compromising the claim's authenticity
86
+ */
87
+ readonly ERROR_BGP_ANNOUNCEMENT_OVERLAP: 8;
88
+ /** ERROR_AUTHENTICATION_FAILED - authentication failed */
89
+ readonly ERROR_AUTHENTICATION_FAILED: 9;
90
+ /** ERROR_TIMEOUT - timed out waiting for the server to respond */
91
+ readonly ERROR_TIMEOUT: 10;
92
+ /** ERROR_TOPRF_OUT_OF_BOUNDS - toprf couldn't be computed, as it went out of bounds */
93
+ readonly ERROR_TOPRF_OUT_OF_BOUNDS: 11;
94
+ /** ERROR_CERTIFICATE_FETCH_FAILED - failed to fetch certificate bytes from the URL */
95
+ readonly ERROR_CERTIFICATE_FETCH_FAILED: 12;
96
+ readonly UNRECOGNIZED: -1;
97
+ };
98
+ export type ErrorCode = typeof ErrorCode[keyof typeof ErrorCode];
99
+ export declare namespace ErrorCode {
100
+ type ERROR_NO_ERROR = typeof ErrorCode.ERROR_NO_ERROR;
101
+ type ERROR_INTERNAL = typeof ErrorCode.ERROR_INTERNAL;
102
+ type ERROR_BAD_REQUEST = typeof ErrorCode.ERROR_BAD_REQUEST;
103
+ type ERROR_NOT_FOUND = typeof ErrorCode.ERROR_NOT_FOUND;
104
+ type ERROR_PROXY_ERROR = typeof ErrorCode.ERROR_PROXY_ERROR;
105
+ type ERROR_INVALID_CLAIM = typeof ErrorCode.ERROR_INVALID_CLAIM;
106
+ type ERROR_NETWORK_ERROR = typeof ErrorCode.ERROR_NETWORK_ERROR;
107
+ type ERROR_PAYMENT_REFUSED = typeof ErrorCode.ERROR_PAYMENT_REFUSED;
108
+ type ERROR_BGP_ANNOUNCEMENT_OVERLAP = typeof ErrorCode.ERROR_BGP_ANNOUNCEMENT_OVERLAP;
109
+ type ERROR_AUTHENTICATION_FAILED = typeof ErrorCode.ERROR_AUTHENTICATION_FAILED;
110
+ type ERROR_TIMEOUT = typeof ErrorCode.ERROR_TIMEOUT;
111
+ type ERROR_TOPRF_OUT_OF_BOUNDS = typeof ErrorCode.ERROR_TOPRF_OUT_OF_BOUNDS;
112
+ type ERROR_CERTIFICATE_FETCH_FAILED = typeof ErrorCode.ERROR_CERTIFICATE_FETCH_FAILED;
113
+ type UNRECOGNIZED = typeof ErrorCode.UNRECOGNIZED;
114
+ }
115
+ export declare function errorCodeFromJSON(object: any): ErrorCode;
116
+ export declare function errorCodeToJSON(object: ErrorCode): string;
117
+ export declare const ZKProofEngine: {
118
+ readonly ZK_ENGINE_SNARKJS: 0;
119
+ readonly ZK_ENGINE_GNARK: 1;
120
+ readonly UNRECOGNIZED: -1;
121
+ };
122
+ export type ZKProofEngine = typeof ZKProofEngine[keyof typeof ZKProofEngine];
123
+ export declare namespace ZKProofEngine {
124
+ type ZK_ENGINE_SNARKJS = typeof ZKProofEngine.ZK_ENGINE_SNARKJS;
125
+ type ZK_ENGINE_GNARK = typeof ZKProofEngine.ZK_ENGINE_GNARK;
126
+ type UNRECOGNIZED = typeof ZKProofEngine.UNRECOGNIZED;
127
+ }
128
+ export declare function zKProofEngineFromJSON(object: any): ZKProofEngine;
129
+ export declare function zKProofEngineToJSON(object: ZKProofEngine): string;
130
+ export interface ClaimContext {
131
+ /**
132
+ * Extracted parameters from the TLS transcript
133
+ * by the provider. Any parameters provided by the
134
+ * user will be overwritten
135
+ */
136
+ extractedParameters: {
137
+ [key: string]: string;
138
+ };
139
+ /** Provider hash. TODO: docs */
140
+ providerHash: string;
141
+ }
142
+ export interface ClaimContext_ExtractedParametersEntry {
143
+ key: string;
144
+ value: string;
145
+ }
146
+ export interface ProviderClaimData {
147
+ /**
148
+ * Name of the provider to generate the
149
+ * claim using.
150
+ * @example "http"
151
+ */
152
+ provider: string;
153
+ /**
154
+ * Canonically JSON stringified parameters
155
+ * of the claim, as specified by the provider.
156
+ * @example '{"url":"https://example.com","method":"GET"}'
157
+ */
158
+ parameters: string;
159
+ /**
160
+ * Owner of the claim. Must be the public key/address
161
+ * @example "0x1234..."
162
+ */
163
+ owner: string;
164
+ /**
165
+ * Unix timestamp in seconds of the claim being made.
166
+ * Cannot be more than 10 minutes in the past or future
167
+ */
168
+ timestampS: number;
169
+ /**
170
+ * Any additional data you want to store with the claim.
171
+ * Also expected to be a canonical JSON string.
172
+ */
173
+ context: string;
174
+ /**
175
+ * identifier of the claim;
176
+ * Hash of (provider, parameters, context)
177
+ */
178
+ identifier: string;
179
+ /** Legacy V1 Beacon epoch number */
180
+ epoch: number;
181
+ }
182
+ export interface ProviderClaimInfo {
183
+ provider: string;
184
+ parameters: string;
185
+ context: string;
186
+ }
187
+ export interface ErrorData {
188
+ code: ErrorCode;
189
+ message: string;
190
+ data: string;
191
+ }
192
+ export interface CreateTunnelRequest {
193
+ /**
194
+ * Assign a unique ID to the client for this tunnel
195
+ * request. This ID will be used to identify the tunnel
196
+ * to later send messages or disconnect the tunnel.
197
+ */
198
+ id: number;
199
+ host: string;
200
+ port: number;
201
+ /**
202
+ * Geo location from which the request will be made.
203
+ * Provide 2 letter ISO country code. Leave empty
204
+ * if you don't want to use geo location.
205
+ *
206
+ * Geo location is implemented using an https proxy
207
+ * eg. US, IN, GB, etc.
208
+ */
209
+ geoLocation: string;
210
+ /**
211
+ * Session identifier for proxy IP persistence.
212
+ *
213
+ * When provided, ensures all requests within the same session
214
+ * are routed through the same proxy IP address. Useful for
215
+ * maintaining IP consistency across multiple requests.
216
+ *
217
+ * Can be a smallcase alphanumeric string of length 8-14 characters.
218
+ * eg. "mystring12345", "something1234".
219
+ */
220
+ proxySessionId: string;
221
+ }
222
+ export interface FetchCertificateBytesRequest {
223
+ url: string;
224
+ }
225
+ export interface FetchCertificateBytesResponse {
226
+ bytes: Uint8Array;
227
+ }
228
+ export interface DisconnectTunnelRequest {
229
+ id: number;
230
+ }
231
+ /** empty message */
232
+ export interface Empty {
233
+ }
234
+ export interface TunnelMessage {
235
+ /** ID of the tunnel where this message belongs */
236
+ tunnelId: number;
237
+ message: Uint8Array;
238
+ }
239
+ export interface TunnelDisconnectEvent {
240
+ tunnelId: number;
241
+ error: ErrorData | undefined;
242
+ }
243
+ export interface MessageReveal {
244
+ /**
245
+ * direct reveal of the block via the key & IV
246
+ * cipher (aes, chacha) for decryption
247
+ * selected based on `cipherSuite`
248
+ * determined by the server hello packet
249
+ */
250
+ directReveal?: MessageReveal_MessageRevealDirect | undefined;
251
+ /** partially or fully reveal the block via a zk proof */
252
+ zkReveal?: MessageReveal_MessageRevealZk | undefined;
253
+ }
254
+ export interface MessageReveal_MessageRevealDirect {
255
+ /** key for the block */
256
+ key: Uint8Array;
257
+ /** IV for the block */
258
+ iv: Uint8Array;
259
+ /**
260
+ * used to generate IV in authenticated
261
+ * cipher suites
262
+ */
263
+ recordNumber: number;
264
+ }
265
+ export interface MessageReveal_MessageRevealZk {
266
+ proofs: MessageReveal_ZKProof[];
267
+ toprfs: MessageReveal_TOPRFProof[];
268
+ }
269
+ export interface MessageReveal_ZKProof {
270
+ /** the decrypted ciphertext as output by the ZK proof */
271
+ decryptedRedactedCiphertext: Uint8Array;
272
+ /** the plaintext that is fully or partially revealed */
273
+ redactedPlaintext: Uint8Array;
274
+ /**
275
+ * start of this specific block
276
+ * in the redactedPlaintext
277
+ */
278
+ startIdx: number;
279
+ proofData: Uint8Array;
280
+ }
281
+ export interface MessageReveal_TOPRFProof {
282
+ /**
283
+ * start of this specific block
284
+ * in the redactedPlaintext
285
+ */
286
+ startIdx: number;
287
+ proofData: Uint8Array;
288
+ /**
289
+ * If this block's proof contains an OPRF'd piece of data,
290
+ * then provide the OPRF data here
291
+ */
292
+ payload: TOPRFPayload | undefined;
293
+ }
294
+ export interface TOPRFPayload {
295
+ /** Location of the data in the chunk that was masked */
296
+ dataLocation: DataSlice | undefined;
297
+ /** OPRF hash of the data */
298
+ nullifier: Uint8Array;
299
+ responses: TOPRFResponse[];
300
+ }
301
+ export interface DataSlice {
302
+ fromIndex: number;
303
+ length: number;
304
+ }
305
+ export interface ClaimRequestData {
306
+ provider: string;
307
+ parameters: string;
308
+ /**
309
+ * Owner of the claim. Must be the public key/address
310
+ * of the signatures
311
+ */
312
+ owner: string;
313
+ /**
314
+ * Timestamp of the claim being made.
315
+ * Cannot be more than 10 minutes in the past
316
+ * or in the future
317
+ */
318
+ timestampS: number;
319
+ context: string;
320
+ }
321
+ export interface ClaimTeeBundleRequest {
322
+ /** TEE verification bundle containing attestations and signed data */
323
+ verificationBundle: Uint8Array;
324
+ /** Data describing the claim you want to prove */
325
+ data: ClaimRequestData | undefined;
326
+ /** User signature on the request */
327
+ signatures: ClaimTeeBundleRequest_Signatures | undefined;
328
+ }
329
+ export interface ClaimTeeBundleRequest_Signatures {
330
+ /**
331
+ * Signature of ClaimTeeBundleRequest
332
+ * with empty "signatures" field
333
+ */
334
+ requestSignature: Uint8Array;
335
+ }
336
+ export interface ClaimTeeBundleResponse {
337
+ /** The original request that was made */
338
+ request: ClaimTeeBundleRequest | undefined;
339
+ claim?: ProviderClaimData | undefined;
340
+ error?: ErrorData | undefined;
341
+ signatures: ClaimTeeBundleResponse_Signatures | undefined;
342
+ }
343
+ export interface ClaimTeeBundleResponse_Signatures {
344
+ /** Address of the attestor that has signed the claim */
345
+ attestorAddress: string;
346
+ /**
347
+ * Signature of `stringifyProviderClaimData(claim)`,
348
+ * if the claim was successful
349
+ */
350
+ claimSignature: Uint8Array;
351
+ /**
352
+ * Signature of the complete ClaimTeeBundleResponse
353
+ * structure with empty "signatures" field
354
+ */
355
+ resultSignature: Uint8Array;
356
+ }
357
+ export interface ClaimTunnelRequest {
358
+ /**
359
+ * parameters supplied to establish the tunnel
360
+ * & connect to the end server
361
+ */
362
+ request: CreateTunnelRequest | undefined;
363
+ /** data describing the claim you want to prove */
364
+ data: ClaimRequestData | undefined;
365
+ /**
366
+ * messages from the client & server
367
+ * in the order they were sent/received
368
+ *
369
+ * Attach a proof (if any) to each message
370
+ * to reveal the contents of the message inside
371
+ *
372
+ * The revealed messages should support the proving
373
+ * of the claim as defined in the provider's implementation
374
+ */
375
+ transcript: ClaimTunnelRequest_TranscriptMessage[];
376
+ signatures: ClaimTunnelRequest_Signatures | undefined;
377
+ /** type of ZK engine used. SnarkJS or Gnark */
378
+ zkEngine: ZKProofEngine;
379
+ /** server and client fixed IVs needed for ZK validation */
380
+ fixedServerIV: Uint8Array;
381
+ fixedClientIV: Uint8Array;
382
+ }
383
+ export interface ClaimTunnelRequest_Signatures {
384
+ /**
385
+ * signature of ClaimTunnelRequest
386
+ * with empty "signatures" field
387
+ */
388
+ requestSignature: Uint8Array;
389
+ }
390
+ export interface ClaimTunnelRequest_TranscriptMessage {
391
+ /** client or server */
392
+ sender: TranscriptMessageSenderType;
393
+ /** packet data */
394
+ message: Uint8Array;
395
+ reveal: MessageReveal | undefined;
396
+ }
397
+ export interface ClaimTunnelResponse {
398
+ /** The original request that was made to claim the tunnel */
399
+ request: ClaimTunnelRequest | undefined;
400
+ claim?: ProviderClaimData | undefined;
401
+ error?: ErrorData | undefined;
402
+ signatures: ClaimTunnelResponse_Signatures | undefined;
403
+ }
404
+ export interface ClaimTunnelResponse_Signatures {
405
+ /** Address of the attestor that has signed the claim */
406
+ attestorAddress: string;
407
+ /**
408
+ * signature of `stringifyProviderClaimData(claim)`,
409
+ * if the claim was successful
410
+ */
411
+ claimSignature: Uint8Array;
412
+ /**
413
+ * signature of the complete ClaimTunnelResponse
414
+ * structure with empty "signatures" field
415
+ */
416
+ resultSignature: Uint8Array;
417
+ }
418
+ export interface RequestClaimOnAvsRequest {
419
+ /**
420
+ * Chain ID of the chain on which the claim is to be made
421
+ * @example 17000 (holesky)
422
+ */
423
+ chainId: number;
424
+ /** Serialised JSON string of the ClaimRequest struct */
425
+ jsonCreateClaimRequest: string;
426
+ /** ETH signature of the `ClaimRequest` struct */
427
+ requestSignature: Uint8Array;
428
+ }
429
+ export interface RequestClaimOnAvsResponse {
430
+ txHash: string;
431
+ taskIndex: number;
432
+ jsonTask: string;
433
+ }
434
+ export interface CompleteClaimOnAvsRequest {
435
+ /**
436
+ * Chain ID of the chain on which the claim is to be made
437
+ * @example 17000 (holesky)
438
+ */
439
+ chainId: number;
440
+ taskIndex: number;
441
+ completedTaskJson: string;
442
+ }
443
+ export interface CompleteClaimOnAvsResponse {
444
+ txHash: string;
445
+ taskCompletedObjectJson: string;
446
+ }
447
+ export interface CreateTaskOnMechainRequest {
448
+ timestamp: number;
449
+ }
450
+ export interface CreateTaskOnMechainResponse {
451
+ taskId: number;
452
+ requiredAttestors: number;
453
+ hosts: string[];
454
+ }
455
+ export interface AuthenticatedUserData {
456
+ /** Unique identifier for the user */
457
+ id: string;
458
+ createdAt: number;
459
+ /**
460
+ * Unix timestamp in seconds when the user's
461
+ * authentication will expire.
462
+ */
463
+ expiresAt: number;
464
+ /**
465
+ * List of allowed hosts the user is allowed to connect to.
466
+ * Will throw a BAD_REQUEST error if the user tries to connect.
467
+ * Pass an empty list to allow all hosts.
468
+ */
469
+ hostWhitelist: string[];
470
+ }
471
+ export interface AuthenticationRequest {
472
+ data: AuthenticatedUserData | undefined;
473
+ /** Signature of the `userData` */
474
+ signature: Uint8Array;
475
+ }
476
+ export interface InitRequest {
477
+ /** Attestor client version */
478
+ clientVersion: AttestorVersion;
479
+ /** Signature type used & expected by the user */
480
+ signatureType: ServiceSignatureType;
481
+ /**
482
+ * Request the attestor to authenticate the user
483
+ * with the given data. If auth fails, will return
484
+ * an AUTHENTICATION_FAILED error.
485
+ */
486
+ auth: AuthenticationRequest | undefined;
487
+ }
488
+ export interface InitResponse {
489
+ toprfPublicKey: Uint8Array;
490
+ }
491
+ export interface TOPRFRequest {
492
+ maskedData: Uint8Array;
493
+ engine: ZKProofEngine;
494
+ }
495
+ export interface TOPRFResponse {
496
+ publicKeyShare: Uint8Array;
497
+ /** OPRF output */
498
+ evaluated: Uint8Array;
499
+ c: Uint8Array;
500
+ r: Uint8Array;
501
+ }
502
+ export interface RPCMessage {
503
+ /**
504
+ * Per connection unique RPC message ID. Either party sending a
505
+ * duplicate ID will do nothing except confuse the other party.
506
+ *
507
+ * For response messages, the ID should be the same as the request
508
+ * to which it is responding.
509
+ */
510
+ id: number;
511
+ initRequest?: InitRequest | undefined;
512
+ /** Response to the init request. */
513
+ initResponse?: InitResponse | undefined;
514
+ /**
515
+ * Data representing an error in the WebSocket connection.
516
+ * The party sending this message should close the connection
517
+ * immediately after sending this message.
518
+ */
519
+ connectionTerminationAlert?: ErrorData | undefined;
520
+ /**
521
+ * Data representing an error in the attestor's
522
+ * request to the server. This should be sent in case
523
+ * there was an error in processing the request.
524
+ */
525
+ requestError?: ErrorData | undefined;
526
+ /** Create a tunnel to the specified host & port. */
527
+ createTunnelRequest?: CreateTunnelRequest | undefined;
528
+ createTunnelResponse?: Empty | undefined;
529
+ /** Disconnect a tunnel. */
530
+ disconnectTunnelRequest?: DisconnectTunnelRequest | undefined;
531
+ disconnectTunnelResponse?: Empty | undefined;
532
+ /**
533
+ * Message to send through a tunnel. Client can send
534
+ * this message to forward data to the server.
535
+ */
536
+ tunnelMessage?: TunnelMessage | undefined;
537
+ /**
538
+ * Event indicating that a tunnel has been disconnected.
539
+ * The client should not send any more messages through
540
+ * this tunnel.
541
+ */
542
+ tunnelDisconnectEvent?: TunnelDisconnectEvent | undefined;
543
+ /**
544
+ * Using the transcript of a tunnel, make a claim.
545
+ * The tunnel must be disconnected before making a claim.
546
+ */
547
+ claimTunnelRequest?: ClaimTunnelRequest | undefined;
548
+ claimTunnelResponse?: ClaimTunnelResponse | undefined;
549
+ /**
550
+ * Request the attestor to pay for the claim on the chain.
551
+ * The Attestor can choose to reject the request.
552
+ */
553
+ createClaimOnChainRequest?: RequestClaimOnAvsRequest | undefined;
554
+ createClaimOnChainResponse?: RequestClaimOnAvsResponse | undefined;
555
+ /** Submit the work done for the claim on the chain. */
556
+ completeClaimOnChainRequest?: CompleteClaimOnAvsRequest | undefined;
557
+ completeClaimOnChainResponse?: CompleteClaimOnAvsResponse | undefined;
558
+ /** Request to perform thresholded OPRF */
559
+ toprfRequest?: TOPRFRequest | undefined;
560
+ toprfResponse?: TOPRFResponse | undefined;
561
+ /** Request the attestor to create a Task on the ReclaimTask contract. */
562
+ createTaskOnMechainRequest?: CreateTaskOnMechainRequest | undefined;
563
+ createTaskOnMechainResponse?: CreateTaskOnMechainResponse | undefined;
564
+ /** Claim a TEE verification bundle instead of traditional TLS transcript */
565
+ claimTeeBundleRequest?: ClaimTeeBundleRequest | undefined;
566
+ claimTeeBundleResponse?: ClaimTeeBundleResponse | undefined;
567
+ /**
568
+ * Request the attestor to fetch certificate bytes from a URL. This RPC
569
+ * is there as a helper for clients that cannot directly fetch certificates
570
+ * due to network restrictions.
571
+ */
572
+ fetchCertificateBytesRequest?: FetchCertificateBytesRequest | undefined;
573
+ fetchCertificateBytesResponse?: FetchCertificateBytesResponse | undefined;
574
+ }
575
+ export interface RPCMessages {
576
+ messages: RPCMessage[];
577
+ }
578
+ export declare const ClaimContext: MessageFns<ClaimContext>;
579
+ export declare const ClaimContext_ExtractedParametersEntry: MessageFns<ClaimContext_ExtractedParametersEntry>;
580
+ export declare const ProviderClaimData: MessageFns<ProviderClaimData>;
581
+ export declare const ProviderClaimInfo: MessageFns<ProviderClaimInfo>;
582
+ export declare const ErrorData: MessageFns<ErrorData>;
583
+ export declare const CreateTunnelRequest: MessageFns<CreateTunnelRequest>;
584
+ export declare const FetchCertificateBytesRequest: MessageFns<FetchCertificateBytesRequest>;
585
+ export declare const FetchCertificateBytesResponse: MessageFns<FetchCertificateBytesResponse>;
586
+ export declare const DisconnectTunnelRequest: MessageFns<DisconnectTunnelRequest>;
587
+ export declare const Empty: MessageFns<Empty>;
588
+ export declare const TunnelMessage: MessageFns<TunnelMessage>;
589
+ export declare const TunnelDisconnectEvent: MessageFns<TunnelDisconnectEvent>;
590
+ export declare const MessageReveal: MessageFns<MessageReveal>;
591
+ export declare const MessageReveal_MessageRevealDirect: MessageFns<MessageReveal_MessageRevealDirect>;
592
+ export declare const MessageReveal_MessageRevealZk: MessageFns<MessageReveal_MessageRevealZk>;
593
+ export declare const MessageReveal_ZKProof: MessageFns<MessageReveal_ZKProof>;
594
+ export declare const MessageReveal_TOPRFProof: MessageFns<MessageReveal_TOPRFProof>;
595
+ export declare const TOPRFPayload: MessageFns<TOPRFPayload>;
596
+ export declare const DataSlice: MessageFns<DataSlice>;
597
+ export declare const ClaimRequestData: MessageFns<ClaimRequestData>;
598
+ export declare const ClaimTeeBundleRequest: MessageFns<ClaimTeeBundleRequest>;
599
+ export declare const ClaimTeeBundleRequest_Signatures: MessageFns<ClaimTeeBundleRequest_Signatures>;
600
+ export declare const ClaimTeeBundleResponse: MessageFns<ClaimTeeBundleResponse>;
601
+ export declare const ClaimTeeBundleResponse_Signatures: MessageFns<ClaimTeeBundleResponse_Signatures>;
602
+ export declare const ClaimTunnelRequest: MessageFns<ClaimTunnelRequest>;
603
+ export declare const ClaimTunnelRequest_Signatures: MessageFns<ClaimTunnelRequest_Signatures>;
604
+ export declare const ClaimTunnelRequest_TranscriptMessage: MessageFns<ClaimTunnelRequest_TranscriptMessage>;
605
+ export declare const ClaimTunnelResponse: MessageFns<ClaimTunnelResponse>;
606
+ export declare const ClaimTunnelResponse_Signatures: MessageFns<ClaimTunnelResponse_Signatures>;
607
+ export declare const RequestClaimOnAvsRequest: MessageFns<RequestClaimOnAvsRequest>;
608
+ export declare const RequestClaimOnAvsResponse: MessageFns<RequestClaimOnAvsResponse>;
609
+ export declare const CompleteClaimOnAvsRequest: MessageFns<CompleteClaimOnAvsRequest>;
610
+ export declare const CompleteClaimOnAvsResponse: MessageFns<CompleteClaimOnAvsResponse>;
611
+ export declare const CreateTaskOnMechainRequest: MessageFns<CreateTaskOnMechainRequest>;
612
+ export declare const CreateTaskOnMechainResponse: MessageFns<CreateTaskOnMechainResponse>;
613
+ export declare const AuthenticatedUserData: MessageFns<AuthenticatedUserData>;
614
+ export declare const AuthenticationRequest: MessageFns<AuthenticationRequest>;
615
+ export declare const InitRequest: MessageFns<InitRequest>;
616
+ export declare const InitResponse: MessageFns<InitResponse>;
617
+ export declare const TOPRFRequest: MessageFns<TOPRFRequest>;
618
+ export declare const TOPRFResponse: MessageFns<TOPRFResponse>;
619
+ export declare const RPCMessage: MessageFns<RPCMessage>;
620
+ export declare const RPCMessages: MessageFns<RPCMessages>;
621
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
622
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
623
+ [K in keyof T]?: DeepPartial<T[K]>;
624
+ } : Partial<T>;
625
+ export interface MessageFns<T> {
626
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
627
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
628
+ fromJSON(object: any): T;
629
+ toJSON(message: T): unknown;
630
+ create(base?: DeepPartial<T>): T;
631
+ fromPartial(object: DeepPartial<T>): T;
632
+ }
633
+ export {};