@reclaimprotocol/attestor-core 5.0.1-beta.9 → 5.0.2-beta.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 (310) hide show
  1. package/browser/resources/attestor-browser.min.mjs +4513 -0
  2. package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +1 -1
  3. package/lib/external-rpc/index.js +10397 -3
  4. package/lib/index.js +8325 -10
  5. package/lib/server/utils/generics.d.ts +1 -1
  6. package/lib/server/utils/proxy-session.d.ts +1 -1
  7. package/lib/types/general.d.ts +0 -1
  8. package/lib/types/providers.d.ts +3 -2
  9. package/lib/types/signatures.d.ts +1 -2
  10. package/lib/utils/generics.d.ts +1 -6
  11. package/lib/utils/index.d.ts +0 -1
  12. package/package.json +9 -11
  13. package/lib/avs/abis/avsDirectoryABI.js +0 -343
  14. package/lib/avs/abis/delegationABI.js +0 -4
  15. package/lib/avs/abis/registryABI.js +0 -728
  16. package/lib/avs/client/create-claim-on-avs.js +0 -168
  17. package/lib/avs/config.js +0 -26
  18. package/lib/avs/contracts/ReclaimServiceManager.js +0 -0
  19. package/lib/avs/contracts/common.js +0 -0
  20. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1183
  21. package/lib/avs/contracts/factories/index.js +0 -4
  22. package/lib/avs/contracts/index.js +0 -6
  23. package/lib/avs/types/index.js +0 -0
  24. package/lib/avs/utils/contracts.js +0 -53
  25. package/lib/avs/utils/register.js +0 -74
  26. package/lib/avs/utils/tasks.js +0 -48
  27. package/lib/browser/avs/abis/avsDirectoryABI.d.ts +0 -60
  28. package/lib/browser/avs/abis/avsDirectoryABI.js +0 -343
  29. package/lib/browser/avs/abis/delegationABI.d.ts +0 -126
  30. package/lib/browser/avs/abis/delegationABI.js +0 -4
  31. package/lib/browser/avs/abis/registryABI.d.ts +0 -136
  32. package/lib/browser/avs/abis/registryABI.js +0 -728
  33. package/lib/browser/avs/client/create-claim-on-avs.d.ts +0 -12
  34. package/lib/browser/avs/client/create-claim-on-avs.js +0 -168
  35. package/lib/browser/avs/config.d.ts +0 -7
  36. package/lib/browser/avs/config.js +0 -26
  37. package/lib/browser/avs/contracts/ReclaimServiceManager.d.ts +0 -601
  38. package/lib/browser/avs/contracts/ReclaimServiceManager.js +0 -0
  39. package/lib/browser/avs/contracts/common.d.ts +0 -50
  40. package/lib/browser/avs/contracts/common.js +0 -0
  41. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +0 -890
  42. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1183
  43. package/lib/browser/avs/contracts/factories/index.d.ts +0 -1
  44. package/lib/browser/avs/contracts/factories/index.js +0 -4
  45. package/lib/browser/avs/contracts/index.d.ts +0 -3
  46. package/lib/browser/avs/contracts/index.js +0 -6
  47. package/lib/browser/avs/types/index.d.ts +0 -55
  48. package/lib/browser/avs/types/index.js +0 -0
  49. package/lib/browser/avs/utils/contracts.d.ts +0 -21
  50. package/lib/browser/avs/utils/contracts.js +0 -53
  51. package/lib/browser/avs/utils/register.d.ts +0 -27
  52. package/lib/browser/avs/utils/register.js +0 -74
  53. package/lib/browser/avs/utils/tasks.d.ts +0 -22
  54. package/lib/browser/avs/utils/tasks.js +0 -48
  55. package/lib/browser/client/create-claim.d.ts +0 -5
  56. package/lib/browser/client/create-claim.js +0 -461
  57. package/lib/browser/client/index.d.ts +0 -3
  58. package/lib/browser/client/index.js +0 -3
  59. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.d.ts +0 -16
  60. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.js +0 -53
  61. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.d.ts +0 -26
  62. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.js +0 -127
  63. package/lib/browser/client/utils/attestor-pool.d.ts +0 -8
  64. package/lib/browser/client/utils/attestor-pool.js +0 -24
  65. package/lib/browser/client/utils/client-socket.d.ts +0 -11
  66. package/lib/browser/client/utils/client-socket.js +0 -120
  67. package/lib/browser/client/utils/message-handler.d.ts +0 -4
  68. package/lib/browser/client/utils/message-handler.js +0 -97
  69. package/lib/browser/config/index.d.ts +0 -31
  70. package/lib/browser/config/index.js +0 -62
  71. package/lib/browser/external-rpc/benchmark.d.ts +0 -1
  72. package/lib/browser/external-rpc/benchmark.js +0 -82
  73. package/lib/browser/external-rpc/event-bus.d.ts +0 -7
  74. package/lib/browser/external-rpc/event-bus.js +0 -17
  75. package/lib/browser/external-rpc/global.d.js +0 -0
  76. package/lib/browser/external-rpc/handle-incoming-msg.d.ts +0 -2
  77. package/lib/browser/external-rpc/handle-incoming-msg.js +0 -241
  78. package/lib/browser/external-rpc/index.d.ts +0 -3
  79. package/lib/browser/external-rpc/index.js +0 -3
  80. package/lib/browser/external-rpc/jsc-polyfills/1.d.ts +0 -14
  81. package/lib/browser/external-rpc/jsc-polyfills/1.js +0 -80
  82. package/lib/browser/external-rpc/jsc-polyfills/2.d.ts +0 -1
  83. package/lib/browser/external-rpc/jsc-polyfills/2.js +0 -15
  84. package/lib/browser/external-rpc/jsc-polyfills/event.d.ts +0 -10
  85. package/lib/browser/external-rpc/jsc-polyfills/event.js +0 -19
  86. package/lib/browser/external-rpc/jsc-polyfills/index.d.ts +0 -2
  87. package/lib/browser/external-rpc/jsc-polyfills/index.js +0 -2
  88. package/lib/browser/external-rpc/jsc-polyfills/ws.d.ts +0 -21
  89. package/lib/browser/external-rpc/jsc-polyfills/ws.js +0 -83
  90. package/lib/browser/external-rpc/setup-browser.d.ts +0 -6
  91. package/lib/browser/external-rpc/setup-browser.js +0 -33
  92. package/lib/browser/external-rpc/setup-jsc.d.ts +0 -24
  93. package/lib/browser/external-rpc/setup-jsc.js +0 -22
  94. package/lib/browser/external-rpc/types.d.ts +0 -213
  95. package/lib/browser/external-rpc/types.js +0 -0
  96. package/lib/browser/external-rpc/utils.d.ts +0 -20
  97. package/lib/browser/external-rpc/utils.js +0 -100
  98. package/lib/browser/external-rpc/zk.d.ts +0 -14
  99. package/lib/browser/external-rpc/zk.js +0 -58
  100. package/lib/browser/index.browser.js +0 -13
  101. package/lib/browser/index.d.ts +0 -9
  102. package/lib/browser/index.js +0 -13
  103. package/lib/browser/mechain/abis/governanceABI.d.ts +0 -50
  104. package/lib/browser/mechain/abis/governanceABI.js +0 -461
  105. package/lib/browser/mechain/abis/taskABI.d.ts +0 -157
  106. package/lib/browser/mechain/abis/taskABI.js +0 -512
  107. package/lib/browser/mechain/client/create-claim-on-mechain.d.ts +0 -10
  108. package/lib/browser/mechain/client/create-claim-on-mechain.js +0 -33
  109. package/lib/browser/mechain/client/index.d.ts +0 -1
  110. package/lib/browser/mechain/client/index.js +0 -1
  111. package/lib/browser/mechain/constants/index.d.ts +0 -3
  112. package/lib/browser/mechain/constants/index.js +0 -8
  113. package/lib/browser/mechain/index.d.ts +0 -2
  114. package/lib/browser/mechain/index.js +0 -2
  115. package/lib/browser/mechain/types/index.d.ts +0 -23
  116. package/lib/browser/mechain/types/index.js +0 -0
  117. package/lib/browser/proto/api.d.ts +0 -651
  118. package/lib/browser/proto/api.js +0 -4250
  119. package/lib/browser/proto/tee-bundle.d.ts +0 -156
  120. package/lib/browser/proto/tee-bundle.js +0 -1296
  121. package/lib/browser/providers/http/index.d.ts +0 -18
  122. package/lib/browser/providers/http/index.js +0 -640
  123. package/lib/browser/providers/http/patch-parse5-tree.d.ts +0 -6
  124. package/lib/browser/providers/http/patch-parse5-tree.js +0 -34
  125. package/lib/browser/providers/http/utils.d.ts +0 -77
  126. package/lib/browser/providers/http/utils.js +0 -283
  127. package/lib/browser/providers/index.d.ts +0 -4
  128. package/lib/browser/providers/index.js +0 -7
  129. package/lib/browser/types/bgp.d.ts +0 -11
  130. package/lib/browser/types/bgp.js +0 -0
  131. package/lib/browser/types/claims.d.ts +0 -70
  132. package/lib/browser/types/claims.js +0 -0
  133. package/lib/browser/types/client.d.ts +0 -163
  134. package/lib/browser/types/client.js +0 -0
  135. package/lib/browser/types/general.d.ts +0 -77
  136. package/lib/browser/types/general.js +0 -0
  137. package/lib/browser/types/handlers.d.ts +0 -10
  138. package/lib/browser/types/handlers.js +0 -0
  139. package/lib/browser/types/index.d.ts +0 -10
  140. package/lib/browser/types/index.js +0 -10
  141. package/lib/browser/types/providers.d.ts +0 -161
  142. package/lib/browser/types/providers.gen.d.ts +0 -443
  143. package/lib/browser/types/providers.gen.js +0 -16
  144. package/lib/browser/types/providers.js +0 -0
  145. package/lib/browser/types/rpc.d.ts +0 -35
  146. package/lib/browser/types/rpc.js +0 -0
  147. package/lib/browser/types/signatures.d.ts +0 -28
  148. package/lib/browser/types/signatures.js +0 -0
  149. package/lib/browser/types/tunnel.d.ts +0 -18
  150. package/lib/browser/types/tunnel.js +0 -0
  151. package/lib/browser/types/zk.d.ts +0 -38
  152. package/lib/browser/types/zk.js +0 -0
  153. package/lib/browser/utils/auth.d.ts +0 -8
  154. package/lib/browser/utils/auth.js +0 -71
  155. package/lib/browser/utils/b64-json.d.ts +0 -2
  156. package/lib/browser/utils/b64-json.js +0 -17
  157. package/lib/browser/utils/claims.d.ts +0 -33
  158. package/lib/browser/utils/claims.js +0 -89
  159. package/lib/browser/utils/env.d.ts +0 -3
  160. package/lib/browser/utils/env.js +0 -19
  161. package/lib/browser/utils/error.d.ts +0 -26
  162. package/lib/browser/utils/error.js +0 -54
  163. package/lib/browser/utils/generics.d.ts +0 -119
  164. package/lib/browser/utils/generics.js +0 -272
  165. package/lib/browser/utils/http-parser.d.ts +0 -59
  166. package/lib/browser/utils/http-parser.js +0 -201
  167. package/lib/browser/utils/index.browser.js +0 -13
  168. package/lib/browser/utils/index.d.ts +0 -13
  169. package/lib/browser/utils/index.js +0 -13
  170. package/lib/browser/utils/logger.browser.js +0 -88
  171. package/lib/browser/utils/logger.d.ts +0 -14
  172. package/lib/browser/utils/logger.js +0 -88
  173. package/lib/browser/utils/prepare-packets.d.ts +0 -16
  174. package/lib/browser/utils/prepare-packets.js +0 -69
  175. package/lib/browser/utils/redactions.d.ts +0 -73
  176. package/lib/browser/utils/redactions.js +0 -135
  177. package/lib/browser/utils/retries.d.ts +0 -12
  178. package/lib/browser/utils/retries.js +0 -26
  179. package/lib/browser/utils/signatures/eth.d.ts +0 -2
  180. package/lib/browser/utils/signatures/eth.js +0 -31
  181. package/lib/browser/utils/signatures/index.d.ts +0 -5
  182. package/lib/browser/utils/signatures/index.js +0 -12
  183. package/lib/browser/utils/socket-base.d.ts +0 -23
  184. package/lib/browser/utils/socket-base.js +0 -96
  185. package/lib/browser/utils/tls-imports.d.ts +0 -21
  186. package/lib/browser/utils/tls-imports.js +0 -71
  187. package/lib/browser/utils/tls.d.ts +0 -2
  188. package/lib/browser/utils/tls.js +0 -58
  189. package/lib/browser/utils/ws.d.ts +0 -7
  190. package/lib/browser/utils/ws.js +0 -22
  191. package/lib/browser/utils/zk.d.ts +0 -71
  192. package/lib/browser/utils/zk.js +0 -625
  193. package/lib/client/create-claim.js +0 -461
  194. package/lib/client/index.js +0 -3
  195. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +0 -53
  196. package/lib/client/tunnels/make-rpc-tls-tunnel.js +0 -127
  197. package/lib/client/utils/attestor-pool.js +0 -24
  198. package/lib/client/utils/client-socket.js +0 -120
  199. package/lib/client/utils/message-handler.js +0 -97
  200. package/lib/config/index.js +0 -62
  201. package/lib/external-rpc/benchmark.js +0 -82
  202. package/lib/external-rpc/event-bus.js +0 -17
  203. package/lib/external-rpc/global.d.js +0 -0
  204. package/lib/external-rpc/handle-incoming-msg.js +0 -241
  205. package/lib/external-rpc/jsc-polyfills/1.js +0 -80
  206. package/lib/external-rpc/jsc-polyfills/2.js +0 -15
  207. package/lib/external-rpc/jsc-polyfills/event.js +0 -19
  208. package/lib/external-rpc/jsc-polyfills/index.js +0 -2
  209. package/lib/external-rpc/jsc-polyfills/ws.js +0 -83
  210. package/lib/external-rpc/setup-browser.js +0 -33
  211. package/lib/external-rpc/setup-jsc.js +0 -22
  212. package/lib/external-rpc/types.js +0 -0
  213. package/lib/external-rpc/utils.js +0 -100
  214. package/lib/external-rpc/zk.js +0 -58
  215. package/lib/index.browser.d.ts +0 -9
  216. package/lib/mechain/abis/governanceABI.js +0 -461
  217. package/lib/mechain/abis/taskABI.js +0 -512
  218. package/lib/mechain/client/create-claim-on-mechain.js +0 -33
  219. package/lib/mechain/client/index.js +0 -1
  220. package/lib/mechain/constants/index.js +0 -8
  221. package/lib/mechain/index.js +0 -2
  222. package/lib/mechain/types/index.js +0 -0
  223. package/lib/proto/api.js +0 -4250
  224. package/lib/proto/tee-bundle.js +0 -1296
  225. package/lib/providers/http/index.js +0 -640
  226. package/lib/providers/http/patch-parse5-tree.js +0 -34
  227. package/lib/providers/http/utils.js +0 -283
  228. package/lib/providers/index.js +0 -7
  229. package/lib/scripts/check-avs-registration.js +0 -28
  230. package/lib/scripts/fallbacks/crypto.js +0 -4
  231. package/lib/scripts/fallbacks/empty.js +0 -4
  232. package/lib/scripts/fallbacks/re2.js +0 -7
  233. package/lib/scripts/fallbacks/snarkjs.js +0 -10
  234. package/lib/scripts/fallbacks/stwo.js +0 -159
  235. package/lib/scripts/generate-provider-types.js +0 -101
  236. package/lib/scripts/generate-receipt.js +0 -101
  237. package/lib/scripts/generate-toprf-keys.js +0 -24
  238. package/lib/scripts/jsc-cli-rpc.js +0 -35
  239. package/lib/scripts/register-avs-operator.js +0 -3
  240. package/lib/scripts/start-server.js +0 -11
  241. package/lib/scripts/update-avs-metadata.js +0 -20
  242. package/lib/scripts/utils.js +0 -10
  243. package/lib/scripts/whitelist-operator.js +0 -16
  244. package/lib/server/create-server.js +0 -105
  245. package/lib/server/handlers/claimTeeBundle.js +0 -232
  246. package/lib/server/handlers/claimTunnel.js +0 -80
  247. package/lib/server/handlers/completeClaimOnChain.js +0 -29
  248. package/lib/server/handlers/createClaimOnChain.js +0 -32
  249. package/lib/server/handlers/createTaskOnMechain.js +0 -57
  250. package/lib/server/handlers/createTunnel.js +0 -98
  251. package/lib/server/handlers/disconnectTunnel.js +0 -8
  252. package/lib/server/handlers/fetchCertificateBytes.js +0 -57
  253. package/lib/server/handlers/index.js +0 -25
  254. package/lib/server/handlers/init.js +0 -33
  255. package/lib/server/handlers/toprf.js +0 -19
  256. package/lib/server/index.js +0 -4
  257. package/lib/server/socket.js +0 -112
  258. package/lib/server/tunnels/make-tcp-tunnel.js +0 -202
  259. package/lib/server/utils/apm.js +0 -29
  260. package/lib/server/utils/assert-valid-claim-request.js +0 -354
  261. package/lib/server/utils/config-env.js +0 -4
  262. package/lib/server/utils/dns.js +0 -24
  263. package/lib/server/utils/gcp-attestation.js +0 -237
  264. package/lib/server/utils/generics.js +0 -45
  265. package/lib/server/utils/iso.js +0 -259
  266. package/lib/server/utils/keep-alive.js +0 -38
  267. package/lib/server/utils/nitro-attestation.js +0 -249
  268. package/lib/server/utils/oprf-raw.js +0 -61
  269. package/lib/server/utils/process-handshake.js +0 -233
  270. package/lib/server/utils/proxy-session.js +0 -4
  271. package/lib/server/utils/tee-oprf-mpc-verification.js +0 -86
  272. package/lib/server/utils/tee-oprf-verification.js +0 -151
  273. package/lib/server/utils/tee-transcript-reconstruction.js +0 -140
  274. package/lib/server/utils/tee-verification.js +0 -358
  275. package/lib/server/utils/validation.js +0 -45
  276. package/lib/types/bgp.js +0 -0
  277. package/lib/types/claims.js +0 -0
  278. package/lib/types/client.js +0 -0
  279. package/lib/types/general.js +0 -0
  280. package/lib/types/handlers.js +0 -0
  281. package/lib/types/index.js +0 -10
  282. package/lib/types/providers.gen.js +0 -16
  283. package/lib/types/providers.js +0 -0
  284. package/lib/types/rpc.js +0 -0
  285. package/lib/types/signatures.js +0 -0
  286. package/lib/types/tunnel.js +0 -0
  287. package/lib/types/zk.js +0 -0
  288. package/lib/utils/auth.js +0 -71
  289. package/lib/utils/b64-json.js +0 -17
  290. package/lib/utils/bgp-listener.js +0 -123
  291. package/lib/utils/claims.js +0 -89
  292. package/lib/utils/env.js +0 -19
  293. package/lib/utils/error.js +0 -54
  294. package/lib/utils/generics.js +0 -272
  295. package/lib/utils/http-parser.js +0 -201
  296. package/lib/utils/index.browser.d.ts +0 -13
  297. package/lib/utils/index.js +0 -14
  298. package/lib/utils/logger.browser.d.ts +0 -14
  299. package/lib/utils/logger.js +0 -82
  300. package/lib/utils/prepare-packets.js +0 -69
  301. package/lib/utils/redactions.js +0 -135
  302. package/lib/utils/retries.js +0 -26
  303. package/lib/utils/signatures/eth.js +0 -31
  304. package/lib/utils/signatures/index.js +0 -12
  305. package/lib/utils/socket-base.js +0 -96
  306. package/lib/utils/tls-imports.d.ts +0 -21
  307. package/lib/utils/tls-imports.js +0 -71
  308. package/lib/utils/tls.js +0 -58
  309. package/lib/utils/ws.js +0 -22
  310. package/lib/utils/zk.js +0 -625
