@inco/js 0.4.0 → 0.5.0

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 (108) hide show
  1. package/README.md +4 -1
  2. package/dist/cjs/advancedacl/session-key.d.ts +1 -1
  3. package/dist/cjs/advancedacl/session-key.js +60 -32
  4. package/dist/cjs/attestedcompute/attested-compute.js +3 -2
  5. package/dist/cjs/attestedcompute/types.js +1 -1
  6. package/dist/cjs/attesteddecrypt/attested-decrypt.js +5 -3
  7. package/dist/cjs/attesteddecrypt/types.js +1 -1
  8. package/dist/cjs/attestedreveal/attested-reveal.js +3 -2
  9. package/dist/cjs/binary.js +6 -3
  10. package/dist/cjs/chain.js +5 -2
  11. package/dist/cjs/encryption/encryption.js +1 -1
  12. package/dist/cjs/generated/abis/TestElist.d.ts +247 -0
  13. package/dist/cjs/generated/abis/TestElist.js +152 -0
  14. package/dist/cjs/generated/abis/addTwo.d.ts +2 -38
  15. package/dist/cjs/generated/abis/addTwo.js +3 -22
  16. package/dist/cjs/generated/abis/lightning-preview.d.ts +79 -1008
  17. package/dist/cjs/generated/abis/lightning-preview.js +56 -619
  18. package/dist/cjs/generated/abis/lightning.d.ts +75 -454
  19. package/dist/cjs/generated/abis/lightning.js +58 -332
  20. package/dist/cjs/generated/abis/verifier.d.ts +1016 -0
  21. package/dist/cjs/generated/abis/verifier.js +704 -0
  22. package/dist/cjs/generated/es/cosmos_proto/cosmos_pb.js +1 -1
  23. package/dist/cjs/generated/es/inco/fhe/v1/types_pb.js +1 -1
  24. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +1 -1
  25. package/dist/cjs/generated/es/inco/kms/lite/v1/types_pb.js +1 -1
  26. package/dist/cjs/handle.d.ts +1 -1
  27. package/dist/cjs/handle.js +5 -3
  28. package/dist/cjs/kms/client.js +1 -1
  29. package/dist/cjs/lite/attested-compute.d.ts +4 -3
  30. package/dist/cjs/lite/attested-compute.js +4 -2
  31. package/dist/cjs/lite/attested-decrypt.js +1 -1
  32. package/dist/cjs/lite/deployments.js +1 -1
  33. package/dist/cjs/lite/ecies.d.ts +2 -2
  34. package/dist/cjs/lite/ecies.js +3 -3
  35. package/dist/cjs/lite/hadu.d.ts +1 -1
  36. package/dist/cjs/lite/hadu.js +2 -2
  37. package/dist/cjs/lite/lightning.d.ts +1 -1
  38. package/dist/cjs/lite/lightning.js +9 -4
  39. package/dist/cjs/lite/reencrypt.js +3 -2
  40. package/dist/cjs/local/local-node.js +6 -3
  41. package/dist/cjs/reencryption/eip712.d.ts +2 -2
  42. package/dist/cjs/reencryption/eip712.js +2 -11
  43. package/dist/cjs/retry.d.ts +1 -1
  44. package/dist/cjs/retry.js +2 -2
  45. package/dist/cjs/schema.js +1 -1
  46. package/dist/cjs/viem.d.ts +12 -15
  47. package/dist/cjs/viem.js +9 -2
  48. package/dist/esm/advancedacl/session-key.d.ts +1 -1
  49. package/dist/esm/advancedacl/session-key.js +65 -37
  50. package/dist/esm/attestedcompute/attested-compute.js +4 -3
  51. package/dist/esm/attestedcompute/types.js +1 -1
  52. package/dist/esm/attesteddecrypt/attested-decrypt.js +7 -5
  53. package/dist/esm/attesteddecrypt/types.js +1 -1
  54. package/dist/esm/attestedreveal/attested-reveal.js +4 -3
  55. package/dist/esm/binary.js +6 -3
  56. package/dist/esm/chain.js +5 -2
  57. package/dist/esm/encryption/encryption.js +1 -1
  58. package/dist/esm/generated/abis/TestElist.d.ts +247 -0
  59. package/dist/esm/generated/abis/TestElist.js +149 -0
  60. package/dist/esm/generated/abis/addTwo.d.ts +2 -38
  61. package/dist/esm/generated/abis/addTwo.js +3 -22
  62. package/dist/esm/generated/abis/lightning-preview.d.ts +79 -1008
  63. package/dist/esm/generated/abis/lightning-preview.js +56 -619
  64. package/dist/esm/generated/abis/lightning.d.ts +75 -454
  65. package/dist/esm/generated/abis/lightning.js +58 -332
  66. package/dist/esm/generated/abis/verifier.d.ts +1016 -0
  67. package/dist/esm/generated/abis/verifier.js +701 -0
  68. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +1 -1
  69. package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +1 -1
  70. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +1 -1
  71. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +1 -1
  72. package/dist/esm/handle.d.ts +1 -1
  73. package/dist/esm/handle.js +5 -3
  74. package/dist/esm/kms/client.js +1 -1
  75. package/dist/esm/lite/attested-compute.d.ts +4 -3
  76. package/dist/esm/lite/attested-compute.js +3 -2
  77. package/dist/esm/lite/attested-decrypt.js +2 -2
  78. package/dist/esm/lite/deployments.js +1 -1
  79. package/dist/esm/lite/ecies.d.ts +2 -2
  80. package/dist/esm/lite/ecies.js +4 -4
  81. package/dist/esm/lite/hadu.d.ts +1 -1
  82. package/dist/esm/lite/hadu.js +2 -2
  83. package/dist/esm/lite/lightning.d.ts +1 -1
  84. package/dist/esm/lite/lightning.js +11 -6
  85. package/dist/esm/lite/reencrypt.js +5 -4
  86. package/dist/esm/local/local-node.js +6 -3
  87. package/dist/esm/reencryption/eip712.d.ts +2 -2
  88. package/dist/esm/reencryption/eip712.js +2 -11
  89. package/dist/esm/retry.d.ts +1 -1
  90. package/dist/esm/retry.js +2 -2
  91. package/dist/esm/schema.js +1 -1
  92. package/dist/esm/viem.d.ts +12 -15
  93. package/dist/esm/viem.js +10 -3
  94. package/dist/types/advancedacl/session-key.d.ts +1 -1
  95. package/dist/types/generated/abis/TestElist.d.ts +247 -0
  96. package/dist/types/generated/abis/addTwo.d.ts +2 -38
  97. package/dist/types/generated/abis/lightning-preview.d.ts +79 -1008
  98. package/dist/types/generated/abis/lightning.d.ts +75 -454
  99. package/dist/types/generated/abis/verifier.d.ts +1016 -0
  100. package/dist/types/handle.d.ts +1 -1
  101. package/dist/types/lite/attested-compute.d.ts +4 -3
  102. package/dist/types/lite/ecies.d.ts +2 -2
  103. package/dist/types/lite/hadu.d.ts +1 -1
  104. package/dist/types/lite/lightning.d.ts +1 -1
  105. package/dist/types/reencryption/eip712.d.ts +2 -2
  106. package/dist/types/retry.d.ts +1 -1
  107. package/dist/types/viem.d.ts +12 -15
  108. package/package.json +37 -61
