@reclaimprotocol/attestor-core 5.0.4 → 5.0.5

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 (122) hide show
  1. package/LICENSE +660 -660
  2. package/browser/resources/attestor-browser.min.mjs +31 -31
  3. package/lib/server/tee/acme-http-server.d.ts +13 -0
  4. package/lib/server/tee/attestation-generate.d.ts +29 -0
  5. package/lib/server/tee/bootstrap.d.ts +11 -0
  6. package/lib/server/tee/cert-manager.d.ts +24 -0
  7. package/lib/server/tee/cloud-logging.d.ts +23 -0
  8. package/lib/server/tee/secret-loader.d.ts +10 -0
  9. package/lib/server/tee/secret-manager.d.ts +3 -0
  10. package/lib/utils/gcp-attestation.d.ts +23 -0
  11. package/package.json +3 -3
  12. package/lib/avs/abis/avsDirectoryABI.js +0 -340
  13. package/lib/avs/abis/delegationABI.js +0 -1
  14. package/lib/avs/abis/registryABI.js +0 -725
  15. package/lib/avs/client/create-claim-on-avs.js +0 -138
  16. package/lib/avs/config.js +0 -20
  17. package/lib/avs/contracts/ReclaimServiceManager.js +0 -1
  18. package/lib/avs/contracts/common.js +0 -1
  19. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1169
  20. package/lib/avs/contracts/factories/index.js +0 -4
  21. package/lib/avs/contracts/index.js +0 -2
  22. package/lib/avs/types/index.js +0 -1
  23. package/lib/avs/utils/contracts.js +0 -33
  24. package/lib/avs/utils/register.js +0 -78
  25. package/lib/avs/utils/tasks.js +0 -40
  26. package/lib/client/create-claim.js +0 -433
  27. package/lib/client/index.js +0 -3
  28. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +0 -51
  29. package/lib/client/tunnels/make-rpc-tls-tunnel.js +0 -131
  30. package/lib/client/utils/attestor-pool.js +0 -25
  31. package/lib/client/utils/client-socket.js +0 -98
  32. package/lib/client/utils/message-handler.js +0 -87
  33. package/lib/config/index.js +0 -44
  34. package/lib/external-rpc/benchmark.js +0 -69
  35. package/lib/external-rpc/event-bus.js +0 -14
  36. package/lib/external-rpc/handle-incoming-msg.js +0 -233
  37. package/lib/external-rpc/jsc-polyfills/1.js +0 -82
  38. package/lib/external-rpc/jsc-polyfills/2.js +0 -20
  39. package/lib/external-rpc/jsc-polyfills/event.js +0 -14
  40. package/lib/external-rpc/jsc-polyfills/index.js +0 -2
  41. package/lib/external-rpc/jsc-polyfills/ws.js +0 -81
  42. package/lib/external-rpc/setup-browser.js +0 -33
  43. package/lib/external-rpc/setup-jsc.js +0 -22
  44. package/lib/external-rpc/types.js +0 -1
  45. package/lib/external-rpc/utils.js +0 -100
  46. package/lib/external-rpc/zk.js +0 -63
  47. package/lib/mechain/abis/governanceABI.js +0 -458
  48. package/lib/mechain/abis/taskABI.js +0 -509
  49. package/lib/mechain/client/create-claim-on-mechain.js +0 -28
  50. package/lib/mechain/client/index.js +0 -1
  51. package/lib/mechain/constants/index.js +0 -3
  52. package/lib/mechain/index.js +0 -2
  53. package/lib/mechain/types/index.js +0 -1
  54. package/lib/proto/api.js +0 -4273
  55. package/lib/proto/tee-bundle.js +0 -1316
  56. package/lib/providers/http/index.js +0 -658
  57. package/lib/providers/http/patch-parse5-tree.js +0 -33
  58. package/lib/providers/http/utils.js +0 -324
  59. package/lib/providers/index.js +0 -4
  60. package/lib/scripts/fetch-ec2-metadata.d.ts +0 -1
  61. package/lib/server/create-server.js +0 -103
  62. package/lib/server/handlers/claimTeeBundle.js +0 -252
  63. package/lib/server/handlers/claimTunnel.js +0 -73
  64. package/lib/server/handlers/completeClaimOnChain.js +0 -22
  65. package/lib/server/handlers/createClaimOnChain.js +0 -26
  66. package/lib/server/handlers/createTaskOnMechain.js +0 -47
  67. package/lib/server/handlers/createTunnel.js +0 -93
  68. package/lib/server/handlers/disconnectTunnel.js +0 -5
  69. package/lib/server/handlers/fetchCertificateBytes.js +0 -41
  70. package/lib/server/handlers/index.js +0 -22
  71. package/lib/server/handlers/init.js +0 -32
  72. package/lib/server/handlers/toprf.js +0 -16
  73. package/lib/server/index.js +0 -4
  74. package/lib/server/socket.js +0 -109
  75. package/lib/server/tunnels/make-tcp-tunnel.js +0 -177
  76. package/lib/server/utils/apm.js +0 -36
  77. package/lib/server/utils/assert-valid-claim-request.js +0 -204
  78. package/lib/server/utils/config-env.js +0 -4
  79. package/lib/server/utils/dns.js +0 -18
  80. package/lib/server/utils/gcp-attestation.js +0 -289
  81. package/lib/server/utils/generics.js +0 -51
  82. package/lib/server/utils/iso.js +0 -256
  83. package/lib/server/utils/keep-alive.js +0 -38
  84. package/lib/server/utils/nitro-attestation.js +0 -325
  85. package/lib/server/utils/process-handshake.js +0 -215
  86. package/lib/server/utils/proxy-session.js +0 -6
  87. package/lib/server/utils/tee-oprf-mpc-verification.js +0 -90
  88. package/lib/server/utils/tee-oprf-verification.js +0 -174
  89. package/lib/server/utils/tee-transcript-reconstruction.js +0 -187
  90. package/lib/server/utils/tee-verification.js +0 -421
  91. package/lib/server/utils/validation.js +0 -38
  92. package/lib/types/bgp.js +0 -1
  93. package/lib/types/claims.js +0 -1
  94. package/lib/types/client.js +0 -1
  95. package/lib/types/general.js +0 -1
  96. package/lib/types/handlers.js +0 -1
  97. package/lib/types/index.js +0 -10
  98. package/lib/types/providers.gen.js +0 -10
  99. package/lib/types/providers.js +0 -1
  100. package/lib/types/rpc.js +0 -1
  101. package/lib/types/signatures.js +0 -1
  102. package/lib/types/tunnel.js +0 -1
  103. package/lib/types/zk.js +0 -1
  104. package/lib/utils/auth.js +0 -59
  105. package/lib/utils/b64-json.js +0 -17
  106. package/lib/utils/bgp-listener.js +0 -119
  107. package/lib/utils/claims.js +0 -99
  108. package/lib/utils/env.js +0 -15
  109. package/lib/utils/error.js +0 -50
  110. package/lib/utils/generics.js +0 -317
  111. package/lib/utils/http-parser.js +0 -246
  112. package/lib/utils/index.js +0 -13
  113. package/lib/utils/logger.js +0 -91
  114. package/lib/utils/prepare-packets.js +0 -62
  115. package/lib/utils/redactions.js +0 -148
  116. package/lib/utils/retries.js +0 -24
  117. package/lib/utils/signatures/eth.js +0 -29
  118. package/lib/utils/signatures/index.js +0 -7
  119. package/lib/utils/socket-base.js +0 -90
  120. package/lib/utils/tls.js +0 -58
  121. package/lib/utils/ws.js +0 -22
  122. package/lib/utils/zk.js +0 -577
