@inco/js 0.8.0-devnet-9 → 0.8.0-devnet-10

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 (73) hide show
  1. package/dist/cjs/advancedacl/session-key.js +15 -6
  2. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +2 -6
  3. package/dist/cjs/attesteddecrypt/attested-decrypt.js +15 -22
  4. package/dist/cjs/generated/abis/lightning.d.ts +997 -102
  5. package/dist/cjs/generated/abis/lightning.js +642 -3
  6. package/dist/cjs/generated/abis/test-elist.d.ts +1 -1
  7. package/dist/cjs/generated/abis/test-elist.js +2 -2
  8. package/dist/cjs/generated/abis/verifier.d.ts +39 -0
  9. package/dist/cjs/generated/abis/verifier.js +22 -1
  10. package/dist/cjs/generated/lightning.d.ts +20 -0
  11. package/dist/cjs/generated/lightning.js +22 -1
  12. package/dist/cjs/generated/local-node.d.ts +4 -4
  13. package/dist/cjs/generated/local-node.js +22 -7
  14. package/dist/cjs/handle.d.ts +12 -0
  15. package/dist/cjs/handle.js +29 -2
  16. package/dist/cjs/kms/client.d.ts +1 -1
  17. package/dist/cjs/kms/client.js +4 -3
  18. package/dist/cjs/kms/quorumClient.d.ts +1 -0
  19. package/dist/cjs/kms/quorumClient.js +21 -4
  20. package/dist/cjs/lite/index.d.ts +1 -1
  21. package/dist/cjs/lite/index.js +2 -3
  22. package/dist/cjs/lite/lightning.d.ts +2 -2
  23. package/dist/cjs/lite/lightning.js +2 -2
  24. package/dist/cjs/retry.d.ts +14 -0
  25. package/dist/cjs/retry.js +58 -2
  26. package/dist/cjs/test/mocks.d.ts +1 -0
  27. package/dist/cjs/test/mocks.js +3 -2
  28. package/dist/esm/advancedacl/session-key.js +13 -4
  29. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +2 -6
  30. package/dist/esm/attesteddecrypt/attested-decrypt.js +14 -20
  31. package/dist/esm/generated/abis/lightning.d.ts +997 -102
  32. package/dist/esm/generated/abis/lightning.js +640 -1
  33. package/dist/esm/generated/abis/test-elist.d.ts +1 -1
  34. package/dist/esm/generated/abis/test-elist.js +2 -2
  35. package/dist/esm/generated/abis/verifier.d.ts +39 -0
  36. package/dist/esm/generated/abis/verifier.js +22 -1
  37. package/dist/esm/generated/lightning.d.ts +20 -0
  38. package/dist/esm/generated/lightning.js +22 -1
  39. package/dist/esm/generated/local-node.d.ts +4 -4
  40. package/dist/esm/generated/local-node.js +22 -7
  41. package/dist/esm/handle.d.ts +12 -0
  42. package/dist/esm/handle.js +27 -1
  43. package/dist/esm/kms/client.d.ts +1 -1
  44. package/dist/esm/kms/client.js +3 -2
  45. package/dist/esm/kms/quorumClient.d.ts +1 -0
  46. package/dist/esm/kms/quorumClient.js +21 -4
  47. package/dist/esm/lite/index.d.ts +1 -1
  48. package/dist/esm/lite/index.js +2 -2
  49. package/dist/esm/lite/lightning.d.ts +2 -2
  50. package/dist/esm/lite/lightning.js +2 -2
  51. package/dist/esm/retry.d.ts +14 -0
  52. package/dist/esm/retry.js +56 -2
  53. package/dist/esm/test/mocks.d.ts +1 -0
  54. package/dist/esm/test/mocks.js +4 -3
  55. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +2 -6
  56. package/dist/types/generated/abis/lightning.d.ts +997 -102
  57. package/dist/types/generated/abis/test-elist.d.ts +1 -1
  58. package/dist/types/generated/abis/verifier.d.ts +39 -0
  59. package/dist/types/generated/lightning.d.ts +20 -0
  60. package/dist/types/generated/local-node.d.ts +4 -4
  61. package/dist/types/handle.d.ts +12 -0
  62. package/dist/types/kms/client.d.ts +1 -1
  63. package/dist/types/kms/quorumClient.d.ts +1 -0
  64. package/dist/types/lite/index.d.ts +1 -1
  65. package/dist/types/lite/lightning.d.ts +2 -2
  66. package/dist/types/retry.d.ts +14 -0
  67. package/dist/types/test/mocks.d.ts +1 -0
  68. package/package.json +1 -1
  69. package/dist/cjs/generated/abis/lightning-preview.d.ts +0 -1445
  70. package/dist/cjs/generated/abis/lightning-preview.js +0 -908
  71. package/dist/esm/generated/abis/lightning-preview.d.ts +0 -1445
  72. package/dist/esm/generated/abis/lightning-preview.js +0 -905
  73. package/dist/types/generated/abis/lightning-preview.d.ts +0 -1445