@@ -0,0 +1,701 @@
1
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2
+ // IncoVerifier
3
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4
+ export const incoVerifierAbi = [
5
+ {
6
+ type: 'constructor',
7
+ inputs: [
8
+ {
9
+ name: '_incoLightningAddress',
10
+ internalType: 'address',
11
+ type: 'address',
12
+ },
13
+ ],
14
+ stateMutability: 'nonpayable',
15
+ },
16
+ {
17
+ type: 'function',
18
+ inputs: [],
19
+ name: 'BootstrapComplete',
20
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
21
+ stateMutability: 'view',
22
+ },
23
+ {
24
+ type: 'function',
25
+ inputs: [],
26
+ name: 'BootstrapResultStructHash',
27
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
28
+ stateMutability: 'view',
29
+ },
30
+ {
31
+ type: 'function',
32
+ inputs: [],
33
+ name: 'ECIESPubkey',
34
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
35
+ stateMutability: 'view',
36
+ },
37
+ {
38
+ type: 'function',
39
+ inputs: [{ name: '', internalType: 'address', type: 'address' }],
40
+ name: 'EOASigners',
41
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
42
+ stateMutability: 'view',
43
+ },
44
+ {
45
+ type: 'function',
46
+ inputs: [],
47
+ name: 'QUOTE_VERIFIER_VERSION',
48
+ outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
49
+ stateMutability: 'view',
50
+ },
51
+ {
52
+ type: 'function',
53
+ inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
54
+ name: 'TEEVersionHistory',
55
+ outputs: [
56
+ { name: 'mrtd', internalType: 'bytes', type: 'bytes' },
57
+ { name: 'status', internalType: 'enum TEEVersionStatus', type: 'uint8' },
58
+ ],
59
+ stateMutability: 'view',
60
+ },
61
+ {
62
+ type: 'function',
63
+ inputs: [],
64
+ name: 'UPGRADE_INTERFACE_VERSION',
65
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
66
+ stateMutability: 'view',
67
+ },
68
+ {
69
+ type: 'function',
70
+ inputs: [],
71
+ name: 'VerifiedBootstrapResult',
72
+ outputs: [{ name: 'ecies_pubkey', internalType: 'bytes', type: 'bytes' }],
73
+ stateMutability: 'view',
74
+ },
75
+ {
76
+ type: 'function',
77
+ inputs: [{ name: 'quote', internalType: 'bytes', type: 'bytes' }],
78
+ name: 'addNewCovalidator',
79
+ outputs: [],
80
+ stateMutability: 'nonpayable',
81
+ },
82
+ {
83
+ type: 'function',
84
+ inputs: [
85
+ { name: 'signerAddress', internalType: 'address', type: 'address' },
86
+ ],
87
+ name: 'addSigner',
88
+ outputs: [],
89
+ stateMutability: 'nonpayable',
90
+ },
91
+ {
92
+ type: 'function',
93
+ inputs: [
94
+ {
95
+ name: 'voucher',
96
+ internalType: 'struct AllowanceVoucher',
97
+ type: 'tuple',
98
+ components: [
99
+ { name: 'sessionNonce', internalType: 'bytes32', type: 'bytes32' },
100
+ {
101
+ name: 'verifyingContract',
102
+ internalType: 'address',
103
+ type: 'address',
104
+ },
105
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
106
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
107
+ ],
108
+ },
109
+ ],
110
+ name: 'allowanceVoucherDigest',
111
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
112
+ stateMutability: 'view',
113
+ },
114
+ {
115
+ type: 'function',
116
+ inputs: [{ name: 'newMRTD', internalType: 'bytes', type: 'bytes' }],
117
+ name: 'approveNewTEEVersion',
118
+ outputs: [],
119
+ stateMutability: 'nonpayable',
120
+ },
121
+ {
122
+ type: 'function',
123
+ inputs: [
124
+ {
125
+ name: 'bootstrapResult',
126
+ internalType: 'struct BootstrapResult',
127
+ type: 'tuple',
128
+ components: [
129
+ { name: 'ecies_pubkey', internalType: 'bytes', type: 'bytes' },
130
+ ],
131
+ },
132
+ ],
133
+ name: 'bootstrapResultDigest',
134
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
135
+ stateMutability: 'view',
136
+ },
137
+ {
138
+ type: 'function',
139
+ inputs: [
140
+ {
141
+ name: 'decryption',
142
+ internalType: 'struct DecryptionAttestation',
143
+ type: 'tuple',
144
+ components: [
145
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
146
+ { name: 'value', internalType: 'bytes32', type: 'bytes32' },
147
+ ],
148
+ },
149
+ ],
150
+ name: 'decryptionAttestationDigest',
151
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
152
+ stateMutability: 'view',
153
+ },
154
+ {
155
+ type: 'function',
156
+ inputs: [],
157
+ name: 'eip712Domain',
158
+ outputs: [
159
+ { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
160
+ { name: 'name', internalType: 'string', type: 'string' },
161
+ { name: 'version', internalType: 'string', type: 'string' },
162
+ { name: 'chainId', internalType: 'uint256', type: 'uint256' },
163
+ { name: 'verifyingContract', internalType: 'address', type: 'address' },
164
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
165
+ { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
166
+ ],
167
+ stateMutability: 'view',
168
+ },
169
+ {
170
+ type: 'function',
171
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
172
+ name: 'getActiveVouchersSessionNonce',
173
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
174
+ stateMutability: 'view',
175
+ },
176
+ {
177
+ type: 'function',
178
+ inputs: [],
179
+ name: 'getEIP712Name',
180
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
181
+ stateMutability: 'view',
182
+ },
183
+ {
184
+ type: 'function',
185
+ inputs: [],
186
+ name: 'getEIP712Version',
187
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
188
+ stateMutability: 'view',
189
+ },
190
+ {
191
+ type: 'function',
192
+ inputs: [
193
+ { name: 'owner', internalType: 'address', type: 'address' },
194
+ { name: 'name', internalType: 'string', type: 'string' },
195
+ { name: 'version', internalType: 'string', type: 'string' },
196
+ {
197
+ name: 'quoteVerifier',
198
+ internalType: 'contract IQuoteVerifier',
199
+ type: 'address',
200
+ },
201
+ ],
202
+ name: 'initialize',
203
+ outputs: [],
204
+ stateMutability: 'nonpayable',
205
+ },
206
+ {
207
+ type: 'function',
208
+ inputs: [
209
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
210
+ { name: 'account', internalType: 'address', type: 'address' },
211
+ {
212
+ name: 'proof',
213
+ internalType: 'struct AllowanceProof',
214
+ type: 'tuple',
215
+ components: [
216
+ { name: 'sharer', internalType: 'address', type: 'address' },
217
+ {
218
+ name: 'voucher',
219
+ internalType: 'struct AllowanceVoucher',
220
+ type: 'tuple',
221
+ components: [
222
+ {
223
+ name: 'sessionNonce',
224
+ internalType: 'bytes32',
225
+ type: 'bytes32',
226
+ },
227
+ {
228
+ name: 'verifyingContract',
229
+ internalType: 'address',
230
+ type: 'address',
231
+ },
232
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
233
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
234
+ ],
235
+ },
236
+ { name: 'voucherSignature', internalType: 'bytes', type: 'bytes' },
237
+ { name: 'requesterArgData', internalType: 'bytes', type: 'bytes' },
238
+ ],
239
+ },
240
+ ],
241
+ name: 'isAllowedWithProof',
242
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
243
+ stateMutability: 'nonpayable',
244
+ },
245
+ {
246
+ type: 'function',
247
+ inputs: [],
248
+ name: 'isBootstrapComplete',
249
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
250
+ stateMutability: 'view',
251
+ },
252
+ {
253
+ type: 'function',
254
+ inputs: [
255
+ { name: 'signerAddress', internalType: 'address', type: 'address' },
256
+ ],
257
+ name: 'isSigner',
258
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
259
+ stateMutability: 'view',
260
+ },
261
+ {
262
+ type: 'function',
263
+ inputs: [
264
+ {
265
+ name: 'decryption',
266
+ internalType: 'struct DecryptionAttestation',
267
+ type: 'tuple',
268
+ components: [
269
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
270
+ { name: 'value', internalType: 'bytes32', type: 'bytes32' },
271
+ ],
272
+ },
273
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
274
+ ],
275
+ name: 'isValidDecryptionAttestation',
276
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
277
+ stateMutability: 'view',
278
+ },
279
+ {
280
+ type: 'function',
281
+ inputs: [
282
+ { name: 'hash', internalType: 'bytes32', type: 'bytes32' },
283
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
284
+ ],
285
+ name: 'isValidSignature',
286
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
287
+ stateMutability: 'view',
288
+ },
289
+ {
290
+ type: 'function',
291
+ inputs: [],
292
+ name: 'owner',
293
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
294
+ stateMutability: 'view',
295
+ },
296
+ {
297
+ type: 'function',
298
+ inputs: [
299
+ {
300
+ name: 'tdReport',
301
+ internalType: 'struct TD10ReportBody',
302
+ type: 'tuple',
303
+ components: [
304
+ { name: 'teeTcbSvn', internalType: 'bytes16', type: 'bytes16' },
305
+ { name: 'mrSeam', internalType: 'bytes', type: 'bytes' },
306
+ { name: 'mrsignerSeam', internalType: 'bytes', type: 'bytes' },
307
+ { name: 'seamAttributes', internalType: 'bytes8', type: 'bytes8' },
308
+ { name: 'tdAttributes', internalType: 'bytes8', type: 'bytes8' },
309
+ { name: 'xFAM', internalType: 'bytes8', type: 'bytes8' },
310
+ { name: 'mrTd', internalType: 'bytes', type: 'bytes' },
311
+ { name: 'mrConfigId', internalType: 'bytes', type: 'bytes' },
312
+ { name: 'mrOwner', internalType: 'bytes', type: 'bytes' },
313
+ { name: 'mrOwnerConfig', internalType: 'bytes', type: 'bytes' },
314
+ { name: 'rtMr0', internalType: 'bytes', type: 'bytes' },
315
+ { name: 'rtMr1', internalType: 'bytes', type: 'bytes' },
316
+ { name: 'rtMr2', internalType: 'bytes', type: 'bytes' },
317
+ { name: 'rtMr3', internalType: 'bytes', type: 'bytes' },
318
+ { name: 'reportData', internalType: 'bytes', type: 'bytes' },
319
+ ],
320
+ },
321
+ ],
322
+ name: 'parseReport',
323
+ outputs: [
324
+ { name: '', internalType: 'address', type: 'address' },
325
+ { name: '', internalType: 'bytes', type: 'bytes' },
326
+ ],
327
+ stateMutability: 'pure',
328
+ },
329
+ {
330
+ type: 'function',
331
+ inputs: [{ name: 'rawQuote', internalType: 'bytes', type: 'bytes' }],
332
+ name: 'parseTD10ReportBody',
333
+ outputs: [
334
+ {
335
+ name: 'report',
336
+ internalType: 'struct TD10ReportBody',
337
+ type: 'tuple',
338
+ components: [
339
+ { name: 'teeTcbSvn', internalType: 'bytes16', type: 'bytes16' },
340
+ { name: 'mrSeam', internalType: 'bytes', type: 'bytes' },
341
+ { name: 'mrsignerSeam', internalType: 'bytes', type: 'bytes' },
342
+ { name: 'seamAttributes', internalType: 'bytes8', type: 'bytes8' },
343
+ { name: 'tdAttributes', internalType: 'bytes8', type: 'bytes8' },
344
+ { name: 'xFAM', internalType: 'bytes8', type: 'bytes8' },
345
+ { name: 'mrTd', internalType: 'bytes', type: 'bytes' },
346
+ { name: 'mrConfigId', internalType: 'bytes', type: 'bytes' },
347
+ { name: 'mrOwner', internalType: 'bytes', type: 'bytes' },
348
+ { name: 'mrOwnerConfig', internalType: 'bytes', type: 'bytes' },
349
+ { name: 'rtMr0', internalType: 'bytes', type: 'bytes' },
350
+ { name: 'rtMr1', internalType: 'bytes', type: 'bytes' },
351
+ { name: 'rtMr2', internalType: 'bytes', type: 'bytes' },
352
+ { name: 'rtMr3', internalType: 'bytes', type: 'bytes' },
353
+ { name: 'reportData', internalType: 'bytes', type: 'bytes' },
354
+ ],
355
+ },
356
+ ],
357
+ stateMutability: 'pure',
358
+ },
359
+ {
360
+ type: 'function',
361
+ inputs: [],
362
+ name: 'proxiableUUID',
363
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
364
+ stateMutability: 'view',
365
+ },
366
+ {
367
+ type: 'function',
368
+ inputs: [],
369
+ name: 'quoteVerifier',
370
+ outputs: [
371
+ { name: '', internalType: 'contract IQuoteVerifier', type: 'address' },
372
+ ],
373
+ stateMutability: 'view',
374
+ },
375
+ {
376
+ type: 'function',
377
+ inputs: [
378
+ { name: 'signerAddress', internalType: 'address', type: 'address' },
379
+ ],
380
+ name: 'removeSigner',
381
+ outputs: [],
382
+ stateMutability: 'nonpayable',
383
+ },
384
+ {
385
+ type: 'function',
386
+ inputs: [],
387
+ name: 'renounceOwnership',
388
+ outputs: [],
389
+ stateMutability: 'nonpayable',
390
+ },
391
+ {
392
+ type: 'function',
393
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
394
+ name: 'transferOwnership',
395
+ outputs: [],
396
+ stateMutability: 'nonpayable',
397
+ },
398
+ {
399
+ type: 'function',
400
+ inputs: [],
401
+ name: 'updateActiveVouchersSessionNonce',
402
+ outputs: [],
403
+ stateMutability: 'nonpayable',
404
+ },
405
+ {
406
+ type: 'function',
407
+ inputs: [
408
+ { name: 'newImplementation', internalType: 'address', type: 'address' },
409
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
410
+ ],
411
+ name: 'upgradeToAndCall',
412
+ outputs: [],
413
+ stateMutability: 'payable',
414
+ },
415
+ {
416
+ type: 'function',
417
+ inputs: [
418
+ {
419
+ name: 'tcbInfo',
420
+ internalType: 'struct TcbInfoJsonObj',
421
+ type: 'tuple',
422
+ components: [
423
+ { name: 'tcbInfoStr', internalType: 'string', type: 'string' },
424
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
425
+ ],
426
+ },
427
+ {
428
+ name: 'identity',
429
+ internalType: 'struct EnclaveIdentityJsonObj',
430
+ type: 'tuple',
431
+ components: [
432
+ { name: 'identityStr', internalType: 'string', type: 'string' },
433
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
434
+ ],
435
+ },
436
+ ],
437
+ name: 'uploadCollateral',
438
+ outputs: [],
439
+ stateMutability: 'nonpayable',
440
+ },
441
+ {
442
+ type: 'function',
443
+ inputs: [
444
+ {
445
+ name: 'bootstrapResult',
446
+ internalType: 'struct BootstrapResult',
447
+ type: 'tuple',
448
+ components: [
449
+ { name: 'ecies_pubkey', internalType: 'bytes', type: 'bytes' },
450
+ ],
451
+ },
452
+ { name: 'quote', internalType: 'bytes', type: 'bytes' },
453
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
454
+ ],
455
+ name: 'verifyBootstrapResult',
456
+ outputs: [],
457
+ stateMutability: 'nonpayable',
458
+ },
459
+ {
460
+ type: 'event',
461
+ anonymous: false,
462
+ inputs: [
463
+ {
464
+ name: 'signerAddress',
465
+ internalType: 'address',
466
+ type: 'address',
467
+ indexed: false,
468
+ },
469
+ ],
470
+ name: 'AddedSignatureVerifier',
471
+ },
472
+ {
473
+ type: 'event',
474
+ anonymous: false,
475
+ inputs: [
476
+ {
477
+ name: 'newEOASigner',
478
+ internalType: 'address',
479
+ type: 'address',
480
+ indexed: true,
481
+ },
482
+ {
483
+ name: 'bootstrapResult',
484
+ internalType: 'struct BootstrapResult',
485
+ type: 'tuple',
486
+ components: [
487
+ { name: 'ecies_pubkey', internalType: 'bytes', type: 'bytes' },
488
+ ],
489
+ indexed: false,
490
+ },
491
+ ],
492
+ name: 'BootstrapStageComplete',
493
+ },
494
+ { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
495
+ {
496
+ type: 'event',
497
+ anonymous: false,
498
+ inputs: [
499
+ {
500
+ name: 'version',
501
+ internalType: 'uint64',
502
+ type: 'uint64',
503
+ indexed: false,
504
+ },
505
+ ],
506
+ name: 'Initialized',
507
+ },
508
+ {
509
+ type: 'event',
510
+ anonymous: false,
511
+ inputs: [
512
+ {
513
+ name: 'covalidatorAddress',
514
+ internalType: 'address',
515
+ type: 'address',
516
+ indexed: false,
517
+ },
518
+ { name: 'quote', internalType: 'bytes', type: 'bytes', indexed: false },
519
+ ],
520
+ name: 'NewCovalidatorAdded',
521
+ },
522
+ {
523
+ type: 'event',
524
+ anonymous: false,
525
+ inputs: [
526
+ {
527
+ name: 'previousOwner',
528
+ internalType: 'address',
529
+ type: 'address',
530
+ indexed: true,
531
+ },
532
+ {
533
+ name: 'newOwner',
534
+ internalType: 'address',
535
+ type: 'address',
536
+ indexed: true,
537
+ },
538
+ ],
539
+ name: 'OwnershipTransferred',
540
+ },
541
+ {
542
+ type: 'event',
543
+ anonymous: false,
544
+ inputs: [
545
+ {
546
+ name: 'version',
547
+ internalType: 'uint16',
548
+ type: 'uint16',
549
+ indexed: true,
550
+ },
551
+ ],
552
+ name: 'QuoteVerifierUpdated',
553
+ },
554
+ {
555
+ type: 'event',
556
+ anonymous: false,
557
+ inputs: [
558
+ {
559
+ name: 'signerAddress',
560
+ internalType: 'address',
561
+ type: 'address',
562
+ indexed: false,
563
+ },
564
+ ],
565
+ name: 'RemovedSignatureVerifier',
566
+ },
567
+ {
568
+ type: 'event',
569
+ anonymous: false,
570
+ inputs: [
571
+ {
572
+ name: 'teeVersion',
573
+ internalType: 'struct TEEVersion',
574
+ type: 'tuple',
575
+ components: [
576
+ { name: 'mrtd', internalType: 'bytes', type: 'bytes' },
577
+ {
578
+ name: 'status',
579
+ internalType: 'enum TEEVersionStatus',
580
+ type: 'uint8',
581
+ },
582
+ ],
583
+ indexed: false,
584
+ },
585
+ ],
586
+ name: 'TEEVersionUpdated',
587
+ },
588
+ {
589
+ type: 'event',
590
+ anonymous: false,
591
+ inputs: [
592
+ {
593
+ name: 'implementation',
594
+ internalType: 'address',
595
+ type: 'address',
596
+ indexed: true,
597
+ },
598
+ ],
599
+ name: 'Upgraded',
600
+ },
601
+ {
602
+ type: 'error',
603
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
604
+ name: 'AddressEmptyCode',
605
+ },
606
+ { type: 'error', inputs: [], name: 'BootstrapAlreadyCompleted' },
607
+ { type: 'error', inputs: [], name: 'BootstrapNotComplete' },
608
+ { type: 'error', inputs: [], name: 'ECDSAInvalidSignature' },
609
+ {
610
+ type: 'error',
611
+ inputs: [{ name: 'length', internalType: 'uint256', type: 'uint256' }],
612
+ name: 'ECDSAInvalidSignatureLength',
613
+ },
614
+ {
615
+ type: 'error',
616
+ inputs: [{ name: 's', internalType: 'bytes32', type: 'bytes32' }],
617
+ name: 'ECDSAInvalidSignatureS',
618
+ },
619
+ { type: 'error', inputs: [], name: 'EOASignerAlreadyInitialized' },
620
+ {
621
+ type: 'error',
622
+ inputs: [
623
+ { name: 'implementation', internalType: 'address', type: 'address' },
624
+ ],
625
+ name: 'ERC1967InvalidImplementation',
626
+ },
627
+ { type: 'error', inputs: [], name: 'ERC1967NonPayable' },
628
+ { type: 'error', inputs: [], name: 'EmptyIdentity' },
629
+ { type: 'error', inputs: [], name: 'EmptyTcbInfo' },
630
+ { type: 'error', inputs: [], name: 'FailedCall' },
631
+ { type: 'error', inputs: [], name: 'InvalidBootstrapDataSignature' },
632
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
633
+ { type: 'error', inputs: [], name: 'InvalidMrtdReport' },
634
+ {
635
+ type: 'error',
636
+ inputs: [
637
+ { name: 'actual', internalType: 'uint16', type: 'uint16' },
638
+ { name: 'expected', internalType: 'uint16', type: 'uint16' },
639
+ ],
640
+ name: 'InvalidQuoteVerifierVersion',
641
+ },
642
+ { type: 'error', inputs: [], name: 'InvalidReportDataSigner' },
643
+ { type: 'error', inputs: [], name: 'InvalidReportMRTD' },
644
+ {
645
+ type: 'error',
646
+ inputs: [
647
+ {
648
+ name: 'providedSessionNonce',
649
+ internalType: 'bytes32',
650
+ type: 'bytes32',
651
+ },
652
+ { name: 'activeSessionNonce', internalType: 'bytes32', type: 'bytes32' },
653
+ ],
654
+ name: 'InvalidVoucherSessionNonce',
655
+ },
656
+ {
657
+ type: 'error',
658
+ inputs: [
659
+ { name: 'signer', internalType: 'address', type: 'address' },
660
+ { name: 'digest', internalType: 'bytes32', type: 'bytes32' },
661
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
662
+ ],
663
+ name: 'InvalidVoucherSignature',
664
+ },
665
+ { type: 'error', inputs: [], name: 'MrtdInvalidLength' },
666
+ { type: 'error', inputs: [], name: 'NotInitializing' },
667
+ {
668
+ type: 'error',
669
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
670
+ name: 'OwnableInvalidOwner',
671
+ },
672
+ {
673
+ type: 'error',
674
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
675
+ name: 'OwnableUnauthorizedAccount',
676
+ },
677
+ {
678
+ type: 'error',
679
+ inputs: [
680
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
681
+ { name: 'sharer', internalType: 'address', type: 'address' },
682
+ ],
683
+ name: 'SharerNotAllowedForHandle',
684
+ },
685
+ {
686
+ type: 'error',
687
+ inputs: [
688
+ { name: 'signerAddress', internalType: 'address', type: 'address' },
689
+ ],
690
+ name: 'SignerNotFound',
691
+ },
692
+ { type: 'error', inputs: [], name: 'TEEVersionHistoryInconsistent' },
693
+ { type: 'error', inputs: [], name: 'TEEVersionHistoryStatusIsNotPending' },
694
+ { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },
695
+ {
696
+ type: 'error',
697
+ inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],
698
+ name: 'UUPSUnsupportedProxiableUUID',
699
+ },
700
+ ];
701
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2FiaXMvdmVyaWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0tBQXNLO0FBQ3RLLGVBQWU7QUFDZixzS0FBc0s7QUFFdEssTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCO1FBQ0UsSUFBSSxFQUFFLGFBQWE7UUFDbkIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsWUFBWTtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMzRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNqRSxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0QsZUFBZSxFQUFFLE1BQU07S0FD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