@@ -1,15 +0,0 @@
1
- import { URL as WHATWG_URL } from "whatwg-url";
2
- import { CloseEventPolyfill, ErrorEventPolyfill, EventPolyfill, MessageEventPolyfill } from "../../external-rpc/jsc-polyfills/event.js";
3
- import { RPCWebSocket } from "../../external-rpc/jsc-polyfills/ws.js";
4
- if (typeof globalThis.URL === "undefined") {
5
- globalThis.URL = WHATWG_URL;
6
- }
7
- if (typeof globalThis.Event === "undefined") {
8
- globalThis.Event = EventPolyfill;
9
- globalThis.ErrorEvent = ErrorEventPolyfill;
10
- globalThis.CloseEvent = CloseEventPolyfill;
11
- globalThis.MessageEvent = MessageEventPolyfill;
12
- }
13
- if (typeof globalThis.WebSocket === "undefined") {
14
- globalThis.WebSocket = RPCWebSocket;
15
- }
@@ -1,19 +0,0 @@
1
- class EventPolyfill {
2
- type;
3
- constructor(type, eventInitDict) {
4
- this.type = type;
5
- Object.assign(this, eventInitDict);
6
- }
7
- }
8
- class ErrorEventPolyfill extends EventPolyfill {
9
- }
10
- class CloseEventPolyfill extends EventPolyfill {
11
- }
12
- class MessageEventPolyfill extends EventPolyfill {
13
- }
14
- export {
15
- CloseEventPolyfill,
16
- ErrorEventPolyfill,
17
- EventPolyfill,
18
- MessageEventPolyfill
19
- };
@@ -1,2 +0,0 @@
1
- import "../../external-rpc/jsc-polyfills/1.js";
2
- import "../../external-rpc/jsc-polyfills/2.js";
@@ -1,83 +0,0 @@
1
- import { RPC_MSG_BRIDGE, rpcRequest } from "../../external-rpc/utils.js";
2
- class RPCWebSocket extends EventTarget {
3
- CONNECTING = 0;
4
- OPEN = 1;
5
- CLOSING = 2;
6
- CLOSED = 3;
7
- id = `ws_${Date.now()}`;
8
- binaryType = "arraybuffer";
9
- bufferedAmount = 0;
10
- extensions = "";
11
- url;
12
- protocol;
13
- readyState = this.CONNECTING;
14
- onopen;
15
- onerror;
16
- onclose;
17
- onmessage;
18
- #cancelRpcBridge;
19
- constructor(url) {
20
- super();
21
- this.url = url;
22
- this.protocol = "";
23
- this.#onMessage = this.#onMessage.bind(this);
24
- rpcRequest({
25
- type: "connectWs",
26
- request: { id: this.id, url }
27
- }).then(() => this.#callOpen(new Event("open"))).catch((error) => this.#callError(new ErrorEvent("error", { error })));
28
- }
29
- send(data) {
30
- if (typeof data !== "string" && !ArrayBuffer.isView(data)) {
31
- throw new TypeError("Data must be a string, Uint8Array or ArrayBuffer");
32
- }
33
- rpcRequest({ type: "sendWsMessage", request: { id: this.id, data } });
34
- }
35
- close(code, reason) {
36
- this.readyState = this.CLOSING;
37
- rpcRequest({
38
- type: "disconnectWs",
39
- request: { id: this.id, code, reason }
40
- }).then(() => this.#callClose(new CloseEvent("close", { code, reason }))).catch((error) => this.#callError(new ErrorEvent("error", { error })));
41
- }
42
- #callOpen(ev) {
43
- this.readyState = this.OPEN;
44
- this.onopen?.call(this, ev);
45
- this.dispatchEvent(ev);
46
- this.#cancelRpcBridge?.();
47
- this.#cancelRpcBridge = RPC_MSG_BRIDGE.addListener(this.#onMessage);
48
- }
49
- #callError(ev) {
50
- this.readyState = this.CLOSED;
51
- this.onerror?.call(this, ev);
52
- this.dispatchEvent(ev);
53
- }
54
- #callClose(ev) {
55
- this.readyState = this.CLOSED;
56
- this.onclose?.call(this, ev);
57
- this.dispatchEvent(ev);
58
- }
59
- #onMessage = (msg) => {
60
- if (msg.type === "sendWsMessage" && msg.request.id === this.id) {
61
- const data = msg.request.data;
62
- const event = new MessageEvent("message", { data });
63
- this.onmessage?.call(this, event);
64
- this.dispatchEvent(event);
65
- return;
66
- }
67
- if (msg.type === "disconnectWs" && msg.request.id === this.id) {
68
- if (!msg.request.err) {
69
- this.#callClose(
70
- new CloseEvent("close", { code: 1e3, reason: "Normal Closure" })
71
- );
72
- return;
73
- }
74
- this.#callError(
75
- new ErrorEvent("error", { error: new Error(msg.request.err) })
76
- );
77
- return;
78
- }
79
- };
80
- }
81
- export {
82
- RPCWebSocket
83
- };
@@ -1,33 +0,0 @@
1
- import { webcryptoCrypto } from "@reclaimprotocol/tls/webcrypto";
2
- import { setCryptoImplementation } from "../utils/tls-imports.js";
3
- import { handleIncomingMessage } from "../external-rpc/handle-incoming-msg.js";
4
- import { getWsApiUrlFromBaseUrl } from "../external-rpc/utils.js";
5
- import { logger, makeLogger } from "../utils/index.js";
6
- makeLogger(true);
7
- setCryptoImplementation(webcryptoCrypto);
8
- function setupWindowRpc(baseUrl, channel = "attestor-core") {
9
- if (baseUrl) {
10
- globalThis.ATTESTOR_BASE_URL = baseUrl;
11
- } else if (typeof window !== "undefined" && window.location) {
12
- globalThis.ATTESTOR_BASE_URL = window.location.toString();
13
- } else {
14
- throw new Error("No base URL provided and window.location unavailable");
15
- }
16
- if (channel) {
17
- globalThis.RPC_CHANNEL_NAME = channel;
18
- } else if (!globalThis.RPC_CHANNEL_NAME) {
19
- throw new Error("No channel name provided and globalThis.RPC_CHANNEL_NAME unavailable");
20
- }
21
- if (typeof window !== "undefined") {
22
- window.addEventListener(
23
- "message",
24
- (ev) => handleIncomingMessage(ev.data),
25
- false
26
- );
27
- }
28
- logger.info({ defaultUrl: getWsApiUrlFromBaseUrl() }, "window RPC setup");
29
- }
30
- export * from "../index.js";
31
- export {
32
- setupWindowRpc
33
- };
@@ -1,22 +0,0 @@
1
- import "../external-rpc/jsc-polyfills/index.js";
2
- 1;
3
- import { pureJsCrypto } from "@reclaimprotocol/tls/purejs-crypto";
4
- import { setCryptoImplementation } from "../utils/tls-imports.js";
5
- import * as AttestorRPCImport from "../external-rpc/index.js";
6
- import { makeLogger } from "../utils/logger.js";
7
- setCryptoImplementation(pureJsCrypto);
8
- makeLogger(true);
9
- function setupJsRpc(baseUrl, channel = "attestor-core") {
10
- globalThis.ATTESTOR_BASE_URL = baseUrl;
11
- globalThis.RPC_CHANNEL_NAME = channel;
12
- const rpcChannel = {
13
- postMessage(message) {
14
- return globalThis.sendMessage(channel, message);
15
- }
16
- };
17
- globalThis[channel] = rpcChannel;
18
- }
19
- globalThis.AttestorRPC = { ...AttestorRPCImport, setupJsRpc };
20
- export {
21
- setupJsRpc
22
- };
File without changes
@@ -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,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,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.browser.ts';
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';