@reclaimprotocol/attestor-core 5.0.1-beta.7 → 5.0.1

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 (307) hide show
  1. package/browser/resources/attestor-browser.min.mjs +4512 -0
  2. package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +1 -1
  3. package/lib/external-rpc/index.js +10399 -3
  4. package/lib/index.js +8323 -10
  5. package/lib/server/utils/proxy-session.d.ts +1 -1
  6. package/lib/types/general.d.ts +0 -1
  7. package/lib/utils/generics.d.ts +1 -6
  8. package/lib/utils/index.d.ts +0 -1
  9. package/package.json +8 -7
  10. package/lib/avs/abis/avsDirectoryABI.js +0 -343
  11. package/lib/avs/abis/delegationABI.js +0 -4
  12. package/lib/avs/abis/registryABI.js +0 -728
  13. package/lib/avs/client/create-claim-on-avs.js +0 -168
  14. package/lib/avs/config.js +0 -26
  15. package/lib/avs/contracts/ReclaimServiceManager.js +0 -0
  16. package/lib/avs/contracts/common.js +0 -0
  17. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1183
  18. package/lib/avs/contracts/factories/index.js +0 -4
  19. package/lib/avs/contracts/index.js +0 -6
  20. package/lib/avs/types/index.js +0 -0
  21. package/lib/avs/utils/contracts.js +0 -53
  22. package/lib/avs/utils/register.js +0 -74
  23. package/lib/avs/utils/tasks.js +0 -48
  24. package/lib/browser/avs/abis/avsDirectoryABI.d.ts +0 -60
  25. package/lib/browser/avs/abis/avsDirectoryABI.js +0 -343
  26. package/lib/browser/avs/abis/delegationABI.d.ts +0 -126
  27. package/lib/browser/avs/abis/delegationABI.js +0 -4
  28. package/lib/browser/avs/abis/registryABI.d.ts +0 -136
  29. package/lib/browser/avs/abis/registryABI.js +0 -728
  30. package/lib/browser/avs/client/create-claim-on-avs.d.ts +0 -12
  31. package/lib/browser/avs/client/create-claim-on-avs.js +0 -168
  32. package/lib/browser/avs/config.d.ts +0 -7
  33. package/lib/browser/avs/config.js +0 -26
  34. package/lib/browser/avs/contracts/ReclaimServiceManager.d.ts +0 -601
  35. package/lib/browser/avs/contracts/ReclaimServiceManager.js +0 -0
  36. package/lib/browser/avs/contracts/common.d.ts +0 -50
  37. package/lib/browser/avs/contracts/common.js +0 -0
  38. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +0 -890
  39. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1183
  40. package/lib/browser/avs/contracts/factories/index.d.ts +0 -1
  41. package/lib/browser/avs/contracts/factories/index.js +0 -4
  42. package/lib/browser/avs/contracts/index.d.ts +0 -3
  43. package/lib/browser/avs/contracts/index.js +0 -6
  44. package/lib/browser/avs/types/index.d.ts +0 -55
  45. package/lib/browser/avs/types/index.js +0 -0
  46. package/lib/browser/avs/utils/contracts.d.ts +0 -21
  47. package/lib/browser/avs/utils/contracts.js +0 -53
  48. package/lib/browser/avs/utils/register.d.ts +0 -27
  49. package/lib/browser/avs/utils/register.js +0 -74
  50. package/lib/browser/avs/utils/tasks.d.ts +0 -22
  51. package/lib/browser/avs/utils/tasks.js +0 -48
  52. package/lib/browser/client/create-claim.d.ts +0 -5
  53. package/lib/browser/client/create-claim.js +0 -461
  54. package/lib/browser/client/index.d.ts +0 -3
  55. package/lib/browser/client/index.js +0 -3
  56. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.d.ts +0 -16
  57. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.js +0 -53
  58. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.d.ts +0 -26
  59. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.js +0 -127
  60. package/lib/browser/client/utils/attestor-pool.d.ts +0 -8
  61. package/lib/browser/client/utils/attestor-pool.js +0 -24
  62. package/lib/browser/client/utils/client-socket.d.ts +0 -11
  63. package/lib/browser/client/utils/client-socket.js +0 -120
  64. package/lib/browser/client/utils/message-handler.d.ts +0 -4
  65. package/lib/browser/client/utils/message-handler.js +0 -97
  66. package/lib/browser/config/index.d.ts +0 -31
  67. package/lib/browser/config/index.js +0 -62
  68. package/lib/browser/external-rpc/benchmark.d.ts +0 -1
  69. package/lib/browser/external-rpc/benchmark.js +0 -82
  70. package/lib/browser/external-rpc/event-bus.d.ts +0 -7
  71. package/lib/browser/external-rpc/event-bus.js +0 -17
  72. package/lib/browser/external-rpc/global.d.js +0 -0
  73. package/lib/browser/external-rpc/handle-incoming-msg.d.ts +0 -2
  74. package/lib/browser/external-rpc/handle-incoming-msg.js +0 -241
  75. package/lib/browser/external-rpc/index.d.ts +0 -3
  76. package/lib/browser/external-rpc/index.js +0 -3
  77. package/lib/browser/external-rpc/jsc-polyfills/1.d.ts +0 -14
  78. package/lib/browser/external-rpc/jsc-polyfills/1.js +0 -80
  79. package/lib/browser/external-rpc/jsc-polyfills/2.d.ts +0 -1
  80. package/lib/browser/external-rpc/jsc-polyfills/2.js +0 -15
  81. package/lib/browser/external-rpc/jsc-polyfills/event.d.ts +0 -10
  82. package/lib/browser/external-rpc/jsc-polyfills/event.js +0 -19
  83. package/lib/browser/external-rpc/jsc-polyfills/index.d.ts +0 -2
  84. package/lib/browser/external-rpc/jsc-polyfills/index.js +0 -2
  85. package/lib/browser/external-rpc/jsc-polyfills/ws.d.ts +0 -21
  86. package/lib/browser/external-rpc/jsc-polyfills/ws.js +0 -83
  87. package/lib/browser/external-rpc/setup-browser.d.ts +0 -6
  88. package/lib/browser/external-rpc/setup-browser.js +0 -33
  89. package/lib/browser/external-rpc/setup-jsc.d.ts +0 -24
  90. package/lib/browser/external-rpc/setup-jsc.js +0 -22
  91. package/lib/browser/external-rpc/types.d.ts +0 -213
  92. package/lib/browser/external-rpc/types.js +0 -0
  93. package/lib/browser/external-rpc/utils.d.ts +0 -20
  94. package/lib/browser/external-rpc/utils.js +0 -100
  95. package/lib/browser/external-rpc/zk.d.ts +0 -14
  96. package/lib/browser/external-rpc/zk.js +0 -58
  97. package/lib/browser/index.browser.js +0 -13
  98. package/lib/browser/index.d.ts +0 -9
  99. package/lib/browser/index.js +0 -13
  100. package/lib/browser/mechain/abis/governanceABI.d.ts +0 -50
  101. package/lib/browser/mechain/abis/governanceABI.js +0 -461
  102. package/lib/browser/mechain/abis/taskABI.d.ts +0 -157
  103. package/lib/browser/mechain/abis/taskABI.js +0 -512
  104. package/lib/browser/mechain/client/create-claim-on-mechain.d.ts +0 -10
  105. package/lib/browser/mechain/client/create-claim-on-mechain.js +0 -33
  106. package/lib/browser/mechain/client/index.d.ts +0 -1
  107. package/lib/browser/mechain/client/index.js +0 -1
  108. package/lib/browser/mechain/constants/index.d.ts +0 -3
  109. package/lib/browser/mechain/constants/index.js +0 -8
  110. package/lib/browser/mechain/index.d.ts +0 -2
  111. package/lib/browser/mechain/index.js +0 -2
  112. package/lib/browser/mechain/types/index.d.ts +0 -23
  113. package/lib/browser/mechain/types/index.js +0 -0
  114. package/lib/browser/proto/api.d.ts +0 -651
  115. package/lib/browser/proto/api.js +0 -4250
  116. package/lib/browser/proto/tee-bundle.d.ts +0 -156
  117. package/lib/browser/proto/tee-bundle.js +0 -1296
  118. package/lib/browser/providers/http/index.d.ts +0 -18
  119. package/lib/browser/providers/http/index.js +0 -640
  120. package/lib/browser/providers/http/patch-parse5-tree.d.ts +0 -6
  121. package/lib/browser/providers/http/patch-parse5-tree.js +0 -34
  122. package/lib/browser/providers/http/utils.d.ts +0 -77
  123. package/lib/browser/providers/http/utils.js +0 -283
  124. package/lib/browser/providers/index.d.ts +0 -4
  125. package/lib/browser/providers/index.js +0 -7
  126. package/lib/browser/types/bgp.d.ts +0 -11
  127. package/lib/browser/types/bgp.js +0 -0
  128. package/lib/browser/types/claims.d.ts +0 -70
  129. package/lib/browser/types/claims.js +0 -0
  130. package/lib/browser/types/client.d.ts +0 -163
  131. package/lib/browser/types/client.js +0 -0
  132. package/lib/browser/types/general.d.ts +0 -77
  133. package/lib/browser/types/general.js +0 -0
  134. package/lib/browser/types/handlers.d.ts +0 -10
  135. package/lib/browser/types/handlers.js +0 -0
  136. package/lib/browser/types/index.d.ts +0 -10
  137. package/lib/browser/types/index.js +0 -10
  138. package/lib/browser/types/providers.d.ts +0 -161
  139. package/lib/browser/types/providers.gen.d.ts +0 -443
  140. package/lib/browser/types/providers.gen.js +0 -16
  141. package/lib/browser/types/providers.js +0 -0
  142. package/lib/browser/types/rpc.d.ts +0 -35
  143. package/lib/browser/types/rpc.js +0 -0
  144. package/lib/browser/types/signatures.d.ts +0 -28
  145. package/lib/browser/types/signatures.js +0 -0
  146. package/lib/browser/types/tunnel.d.ts +0 -18
  147. package/lib/browser/types/tunnel.js +0 -0
  148. package/lib/browser/types/zk.d.ts +0 -38
  149. package/lib/browser/types/zk.js +0 -0
  150. package/lib/browser/utils/auth.d.ts +0 -8
  151. package/lib/browser/utils/auth.js +0 -71
  152. package/lib/browser/utils/b64-json.d.ts +0 -2
  153. package/lib/browser/utils/b64-json.js +0 -17
  154. package/lib/browser/utils/claims.d.ts +0 -33
  155. package/lib/browser/utils/claims.js +0 -89
  156. package/lib/browser/utils/env.d.ts +0 -3
  157. package/lib/browser/utils/env.js +0 -19
  158. package/lib/browser/utils/error.d.ts +0 -26
  159. package/lib/browser/utils/error.js +0 -54
  160. package/lib/browser/utils/generics.d.ts +0 -119
  161. package/lib/browser/utils/generics.js +0 -272
  162. package/lib/browser/utils/http-parser.d.ts +0 -59
  163. package/lib/browser/utils/http-parser.js +0 -201
  164. package/lib/browser/utils/index.browser.js +0 -13
  165. package/lib/browser/utils/index.d.ts +0 -13
  166. package/lib/browser/utils/index.js +0 -13
  167. package/lib/browser/utils/logger.browser.js +0 -88
  168. package/lib/browser/utils/logger.d.ts +0 -14
  169. package/lib/browser/utils/logger.js +0 -88
  170. package/lib/browser/utils/prepare-packets.d.ts +0 -16
  171. package/lib/browser/utils/prepare-packets.js +0 -69
  172. package/lib/browser/utils/redactions.d.ts +0 -73
  173. package/lib/browser/utils/redactions.js +0 -135
  174. package/lib/browser/utils/retries.d.ts +0 -12
  175. package/lib/browser/utils/retries.js +0 -26
  176. package/lib/browser/utils/signatures/eth.d.ts +0 -2
  177. package/lib/browser/utils/signatures/eth.js +0 -31
  178. package/lib/browser/utils/signatures/index.d.ts +0 -5
  179. package/lib/browser/utils/signatures/index.js +0 -12
  180. package/lib/browser/utils/socket-base.d.ts +0 -23
  181. package/lib/browser/utils/socket-base.js +0 -96
  182. package/lib/browser/utils/tls-imports.d.ts +0 -1
  183. package/lib/browser/utils/tls-imports.js +0 -34
  184. package/lib/browser/utils/tls.d.ts +0 -2
  185. package/lib/browser/utils/tls.js +0 -58
  186. package/lib/browser/utils/ws.d.ts +0 -7
  187. package/lib/browser/utils/ws.js +0 -22
  188. package/lib/browser/utils/zk.d.ts +0 -71
  189. package/lib/browser/utils/zk.js +0 -625
  190. package/lib/client/create-claim.js +0 -461
  191. package/lib/client/index.js +0 -3
  192. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +0 -53
  193. package/lib/client/tunnels/make-rpc-tls-tunnel.js +0 -127
  194. package/lib/client/utils/attestor-pool.js +0 -24
  195. package/lib/client/utils/client-socket.js +0 -120
  196. package/lib/client/utils/message-handler.js +0 -97
  197. package/lib/config/index.js +0 -62
  198. package/lib/external-rpc/benchmark.js +0 -82
  199. package/lib/external-rpc/event-bus.js +0 -17
  200. package/lib/external-rpc/global.d.js +0 -0
  201. package/lib/external-rpc/handle-incoming-msg.js +0 -241
  202. package/lib/external-rpc/jsc-polyfills/1.js +0 -80
  203. package/lib/external-rpc/jsc-polyfills/2.js +0 -15
  204. package/lib/external-rpc/jsc-polyfills/event.js +0 -19
  205. package/lib/external-rpc/jsc-polyfills/index.js +0 -2
  206. package/lib/external-rpc/jsc-polyfills/ws.js +0 -83
  207. package/lib/external-rpc/setup-browser.js +0 -33
  208. package/lib/external-rpc/setup-jsc.js +0 -22
  209. package/lib/external-rpc/types.js +0 -0
  210. package/lib/external-rpc/utils.js +0 -100
  211. package/lib/external-rpc/zk.js +0 -58
  212. package/lib/index.browser.d.ts +0 -9
  213. package/lib/mechain/abis/governanceABI.js +0 -461
  214. package/lib/mechain/abis/taskABI.js +0 -512
  215. package/lib/mechain/client/create-claim-on-mechain.js +0 -33
  216. package/lib/mechain/client/index.js +0 -1
  217. package/lib/mechain/constants/index.js +0 -8
  218. package/lib/mechain/index.js +0 -2
  219. package/lib/mechain/types/index.js +0 -0
  220. package/lib/proto/api.js +0 -4250
  221. package/lib/proto/tee-bundle.js +0 -1296
  222. package/lib/providers/http/index.js +0 -640
  223. package/lib/providers/http/patch-parse5-tree.js +0 -34
  224. package/lib/providers/http/utils.js +0 -283
  225. package/lib/providers/index.js +0 -7
  226. package/lib/scripts/check-avs-registration.js +0 -28
  227. package/lib/scripts/fallbacks/crypto.js +0 -4
  228. package/lib/scripts/fallbacks/empty.js +0 -4
  229. package/lib/scripts/fallbacks/re2.js +0 -7
  230. package/lib/scripts/fallbacks/snarkjs.js +0 -10
  231. package/lib/scripts/fallbacks/stwo.js +0 -159
  232. package/lib/scripts/generate-provider-types.js +0 -101
  233. package/lib/scripts/generate-receipt.js +0 -101
  234. package/lib/scripts/generate-toprf-keys.js +0 -24
  235. package/lib/scripts/jsc-cli-rpc.js +0 -35
  236. package/lib/scripts/register-avs-operator.js +0 -3
  237. package/lib/scripts/start-server.js +0 -11
  238. package/lib/scripts/update-avs-metadata.js +0 -20
  239. package/lib/scripts/utils.js +0 -10
  240. package/lib/scripts/whitelist-operator.js +0 -16
  241. package/lib/server/create-server.js +0 -105
  242. package/lib/server/handlers/claimTeeBundle.js +0 -232
  243. package/lib/server/handlers/claimTunnel.js +0 -80
  244. package/lib/server/handlers/completeClaimOnChain.js +0 -29
  245. package/lib/server/handlers/createClaimOnChain.js +0 -32
  246. package/lib/server/handlers/createTaskOnMechain.js +0 -57
  247. package/lib/server/handlers/createTunnel.js +0 -98
  248. package/lib/server/handlers/disconnectTunnel.js +0 -8
  249. package/lib/server/handlers/fetchCertificateBytes.js +0 -57
  250. package/lib/server/handlers/index.js +0 -25
  251. package/lib/server/handlers/init.js +0 -33
  252. package/lib/server/handlers/toprf.js +0 -19
  253. package/lib/server/index.js +0 -4
  254. package/lib/server/socket.js +0 -112
  255. package/lib/server/tunnels/make-tcp-tunnel.js +0 -202
  256. package/lib/server/utils/apm.js +0 -29
  257. package/lib/server/utils/assert-valid-claim-request.js +0 -354
  258. package/lib/server/utils/config-env.js +0 -4
  259. package/lib/server/utils/dns.js +0 -24
  260. package/lib/server/utils/gcp-attestation.js +0 -237
  261. package/lib/server/utils/generics.js +0 -45
  262. package/lib/server/utils/iso.js +0 -259
  263. package/lib/server/utils/keep-alive.js +0 -38
  264. package/lib/server/utils/nitro-attestation.js +0 -249
  265. package/lib/server/utils/oprf-raw.js +0 -61
  266. package/lib/server/utils/process-handshake.js +0 -233
  267. package/lib/server/utils/proxy-session.js +0 -4
  268. package/lib/server/utils/tee-oprf-mpc-verification.js +0 -86
  269. package/lib/server/utils/tee-oprf-verification.js +0 -151
  270. package/lib/server/utils/tee-transcript-reconstruction.js +0 -140
  271. package/lib/server/utils/tee-verification.js +0 -358
  272. package/lib/server/utils/validation.js +0 -45
  273. package/lib/types/bgp.js +0 -0
  274. package/lib/types/claims.js +0 -0
  275. package/lib/types/client.js +0 -0
  276. package/lib/types/general.js +0 -0
  277. package/lib/types/handlers.js +0 -0
  278. package/lib/types/index.js +0 -10
  279. package/lib/types/providers.gen.js +0 -16
  280. package/lib/types/providers.js +0 -0
  281. package/lib/types/rpc.js +0 -0
  282. package/lib/types/signatures.js +0 -0
  283. package/lib/types/tunnel.js +0 -0
  284. package/lib/types/zk.js +0 -0
  285. package/lib/utils/auth.js +0 -71
  286. package/lib/utils/b64-json.js +0 -17
  287. package/lib/utils/bgp-listener.js +0 -123
  288. package/lib/utils/claims.js +0 -89
  289. package/lib/utils/env.js +0 -19
  290. package/lib/utils/error.js +0 -54
  291. package/lib/utils/generics.js +0 -272
  292. package/lib/utils/http-parser.js +0 -201
  293. package/lib/utils/index.browser.d.ts +0 -13
  294. package/lib/utils/index.js +0 -14
  295. package/lib/utils/logger.browser.d.ts +0 -14
  296. package/lib/utils/logger.js +0 -82
  297. package/lib/utils/prepare-packets.js +0 -69
  298. package/lib/utils/redactions.js +0 -135
  299. package/lib/utils/retries.js +0 -26
  300. package/lib/utils/signatures/eth.js +0 -31
  301. package/lib/utils/signatures/index.js +0 -12
  302. package/lib/utils/socket-base.js +0 -96
  303. package/lib/utils/tls-imports.d.ts +0 -1
  304. package/lib/utils/tls-imports.js +0 -34
  305. package/lib/utils/tls.js +0 -58
  306. package/lib/utils/ws.js +0 -22
  307. package/lib/utils/zk.js +0 -625