@@ -1,905 +0,0 @@
1
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2
- // ABIHelper
3
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4
- export const abiHelperAbi = [
5
- {
6
- type: 'function',
7
- inputs: [],
8
- name: 'getSession',
9
- outputs: [
10
- {
11
- name: '',
12
- internalType: 'struct Session',
13
- type: 'tuple',
14
- components: [
15
- { name: 'decrypter', internalType: 'address', type: 'address' },
16
- { name: 'expiresAt', internalType: 'uint256', type: 'uint256' },
17
- ],
18
- },
19
- ],
20
- stateMutability: 'pure',
21
- },
22
- ];
23
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
24
- // AdvancedAccessControl
25
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
26
- export const advancedAccessControlAbi = [
27
- {
28
- type: 'function',
29
- inputs: [
30
- {
31
- name: 'voucher',
32
- internalType: 'struct AllowanceVoucher',
33
- type: 'tuple',
34
- components: [
35
- { name: 'sessionNonce', internalType: 'bytes32', type: 'bytes32' },
36
- {
37
- name: 'verifyingContract',
38
- internalType: 'address',
39
- type: 'address',
40
- },
41
- { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
42
- { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
43
- ],
44
- },
45
- ],
46
- name: 'allowanceVoucherDigest',
47
- outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
48
- stateMutability: 'view',
49
- },
50
- {
51
- type: 'function',
52
- inputs: [],
53
- name: 'eip712Domain',
54
- outputs: [
55
- { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
56
- { name: 'name', internalType: 'string', type: 'string' },
57
- { name: 'version', internalType: 'string', type: 'string' },
58
- { name: 'chainId', internalType: 'uint256', type: 'uint256' },
59
- { name: 'verifyingContract', internalType: 'address', type: 'address' },
60
- { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
61
- { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
62
- ],
63
- stateMutability: 'view',
64
- },
65
- {
66
- type: 'function',
67
- inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
68
- name: 'getActiveVouchersSessionNonce',
69
- outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
70
- stateMutability: 'view',
71
- },
72
- {
73
- type: 'function',
74
- inputs: [
75
- { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
76
- { name: 'account', internalType: 'address', type: 'address' },
77
- {
78
- name: 'proof',
79
- internalType: 'struct AllowanceProof',
80
- type: 'tuple',
81
- components: [
82
- { name: 'sharer', internalType: 'address', type: 'address' },
83
- {
84
- name: 'voucher',
85
- internalType: 'struct AllowanceVoucher',
86
- type: 'tuple',
87
- components: [
88
- {
89
- name: 'sessionNonce',
90
- internalType: 'bytes32',
91
- type: 'bytes32',
92
- },
93
- {
94
- name: 'verifyingContract',
95
- internalType: 'address',
96
- type: 'address',
97
- },
98
- { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
99
- { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
100
- ],
101
- },
102
- { name: 'voucherSignature', internalType: 'bytes', type: 'bytes' },
103
- { name: 'requesterArgData', internalType: 'bytes', type: 'bytes' },
104
- ],
105
- },
106
- ],
107
- name: 'isAllowedWithProof',
108
- outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
109
- stateMutability: 'nonpayable',
110
- },
111
- {
112
- type: 'function',
113
- inputs: [],
114
- name: 'updateActiveVouchersSessionNonce',
115
- outputs: [],
116
- stateMutability: 'nonpayable',
117
- },
118
- { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
119
- {
120
- type: 'event',
121
- anonymous: false,
122
- inputs: [
123
- {
124
- name: 'version',
125
- internalType: 'uint64',
126
- type: 'uint64',
127
- indexed: false,
128
- },
129
- ],
130
- name: 'Initialized',
131
- },
132
- { type: 'error', inputs: [], name: 'InvalidInitialization' },
133
- { type: 'error', inputs: [], name: 'InvalidVerifyingContract' },
134
- {
135
- type: 'error',
136
- inputs: [
137
- {
138
- name: 'providedSessionNonce',
139
- internalType: 'bytes32',
140
- type: 'bytes32',
141
- },
142
- { name: 'activeSessionNonce', internalType: 'bytes32', type: 'bytes32' },
143
- ],
144
- name: 'InvalidVoucherSessionNonce',
145
- },
146
- {
147
- type: 'error',
148
- inputs: [
149
- { name: 'signer', internalType: 'address', type: 'address' },
150
- { name: 'digest', internalType: 'bytes32', type: 'bytes32' },
151
- { name: 'signature', internalType: 'bytes', type: 'bytes' },
152
- ],
153
- name: 'InvalidVoucherSignature',
154
- },
155
- { type: 'error', inputs: [], name: 'NotInitializing' },
156
- {
157
- type: 'error',
158
- inputs: [
159
- { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
160
- { name: 'sharer', internalType: 'address', type: 'address' },
161
- ],
162
- name: 'SharerNotAllowedForHandle',
163
- },
164
- ];
165
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
166
- // IIncoLightningPreview
167
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
168
- export const iIncoLightningPreviewAbi = [
169
- {
170
- type: 'function',
171
- inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
172
- name: 'addAcceptedVersion',
173
- outputs: [],
174
- stateMutability: 'nonpayable',
175
- },
176
- {
177
- type: 'function',
178
- inputs: [
179
- { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
180
- { name: 'account', internalType: 'address', type: 'address' },
181
- ],
182
- name: 'allow',
183
- outputs: [],
184
- stateMutability: 'nonpayable',
185
- },
186
- {
187
- type: 'function',
188
- inputs: [
189
- { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
190
- { name: 'account', internalType: 'address', type: 'address' },
191
- ],
192
- name: 'allowTransient',
193
- outputs: [],
194
- stateMutability: 'nonpayable',
195
- },
196
- {
197
- type: 'function',
198
- inputs: [
199
- { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
200
- { name: 'account', internalType: 'address', type: 'address' },
201
- ],
202
- name: 'allowedTransient',
203
- outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
204
- stateMutability: 'view',
205
- },
206
- {
207
- type: 'function',
208
- inputs: [{ name: 'value', internalType: 'address', type: 'address' }],
209
- name: 'asEaddress',
210
- outputs: [
211
- { name: 'newEaddress', internalType: 'eaddress', type: 'bytes32' },
212
- ],
213
- stateMutability: 'nonpayable',
214
- },
215
- {
216
- type: 'function',
217
- inputs: [{ name: 'value', internalType: 'bool', type: 'bool' }],
218
- name: 'asEbool',
219
- outputs: [{ name: 'newEbool', internalType: 'ebool', type: 'bytes32' }],
220
- stateMutability: 'nonpayable',
221
- },
222
- {
223
- type: 'function',
224
- inputs: [{ name: 'value', internalType: 'uint256', type: 'uint256' }],
225
- name: 'asEuint256',
226
- outputs: [
227
- { name: 'newEuint256', internalType: 'euint256', type: 'bytes32' },
228
- ],
229
- stateMutability: 'nonpayable',
230
- },
231
- {
232
- type: 'function',
233
- inputs: [
234
- { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
235
- {
236
- name: 'proof',
237
- internalType: 'struct AllowanceProof',
238
- type: 'tuple',
239
- components: [
240
- { name: 'sharer', internalType: 'address', type: 'address' },
241
- {
242
- name: 'voucher',
243
- internalType: 'struct AllowanceVoucher',
244
- type: 'tuple',
245
- components: [
246
- {
247
- name: 'sessionNonce',
248
- internalType: 'bytes32',
249
- type: 'bytes32',
250
- },
251
- {
252
- name: 'verifyingContract',
253
- internalType: 'address',
254
- type: 'address',
255
- },
256
- { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
257
- { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
258
- ],
259
- },
260
- { name: 'voucherSignature', internalType: 'bytes', type: 'bytes' },
261
- { name: 'requesterArgData', internalType: 'bytes', type: 'bytes' },
262
- ],
263
- },
264
- ],
265
- name: 'claimHandle',
266
- outputs: [],
267
- stateMutability: 'nonpayable',
268
- },
269
- {
270
- type: 'function',
271
- inputs: [],
272
- name: 'cleanTransientStorage',
273
- outputs: [],
274
- stateMutability: 'nonpayable',
275
- },
276
- {
277
- type: 'function',
278
- inputs: [
279
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
280
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
281
- ],
282
- name: 'eAdd',
283
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
284
- stateMutability: 'nonpayable',
285
- },
286
- {
287
- type: 'function',
288
- inputs: [
289
- { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
290
- { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
291
- ],
292
- name: 'eBitAnd',
293
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
294
- stateMutability: 'nonpayable',
295
- },
296
- {
297
- type: 'function',
298
- inputs: [
299
- { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
300
- { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
301
- ],
302
- name: 'eBitOr',
303
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
304
- stateMutability: 'nonpayable',
305
- },
306
- {
307
- type: 'function',
308
- inputs: [
309
- { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
310
- { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
311
- ],
312
- name: 'eBitXor',
313
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
314
- stateMutability: 'nonpayable',
315
- },
316
- {
317
- type: 'function',
318
- inputs: [
319
- { name: 'ct', internalType: 'bytes32', type: 'bytes32' },
320
- { name: 'toType', internalType: 'enum ETypes', type: 'uint8' },
321
- ],
322
- name: 'eCast',
323
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
324
- stateMutability: 'nonpayable',
325
- },
326
- {
327
- type: 'function',
328
- inputs: [
329
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
330
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
331
- ],
332
- name: 'eDiv',
333
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
334
- stateMutability: 'nonpayable',
335
- },
336
- {
337
- type: 'function',
338
- inputs: [
339
- { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
340
- { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
341
- ],
342
- name: 'eEq',
343
- outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
344
- stateMutability: 'nonpayable',
345
- },
346
- {
347
- type: 'function',
348
- inputs: [
349
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
350
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
351
- ],
352
- name: 'eGe',
353
- outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
354
- stateMutability: 'nonpayable',
355
- },
356
- {
357
- type: 'function',
358
- inputs: [
359
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
360
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
361
- ],
362
- name: 'eGt',
363
- outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
364
- stateMutability: 'nonpayable',
365
- },
366
- {
367
- type: 'function',
368
- inputs: [
369
- { name: 'condition', internalType: 'ebool', type: 'bytes32' },
370
- { name: 'ifTrue', internalType: 'bytes32', type: 'bytes32' },
371
- { name: 'ifFalse', internalType: 'bytes32', type: 'bytes32' },
372
- ],
373
- name: 'eIfThenElse',
374
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
375
- stateMutability: 'nonpayable',
376
- },
377
- {
378
- type: 'function',
379
- inputs: [
380
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
381
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
382
- ],
383
- name: 'eLe',
384
- outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
385
- stateMutability: 'nonpayable',
386
- },
387
- {
388
- type: 'function',
389
- inputs: [
390
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
391
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
392
- ],
393
- name: 'eLt',
394
- outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
395
- stateMutability: 'nonpayable',
396
- },
397
- {
398
- type: 'function',
399
- inputs: [
400
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
401
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
402
- ],
403
- name: 'eMax',
404
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
405
- stateMutability: 'nonpayable',
406
- },
407
- {
408
- type: 'function',
409
- inputs: [
410
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
411
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
412
- ],
413
- name: 'eMin',
414
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
415
- stateMutability: 'nonpayable',
416
- },
417
- {
418
- type: 'function',
419
- inputs: [
420
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
421
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
422
- ],
423
- name: 'eMul',
424
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
425
- stateMutability: 'nonpayable',
426
- },
427
- {
428
- type: 'function',
429
- inputs: [
430
- { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
431
- { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
432
- ],
433
- name: 'eNe',
434
- outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
435
- stateMutability: 'nonpayable',
436
- },
437
- {
438
- type: 'function',
439
- inputs: [{ name: 'operand', internalType: 'ebool', type: 'bytes32' }],
440
- name: 'eNot',
441
- outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
442
- stateMutability: 'nonpayable',
443
- },
444
- {
445
- type: 'function',
446
- inputs: [{ name: 'randType', internalType: 'enum ETypes', type: 'uint8' }],
447
- name: 'eRand',
448
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
449
- stateMutability: 'payable',
450
- },
451
- {
452
- type: 'function',
453
- inputs: [
454
- { name: 'upperBound', internalType: 'bytes32', type: 'bytes32' },
455
- { name: 'randType', internalType: 'enum ETypes', type: 'uint8' },
456
- ],
457
- name: 'eRandBounded',
458
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
459
- stateMutability: 'payable',
460
- },
461
- {
462
- type: 'function',
463
- inputs: [
464
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
465
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
466
- ],
467
- name: 'eRem',
468
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
469
- stateMutability: 'nonpayable',
470
- },
471
- {
472
- type: 'function',
473
- inputs: [
474
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
475
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
476
- ],
477
- name: 'eRotl',
478
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
479
- stateMutability: 'nonpayable',
480
- },
481
- {
482
- type: 'function',
483
- inputs: [
484
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
485
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
486
- ],
487
- name: 'eRotr',
488
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
489
- stateMutability: 'nonpayable',
490
- },
491
- {
492
- type: 'function',
493
- inputs: [
494
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
495
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
496
- ],
497
- name: 'eShl',
498
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
499
- stateMutability: 'nonpayable',
500
- },
501
- {
502
- type: 'function',
503
- inputs: [
504
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
505
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
506
- ],
507
- name: 'eShr',
508
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
509
- stateMutability: 'nonpayable',
510
- },
511
- {
512
- type: 'function',
513
- inputs: [
514
- { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
515
- { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
516
- ],
517
- name: 'eSub',
518
- outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
519
- stateMutability: 'nonpayable',
520
- },
521
- {
522
- type: 'function',
523
- inputs: [],
524
- name: 'getMajorVersion',
525
- outputs: [{ name: '', internalType: 'string', type: 'string' }],
526
- stateMutability: 'view',
527
- },
528
- {
529
- type: 'function',
530
- inputs: [],
531
- name: 'getName',
532
- outputs: [{ name: '', internalType: 'string', type: 'string' }],
533
- stateMutability: 'view',
534
- },
535
- {
536
- type: 'function',
537
- inputs: [
538
- { name: 'op', internalType: 'enum EOps', type: 'uint8' },
539
- { name: 'returnType', internalType: 'enum ETypes', type: 'uint8' },
540
- { name: 'packedInputs', internalType: 'bytes', type: 'bytes' },
541
- ],
542
- name: 'getOpResultHandle',
543
- outputs: [
544
- { name: 'generatedHandle', internalType: 'bytes32', type: 'bytes32' },
545
- ],
546
- stateMutability: 'pure',
547
- },
548
- {
549
- type: 'function',
550
- inputs: [
551
- { name: 'plaintextBytes', internalType: 'bytes32', type: 'bytes32' },
552
- { name: 'handleType', internalType: 'enum ETypes', type: 'uint8' },
553
- ],
554
- name: 'getTrivialEncryptHandle',
555
- outputs: [
556
- { name: 'generatedHandle', internalType: 'bytes32', type: 'bytes32' },
557
- ],
558
- stateMutability: 'view',
559
- },
560
- {
561
- type: 'function',
562
- inputs: [],
563
- name: 'getVersion',
564
- outputs: [{ name: '', internalType: 'string', type: 'string' }],
565
- stateMutability: 'view',
566
- },
567
- {
568
- type: 'function',
569
- inputs: [],
570
- name: 'getVersionedName',
571
- outputs: [{ name: '', internalType: 'string', type: 'string' }],
572
- stateMutability: 'view',
573
- },
574
- {
575
- type: 'function',
576
- inputs: [],
577
- name: 'incoVerifier',
578
- outputs: [
579
- { name: '', internalType: 'contract IIncoVerifier', type: 'address' },
580
- ],
581
- stateMutability: 'view',
582
- },
583
- {
584
- type: 'function',
585
- inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
586
- name: 'initialize',
587
- outputs: [],
588
- stateMutability: 'nonpayable',
589
- },
590
- {
591
- type: 'function',
592
- inputs: [
593
- { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
594
- { name: 'account', internalType: 'address', type: 'address' },
595
- ],
596
- name: 'isAllowed',
597
- outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
598
- stateMutability: 'view',
599
- },
600
- {
601
- type: 'function',
602
- inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
603
- name: 'lengthOf',
604
- outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
605
- stateMutability: 'pure',
606
- },
607
- {
608
- type: 'function',
609
- inputs: [
610
- { name: 'list', internalType: 'elist', type: 'bytes32' },
611
- { name: 'value', internalType: 'bytes32', type: 'bytes32' },
612
- ],
613
- name: 'listAppend',
614
- outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
615
- stateMutability: 'nonpayable',
616
- },
617
- {
618
- type: 'function',
619
- inputs: [
620
- { name: 'lhs', internalType: 'elist', type: 'bytes32' },
621
- { name: 'rhs', internalType: 'elist', type: 'bytes32' },
622
- ],
623
- name: 'listConcat',
624
- outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
625
- stateMutability: 'nonpayable',
626
- },
627
- {
628
- type: 'function',
629
- inputs: [
630
- { name: 'list', internalType: 'elist', type: 'bytes32' },
631
- { name: 'i', internalType: 'uint16', type: 'uint16' },
632
- ],
633
- name: 'listGet',
634
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
635
- stateMutability: 'nonpayable',
636
- },
637
- {
638
- type: 'function',
639
- inputs: [
640
- { name: 'list', internalType: 'elist', type: 'bytes32' },
641
- { name: 'i', internalType: 'bytes32', type: 'bytes32' },
642
- { name: 'defaultValue', internalType: 'bytes32', type: 'bytes32' },
643
- ],
644
- name: 'listGetOr',
645
- outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
646
- stateMutability: 'nonpayable',
647
- },
648
- {
649
- type: 'function',
650
- inputs: [
651
- { name: 'list', internalType: 'elist', type: 'bytes32' },
652
- { name: 'i', internalType: 'bytes32', type: 'bytes32' },
653
- { name: 'value', internalType: 'bytes32', type: 'bytes32' },
654
- ],
655
- name: 'listInsert',
656
- outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
657
- stateMutability: 'nonpayable',
658
- },
659
- {
660
- type: 'function',
661
- inputs: [
662
- { name: 'start', internalType: 'uint16', type: 'uint16' },
663
- { name: 'end', internalType: 'uint16', type: 'uint16' },
664
- ],
665
- name: 'listRange',
666
- outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
667
- stateMutability: 'nonpayable',
668
- },
669
- {
670
- type: 'function',
671
- inputs: [{ name: 'list', internalType: 'elist', type: 'bytes32' }],
672
- name: 'listReverse',
673
- outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
674
- stateMutability: 'nonpayable',
675
- },
676
- {
677
- type: 'function',
678
- inputs: [
679
- { name: 'list', internalType: 'elist', type: 'bytes32' },
680
- { name: 'i', internalType: 'bytes32', type: 'bytes32' },
681
- { name: 'value', internalType: 'bytes32', type: 'bytes32' },
682
- ],
683
- name: 'listSet',
684
- outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
685
- stateMutability: 'nonpayable',
686
- },
687
- {
688
- type: 'function',
689
- inputs: [{ name: 'list', internalType: 'elist', type: 'bytes32' }],
690
- name: 'listShuffle',
691
- outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
692
- stateMutability: 'payable',
693
- },
694
- {
695
- type: 'function',
696
- inputs: [
697
- { name: 'list', internalType: 'elist', type: 'bytes32' },
698
- { name: 'start', internalType: 'bytes32', type: 'bytes32' },
699
- { name: 'len', internalType: 'uint16', type: 'uint16' },
700
- { name: 'defaultValue', internalType: 'bytes32', type: 'bytes32' },
701
- ],
702
- name: 'listSlice',
703
- outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
704
- stateMutability: 'nonpayable',
705
- },
706
- {
707
- type: 'function',
708
- inputs: [],
709
- name: 'majorVersion',
710
- outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
711
- stateMutability: 'view',
712
- },
713
- {
714
- type: 'function',
715
- inputs: [],
716
- name: 'minorVersion',
717
- outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
718
- stateMutability: 'view',
719
- },
720
- {
721
- type: 'function',
722
- inputs: [
723
- { name: 'handles', internalType: 'bytes32[]', type: 'bytes32[]' },
724
- { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
725
- ],
726
- name: 'newEList',
727
- outputs: [{ name: 'newList', internalType: 'elist', type: 'bytes32' }],
728
- stateMutability: 'nonpayable',
729
- },
730
- {
731
- type: 'function',
732
- inputs: [
733
- { name: 'inputs', internalType: 'bytes[]', type: 'bytes[]' },
734
- { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
735
- { name: 'user', internalType: 'address', type: 'address' },
736
- ],
737
- name: 'newEList',
738
- outputs: [{ name: 'newList', internalType: 'elist', type: 'bytes32' }],
739
- stateMutability: 'payable',
740
- },
741
- {
742
- type: 'function',
743
- inputs: [
744
- { name: 'ciphertext', internalType: 'bytes', type: 'bytes' },
745
- { name: 'user', internalType: 'address', type: 'address' },
746
- ],
747
- name: 'newEaddress',
748
- outputs: [{ name: 'newValue', internalType: 'eaddress', type: 'bytes32' }],
749
- stateMutability: 'payable',
750
- },
751
- {
752
- type: 'function',
753
- inputs: [
754
- { name: 'ciphertext', internalType: 'bytes', type: 'bytes' },
755
- { name: 'user', internalType: 'address', type: 'address' },
756
- ],
757
- name: 'newEbool',
758
- outputs: [{ name: 'newValue', internalType: 'ebool', type: 'bytes32' }],
759
- stateMutability: 'payable',
760
- },
761
- {
762
- type: 'function',
763
- inputs: [
764
- { name: 'ciphertext', internalType: 'bytes', type: 'bytes' },
765
- { name: 'user', internalType: 'address', type: 'address' },
766
- ],
767
- name: 'newEuint256',
768
- outputs: [{ name: 'newValue', internalType: 'euint256', type: 'bytes32' }],
769
- stateMutability: 'payable',
770
- },
771
- {
772
- type: 'function',
773
- inputs: [],
774
- name: 'patchVersion',
775
- outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
776
- stateMutability: 'view',
777
- },
778
- {
779
- type: 'function',
780
- inputs: [
781
- { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
782
- { name: 'account', internalType: 'address', type: 'address' },
783
- ],
784
- name: 'persistAllowed',
785
- outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
786
- stateMutability: 'view',
787
- },
788
- {
789
- type: 'function',
790
- inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
791
- name: 'removeAcceptedVersion',
792
- outputs: [],
793
- stateMutability: 'nonpayable',
794
- },
795
- {
796
- type: 'function',
797
- inputs: [],
798
- name: 'salt',
799
- outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
800
- stateMutability: 'view',
801
- },
802
- {
803
- type: 'function',
804
- inputs: [],
805
- name: 'withdrawFees',
806
- outputs: [],
807
- stateMutability: 'nonpayable',
808
- },
809
- {
810
- type: 'event',
811
- anonymous: false,
812
- inputs: [
813
- {
814
- name: 'version',
815
- internalType: 'uint16',
816
- type: 'uint16',
817
- indexed: false,
818
- },
819
- ],
820
- name: 'VersionAccepted',
821
- },
822
- {
823
- type: 'event',
824
- anonymous: false,
825
- inputs: [
826
- {
827
- name: 'version',
828
- internalType: 'uint16',
829
- type: 'uint16',
830
- indexed: false,
831
- },
832
- ],
833
- name: 'VersionRemoved',
834
- },
835
- {
836
- type: 'error',
837
- inputs: [{ name: 'length', internalType: 'uint256', type: 'uint256' }],
838
- name: 'InputLengthTooShort',
839
- },
840
- {
841
- type: 'error',
842
- inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
843
- name: 'InvalidInputVersion',
844
- },
845
- ];
846
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
847
- // VoucherEip712Checker
848
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
849
- export const voucherEip712CheckerAbi = [
850
- {
851
- type: 'function',
852
- inputs: [
853
- {
854
- name: 'voucher',
855
- internalType: 'struct AllowanceVoucher',
856
- type: 'tuple',
857
- components: [
858
- { name: 'sessionNonce', internalType: 'bytes32', type: 'bytes32' },
859
- {
860
- name: 'verifyingContract',
861
- internalType: 'address',
862
- type: 'address',
863
- },
864
- { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
865
- { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
866
- ],
867
- },
868
- ],
869
- name: 'allowanceVoucherDigest',
870
- outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
871
- stateMutability: 'view',
872
- },
873
- {
874
- type: 'function',
875
- inputs: [],
876
- name: 'eip712Domain',
877
- outputs: [
878
- { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
879
- { name: 'name', internalType: 'string', type: 'string' },
880
- { name: 'version', internalType: 'string', type: 'string' },
881
- { name: 'chainId', internalType: 'uint256', type: 'uint256' },
882
- { name: 'verifyingContract', internalType: 'address', type: 'address' },
883
- { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
884
- { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
885
- ],
886
- stateMutability: 'view',
887
- },
888
- { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
889
- {
890
- type: 'event',
891
- anonymous: false,
892
- inputs: [
893
- {
894
- name: 'version',
895
- internalType: 'uint64',
896
- type: 'uint64',
897
- indexed: false,
898
- },
899
- ],
900
- name: 'Initialized',
901
- },
902
- { type: 'error', inputs: [], name: 'InvalidInitialization' },
903
- { type: 'error', inputs: [], name: 'NotInitializing' },
904
- ];
905
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLXByZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2FiaXMvbGlnaHRuaW5nLXByZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0tBQXNLO0FBQ3RLLFlBQVk7QUFDWixzS0FBc0s7QUFFdEssTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUU7WUFDUDtnQkFDRSxJQUFJLEVBQUUsRUFBRTtnQkFDUixZQUFZLEVBQUUsZ0JBQWdCO2dCQUM5QixJQUFJLEVBQUUsT0FBTztnQkFDYixVQUFVLEVBQUU7b0JBQ1YsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtvQkFDL0QsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtpQkFDaEU7YUFDRjtTQUNGO1FBQ0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7Q0FDTyxDQUFBO0FBRVYsc0tBQXNLO0FBQ3RLLHdCQUF3QjtBQUN4QixzS0FBc0s7QUFFdEssTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEM7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUseUJBQXlCO2dCQUN2QyxJQUFJLEVBQUUsT0FBTztnQkFDYixVQUFVLEVBQUU7b0JBQ1YsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtvQkFDbEU7d0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjt3QkFDekIsWUFBWSxFQUFFLFNB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