@@ -1,509 +0,0 @@
1
- export const taskABI = [
2
- {
3
- 'inputs': [
4
- {
5
- 'internalType': 'address',
6
- 'name': 'initialOwner',
7
- 'type': 'address'
8
- },
9
- {
10
- 'internalType': 'address',
11
- 'name': '_governanceAddress',
12
- 'type': 'address'
13
- }
14
- ],
15
- 'stateMutability': 'nonpayable',
16
- 'type': 'constructor'
17
- },
18
- {
19
- 'inputs': [],
20
- 'name': 'ECDSAInvalidSignature',
21
- 'type': 'error'
22
- },
23
- {
24
- 'inputs': [
25
- {
26
- 'internalType': 'uint256',
27
- 'name': 'length',
28
- 'type': 'uint256'
29
- }
30
- ],
31
- 'name': 'ECDSAInvalidSignatureLength',
32
- 'type': 'error'
33
- },
34
- {
35
- 'inputs': [
36
- {
37
- 'internalType': 'bytes32',
38
- 'name': 's',
39
- 'type': 'bytes32'
40
- }
41
- ],
42
- 'name': 'ECDSAInvalidSignatureS',
43
- 'type': 'error'
44
- },
45
- {
46
- 'inputs': [
47
- {
48
- 'internalType': 'address',
49
- 'name': 'owner',
50
- 'type': 'address'
51
- }
52
- ],
53
- 'name': 'OwnableInvalidOwner',
54
- 'type': 'error'
55
- },
56
- {
57
- 'inputs': [
58
- {
59
- 'internalType': 'address',
60
- 'name': 'account',
61
- 'type': 'address'
62
- }
63
- ],
64
- 'name': 'OwnableUnauthorizedAccount',
65
- 'type': 'error'
66
- },
67
- {
68
- 'anonymous': false,
69
- 'inputs': [
70
- {
71
- 'indexed': true,
72
- 'internalType': 'address',
73
- 'name': 'previousOwner',
74
- 'type': 'address'
75
- },
76
- {
77
- 'indexed': true,
78
- 'internalType': 'address',
79
- 'name': 'newOwner',
80
- 'type': 'address'
81
- }
82
- ],
83
- 'name': 'OwnershipTransferred',
84
- 'type': 'event'
85
- },
86
- {
87
- 'anonymous': false,
88
- 'inputs': [
89
- {
90
- 'components': [
91
- {
92
- 'internalType': 'uint32',
93
- 'name': 'id',
94
- 'type': 'uint32'
95
- },
96
- {
97
- 'internalType': 'uint32',
98
- 'name': 'timestampStart',
99
- 'type': 'uint32'
100
- },
101
- {
102
- 'internalType': 'uint32',
103
- 'name': 'timestampEnd',
104
- 'type': 'uint32'
105
- },
106
- {
107
- 'components': [
108
- {
109
- 'internalType': 'address',
110
- 'name': 'addr',
111
- 'type': 'address'
112
- },
113
- {
114
- 'internalType': 'string',
115
- 'name': 'host',
116
- 'type': 'string'
117
- }
118
- ],
119
- 'internalType': 'struct ReclaimTask.Attestor[]',
120
- 'name': 'attestors',
121
- 'type': 'tuple[]'
122
- }
123
- ],
124
- 'indexed': false,
125
- 'internalType': 'struct ReclaimTask.Task',
126
- 'name': 'task',
127
- 'type': 'tuple'
128
- }
129
- ],
130
- 'name': 'TaskAdded',
131
- 'type': 'event'
132
- },
133
- {
134
- 'inputs': [],
135
- 'name': 'ZERO_ADDRESS',
136
- 'outputs': [
137
- {
138
- 'internalType': 'address',
139
- 'name': '',
140
- 'type': 'address'
141
- }
142
- ],
143
- 'stateMutability': 'view',
144
- 'type': 'function'
145
- },
146
- {
147
- 'inputs': [
148
- {
149
- 'internalType': 'uint32',
150
- 'name': '',
151
- 'type': 'uint32'
152
- }
153
- ],
154
- 'name': 'consensusReached',
155
- 'outputs': [
156
- {
157
- 'internalType': 'bool',
158
- 'name': '',
159
- 'type': 'bool'
160
- }
161
- ],
162
- 'stateMutability': 'view',
163
- 'type': 'function'
164
- },
165
- {
166
- 'inputs': [
167
- {
168
- 'internalType': 'bytes32',
169
- 'name': 'seed',
170
- 'type': 'bytes32'
171
- },
172
- {
173
- 'internalType': 'uint32',
174
- 'name': 'timestamp',
175
- 'type': 'uint32'
176
- }
177
- ],
178
- 'name': 'createNewTaskRequest',
179
- 'outputs': [
180
- {
181
- 'internalType': 'uint32',
182
- 'name': '',
183
- 'type': 'uint32'
184
- },
185
- {
186
- 'components': [
187
- {
188
- 'internalType': 'address',
189
- 'name': 'addr',
190
- 'type': 'address'
191
- },
192
- {
193
- 'internalType': 'string',
194
- 'name': 'host',
195
- 'type': 'string'
196
- }
197
- ],
198
- 'internalType': 'struct ReclaimTask.Attestor[]',
199
- 'name': '',
200
- 'type': 'tuple[]'
201
- }
202
- ],
203
- 'stateMutability': 'nonpayable',
204
- 'type': 'function'
205
- },
206
- {
207
- 'inputs': [],
208
- 'name': 'currentTask',
209
- 'outputs': [
210
- {
211
- 'internalType': 'uint32',
212
- 'name': '',
213
- 'type': 'uint32'
214
- }
215
- ],
216
- 'stateMutability': 'view',
217
- 'type': 'function'
218
- },
219
- {
220
- 'inputs': [
221
- {
222
- 'internalType': 'bytes32',
223
- 'name': 'seed',
224
- 'type': 'bytes32'
225
- },
226
- {
227
- 'internalType': 'uint32',
228
- 'name': 'timestamp',
229
- 'type': 'uint32'
230
- }
231
- ],
232
- 'name': 'fetchAttestorsForClaim',
233
- 'outputs': [
234
- {
235
- 'components': [
236
- {
237
- 'internalType': 'address',
238
- 'name': 'addr',
239
- 'type': 'address'
240
- },
241
- {
242
- 'internalType': 'string',
243
- 'name': 'host',
244
- 'type': 'string'
245
- }
246
- ],
247
- 'internalType': 'struct ReclaimTask.Attestor[]',
248
- 'name': '',
249
- 'type': 'tuple[]'
250
- }
251
- ],
252
- 'stateMutability': 'view',
253
- 'type': 'function'
254
- },
255
- {
256
- 'inputs': [
257
- {
258
- 'internalType': 'uint32',
259
- 'name': 'task',
260
- 'type': 'uint32'
261
- }
262
- ],
263
- 'name': 'fetchTask',
264
- 'outputs': [
265
- {
266
- 'components': [
267
- {
268
- 'internalType': 'uint32',
269
- 'name': 'id',
270
- 'type': 'uint32'
271
- },
272
- {
273
- 'internalType': 'uint32',
274
- 'name': 'timestampStart',
275
- 'type': 'uint32'
276
- },
277
- {
278
- 'internalType': 'uint32',
279
- 'name': 'timestampEnd',
280
- 'type': 'uint32'
281
- },
282
- {
283
- 'components': [
284
- {
285
- 'internalType': 'address',
286
- 'name': 'addr',
287
- 'type': 'address'
288
- },
289
- {
290
- 'internalType': 'string',
291
- 'name': 'host',
292
- 'type': 'string'
293
- }
294
- ],
295
- 'internalType': 'struct ReclaimTask.Attestor[]',
296
- 'name': 'attestors',
297
- 'type': 'tuple[]'
298
- }
299
- ],
300
- 'internalType': 'struct ReclaimTask.Task',
301
- 'name': '',
302
- 'type': 'tuple'
303
- }
304
- ],
305
- 'stateMutability': 'view',
306
- 'type': 'function'
307
- },
308
- {
309
- 'inputs': [],
310
- 'name': 'governanceAddress',
311
- 'outputs': [
312
- {
313
- 'internalType': 'address',
314
- 'name': '',
315
- 'type': 'address'
316
- }
317
- ],
318
- 'stateMutability': 'view',
319
- 'type': 'function'
320
- },
321
- {
322
- 'inputs': [],
323
- 'name': 'owner',
324
- 'outputs': [
325
- {
326
- 'internalType': 'address',
327
- 'name': '',
328
- 'type': 'address'
329
- }
330
- ],
331
- 'stateMutability': 'view',
332
- 'type': 'function'
333
- },
334
- {
335
- 'inputs': [],
336
- 'name': 'renounceOwnership',
337
- 'outputs': [],
338
- 'stateMutability': 'nonpayable',
339
- 'type': 'function'
340
- },
341
- {
342
- 'inputs': [],
343
- 'name': 'requiredAttestors',
344
- 'outputs': [
345
- {
346
- 'internalType': 'uint8',
347
- 'name': '',
348
- 'type': 'uint8'
349
- }
350
- ],
351
- 'stateMutability': 'view',
352
- 'type': 'function'
353
- },
354
- {
355
- 'inputs': [
356
- {
357
- 'internalType': 'uint8',
358
- 'name': '_requiredAttestors',
359
- 'type': 'uint8'
360
- }
361
- ],
362
- 'name': 'setRequiredAttestors',
363
- 'outputs': [],
364
- 'stateMutability': 'nonpayable',
365
- 'type': 'function'
366
- },
367
- {
368
- 'inputs': [],
369
- 'name': 'taskDurationS',
370
- 'outputs': [
371
- {
372
- 'internalType': 'uint32',
373
- 'name': '',
374
- 'type': 'uint32'
375
- }
376
- ],
377
- 'stateMutability': 'view',
378
- 'type': 'function'
379
- },
380
- {
381
- 'inputs': [
382
- {
383
- 'internalType': 'uint256',
384
- 'name': '',
385
- 'type': 'uint256'
386
- }
387
- ],
388
- 'name': 'tasks',
389
- 'outputs': [
390
- {
391
- 'internalType': 'uint32',
392
- 'name': 'id',
393
- 'type': 'uint32'
394
- },
395
- {
396
- 'internalType': 'uint32',
397
- 'name': 'timestampStart',
398
- 'type': 'uint32'
399
- },
400
- {
401
- 'internalType': 'uint32',
402
- 'name': 'timestampEnd',
403
- 'type': 'uint32'
404
- }
405
- ],
406
- 'stateMutability': 'view',
407
- 'type': 'function'
408
- },
409
- {
410
- 'inputs': [
411
- {
412
- 'internalType': 'address',
413
- 'name': 'newOwner',
414
- 'type': 'address'
415
- }
416
- ],
417
- 'name': 'transferOwnership',
418
- 'outputs': [],
419
- 'stateMutability': 'nonpayable',
420
- 'type': 'function'
421
- },
422
- {
423
- 'inputs': [
424
- {
425
- 'components': [
426
- {
427
- 'components': [
428
- {
429
- 'internalType': 'string',
430
- 'name': 'provider',
431
- 'type': 'string'
432
- },
433
- {
434
- 'internalType': 'string',
435
- 'name': 'parameters',
436
- 'type': 'string'
437
- },
438
- {
439
- 'internalType': 'string',
440
- 'name': 'context',
441
- 'type': 'string'
442
- }
443
- ],
444
- 'internalType': 'struct Claims.ClaimInfo',
445
- 'name': 'claimInfo',
446
- 'type': 'tuple'
447
- },
448
- {
449
- 'components': [
450
- {
451
- 'components': [
452
- {
453
- 'internalType': 'bytes32',
454
- 'name': 'identifier',
455
- 'type': 'bytes32'
456
- },
457
- {
458
- 'internalType': 'address',
459
- 'name': 'owner',
460
- 'type': 'address'
461
- },
462
- {
463
- 'internalType': 'uint32',
464
- 'name': 'timestampS',
465
- 'type': 'uint32'
466
- },
467
- {
468
- 'internalType': 'uint32',
469
- 'name': 'epoch',
470
- 'type': 'uint32'
471
- }
472
- ],
473
- 'internalType': 'struct Claims.CompleteClaimData',
474
- 'name': 'claim',
475
- 'type': 'tuple'
476
- },
477
- {
478
- 'internalType': 'bytes[]',
479
- 'name': 'signatures',
480
- 'type': 'bytes[]'
481
- }
482
- ],
483
- 'internalType': 'struct Claims.SignedClaim',
484
- 'name': 'signedClaim',
485
- 'type': 'tuple'
486
- }
487
- ],
488
- 'internalType': 'struct ReclaimTask.Proof[]',
489
- 'name': 'proofs',
490
- 'type': 'tuple[]'
491
- },
492
- {
493
- 'internalType': 'uint32',
494
- 'name': 'taskId',
495
- 'type': 'uint32'
496
- }
497
- ],
498
- 'name': 'verifyProofs',
499
- 'outputs': [
500
- {
501
- 'internalType': 'bool',
502
- 'name': '',
503
- 'type': 'bool'
504
- }
505
- ],
506
- 'stateMutability': 'payable',
507
- 'type': 'function'
508
- }
509
- ];
@@ -1,28 +0,0 @@
1
- import { createClaimOnAttestor as _createClaimOnAttestor, getAttestorClientFromPool } from "../../client/index.js";
2
- import { AttestorClient } from "../../client/index.js";
3
- /**
4
- * Creates a Reclaim claim on the AVS chain.
5
- */
6
- export async function createClaimOnMechain({ createClaimOnAttestor = _createClaimOnAttestor, onStep, client, ...opts }) {
7
- const clientMechain = getAttestorClientFromPool(client.url);
8
- const timestamp = Math.floor(Date.now() / 1000);
9
- await clientMechain.waitForInit();
10
- onStep?.({ type: 'taskRequested', timestamp });
11
- const { taskId, requiredAttestors, hosts } = await clientMechain.rpc('createTaskOnMechain', {
12
- timestamp: timestamp
13
- });
14
- onStep?.({ type: 'taskCreated', taskId });
15
- const responses = [];
16
- for (let i = 0; i < requiredAttestors; i++) {
17
- onStep?.({ type: 'attestorRequested', host: hosts[i] });
18
- const client = new AttestorClient({
19
- url: hosts[i]
20
- });
21
- const claimTunnelRes = await createClaimOnAttestor({
22
- ...opts,
23
- client
24
- });
25
- responses.push(claimTunnelRes);
26
- }
27
- return { taskId, responses };
28
- }
@@ -1 +0,0 @@
1
- export * from "./create-claim-on-mechain.js";
@@ -1,3 +0,0 @@
1
- export const TASK_CONTRACT_ADDRESS = '0xB51FCb41fF11e0445600f63D8c38f955DcCB0B2c';
2
- export const GOVERNANCE_CONTRACT_ADDRESS = '0x4A79C4fBe6c2F849D0fD4da8c24214491BaF41cd';
3
- export const RPC_URL = 'https://testnet-rpc.mechain.tech';
@@ -1,2 +0,0 @@
1
- export * from "./client/index.js";
2
- export * from "./types/index.js";
@@ -1 +0,0 @@
1
- export {};