@@ -1,213 +0,0 @@
1
- import '#src/external-rpc/global.d.ts';
2
- import type { OPRFOperator, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
3
- import type { TaskCompletedEvent } from '#src/avs/contracts/ReclaimServiceManager.ts';
4
- import type { CreateClaimOnAvsOpts, CreateClaimOnAvsStep } from '#src/avs/types/index.ts';
5
- import type { CreateClaimOnMechainStep } from '#src/mechain/types/index.ts';
6
- import type { AuthenticationRequest } from '#src/proto/api.ts';
7
- import type { extractHTMLElement, extractJSONValueIndex } from '#src/providers/http/utils.ts';
8
- import type { AttestorData, CompleteClaimData, CreateClaimOnAttestorOpts, LogLevel, ProofGenerationStep, ProviderName, ProviderParams, ProviderSecretParams } from '#src/types/index.ts';
9
- import type { HttpRequest, HttpResponse } from '#src/utils/index.ts';
10
- type IdentifiedMessage = {
11
- id: string;
12
- };
13
- type CreateClaimRPCBaseOpts = {
14
- /**
15
- * Specify the mode for the ZK & OPRF operator,
16
- * 'default' -> will use the default ZK operator included in the SDK
17
- * (presently that's SnarkJS supported by FFs running on WASM)
18
- * 'rpc' -> if you've access to a native ZK operator, you can use this mode
19
- * For eg. on React Native
20
- */
21
- zkOperatorMode?: 'default' | 'rpc';
22
- context?: string;
23
- zkEngine?: ZKEngine;
24
- updateProviderParams?: boolean;
25
- authRequest?: AuthenticationRequest;
26
- };
27
- export type RPCCreateClaimOptions<N extends ProviderName = any> = Omit<CreateClaimOnAttestorOpts<N>, 'zkOperators' | 'context' | 'client'> & CreateClaimRPCBaseOpts;
28
- export type RPCCreateClaimOnAvsOptions<N extends ProviderName = any> = Omit<CreateClaimOnAvsOpts<N>, 'zkOperators' | 'context' | 'payer'> & {
29
- payer?: 'attestor';
30
- } & CreateClaimRPCBaseOpts;
31
- export type RPCCreateClaimOnMechainOptions<N extends ProviderName = any> = Omit<CreateClaimOnAvsOpts<N>, 'zkOperators' | 'context'> & CreateClaimRPCBaseOpts;
32
- type ExtractHTMLElementOptions = {
33
- html: string;
34
- xpathExpression: string;
35
- contentsOnly: boolean;
36
- };
37
- type ExtractJSONValueIndexOptions = {
38
- json: string;
39
- jsonPath: string;
40
- };
41
- type UpdateProviderParamsOpts = {
42
- request: Omit<HttpRequest, 'body'> & {
43
- body: string | undefined;
44
- };
45
- response: Omit<HttpResponse, 'body'> & {
46
- body: string | undefined;
47
- };
48
- };
49
- type LogLevelOptions = {
50
- logLevel: LogLevel;
51
- /**
52
- * If true, log messages will be sent back to the app
53
- * via postMessage
54
- */
55
- sendLogsToApp: boolean;
56
- };
57
- type AVSCreateResult = {
58
- object: TaskCompletedEvent.OutputObject;
59
- txHash: string;
60
- };
61
- type MechainCreateResult = {
62
- taskId: number;
63
- data: CreateClaimResponse[];
64
- };
65
- /**
66
- * Legacy V1 create claim response
67
- */
68
- export type CreateClaimResponse = {
69
- identifier: string;
70
- claimData: CompleteClaimData;
71
- signatures: string[];
72
- /**
73
- * @deprecated no longer valid
74
- */
75
- witnesses: AttestorData[];
76
- };
77
- /**
78
- * Fns the app calls on the attestor.
79
- * These are things done inside the attestor
80
- */
81
- export type ExternalRPCClient = {
82
- /**
83
- * Create a claim on the attestor where the RPC SDK is hosted.
84
- */
85
- createClaim(options: RPCCreateClaimOptions): Promise<CreateClaimResponse>;
86
- /**
87
- * Create a claim on the AVS
88
- */
89
- createClaimOnAvs(opts: RPCCreateClaimOnAvsOptions): Promise<AVSCreateResult>;
90
- /**
91
- * Create a claim on Mechain
92
- */
93
- createClaimOnMechain(opts: RPCCreateClaimOnMechainOptions): Promise<MechainCreateResult>;
94
- /**
95
- * Extract an HTML element from a string of HTML
96
- */
97
- extractHtmlElement(options: ExtractHTMLElementOptions): Promise<ReturnType<typeof extractHTMLElement>>;
98
- extractJSONValueIndex(options: ExtractJSONValueIndexOptions): Promise<ReturnType<typeof extractJSONValueIndex>>;
99
- getCurrentMemoryUsage(): Promise<{
100
- available: boolean;
101
- content: string;
102
- }>;
103
- /**
104
- * Set the log level for the attestor,
105
- * optionally set "sendLogsToApp" to true to send logs
106
- * back to the app
107
- */
108
- setLogLevel(options: LogLevelOptions): Promise<void>;
109
- benchmarkZK(): Promise<string>;
110
- ping(): Promise<{
111
- pong: string;
112
- }>;
113
- };
114
- type AsFunction<K> = K extends (...args: any[]) => any ? K : never;
115
- type FunctionalOperator<T, K extends keyof T> = {
116
- fn: K;
117
- args: Parameters<AsFunction<T[K]>>;
118
- };
119
- export type ExecuteZKOpts<T extends keyof ZKOperator = keyof ZKOperator> = FunctionalOperator<ZKOperator, T>;
120
- export type ExecuteOPRFOpts<T extends keyof OPRFOperator = keyof OPRFOperator> = FunctionalOperator<OPRFOperator, T>;
121
- /**
122
- * Fns the attestor calls on the app
123
- */
124
- export type ExternalRPCAppClient = {
125
- executeZkFunctionV3(opts: ExecuteZKOpts): Promise<any>;
126
- executeOprfFunctionV3(opts: ExecuteOPRFOpts): Promise<any>;
127
- updateProviderParams(opts: UpdateProviderParamsOpts): Promise<{
128
- params: Partial<ProviderParams<'http'>>;
129
- secretParams: Partial<ProviderSecretParams<'http'>>;
130
- }>;
131
- /**
132
- * The runtime needs to open a WebSocket connection. Is required for
133
- * runtimes that do not support WebSockets natively.
134
- *
135
- * The app should facilitate this by opening a WebSocket connection
136
- * to the given URL.
137
- * "id" is a unique identifier for the WebSocket connection.
138
- */
139
- connectWs(opts: {
140
- id: string;
141
- url: string;
142
- }): Promise<{}>;
143
- /**
144
- * Runtime wants to disconnect a WebSocket connection.
145
- * "code" is an optional close code,
146
- * and "reason" is an optional reason for closing.
147
- */
148
- disconnectWs(opts: {
149
- id: string;
150
- code?: number;
151
- reason?: any;
152
- }): Promise<{}>;
153
- /**
154
- * Runtime wants to send a message over a WebSocket connection.
155
- */
156
- sendWsMessage(opts: {
157
- id: string;
158
- data: ArrayBufferView | string;
159
- }): Promise<{}>;
160
- };
161
- type AnyRPCClient = {
162
- [_: string]: (opts: any) => any;
163
- };
164
- export type ExternalRPCRequest<T extends AnyRPCClient, K extends keyof T> = {
165
- type: K;
166
- request: Parameters<T[K]>[0];
167
- };
168
- export type ExternalRPCResponse<T extends AnyRPCClient, K extends (keyof T) & string> = {
169
- type: `${K}Done`;
170
- response: Awaited<ReturnType<T[K]>>;
171
- };
172
- export type ExternalRPCErrorResponse = {
173
- type: 'error';
174
- data: {
175
- message: string;
176
- stack: string;
177
- };
178
- };
179
- type AsResponse<T> = T & {
180
- isResponse: true;
181
- };
182
- /**
183
- * Data sent to the attestor from the window/application
184
- */
185
- export type ExternalRPCIncomingMsg = (ExternalRPCRequest<ExternalRPCClient, 'createClaim'> | ExternalRPCRequest<ExternalRPCClient, 'createClaimOnAvs'> | ExternalRPCRequest<ExternalRPCClient, 'createClaimOnMechain'> | ExternalRPCRequest<ExternalRPCClient, 'extractHtmlElement'> | ExternalRPCRequest<ExternalRPCClient, 'extractJSONValueIndex'> | ExternalRPCRequest<ExternalRPCClient, 'getCurrentMemoryUsage'> | ExternalRPCRequest<ExternalRPCClient, 'setLogLevel'> | ExternalRPCRequest<ExternalRPCClient, 'benchmarkZK'> | ExternalRPCRequest<ExternalRPCClient, 'ping'> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'executeZkFunctionV3'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'executeOprfFunctionV3'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'updateProviderParams'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'connectWs'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'disconnectWs'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'sendWsMessage'>> | AsResponse<ExternalRPCErrorResponse> | ExternalRPCRequest<ExternalRPCAppClient, 'sendWsMessage'> | {
186
- type: 'disconnectWs';
187
- request: {
188
- id: string;
189
- err?: string;
190
- };
191
- }) & IdentifiedMessage;
192
- /**
193
- * Data sent back from the attestor to
194
- * the window/application containing the attestor
195
- */
196
- export type ExternalRPCOutgoingMsg = (AsResponse<ExternalRPCResponse<ExternalRPCClient, 'createClaim'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'createClaimOnAvs'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'extractHtmlElement'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'extractJSONValueIndex'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'getCurrentMemoryUsage'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'setLogLevel'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'benchmarkZK'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'ping'>> | ExternalRPCRequest<ExternalRPCAppClient, 'executeZkFunctionV3'> | ExternalRPCRequest<ExternalRPCAppClient, 'executeOprfFunctionV3'> | ExternalRPCRequest<ExternalRPCAppClient, 'updateProviderParams'> | ExternalRPCRequest<ExternalRPCAppClient, 'connectWs'> | ExternalRPCRequest<ExternalRPCAppClient, 'disconnectWs'> | ExternalRPCRequest<ExternalRPCAppClient, 'sendWsMessage'> | ({
197
- type: 'createClaimStep';
198
- step: {
199
- name: 'attestor-progress';
200
- step: ProofGenerationStep;
201
- };
202
- }) | ({
203
- type: 'createClaimOnAvsStep';
204
- step: CreateClaimOnAvsStep;
205
- }) | ({
206
- type: 'createClaimOnMechainStep';
207
- step: CreateClaimOnMechainStep;
208
- }) | ({
209
- type: 'log';
210
- level: LogLevelOptions['logLevel'];
211
- message: object;
212
- }) | AsResponse<ExternalRPCErrorResponse>) & IdentifiedMessage;
213
- export {};
File without changes
@@ -1,20 +0,0 @@
1
- import { EventBus } from '#src/external-rpc/event-bus.ts';
2
- import type { ExternalRPCAppClient, ExternalRPCIncomingMsg, ExternalRPCOutgoingMsg, ExternalRPCRequest, ExternalRPCResponse } from '#src/external-rpc/types.ts';
3
- export declare const RPC_MSG_BRIDGE: EventBus<ExternalRPCIncomingMsg>;
4
- export declare function getCurrentMemoryUsage(): Promise<{
5
- available: boolean;
6
- content: string;
7
- }>;
8
- export declare function generateRpcRequestId(): string;
9
- /**
10
- * The window RPC will be served from the same origin as the API server.
11
- * so we can get the API server's origin from the location.
12
- */
13
- export declare function getWsApiUrlFromBaseUrl(): string;
14
- export declare function rpcRequest<T extends keyof ExternalRPCAppClient>(opts: ExternalRPCRequest<ExternalRPCAppClient, T>): Promise<ExternalRPCResponse<ExternalRPCAppClient, T>['response']>;
15
- export declare function waitForResponse<T extends keyof ExternalRPCAppClient>(type: T, requestId: string, timeoutMs?: number): Promise<Awaited<ReturnType<ExternalRPCAppClient[T]>>>;
16
- /**
17
- * Sends a message back to the host app
18
- * @param data
19
- */
20
- export declare function sendMessageToApp(data: ExternalRPCOutgoingMsg): void;
@@ -1,100 +0,0 @@
1
- import { WS_PATHNAME } from "../config/index.js";
2
- import { EventBus } from "../external-rpc/event-bus.js";
3
- import { B64_JSON_REPLACER } from "../utils/b64-json.js";
4
- import { AttestorError } from "../utils/error.js";
5
- const RPC_MSG_BRIDGE = new EventBus();
6
- async function getCurrentMemoryUsage() {
7
- if (!window.crossOriginIsolated) {
8
- return {
9
- available: false,
10
- content: "N/A (page not cross-origin-isolated)"
11
- };
12
- } else if (!performance.measureUserAgentSpecificMemory) {
13
- return {
14
- available: false,
15
- content: "N/A (performance.measureUserAgentSpecificMemory() is not available)"
16
- };
17
- } else {
18
- try {
19
- const result = performance.measureUserAgentSpecificMemory();
20
- const totalmb = Math.round(result.bytes / 1024 / 1024);
21
- return { available: true, content: `${totalmb}mb` };
22
- } catch (error) {
23
- if (error instanceof DOMException && error.name === "SecurityError") {
24
- return { available: false, content: `N/A (${error.message})` };
25
- }
26
- throw error;
27
- }
28
- }
29
- }
30
- function generateRpcRequestId() {
31
- return Math.random().toString(36).slice(2);
32
- }
33
- function getWsApiUrlFromBaseUrl() {
34
- if (typeof ATTESTOR_BASE_URL !== "string") {
35
- throw new Error("ATTESTOR_BASE_URL is not set");
36
- }
37
- const parsed = new URL(ATTESTOR_BASE_URL);
38
- const { host, protocol } = parsed;
39
- const wsProtocol = protocol === "https:" ? "wss:" : "ws:";
40
- return `${wsProtocol}//${host}${WS_PATHNAME}`;
41
- }
42
- function rpcRequest(opts) {
43
- const id = generateRpcRequestId();
44
- const waitForRes = waitForResponse(opts.type, id);
45
- sendMessageToApp({
46
- id,
47
- type: opts.type,
48
- request: opts.request
49
- });
50
- return waitForRes;
51
- }
52
- function waitForResponse(type, requestId, timeoutMs = 6e4) {
53
- const returnType = `${type}Done`;
54
- return new Promise((resolve, reject) => {
55
- const timeout = setTimeout(() => {
56
- reject(
57
- new AttestorError(
58
- "ERROR_INTERNAL",
59
- `Timeout waiting for response: ${type}`,
60
- { requestId }
61
- )
62
- );
63
- cancel();
64
- }, timeoutMs);
65
- const cancel = RPC_MSG_BRIDGE.addListener((msg) => {
66
- if (msg.id !== requestId) {
67
- return;
68
- }
69
- if (msg.type === "error") {
70
- reject(new Error(msg.data.message));
71
- } else if (msg.type === returnType) {
72
- resolve(msg.response);
73
- } else {
74
- return;
75
- }
76
- clearTimeout(timeout);
77
- cancel();
78
- });
79
- });
80
- }
81
- function sendMessageToApp(data) {
82
- const str = JSON.stringify(data, B64_JSON_REPLACER);
83
- if (!RPC_CHANNEL_NAME) {
84
- throw new Error("global RPC_CHANNEL_NAME is not set");
85
- }
86
- const channel = globalThis[RPC_CHANNEL_NAME];
87
- if (!channel) {
88
- throw new Error(`RPC channel ${RPC_CHANNEL_NAME} not set on globalThis`);
89
- }
90
- channel.postMessage(str);
91
- }
92
- export {
93
- RPC_MSG_BRIDGE,
94
- generateRpcRequestId,
95
- getCurrentMemoryUsage,
96
- getWsApiUrlFromBaseUrl,
97
- rpcRequest,
98
- sendMessageToApp,
99
- waitForResponse
100
- };
@@ -1,14 +0,0 @@
1
- import type { EncryptionAlgorithm, OPRFOperator, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
2
- export declare const ALL_ENC_ALGORITHMS: EncryptionAlgorithm[];
3
- /**
4
- * The goal of this RPC operator is if the attestor client
5
- * is running in a WebView, it can call the native
6
- * application to perform the ZK operations
7
- */
8
- export declare function makeExternalRpcZkOperator(algorithm: EncryptionAlgorithm, zkEngine?: ZKEngine): ZKOperator;
9
- /**
10
- * The goal of this RPC operator is if the attestor client
11
- * is running in a WebView, it can call the native
12
- * application to perform the OPRF operations
13
- */
14
- export declare function makeExternalRpcOprfOperator(algorithm: EncryptionAlgorithm, zkEngine?: ZKEngine): OPRFOperator;
@@ -1,58 +0,0 @@
1
- import { rpcRequest } from "../external-rpc/utils.js";
2
- import { logger, makeDefaultZkOperator } from "../utils/index.js";
3
- const ALL_ENC_ALGORITHMS = [
4
- "aes-256-ctr",
5
- "aes-128-ctr",
6
- "chacha20"
7
- ];
8
- function makeExternalRpcZkOperator(algorithm, zkEngine = "snarkjs") {
9
- return {
10
- async generateWitness(input) {
11
- const operator = await makeDefaultZkOperator(algorithm, zkEngine, logger);
12
- return operator.generateWitness(input);
13
- },
14
- groth16Prove(input) {
15
- return callFnZk({ fn: "groth16Prove", args: [input] });
16
- },
17
- groth16Verify(publicSignals, proof) {
18
- return callFnZk({ fn: "groth16Verify", args: [publicSignals, proof] });
19
- }
20
- };
21
- }
22
- function callFnZk(request) {
23
- return rpcRequest({ type: "executeZkFunctionV3", request });
24
- }
25
- function makeExternalRpcOprfOperator(algorithm, zkEngine = "snarkjs") {
26
- return {
27
- async generateWitness(input) {
28
- const operator = await makeDefaultZkOperator(algorithm, zkEngine, logger);
29
- return operator.generateWitness(input);
30
- },
31
- groth16Prove(input) {
32
- return callFnOprf({ fn: "groth16Prove", args: [input] });
33
- },
34
- groth16Verify(publicSignals, proof) {
35
- return callFnOprf({ fn: "groth16Verify", args: [publicSignals, proof] });
36
- },
37
- generateThresholdKeys(total, threshold) {
38
- return callFnOprf({ fn: "generateThresholdKeys", args: [total, threshold] });
39
- },
40
- generateOPRFRequestData(data, domainSeparator) {
41
- return callFnOprf({ fn: "generateOPRFRequestData", args: [data, domainSeparator] });
42
- },
43
- finaliseOPRF(serverPublicKey, request, responses) {
44
- return callFnOprf({ fn: "finaliseOPRF", args: [serverPublicKey, request, responses] });
45
- },
46
- evaluateOPRF(serverPrivateKey, request) {
47
- return callFnOprf({ fn: "evaluateOPRF", args: [serverPrivateKey, request] });
48
- }
49
- };
50
- }
51
- function callFnOprf(request) {
52
- return rpcRequest({ type: "executeOprfFunctionV3", request });
53
- }
54
- export {
55
- ALL_ENC_ALGORITHMS,
56
- makeExternalRpcOprfOperator,
57
- makeExternalRpcZkOperator
58
- };
@@ -1,13 +0,0 @@
1
- import * as tls from "@reclaimprotocol/tls";
2
- export * from "./client/utils/client-socket.js";
3
- export * from "./config/index.js";
4
- export * from "./types/index.js";
5
- export * from "./utils/index.js";
6
- export * from "./providers/index.js";
7
- import * as proto from "./proto/api.js";
8
- export * from "./client/index.js";
9
- export * from "./mechain/index.js";
10
- export {
11
- proto,
12
- tls
13
- };
@@ -1,9 +0,0 @@
1
- export * as tls from '@reclaimprotocol/tls';
2
- export * from './client/utils/client-socket.ts';
3
- export * from './config/index.ts';
4
- export * from './types/index.ts';
5
- export * from './utils/index.js';
6
- export * from './providers/index.ts';
7
- export * as proto from './proto/api.ts';
8
- export * from './client/index.ts';
9
- export * from './mechain/index.ts';
@@ -1,13 +0,0 @@
1
- import * as tls from "@reclaimprotocol/tls";
2
- export * from "./client/utils/client-socket.js";
3
- export * from "./config/index.js";
4
- export * from "./types/index.js";
5
- export * from "./utils/index.js";
6
- export * from "./providers/index.js";
7
- import * as proto from "./proto/api.js";
8
- export * from "./client/index.js";
9
- export * from "./mechain/index.js";
10
- export {
11
- proto,
12
- tls
13
- };
@@ -1,50 +0,0 @@
1
- export declare const governanceABI: ({
2
- inputs: {
3
- internalType: string;
4
- name: string;
5
- type: string;
6
- }[];
7
- stateMutability: string;
8
- type: string;
9
- name?: undefined;
10
- anonymous?: undefined;
11
- outputs?: undefined;
12
- } | {
13
- inputs: {
14
- internalType: string;
15
- name: string;
16
- type: string;
17
- }[];
18
- name: string;
19
- type: string;
20
- stateMutability?: undefined;
21
- anonymous?: undefined;
22
- outputs?: undefined;
23
- } | {
24
- anonymous: boolean;
25
- inputs: {
26
- indexed: boolean;
27
- internalType: string;
28
- name: string;
29
- type: string;
30
- }[];
31
- name: string;
32
- type: string;
33
- stateMutability?: undefined;
34
- outputs?: undefined;
35
- } | {
36
- inputs: {
37
- internalType: string;
38
- name: string;
39
- type: string;
40
- }[];
41
- name: string;
42
- outputs: {
43
- internalType: string;
44
- name: string;
45
- type: string;
46
- }[];
47
- stateMutability: string;
48
- type: string;
49
- anonymous?: undefined;
50
- })[];