@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,77 +0,0 @@
1
- import type { Logger as TLSLogger, TLSPacketContext, TLSProtocolVersion } from '@reclaimprotocol/tls';
2
- import type { OPRFRawMarker, TOPRFProofParams } from '#src/types/zk.ts';
3
- /**
4
- * Represents a slice of any array or string
5
- */
6
- export type ArraySlice = {
7
- fromIndex: number;
8
- toIndex: number;
9
- };
10
- export type RedactedOrHashedArraySlice = {
11
- fromIndex: number;
12
- toIndex: number;
13
- /**
14
- * By default, the data is redacted. Instead if you'd like
15
- * a deterministic hash, set this to:
16
- * - 'oprf' for client-side TOPRF with ZK proof
17
- * - 'oprf-mpc' for TEE-to-TEE MPC OPRF
18
- * - 'oprf-raw' for server-side OPRF (data revealed to attestor)
19
- * @default undefined
20
- */
21
- hash?: 'oprf' | 'oprf-mpc' | 'oprf-raw';
22
- };
23
- export type Logger = TLSLogger & {
24
- fatal: (...args: any[]) => void;
25
- child: (opts: {
26
- [_: string]: any;
27
- }) => Logger;
28
- };
29
- export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'trace' | 'fatal';
30
- export type ZKRevealInfo = {
31
- type: 'zk';
32
- redactedPlaintext: Uint8Array;
33
- toprfs?: TOPRFProofParams[];
34
- oprfRawMarkers?: OPRFRawMarker[];
35
- overshotToprfFromPrevBlock?: {
36
- length: number;
37
- };
38
- /**
39
- * If an oprf-raw marker from the previous block overshot into this block.
40
- * The server will collect plaintext from this block to complete the OPRF.
41
- */
42
- overshotOprfRawFromPrevBlock?: {
43
- length: number;
44
- };
45
- };
46
- export type MessageRevealInfo = {
47
- type: 'complete';
48
- } | ZKRevealInfo;
49
- export type CompleteTLSPacket = TLSPacketContext & {
50
- /**
51
- * Full data that was sent/recv across the wire
52
- */
53
- data: Uint8Array;
54
- };
55
- export type IDecryptedTranscriptMessage = {
56
- sender: 'client' | 'server';
57
- redacted: boolean;
58
- message: Uint8Array;
59
- plaintextLength: number;
60
- recordHeader: Uint8Array;
61
- };
62
- export type IDecryptedTranscript = {
63
- transcript: IDecryptedTranscriptMessage[];
64
- tlsVersion: TLSProtocolVersion;
65
- hostname: string;
66
- /**
67
- * oprf-raw replacements: original plaintext -> nullifier mappings
68
- * for server-side parameter replacement
69
- */
70
- oprfRawReplacements?: OPRFRawReplacement[];
71
- };
72
- export type OPRFRawReplacement = {
73
- /** Original plaintext that was OPRF'd */
74
- originalText: string;
75
- /** OPRF nullifier string to replace with */
76
- nullifierText: string;
77
- };
File without changes
@@ -1,10 +0,0 @@
1
- import type { Transaction } from 'elastic-apm-node';
2
- import type { IAttestorServerSocket } from '#src/types/client.ts';
3
- import type { Logger } from '#src/types/general.ts';
4
- import type { RPCRequestData, RPCResponseData, RPCType } from '#src/types/rpc.ts';
5
- export type RPCHandlerMetadata = {
6
- logger: Logger;
7
- tx?: Transaction;
8
- client: IAttestorServerSocket;
9
- };
10
- export type RPCHandler<R extends RPCType> = (data: RPCRequestData<R>, ctx: RPCHandlerMetadata) => Promise<RPCResponseData<R>>;
File without changes
@@ -1,10 +0,0 @@
1
- export * from './providers.ts';
2
- export * from './general.ts';
3
- export * from './signatures.ts';
4
- export * from './claims.ts';
5
- export * from './zk.ts';
6
- export * from './client.ts';
7
- export * from './rpc.ts';
8
- export * from './tunnel.ts';
9
- export * from './handlers.ts';
10
- export * from './bgp.ts';
@@ -1,10 +0,0 @@
1
- export * from "./providers.js";
2
- export * from "./general.js";
3
- export * from "./signatures.js";
4
- export * from "./claims.js";
5
- export * from "./zk.js";
6
- export * from "./client.js";
7
- export * from "./rpc.js";
8
- export * from "./tunnel.js";
9
- export * from "./handlers.js";
10
- export * from "./bgp.js";
@@ -1,161 +0,0 @@
1
- import type { TLSConnectionOptions } from '@reclaimprotocol/tls';
2
- import type { AttestorVersion, ProviderClaimData } from '#src/proto/api.ts';
3
- import type { ArraySlice, Logger, RedactedOrHashedArraySlice } from '#src/types/general.ts';
4
- import type { ProvidersConfig } from '#src/types/providers.gen.ts';
5
- import type { Transcript } from '#src/types/tunnel.ts';
6
- export type AttestorData = {
7
- id: string;
8
- url: string;
9
- };
10
- type CreateRequestResult = {
11
- /**
12
- * Raw request to be sent
13
- * If a string, it is assumed to be an
14
- * ASCII encoded string. If it contains
15
- * non-ASCII characters, the redactions
16
- * may not work as expected
17
- */
18
- data: Uint8Array | string;
19
- redactions: ArraySlice[];
20
- };
21
- export type ProviderName = keyof ProvidersConfig;
22
- export type ProviderParams<T extends ProviderName> = ProvidersConfig[T]['parameters'];
23
- export type ProviderSecretParams<T extends ProviderName> = ProvidersConfig[T]['secretParameters'];
24
- export type RedactionMode = 'key-update' | 'zk';
25
- export type ProviderField<Params, SecretParams, T> = T | ((params: Params, secretParams?: SecretParams) => T);
26
- export type ProviderCtx = {
27
- version: AttestorVersion;
28
- };
29
- type GetResponseRedactionsOpts<P> = {
30
- response: Uint8Array;
31
- params: P;
32
- logger: Logger;
33
- ctx: ProviderCtx;
34
- };
35
- type AssertValidProviderReceipt<P> = {
36
- receipt: Transcript<Uint8Array>;
37
- params: P;
38
- logger: Logger;
39
- ctx: ProviderCtx;
40
- };
41
- /**
42
- * Generic interface for a provider that can be used to verify
43
- * claims on a TLS receipt
44
- *
45
- * @notice "Params" are the parameters you want to claim against.
46
- * These would typically be found in the response body
47
- *
48
- * @notice "SecretParams" are the parameters that are used to make the API request.
49
- * These must be redacted in the request construction in "createRequest" & cannot be viewed by anyone
50
- */
51
- export interface Provider<N extends ProviderName, Params = ProviderParams<N>, SecretParams = ProviderSecretParams<N>> {
52
- /**
53
- * host:port to connect to for this provider;
54
- * the protocol establishes a connection to the first one
55
- * when a request is received from a user.
56
- *
57
- * Run on attestor side when creating a new session
58
- *
59
- * Eg. "www.google.com:443", (p) => p.url.host
60
- * */
61
- hostPort: ProviderField<Params, SecretParams, string>;
62
- /**
63
- * Which geo location to send the request from
64
- * Provide 2 letter country code, or a function
65
- * that returns the country code
66
- * @example "US", "IN"
67
- */
68
- geoLocation?: ProviderField<Params, SecretParams, string | undefined>;
69
- /**
70
- * Session identifier for proxy IP persistence.
71
- *
72
- * When provided, ensures all requests within the same session
73
- * are routed through the same proxy IP address. Useful for
74
- * maintaining IP consistency across multiple requests.
75
- *
76
- * Can be a smallcase alphanumeric string of length 8-14 characters.
77
- * @example "mystring12345", "something1234"
78
- */
79
- proxySessionId?: ProviderField<Params, SecretParams, string | undefined>;
80
- /** extra options to pass to the client like root CA certificates */
81
- additionalClientOptions?: ProviderField<Params, SecretParams, TLSConnectionOptions | undefined>;
82
- /**
83
- * default redaction mode to use. If not specified,
84
- * the default is 'key-update'.
85
- *
86
- * It's switched to 'zk' for TLS1.2 requests as TLS1.2
87
- * don't support key updates
88
- *
89
- * @default 'key-update'
90
- */
91
- writeRedactionMode?: ProviderField<Params, SecretParams, RedactionMode | undefined>;
92
- /** generate the raw request to be sent to through the TLS receipt */
93
- createRequest(secretParams: SecretParams, params: Params, logger: Logger): CreateRequestResult;
94
- /**
95
- * Return the slices of the response to redact
96
- * Eg. if the response is "hello my secret is xyz",
97
- * and you want to redact "xyz", you would return
98
- * [{start: 17, end: 20}]
99
- *
100
- * This is run on the client side, to selct which portions of
101
- * the server response to send to the attestor
102
- * */
103
- getResponseRedactions?(opts: GetResponseRedactionsOpts<Params>): RedactedOrHashedArraySlice[];
104
- /**
105
- * verify a generated TLS receipt against given parameters
106
- * to ensure the receipt does contain the claims the
107
- * user is claiming to have
108
- *
109
- * This is run on the attestor side.
110
- * @param receipt application data messages exchanged in the TLS session
111
- * @param params the parameters to verify the receipt against.
112
- * Eg. `{"email": "abcd@gmail.com"}`
113
- * @returns sucessful verification or throws an error message.
114
- * Optionally return parameters extracted from the receipt
115
- * that will then be included in the claim context
116
- * */
117
- assertValidProviderReceipt(opts: AssertValidProviderReceipt<Params>): void | Promise<void> | {
118
- extractedParameters: {
119
- [key: string]: string;
120
- };
121
- };
122
- }
123
- export type ProofGenerationStep = {
124
- name: 'connecting';
125
- } | {
126
- name: 'sending-request-data';
127
- } | {
128
- name: 'waiting-for-response';
129
- } | {
130
- name: 'generating-zk-proofs';
131
- proofsDone: number;
132
- proofsTotal: number;
133
- /**
134
- * approximate time left in seconds.
135
- * Only computed after the first block
136
- * is done
137
- * */
138
- approxTimeLeftS?: number;
139
- } | {
140
- name: 'waiting-for-verification';
141
- };
142
- type StepData = {
143
- timestampS: number;
144
- epoch: number;
145
- attestors: AttestorData[];
146
- };
147
- export type CreateStep = ({
148
- name: 'creating';
149
- } & StepData) | ({
150
- name: 'attestor-progress';
151
- currentAttestor: AttestorData;
152
- step: ProofGenerationStep;
153
- } & StepData) | {
154
- name: 'attestor-done';
155
- timestampS: number;
156
- epoch: number;
157
- attestorsLeft: AttestorData[];
158
- claimData: ProviderClaimData;
159
- signaturesDone: string[];
160
- };
161
- export {};