@inco/lightning-js 0.0.0-bootstrap.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 (283) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +587 -0
  3. package/dist/cjs/advancedacl/index.d.ts +2 -0
  4. package/dist/cjs/advancedacl/index.js +19 -0
  5. package/dist/cjs/advancedacl/session-key.d.ts +95 -0
  6. package/dist/cjs/advancedacl/session-key.js +376 -0
  7. package/dist/cjs/advancedacl/types.d.ts +16 -0
  8. package/dist/cjs/advancedacl/types.js +3 -0
  9. package/dist/cjs/attestedcompute/attested-compute.d.ts +65 -0
  10. package/dist/cjs/attestedcompute/attested-compute.js +80 -0
  11. package/dist/cjs/attestedcompute/types.d.ts +35 -0
  12. package/dist/cjs/attestedcompute/types.js +46 -0
  13. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +61 -0
  14. package/dist/cjs/attesteddecrypt/attested-decrypt.js +118 -0
  15. package/dist/cjs/attesteddecrypt/index.d.ts +1 -0
  16. package/dist/cjs/attesteddecrypt/index.js +18 -0
  17. package/dist/cjs/attesteddecrypt/types.d.ts +27 -0
  18. package/dist/cjs/attesteddecrypt/types.js +16 -0
  19. package/dist/cjs/attestedreveal/attested-reveal.d.ts +21 -0
  20. package/dist/cjs/attestedreveal/attested-reveal.js +31 -0
  21. package/dist/cjs/attestedreveal/index.d.ts +2 -0
  22. package/dist/cjs/attestedreveal/index.js +21 -0
  23. package/dist/cjs/attestedreveal/types.d.ts +4 -0
  24. package/dist/cjs/attestedreveal/types.js +13 -0
  25. package/dist/cjs/binary.d.ts +104 -0
  26. package/dist/cjs/binary.js +171 -0
  27. package/dist/cjs/chain.d.ts +50 -0
  28. package/dist/cjs/chain.js +62 -0
  29. package/dist/cjs/eip712/eip712.d.ts +18 -0
  30. package/dist/cjs/eip712/eip712.js +51 -0
  31. package/dist/cjs/eip712/index.d.ts +1 -0
  32. package/dist/cjs/eip712/index.js +8 -0
  33. package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.d.ts +51 -0
  34. package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.js +94 -0
  35. package/dist/cjs/elistattesteddecrypt/index.d.ts +2 -0
  36. package/dist/cjs/elistattesteddecrypt/index.js +22 -0
  37. package/dist/cjs/elistattesteddecrypt/types.d.ts +31 -0
  38. package/dist/cjs/elistattesteddecrypt/types.js +16 -0
  39. package/dist/cjs/encryption/encryption.d.ts +235 -0
  40. package/dist/cjs/encryption/encryption.js +226 -0
  41. package/dist/cjs/encryption/index.d.ts +1 -0
  42. package/dist/cjs/encryption/index.js +19 -0
  43. package/dist/cjs/generated/abis/add-two.d.ts +117 -0
  44. package/dist/cjs/generated/abis/add-two.js +80 -0
  45. package/dist/cjs/generated/abis/lightning.d.ts +3362 -0
  46. package/dist/cjs/generated/abis/lightning.js +2445 -0
  47. package/dist/cjs/generated/abis/test-elist.d.ts +276 -0
  48. package/dist/cjs/generated/abis/test-elist.js +168 -0
  49. package/dist/cjs/generated/abis/verifier.d.ts +1353 -0
  50. package/dist/cjs/generated/abis/verifier.js +954 -0
  51. package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +1494 -0
  52. package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.js +395 -0
  53. package/dist/cjs/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +247 -0
  54. package/dist/cjs/generated/es/inco/covalidator/compute/v1/types_pb.js +80 -0
  55. package/dist/cjs/generated/es/inco/helioswrapper/v1/helioswrapper_pb.d.ts +77 -0
  56. package/dist/cjs/generated/es/inco/helioswrapper/v1/helioswrapper_pb.js +28 -0
  57. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +685 -0
  58. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +100 -0
  59. package/dist/cjs/generated/es/inco/kms/lite/v1/types_pb.d.ts +289 -0
  60. package/dist/cjs/generated/es/inco/kms/lite/v1/types_pb.js +136 -0
  61. package/dist/cjs/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +371 -0
  62. package/dist/cjs/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.js +88 -0
  63. package/dist/cjs/generated/lightning.d.ts +830 -0
  64. package/dist/cjs/generated/lightning.js +872 -0
  65. package/dist/cjs/generated/local-node.d.ts +50 -0
  66. package/dist/cjs/generated/local-node.js +107 -0
  67. package/dist/cjs/handle.d.ts +123 -0
  68. package/dist/cjs/handle.js +221 -0
  69. package/dist/cjs/index.d.ts +5 -0
  70. package/dist/cjs/index.js +31 -0
  71. package/dist/cjs/kms/client.d.ts +12 -0
  72. package/dist/cjs/kms/client.js +47 -0
  73. package/dist/cjs/kms/quorumClient.d.ts +65 -0
  74. package/dist/cjs/kms/quorumClient.js +463 -0
  75. package/dist/cjs/kms/quorumConsistency.d.ts +82 -0
  76. package/dist/cjs/kms/quorumConsistency.js +269 -0
  77. package/dist/cjs/kms/signatureVerification.d.ts +35 -0
  78. package/dist/cjs/kms/signatureVerification.js +88 -0
  79. package/dist/cjs/kms/thresholdPromises.d.ts +8 -0
  80. package/dist/cjs/kms/thresholdPromises.js +62 -0
  81. package/dist/cjs/lite/attested-compute.d.ts +6 -0
  82. package/dist/cjs/lite/attested-compute.js +8 -0
  83. package/dist/cjs/lite/attested-decrypt.d.ts +4 -0
  84. package/dist/cjs/lite/attested-decrypt.js +6 -0
  85. package/dist/cjs/lite/deployments.d.ts +24 -0
  86. package/dist/cjs/lite/deployments.js +21 -0
  87. package/dist/cjs/lite/hadu.d.ts +4 -0
  88. package/dist/cjs/lite/hadu.js +28 -0
  89. package/dist/cjs/lite/index.d.ts +13 -0
  90. package/dist/cjs/lite/index.js +31 -0
  91. package/dist/cjs/lite/lightning.d.ts +459 -0
  92. package/dist/cjs/lite/lightning.js +696 -0
  93. package/dist/cjs/lite/types.d.ts +47 -0
  94. package/dist/cjs/lite/types.js +3 -0
  95. package/dist/cjs/lite/xwing.d.ts +154 -0
  96. package/dist/cjs/lite/xwing.js +326 -0
  97. package/dist/cjs/local/index.d.ts +1 -0
  98. package/dist/cjs/local/index.js +18 -0
  99. package/dist/cjs/local/local-node.d.ts +37 -0
  100. package/dist/cjs/local/local-node.js +80 -0
  101. package/dist/cjs/reencryption/eip712.d.ts +56 -0
  102. package/dist/cjs/reencryption/eip712.js +90 -0
  103. package/dist/cjs/reencryption/index.d.ts +2 -0
  104. package/dist/cjs/reencryption/index.js +19 -0
  105. package/dist/cjs/reencryption/types.d.ts +48 -0
  106. package/dist/cjs/reencryption/types.js +3 -0
  107. package/dist/cjs/retry.d.ts +30 -0
  108. package/dist/cjs/retry.js +87 -0
  109. package/dist/cjs/schema.d.ts +4 -0
  110. package/dist/cjs/schema.js +19 -0
  111. package/dist/cjs/test/mocks.d.ts +20 -0
  112. package/dist/cjs/test/mocks.js +72 -0
  113. package/dist/cjs/viem.d.ts +1141 -0
  114. package/dist/cjs/viem.js +36 -0
  115. package/dist/esm/advancedacl/index.d.ts +2 -0
  116. package/dist/esm/advancedacl/index.js +3 -0
  117. package/dist/esm/advancedacl/session-key.d.ts +95 -0
  118. package/dist/esm/advancedacl/session-key.js +367 -0
  119. package/dist/esm/advancedacl/types.d.ts +16 -0
  120. package/dist/esm/advancedacl/types.js +2 -0
  121. package/dist/esm/attestedcompute/attested-compute.d.ts +65 -0
  122. package/dist/esm/attestedcompute/attested-compute.js +76 -0
  123. package/dist/esm/attestedcompute/types.d.ts +35 -0
  124. package/dist/esm/attestedcompute/types.js +42 -0
  125. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +61 -0
  126. package/dist/esm/attesteddecrypt/attested-decrypt.js +112 -0
  127. package/dist/esm/attesteddecrypt/index.d.ts +1 -0
  128. package/dist/esm/attesteddecrypt/index.js +2 -0
  129. package/dist/esm/attesteddecrypt/types.d.ts +27 -0
  130. package/dist/esm/attesteddecrypt/types.js +12 -0
  131. package/dist/esm/attestedreveal/attested-reveal.d.ts +21 -0
  132. package/dist/esm/attestedreveal/attested-reveal.js +28 -0
  133. package/dist/esm/attestedreveal/index.d.ts +2 -0
  134. package/dist/esm/attestedreveal/index.js +3 -0
  135. package/dist/esm/attestedreveal/types.d.ts +4 -0
  136. package/dist/esm/attestedreveal/types.js +9 -0
  137. package/dist/esm/binary.d.ts +104 -0
  138. package/dist/esm/binary.js +155 -0
  139. package/dist/esm/chain.d.ts +50 -0
  140. package/dist/esm/chain.js +58 -0
  141. package/dist/esm/eip712/eip712.d.ts +18 -0
  142. package/dist/esm/eip712/eip712.js +46 -0
  143. package/dist/esm/eip712/index.d.ts +1 -0
  144. package/dist/esm/eip712/index.js +2 -0
  145. package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.d.ts +51 -0
  146. package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.js +89 -0
  147. package/dist/esm/elistattesteddecrypt/index.d.ts +2 -0
  148. package/dist/esm/elistattesteddecrypt/index.js +3 -0
  149. package/dist/esm/elistattesteddecrypt/types.d.ts +31 -0
  150. package/dist/esm/elistattesteddecrypt/types.js +12 -0
  151. package/dist/esm/encryption/encryption.d.ts +235 -0
  152. package/dist/esm/encryption/encryption.js +214 -0
  153. package/dist/esm/encryption/index.d.ts +1 -0
  154. package/dist/esm/encryption/index.js +2 -0
  155. package/dist/esm/generated/abis/add-two.d.ts +117 -0
  156. package/dist/esm/generated/abis/add-two.js +77 -0
  157. package/dist/esm/generated/abis/lightning.d.ts +3362 -0
  158. package/dist/esm/generated/abis/lightning.js +2442 -0
  159. package/dist/esm/generated/abis/test-elist.d.ts +276 -0
  160. package/dist/esm/generated/abis/test-elist.js +165 -0
  161. package/dist/esm/generated/abis/verifier.d.ts +1353 -0
  162. package/dist/esm/generated/abis/verifier.js +951 -0
  163. package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +1494 -0
  164. package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.js +392 -0
  165. package/dist/esm/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +247 -0
  166. package/dist/esm/generated/es/inco/covalidator/compute/v1/types_pb.js +77 -0
  167. package/dist/esm/generated/es/inco/helioswrapper/v1/helioswrapper_pb.d.ts +77 -0
  168. package/dist/esm/generated/es/inco/helioswrapper/v1/helioswrapper_pb.js +25 -0
  169. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +685 -0
  170. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +97 -0
  171. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.d.ts +289 -0
  172. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +133 -0
  173. package/dist/esm/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +371 -0
  174. package/dist/esm/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.js +85 -0
  175. package/dist/esm/generated/lightning.d.ts +830 -0
  176. package/dist/esm/generated/lightning.js +869 -0
  177. package/dist/esm/generated/local-node.d.ts +50 -0
  178. package/dist/esm/generated/local-node.js +104 -0
  179. package/dist/esm/handle.d.ts +123 -0
  180. package/dist/esm/handle.js +212 -0
  181. package/dist/esm/index.d.ts +5 -0
  182. package/dist/esm/index.js +6 -0
  183. package/dist/esm/kms/client.d.ts +12 -0
  184. package/dist/esm/kms/client.js +40 -0
  185. package/dist/esm/kms/quorumClient.d.ts +65 -0
  186. package/dist/esm/kms/quorumClient.js +459 -0
  187. package/dist/esm/kms/quorumConsistency.d.ts +82 -0
  188. package/dist/esm/kms/quorumConsistency.js +260 -0
  189. package/dist/esm/kms/signatureVerification.d.ts +35 -0
  190. package/dist/esm/kms/signatureVerification.js +84 -0
  191. package/dist/esm/kms/thresholdPromises.d.ts +8 -0
  192. package/dist/esm/kms/thresholdPromises.js +59 -0
  193. package/dist/esm/lite/attested-compute.d.ts +6 -0
  194. package/dist/esm/lite/attested-compute.js +4 -0
  195. package/dist/esm/lite/attested-decrypt.d.ts +4 -0
  196. package/dist/esm/lite/attested-decrypt.js +3 -0
  197. package/dist/esm/lite/deployments.d.ts +24 -0
  198. package/dist/esm/lite/deployments.js +17 -0
  199. package/dist/esm/lite/hadu.d.ts +4 -0
  200. package/dist/esm/lite/hadu.js +24 -0
  201. package/dist/esm/lite/index.d.ts +13 -0
  202. package/dist/esm/lite/index.js +10 -0
  203. package/dist/esm/lite/lightning.d.ts +459 -0
  204. package/dist/esm/lite/lightning.js +692 -0
  205. package/dist/esm/lite/types.d.ts +47 -0
  206. package/dist/esm/lite/types.js +2 -0
  207. package/dist/esm/lite/xwing.d.ts +154 -0
  208. package/dist/esm/lite/xwing.js +311 -0
  209. package/dist/esm/local/index.d.ts +1 -0
  210. package/dist/esm/local/index.js +2 -0
  211. package/dist/esm/local/local-node.d.ts +37 -0
  212. package/dist/esm/local/local-node.js +76 -0
  213. package/dist/esm/reencryption/eip712.d.ts +56 -0
  214. package/dist/esm/reencryption/eip712.js +87 -0
  215. package/dist/esm/reencryption/index.d.ts +2 -0
  216. package/dist/esm/reencryption/index.js +3 -0
  217. package/dist/esm/reencryption/types.d.ts +48 -0
  218. package/dist/esm/reencryption/types.js +2 -0
  219. package/dist/esm/retry.d.ts +30 -0
  220. package/dist/esm/retry.js +82 -0
  221. package/dist/esm/schema.d.ts +4 -0
  222. package/dist/esm/schema.js +15 -0
  223. package/dist/esm/test/mocks.d.ts +20 -0
  224. package/dist/esm/test/mocks.js +64 -0
  225. package/dist/esm/viem.d.ts +1141 -0
  226. package/dist/esm/viem.js +32 -0
  227. package/dist/types/advancedacl/index.d.ts +2 -0
  228. package/dist/types/advancedacl/session-key.d.ts +95 -0
  229. package/dist/types/advancedacl/types.d.ts +16 -0
  230. package/dist/types/attestedcompute/attested-compute.d.ts +65 -0
  231. package/dist/types/attestedcompute/types.d.ts +35 -0
  232. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +61 -0
  233. package/dist/types/attesteddecrypt/index.d.ts +1 -0
  234. package/dist/types/attesteddecrypt/types.d.ts +27 -0
  235. package/dist/types/attestedreveal/attested-reveal.d.ts +21 -0
  236. package/dist/types/attestedreveal/index.d.ts +2 -0
  237. package/dist/types/attestedreveal/types.d.ts +4 -0
  238. package/dist/types/binary.d.ts +104 -0
  239. package/dist/types/chain.d.ts +50 -0
  240. package/dist/types/eip712/eip712.d.ts +18 -0
  241. package/dist/types/eip712/index.d.ts +1 -0
  242. package/dist/types/elistattesteddecrypt/elist-attested-decrypt.d.ts +51 -0
  243. package/dist/types/elistattesteddecrypt/index.d.ts +2 -0
  244. package/dist/types/elistattesteddecrypt/types.d.ts +31 -0
  245. package/dist/types/encryption/encryption.d.ts +235 -0
  246. package/dist/types/encryption/index.d.ts +1 -0
  247. package/dist/types/generated/abis/add-two.d.ts +117 -0
  248. package/dist/types/generated/abis/lightning.d.ts +3362 -0
  249. package/dist/types/generated/abis/test-elist.d.ts +276 -0
  250. package/dist/types/generated/abis/verifier.d.ts +1353 -0
  251. package/dist/types/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +1494 -0
  252. package/dist/types/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +247 -0
  253. package/dist/types/generated/es/inco/helioswrapper/v1/helioswrapper_pb.d.ts +77 -0
  254. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +685 -0
  255. package/dist/types/generated/es/inco/kms/lite/v1/types_pb.d.ts +289 -0
  256. package/dist/types/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +371 -0
  257. package/dist/types/generated/lightning.d.ts +830 -0
  258. package/dist/types/generated/local-node.d.ts +50 -0
  259. package/dist/types/handle.d.ts +123 -0
  260. package/dist/types/index.d.ts +5 -0
  261. package/dist/types/kms/client.d.ts +12 -0
  262. package/dist/types/kms/quorumClient.d.ts +65 -0
  263. package/dist/types/kms/quorumConsistency.d.ts +82 -0
  264. package/dist/types/kms/signatureVerification.d.ts +35 -0
  265. package/dist/types/kms/thresholdPromises.d.ts +8 -0
  266. package/dist/types/lite/attested-compute.d.ts +6 -0
  267. package/dist/types/lite/attested-decrypt.d.ts +4 -0
  268. package/dist/types/lite/deployments.d.ts +24 -0
  269. package/dist/types/lite/hadu.d.ts +4 -0
  270. package/dist/types/lite/index.d.ts +13 -0
  271. package/dist/types/lite/lightning.d.ts +459 -0
  272. package/dist/types/lite/types.d.ts +47 -0
  273. package/dist/types/lite/xwing.d.ts +154 -0
  274. package/dist/types/local/index.d.ts +1 -0
  275. package/dist/types/local/local-node.d.ts +37 -0
  276. package/dist/types/reencryption/eip712.d.ts +56 -0
  277. package/dist/types/reencryption/index.d.ts +2 -0
  278. package/dist/types/reencryption/types.d.ts +48 -0
  279. package/dist/types/retry.d.ts +30 -0
  280. package/dist/types/schema.d.ts +4 -0
  281. package/dist/types/test/mocks.d.ts +20 -0
  282. package/dist/types/viem.d.ts +1141 -0
  283. package/package.json +129 -0
@@ -0,0 +1,2442 @@
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: 'warning', internalType: 'string', type: 'string' },
36
+ { name: 'sessionNonce', internalType: 'bytes32', type: 'bytes32' },
37
+ {
38
+ name: 'verifyingContract',
39
+ internalType: 'address',
40
+ type: 'address',
41
+ },
42
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
43
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
44
+ ],
45
+ },
46
+ ],
47
+ name: 'allowanceVoucherDigest',
48
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
49
+ stateMutability: 'view',
50
+ },
51
+ {
52
+ type: 'function',
53
+ inputs: [],
54
+ name: 'eip712Domain',
55
+ outputs: [
56
+ { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
57
+ { name: 'name', internalType: 'string', type: 'string' },
58
+ { name: 'version', internalType: 'string', type: 'string' },
59
+ { name: 'chainId', internalType: 'uint256', type: 'uint256' },
60
+ { name: 'verifyingContract', internalType: 'address', type: 'address' },
61
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
62
+ { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
63
+ ],
64
+ stateMutability: 'view',
65
+ },
66
+ {
67
+ type: 'function',
68
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
69
+ name: 'getActiveVouchersSessionNonce',
70
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
71
+ stateMutability: 'view',
72
+ },
73
+ {
74
+ type: 'function',
75
+ inputs: [
76
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
77
+ { name: 'account', internalType: 'address', type: 'address' },
78
+ {
79
+ name: 'proof',
80
+ internalType: 'struct AllowanceProof',
81
+ type: 'tuple',
82
+ components: [
83
+ { name: 'sharer', internalType: 'address', type: 'address' },
84
+ {
85
+ name: 'voucher',
86
+ internalType: 'struct AllowanceVoucher',
87
+ type: 'tuple',
88
+ components: [
89
+ { name: 'warning', internalType: 'string', type: 'string' },
90
+ {
91
+ name: 'sessionNonce',
92
+ internalType: 'bytes32',
93
+ type: 'bytes32',
94
+ },
95
+ {
96
+ name: 'verifyingContract',
97
+ internalType: 'address',
98
+ type: 'address',
99
+ },
100
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
101
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
102
+ ],
103
+ },
104
+ { name: 'voucherSignature', internalType: 'bytes', type: 'bytes' },
105
+ { name: 'requesterArgData', internalType: 'bytes', type: 'bytes' },
106
+ ],
107
+ },
108
+ ],
109
+ name: 'isAllowedWithProof',
110
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
111
+ stateMutability: 'nonpayable',
112
+ },
113
+ {
114
+ type: 'function',
115
+ inputs: [],
116
+ name: 'owner',
117
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
118
+ stateMutability: 'view',
119
+ },
120
+ {
121
+ type: 'function',
122
+ inputs: [],
123
+ name: 'paused',
124
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
125
+ stateMutability: 'view',
126
+ },
127
+ {
128
+ type: 'function',
129
+ inputs: [],
130
+ name: 'renounceOwnership',
131
+ outputs: [],
132
+ stateMutability: 'nonpayable',
133
+ },
134
+ {
135
+ type: 'function',
136
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
137
+ name: 'transferOwnership',
138
+ outputs: [],
139
+ stateMutability: 'nonpayable',
140
+ },
141
+ {
142
+ type: 'function',
143
+ inputs: [{ name: 'salt', internalType: 'bytes32', type: 'bytes32' }],
144
+ name: 'updateActiveVouchersSessionNonce',
145
+ outputs: [],
146
+ stateMutability: 'nonpayable',
147
+ },
148
+ { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
149
+ {
150
+ type: 'event',
151
+ anonymous: false,
152
+ inputs: [
153
+ {
154
+ name: 'version',
155
+ internalType: 'uint64',
156
+ type: 'uint64',
157
+ indexed: false,
158
+ },
159
+ ],
160
+ name: 'Initialized',
161
+ },
162
+ {
163
+ type: 'event',
164
+ anonymous: false,
165
+ inputs: [
166
+ {
167
+ name: 'previousOwner',
168
+ internalType: 'address',
169
+ type: 'address',
170
+ indexed: true,
171
+ },
172
+ {
173
+ name: 'newOwner',
174
+ internalType: 'address',
175
+ type: 'address',
176
+ indexed: true,
177
+ },
178
+ ],
179
+ name: 'OwnershipTransferred',
180
+ },
181
+ {
182
+ type: 'event',
183
+ anonymous: false,
184
+ inputs: [
185
+ {
186
+ name: 'account',
187
+ internalType: 'address',
188
+ type: 'address',
189
+ indexed: false,
190
+ },
191
+ ],
192
+ name: 'Paused',
193
+ },
194
+ {
195
+ type: 'event',
196
+ anonymous: false,
197
+ inputs: [
198
+ {
199
+ name: 'account',
200
+ internalType: 'address',
201
+ type: 'address',
202
+ indexed: false,
203
+ },
204
+ ],
205
+ name: 'Unpaused',
206
+ },
207
+ { type: 'error', inputs: [], name: 'EnforcedPause' },
208
+ { type: 'error', inputs: [], name: 'ExpectedPause' },
209
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
210
+ { type: 'error', inputs: [], name: 'InvalidVerifyingContract' },
211
+ {
212
+ type: 'error',
213
+ inputs: [
214
+ {
215
+ name: 'providedSessionNonce',
216
+ internalType: 'bytes32',
217
+ type: 'bytes32',
218
+ },
219
+ { name: 'activeSessionNonce', internalType: 'bytes32', type: 'bytes32' },
220
+ ],
221
+ name: 'InvalidVoucherSessionNonce',
222
+ },
223
+ {
224
+ type: 'error',
225
+ inputs: [
226
+ { name: 'signer', internalType: 'address', type: 'address' },
227
+ { name: 'digest', internalType: 'bytes32', type: 'bytes32' },
228
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
229
+ ],
230
+ name: 'InvalidVoucherSignature',
231
+ },
232
+ { type: 'error', inputs: [], name: 'InvalidVoucherWarning' },
233
+ { type: 'error', inputs: [], name: 'NotInitializing' },
234
+ {
235
+ type: 'error',
236
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
237
+ name: 'OwnableInvalidOwner',
238
+ },
239
+ {
240
+ type: 'error',
241
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
242
+ name: 'OwnableUnauthorizedAccount',
243
+ },
244
+ {
245
+ type: 'error',
246
+ inputs: [
247
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
248
+ { name: 'sharer', internalType: 'address', type: 'address' },
249
+ ],
250
+ name: 'SharerNotAllowedForHandle',
251
+ },
252
+ ];
253
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
254
+ // IncoLightning
255
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
256
+ export const incoLightningAbi = [
257
+ {
258
+ type: 'constructor',
259
+ inputs: [
260
+ { name: '_salt', internalType: 'bytes32', type: 'bytes32' },
261
+ {
262
+ name: '_incoVerifier',
263
+ internalType: 'contract IIncoVerifier',
264
+ type: 'address',
265
+ },
266
+ ],
267
+ stateMutability: 'nonpayable',
268
+ },
269
+ { type: 'fallback', stateMutability: 'nonpayable' },
270
+ { type: 'receive', stateMutability: 'payable' },
271
+ {
272
+ type: 'function',
273
+ inputs: [],
274
+ name: 'UPGRADE_INTERFACE_VERSION',
275
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
276
+ stateMutability: 'view',
277
+ },
278
+ {
279
+ type: 'function',
280
+ inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
281
+ name: 'addAcceptedVersion',
282
+ outputs: [],
283
+ stateMutability: 'nonpayable',
284
+ },
285
+ {
286
+ type: 'function',
287
+ inputs: [
288
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
289
+ { name: 'account', internalType: 'address', type: 'address' },
290
+ ],
291
+ name: 'allow',
292
+ outputs: [],
293
+ stateMutability: 'nonpayable',
294
+ },
295
+ {
296
+ type: 'function',
297
+ inputs: [
298
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
299
+ { name: 'account', internalType: 'address', type: 'address' },
300
+ ],
301
+ name: 'allowTransient',
302
+ outputs: [],
303
+ stateMutability: 'nonpayable',
304
+ },
305
+ {
306
+ type: 'function',
307
+ inputs: [
308
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
309
+ { name: 'account', internalType: 'address', type: 'address' },
310
+ ],
311
+ name: 'allowedTransient',
312
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
313
+ stateMutability: 'view',
314
+ },
315
+ {
316
+ type: 'function',
317
+ inputs: [{ name: 'value', internalType: 'address', type: 'address' }],
318
+ name: 'asEaddress',
319
+ outputs: [
320
+ { name: 'newEaddress', internalType: 'eaddress', type: 'bytes32' },
321
+ ],
322
+ stateMutability: 'nonpayable',
323
+ },
324
+ {
325
+ type: 'function',
326
+ inputs: [{ name: 'value', internalType: 'bool', type: 'bool' }],
327
+ name: 'asEbool',
328
+ outputs: [{ name: 'newEbool', internalType: 'ebool', type: 'bytes32' }],
329
+ stateMutability: 'nonpayable',
330
+ },
331
+ {
332
+ type: 'function',
333
+ inputs: [{ name: 'value', internalType: 'uint256', type: 'uint256' }],
334
+ name: 'asEuint256',
335
+ outputs: [
336
+ { name: 'newEuint256', internalType: 'euint256', type: 'bytes32' },
337
+ ],
338
+ stateMutability: 'nonpayable',
339
+ },
340
+ {
341
+ type: 'function',
342
+ inputs: [
343
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
344
+ {
345
+ name: 'proof',
346
+ internalType: 'struct AllowanceProof',
347
+ type: 'tuple',
348
+ components: [
349
+ { name: 'sharer', internalType: 'address', type: 'address' },
350
+ {
351
+ name: 'voucher',
352
+ internalType: 'struct AllowanceVoucher',
353
+ type: 'tuple',
354
+ components: [
355
+ { name: 'warning', internalType: 'string', type: 'string' },
356
+ {
357
+ name: 'sessionNonce',
358
+ internalType: 'bytes32',
359
+ type: 'bytes32',
360
+ },
361
+ {
362
+ name: 'verifyingContract',
363
+ internalType: 'address',
364
+ type: 'address',
365
+ },
366
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
367
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
368
+ ],
369
+ },
370
+ { name: 'voucherSignature', internalType: 'bytes', type: 'bytes' },
371
+ { name: 'requesterArgData', internalType: 'bytes', type: 'bytes' },
372
+ ],
373
+ },
374
+ ],
375
+ name: 'claimHandle',
376
+ outputs: [],
377
+ stateMutability: 'nonpayable',
378
+ },
379
+ {
380
+ type: 'function',
381
+ inputs: [
382
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
383
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
384
+ ],
385
+ name: 'eAdd',
386
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
387
+ stateMutability: 'nonpayable',
388
+ },
389
+ {
390
+ type: 'function',
391
+ inputs: [
392
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
393
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
394
+ ],
395
+ name: 'eBitAnd',
396
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
397
+ stateMutability: 'nonpayable',
398
+ },
399
+ {
400
+ type: 'function',
401
+ inputs: [
402
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
403
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
404
+ ],
405
+ name: 'eBitOr',
406
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
407
+ stateMutability: 'nonpayable',
408
+ },
409
+ {
410
+ type: 'function',
411
+ inputs: [
412
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
413
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
414
+ ],
415
+ name: 'eBitXor',
416
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
417
+ stateMutability: 'nonpayable',
418
+ },
419
+ {
420
+ type: 'function',
421
+ inputs: [
422
+ { name: 'ct', internalType: 'bytes32', type: 'bytes32' },
423
+ { name: 'toType', internalType: 'enum ETypes', type: 'uint8' },
424
+ ],
425
+ name: 'eCast',
426
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
427
+ stateMutability: 'nonpayable',
428
+ },
429
+ {
430
+ type: 'function',
431
+ inputs: [
432
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
433
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
434
+ ],
435
+ name: 'eDiv',
436
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
437
+ stateMutability: 'nonpayable',
438
+ },
439
+ {
440
+ type: 'function',
441
+ inputs: [
442
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
443
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
444
+ ],
445
+ name: 'eEq',
446
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
447
+ stateMutability: 'nonpayable',
448
+ },
449
+ {
450
+ type: 'function',
451
+ inputs: [
452
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
453
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
454
+ ],
455
+ name: 'eGe',
456
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
457
+ stateMutability: 'nonpayable',
458
+ },
459
+ {
460
+ type: 'function',
461
+ inputs: [
462
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
463
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
464
+ ],
465
+ name: 'eGt',
466
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
467
+ stateMutability: 'nonpayable',
468
+ },
469
+ {
470
+ type: 'function',
471
+ inputs: [
472
+ { name: 'control', internalType: 'ebool', type: 'bytes32' },
473
+ { name: 'ifTrue', internalType: 'bytes32', type: 'bytes32' },
474
+ { name: 'ifFalse', internalType: 'bytes32', type: 'bytes32' },
475
+ ],
476
+ name: 'eIfThenElse',
477
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
478
+ stateMutability: 'nonpayable',
479
+ },
480
+ {
481
+ type: 'function',
482
+ inputs: [
483
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
484
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
485
+ ],
486
+ name: 'eLe',
487
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
488
+ stateMutability: 'nonpayable',
489
+ },
490
+ {
491
+ type: 'function',
492
+ inputs: [
493
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
494
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
495
+ ],
496
+ name: 'eLt',
497
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
498
+ stateMutability: 'nonpayable',
499
+ },
500
+ {
501
+ type: 'function',
502
+ inputs: [
503
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
504
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
505
+ ],
506
+ name: 'eMax',
507
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
508
+ stateMutability: 'nonpayable',
509
+ },
510
+ {
511
+ type: 'function',
512
+ inputs: [
513
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
514
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
515
+ ],
516
+ name: 'eMin',
517
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
518
+ stateMutability: 'nonpayable',
519
+ },
520
+ {
521
+ type: 'function',
522
+ inputs: [
523
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
524
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
525
+ ],
526
+ name: 'eMul',
527
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
528
+ stateMutability: 'nonpayable',
529
+ },
530
+ {
531
+ type: 'function',
532
+ inputs: [
533
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
534
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
535
+ ],
536
+ name: 'eNe',
537
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
538
+ stateMutability: 'nonpayable',
539
+ },
540
+ {
541
+ type: 'function',
542
+ inputs: [{ name: 'operand', internalType: 'ebool', type: 'bytes32' }],
543
+ name: 'eNot',
544
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
545
+ stateMutability: 'nonpayable',
546
+ },
547
+ {
548
+ type: 'function',
549
+ inputs: [
550
+ { name: 'upperBound', internalType: 'bytes32', type: 'bytes32' },
551
+ { name: 'randType', internalType: 'enum ETypes', type: 'uint8' },
552
+ ],
553
+ name: 'eRandBounded',
554
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
555
+ stateMutability: 'payable',
556
+ },
557
+ {
558
+ type: 'function',
559
+ inputs: [
560
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
561
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
562
+ ],
563
+ name: 'eRem',
564
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
565
+ stateMutability: 'nonpayable',
566
+ },
567
+ {
568
+ type: 'function',
569
+ inputs: [
570
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
571
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
572
+ ],
573
+ name: 'eRotl',
574
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
575
+ stateMutability: 'nonpayable',
576
+ },
577
+ {
578
+ type: 'function',
579
+ inputs: [
580
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
581
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
582
+ ],
583
+ name: 'eRotr',
584
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
585
+ stateMutability: 'nonpayable',
586
+ },
587
+ {
588
+ type: 'function',
589
+ inputs: [
590
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
591
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
592
+ ],
593
+ name: 'eShl',
594
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
595
+ stateMutability: 'nonpayable',
596
+ },
597
+ {
598
+ type: 'function',
599
+ inputs: [
600
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
601
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
602
+ ],
603
+ name: 'eShr',
604
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
605
+ stateMutability: 'nonpayable',
606
+ },
607
+ {
608
+ type: 'function',
609
+ inputs: [
610
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
611
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
612
+ ],
613
+ name: 'eSub',
614
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
615
+ stateMutability: 'nonpayable',
616
+ },
617
+ {
618
+ type: 'function',
619
+ inputs: [],
620
+ name: 'getBitFee',
621
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
622
+ stateMutability: 'pure',
623
+ },
624
+ {
625
+ type: 'function',
626
+ inputs: [
627
+ { name: 'nOfElements', internalType: 'uint16', type: 'uint16' },
628
+ { name: 'elType', internalType: 'enum ETypes', type: 'uint8' },
629
+ ],
630
+ name: 'getEListFee',
631
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
632
+ stateMutability: 'pure',
633
+ },
634
+ {
635
+ type: 'function',
636
+ inputs: [],
637
+ name: 'getEventCounter',
638
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
639
+ stateMutability: 'view',
640
+ },
641
+ {
642
+ type: 'function',
643
+ inputs: [],
644
+ name: 'getFee',
645
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
646
+ stateMutability: 'pure',
647
+ },
648
+ {
649
+ type: 'function',
650
+ inputs: [],
651
+ name: 'getMajorVersion',
652
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
653
+ stateMutability: 'view',
654
+ },
655
+ {
656
+ type: 'function',
657
+ inputs: [],
658
+ name: 'getName',
659
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
660
+ stateMutability: 'view',
661
+ },
662
+ {
663
+ type: 'function',
664
+ inputs: [],
665
+ name: 'getNextEventId',
666
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
667
+ stateMutability: 'view',
668
+ },
669
+ {
670
+ type: 'function',
671
+ inputs: [
672
+ { name: 'op', internalType: 'enum EOps', type: 'uint8' },
673
+ { name: 'returnType', internalType: 'enum ETypes', type: 'uint8' },
674
+ { name: 'packedInputs', internalType: 'bytes', type: 'bytes' },
675
+ ],
676
+ name: 'getOpResultHandle',
677
+ outputs: [
678
+ { name: 'generatedHandle', internalType: 'bytes32', type: 'bytes32' },
679
+ ],
680
+ stateMutability: 'pure',
681
+ },
682
+ {
683
+ type: 'function',
684
+ inputs: [
685
+ { name: 'plaintextBytes', internalType: 'bytes32', type: 'bytes32' },
686
+ { name: 'handleType', internalType: 'enum ETypes', type: 'uint8' },
687
+ ],
688
+ name: 'getTrivialEncryptHandle',
689
+ outputs: [
690
+ { name: 'generatedHandle', internalType: 'bytes32', type: 'bytes32' },
691
+ ],
692
+ stateMutability: 'pure',
693
+ },
694
+ {
695
+ type: 'function',
696
+ inputs: [],
697
+ name: 'getVersion',
698
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
699
+ stateMutability: 'view',
700
+ },
701
+ {
702
+ type: 'function',
703
+ inputs: [],
704
+ name: 'getVersionedName',
705
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
706
+ stateMutability: 'view',
707
+ },
708
+ {
709
+ type: 'function',
710
+ inputs: [],
711
+ name: 'incoVerifier',
712
+ outputs: [
713
+ { name: '', internalType: 'contract IIncoVerifier', type: 'address' },
714
+ ],
715
+ stateMutability: 'view',
716
+ },
717
+ {
718
+ type: 'function',
719
+ inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
720
+ name: 'initialize',
721
+ outputs: [],
722
+ stateMutability: 'nonpayable',
723
+ },
724
+ {
725
+ type: 'function',
726
+ inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
727
+ name: 'isAcceptedVersion',
728
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
729
+ stateMutability: 'view',
730
+ },
731
+ {
732
+ type: 'function',
733
+ inputs: [
734
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
735
+ { name: 'account', internalType: 'address', type: 'address' },
736
+ ],
737
+ name: 'isAllowed',
738
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
739
+ stateMutability: 'view',
740
+ },
741
+ {
742
+ type: 'function',
743
+ inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
744
+ name: 'isRevealed',
745
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
746
+ stateMutability: 'view',
747
+ },
748
+ {
749
+ type: 'function',
750
+ inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
751
+ name: 'lengthOf',
752
+ outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
753
+ stateMutability: 'pure',
754
+ },
755
+ {
756
+ type: 'function',
757
+ inputs: [
758
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
759
+ { name: 'value', internalType: 'bytes32', type: 'bytes32' },
760
+ ],
761
+ name: 'listAppend',
762
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
763
+ stateMutability: 'payable',
764
+ },
765
+ {
766
+ type: 'function',
767
+ inputs: [
768
+ { name: 'lhs', internalType: 'elist', type: 'bytes32' },
769
+ { name: 'rhs', internalType: 'elist', type: 'bytes32' },
770
+ ],
771
+ name: 'listConcat',
772
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
773
+ stateMutability: 'payable',
774
+ },
775
+ {
776
+ type: 'function',
777
+ inputs: [
778
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
779
+ { name: 'i', internalType: 'uint16', type: 'uint16' },
780
+ ],
781
+ name: 'listGet',
782
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
783
+ stateMutability: 'nonpayable',
784
+ },
785
+ {
786
+ type: 'function',
787
+ inputs: [
788
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
789
+ { name: 'index', internalType: 'bytes32', type: 'bytes32' },
790
+ { name: 'defaultValue', internalType: 'bytes32', type: 'bytes32' },
791
+ ],
792
+ name: 'listGetOr',
793
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
794
+ stateMutability: 'nonpayable',
795
+ },
796
+ {
797
+ type: 'function',
798
+ inputs: [
799
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
800
+ { name: 'index', internalType: 'bytes32', type: 'bytes32' },
801
+ { name: 'value', internalType: 'bytes32', type: 'bytes32' },
802
+ ],
803
+ name: 'listInsert',
804
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
805
+ stateMutability: 'payable',
806
+ },
807
+ {
808
+ type: 'function',
809
+ inputs: [
810
+ { name: 'start', internalType: 'uint16', type: 'uint16' },
811
+ { name: 'end', internalType: 'uint16', type: 'uint16' },
812
+ { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
813
+ ],
814
+ name: 'listRange',
815
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
816
+ stateMutability: 'payable',
817
+ },
818
+ {
819
+ type: 'function',
820
+ inputs: [{ name: 'list', internalType: 'elist', type: 'bytes32' }],
821
+ name: 'listReverse',
822
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
823
+ stateMutability: 'payable',
824
+ },
825
+ {
826
+ type: 'function',
827
+ inputs: [
828
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
829
+ { name: 'index', internalType: 'bytes32', type: 'bytes32' },
830
+ { name: 'value', internalType: 'bytes32', type: 'bytes32' },
831
+ ],
832
+ name: 'listSet',
833
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
834
+ stateMutability: 'payable',
835
+ },
836
+ {
837
+ type: 'function',
838
+ inputs: [{ name: 'list', internalType: 'elist', type: 'bytes32' }],
839
+ name: 'listShuffle',
840
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
841
+ stateMutability: 'payable',
842
+ },
843
+ {
844
+ type: 'function',
845
+ inputs: [
846
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
847
+ { name: 'start', internalType: 'bytes32', type: 'bytes32' },
848
+ { name: 'len', internalType: 'uint16', type: 'uint16' },
849
+ { name: 'defaultValue', internalType: 'bytes32', type: 'bytes32' },
850
+ ],
851
+ name: 'listSlice',
852
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
853
+ stateMutability: 'payable',
854
+ },
855
+ {
856
+ type: 'function',
857
+ inputs: [],
858
+ name: 'majorVersion',
859
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
860
+ stateMutability: 'view',
861
+ },
862
+ {
863
+ type: 'function',
864
+ inputs: [],
865
+ name: 'minorVersion',
866
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
867
+ stateMutability: 'view',
868
+ },
869
+ {
870
+ type: 'function',
871
+ inputs: [
872
+ { name: 'handles', internalType: 'bytes32[]', type: 'bytes32[]' },
873
+ { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
874
+ ],
875
+ name: 'newEList',
876
+ outputs: [{ name: 'newList', internalType: 'elist', type: 'bytes32' }],
877
+ stateMutability: 'payable',
878
+ },
879
+ {
880
+ type: 'function',
881
+ inputs: [
882
+ { name: 'inputs', internalType: 'bytes[]', type: 'bytes[]' },
883
+ { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
884
+ { name: 'user', internalType: 'address', type: 'address' },
885
+ ],
886
+ name: 'newEList',
887
+ outputs: [{ name: 'newList', internalType: 'elist', type: 'bytes32' }],
888
+ stateMutability: 'payable',
889
+ },
890
+ {
891
+ type: 'function',
892
+ inputs: [
893
+ { name: 'input', internalType: 'bytes', type: 'bytes' },
894
+ { name: 'user', internalType: 'address', type: 'address' },
895
+ ],
896
+ name: 'newEaddress',
897
+ outputs: [{ name: 'newValue', internalType: 'eaddress', type: 'bytes32' }],
898
+ stateMutability: 'payable',
899
+ },
900
+ {
901
+ type: 'function',
902
+ inputs: [
903
+ { name: 'input', internalType: 'bytes', type: 'bytes' },
904
+ { name: 'user', internalType: 'address', type: 'address' },
905
+ ],
906
+ name: 'newEbool',
907
+ outputs: [{ name: 'newValue', internalType: 'ebool', type: 'bytes32' }],
908
+ stateMutability: 'payable',
909
+ },
910
+ {
911
+ type: 'function',
912
+ inputs: [
913
+ { name: 'input', internalType: 'bytes', type: 'bytes' },
914
+ { name: 'user', internalType: 'address', type: 'address' },
915
+ ],
916
+ name: 'newEuint256',
917
+ outputs: [{ name: 'newValue', internalType: 'euint256', type: 'bytes32' }],
918
+ stateMutability: 'payable',
919
+ },
920
+ {
921
+ type: 'function',
922
+ inputs: [],
923
+ name: 'owner',
924
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
925
+ stateMutability: 'view',
926
+ },
927
+ {
928
+ type: 'function',
929
+ inputs: [],
930
+ name: 'patchVersion',
931
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
932
+ stateMutability: 'view',
933
+ },
934
+ {
935
+ type: 'function',
936
+ inputs: [],
937
+ name: 'pause',
938
+ outputs: [],
939
+ stateMutability: 'nonpayable',
940
+ },
941
+ {
942
+ type: 'function',
943
+ inputs: [],
944
+ name: 'paused',
945
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
946
+ stateMutability: 'view',
947
+ },
948
+ {
949
+ type: 'function',
950
+ inputs: [
951
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
952
+ { name: 'account', internalType: 'address', type: 'address' },
953
+ ],
954
+ name: 'persistAllowed',
955
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
956
+ stateMutability: 'view',
957
+ },
958
+ {
959
+ type: 'function',
960
+ inputs: [],
961
+ name: 'proxiableUUID',
962
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
963
+ stateMutability: 'view',
964
+ },
965
+ {
966
+ type: 'function',
967
+ inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
968
+ name: 'removeAcceptedVersion',
969
+ outputs: [],
970
+ stateMutability: 'nonpayable',
971
+ },
972
+ {
973
+ type: 'function',
974
+ inputs: [],
975
+ name: 'renounceOwnership',
976
+ outputs: [],
977
+ stateMutability: 'nonpayable',
978
+ },
979
+ {
980
+ type: 'function',
981
+ inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
982
+ name: 'reveal',
983
+ outputs: [],
984
+ stateMutability: 'nonpayable',
985
+ },
986
+ {
987
+ type: 'function',
988
+ inputs: [],
989
+ name: 'salt',
990
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
991
+ stateMutability: 'view',
992
+ },
993
+ {
994
+ type: 'function',
995
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
996
+ name: 'transferOwnership',
997
+ outputs: [],
998
+ stateMutability: 'nonpayable',
999
+ },
1000
+ {
1001
+ type: 'function',
1002
+ inputs: [],
1003
+ name: 'unpause',
1004
+ outputs: [],
1005
+ stateMutability: 'nonpayable',
1006
+ },
1007
+ {
1008
+ type: 'function',
1009
+ inputs: [
1010
+ { name: 'newImplementation', internalType: 'address', type: 'address' },
1011
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
1012
+ ],
1013
+ name: 'upgradeToAndCall',
1014
+ outputs: [],
1015
+ stateMutability: 'payable',
1016
+ },
1017
+ {
1018
+ type: 'function',
1019
+ inputs: [],
1020
+ name: 'withdrawFees',
1021
+ outputs: [],
1022
+ stateMutability: 'nonpayable',
1023
+ },
1024
+ {
1025
+ type: 'event',
1026
+ anonymous: false,
1027
+ inputs: [
1028
+ {
1029
+ name: 'handle',
1030
+ internalType: 'bytes32',
1031
+ type: 'bytes32',
1032
+ indexed: false,
1033
+ },
1034
+ {
1035
+ name: 'account',
1036
+ internalType: 'address',
1037
+ type: 'address',
1038
+ indexed: false,
1039
+ },
1040
+ {
1041
+ name: 'eventId',
1042
+ internalType: 'uint256',
1043
+ type: 'uint256',
1044
+ indexed: false,
1045
+ },
1046
+ ],
1047
+ name: 'Allow',
1048
+ },
1049
+ {
1050
+ type: 'event',
1051
+ anonymous: false,
1052
+ inputs: [
1053
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1054
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1055
+ {
1056
+ name: 'result',
1057
+ internalType: 'euint256',
1058
+ type: 'bytes32',
1059
+ indexed: true,
1060
+ },
1061
+ {
1062
+ name: 'eventId',
1063
+ internalType: 'uint256',
1064
+ type: 'uint256',
1065
+ indexed: false,
1066
+ },
1067
+ ],
1068
+ name: 'EAdd',
1069
+ },
1070
+ {
1071
+ type: 'event',
1072
+ anonymous: false,
1073
+ inputs: [
1074
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1075
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1076
+ {
1077
+ name: 'result',
1078
+ internalType: 'bytes32',
1079
+ type: 'bytes32',
1080
+ indexed: true,
1081
+ },
1082
+ {
1083
+ name: 'eventId',
1084
+ internalType: 'uint256',
1085
+ type: 'uint256',
1086
+ indexed: false,
1087
+ },
1088
+ ],
1089
+ name: 'EBitAnd',
1090
+ },
1091
+ {
1092
+ type: 'event',
1093
+ anonymous: false,
1094
+ inputs: [
1095
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1096
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1097
+ {
1098
+ name: 'result',
1099
+ internalType: 'bytes32',
1100
+ type: 'bytes32',
1101
+ indexed: true,
1102
+ },
1103
+ {
1104
+ name: 'eventId',
1105
+ internalType: 'uint256',
1106
+ type: 'uint256',
1107
+ indexed: false,
1108
+ },
1109
+ ],
1110
+ name: 'EBitOr',
1111
+ },
1112
+ {
1113
+ type: 'event',
1114
+ anonymous: false,
1115
+ inputs: [
1116
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1117
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1118
+ {
1119
+ name: 'result',
1120
+ internalType: 'bytes32',
1121
+ type: 'bytes32',
1122
+ indexed: true,
1123
+ },
1124
+ {
1125
+ name: 'eventId',
1126
+ internalType: 'uint256',
1127
+ type: 'uint256',
1128
+ indexed: false,
1129
+ },
1130
+ ],
1131
+ name: 'EBitXor',
1132
+ },
1133
+ {
1134
+ type: 'event',
1135
+ anonymous: false,
1136
+ inputs: [
1137
+ { name: 'ct', internalType: 'bytes32', type: 'bytes32', indexed: true },
1138
+ { name: 'toType', internalType: 'uint8', type: 'uint8', indexed: true },
1139
+ {
1140
+ name: 'result',
1141
+ internalType: 'bytes32',
1142
+ type: 'bytes32',
1143
+ indexed: true,
1144
+ },
1145
+ {
1146
+ name: 'eventId',
1147
+ internalType: 'uint256',
1148
+ type: 'uint256',
1149
+ indexed: false,
1150
+ },
1151
+ ],
1152
+ name: 'ECast',
1153
+ },
1154
+ {
1155
+ type: 'event',
1156
+ anonymous: false,
1157
+ inputs: [
1158
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1159
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1160
+ {
1161
+ name: 'result',
1162
+ internalType: 'euint256',
1163
+ type: 'bytes32',
1164
+ indexed: true,
1165
+ },
1166
+ {
1167
+ name: 'eventId',
1168
+ internalType: 'uint256',
1169
+ type: 'uint256',
1170
+ indexed: false,
1171
+ },
1172
+ ],
1173
+ name: 'EDiv',
1174
+ },
1175
+ {
1176
+ type: 'event',
1177
+ anonymous: false,
1178
+ inputs: [
1179
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1180
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1181
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1182
+ {
1183
+ name: 'eventId',
1184
+ internalType: 'uint256',
1185
+ type: 'uint256',
1186
+ indexed: false,
1187
+ },
1188
+ ],
1189
+ name: 'EEq',
1190
+ },
1191
+ {
1192
+ type: 'event',
1193
+ anonymous: false,
1194
+ inputs: [
1195
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1196
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1197
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1198
+ {
1199
+ name: 'eventId',
1200
+ internalType: 'uint256',
1201
+ type: 'uint256',
1202
+ indexed: false,
1203
+ },
1204
+ ],
1205
+ name: 'EGe',
1206
+ },
1207
+ {
1208
+ type: 'event',
1209
+ anonymous: false,
1210
+ inputs: [
1211
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1212
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1213
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1214
+ {
1215
+ name: 'eventId',
1216
+ internalType: 'uint256',
1217
+ type: 'uint256',
1218
+ indexed: false,
1219
+ },
1220
+ ],
1221
+ name: 'EGt',
1222
+ },
1223
+ {
1224
+ type: 'event',
1225
+ anonymous: false,
1226
+ inputs: [
1227
+ {
1228
+ name: 'control',
1229
+ internalType: 'ebool',
1230
+ type: 'bytes32',
1231
+ indexed: false,
1232
+ },
1233
+ {
1234
+ name: 'ifTrue',
1235
+ internalType: 'bytes32',
1236
+ type: 'bytes32',
1237
+ indexed: true,
1238
+ },
1239
+ {
1240
+ name: 'ifFalse',
1241
+ internalType: 'bytes32',
1242
+ type: 'bytes32',
1243
+ indexed: true,
1244
+ },
1245
+ {
1246
+ name: 'result',
1247
+ internalType: 'bytes32',
1248
+ type: 'bytes32',
1249
+ indexed: true,
1250
+ },
1251
+ {
1252
+ name: 'eventId',
1253
+ internalType: 'uint256',
1254
+ type: 'uint256',
1255
+ indexed: false,
1256
+ },
1257
+ ],
1258
+ name: 'EIfThenElse',
1259
+ },
1260
+ {
1261
+ type: 'event',
1262
+ anonymous: false,
1263
+ inputs: [
1264
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1265
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1266
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1267
+ {
1268
+ name: 'eventId',
1269
+ internalType: 'uint256',
1270
+ type: 'uint256',
1271
+ indexed: false,
1272
+ },
1273
+ ],
1274
+ name: 'ELe',
1275
+ },
1276
+ {
1277
+ type: 'event',
1278
+ anonymous: false,
1279
+ inputs: [
1280
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1281
+ {
1282
+ name: 'value',
1283
+ internalType: 'bytes32',
1284
+ type: 'bytes32',
1285
+ indexed: true,
1286
+ },
1287
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1288
+ {
1289
+ name: 'eventId',
1290
+ internalType: 'uint256',
1291
+ type: 'uint256',
1292
+ indexed: false,
1293
+ },
1294
+ ],
1295
+ name: 'EListAppend',
1296
+ },
1297
+ {
1298
+ type: 'event',
1299
+ anonymous: false,
1300
+ inputs: [
1301
+ { name: 'list1', internalType: 'elist', type: 'bytes32', indexed: true },
1302
+ { name: 'list2', internalType: 'elist', type: 'bytes32', indexed: true },
1303
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1304
+ {
1305
+ name: 'eventId',
1306
+ internalType: 'uint256',
1307
+ type: 'uint256',
1308
+ indexed: false,
1309
+ },
1310
+ ],
1311
+ name: 'EListConcat',
1312
+ },
1313
+ {
1314
+ type: 'event',
1315
+ anonymous: false,
1316
+ inputs: [
1317
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1318
+ { name: 'index', internalType: 'uint16', type: 'uint16', indexed: true },
1319
+ {
1320
+ name: 'result',
1321
+ internalType: 'bytes32',
1322
+ type: 'bytes32',
1323
+ indexed: true,
1324
+ },
1325
+ {
1326
+ name: 'eventId',
1327
+ internalType: 'uint256',
1328
+ type: 'uint256',
1329
+ indexed: false,
1330
+ },
1331
+ ],
1332
+ name: 'EListGet',
1333
+ },
1334
+ {
1335
+ type: 'event',
1336
+ anonymous: false,
1337
+ inputs: [
1338
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1339
+ {
1340
+ name: 'index',
1341
+ internalType: 'bytes32',
1342
+ type: 'bytes32',
1343
+ indexed: false,
1344
+ },
1345
+ {
1346
+ name: 'defaultValue',
1347
+ internalType: 'bytes32',
1348
+ type: 'bytes32',
1349
+ indexed: true,
1350
+ },
1351
+ {
1352
+ name: 'result',
1353
+ internalType: 'bytes32',
1354
+ type: 'bytes32',
1355
+ indexed: true,
1356
+ },
1357
+ {
1358
+ name: 'eventId',
1359
+ internalType: 'uint256',
1360
+ type: 'uint256',
1361
+ indexed: false,
1362
+ },
1363
+ ],
1364
+ name: 'EListGetOr',
1365
+ },
1366
+ {
1367
+ type: 'event',
1368
+ anonymous: false,
1369
+ inputs: [
1370
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: false },
1371
+ {
1372
+ name: 'index',
1373
+ internalType: 'bytes32',
1374
+ type: 'bytes32',
1375
+ indexed: true,
1376
+ },
1377
+ {
1378
+ name: 'value',
1379
+ internalType: 'bytes32',
1380
+ type: 'bytes32',
1381
+ indexed: true,
1382
+ },
1383
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1384
+ {
1385
+ name: 'eventId',
1386
+ internalType: 'uint256',
1387
+ type: 'uint256',
1388
+ indexed: false,
1389
+ },
1390
+ ],
1391
+ name: 'EListInsert',
1392
+ },
1393
+ {
1394
+ type: 'event',
1395
+ anonymous: false,
1396
+ inputs: [
1397
+ {
1398
+ name: 'start',
1399
+ internalType: 'uint256',
1400
+ type: 'uint256',
1401
+ indexed: true,
1402
+ },
1403
+ { name: 'end', internalType: 'uint256', type: 'uint256', indexed: true },
1404
+ {
1405
+ name: 'listType',
1406
+ internalType: 'enum ETypes',
1407
+ type: 'uint8',
1408
+ indexed: false,
1409
+ },
1410
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1411
+ {
1412
+ name: 'eventId',
1413
+ internalType: 'uint256',
1414
+ type: 'uint256',
1415
+ indexed: false,
1416
+ },
1417
+ ],
1418
+ name: 'EListRange',
1419
+ },
1420
+ {
1421
+ type: 'event',
1422
+ anonymous: false,
1423
+ inputs: [
1424
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1425
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1426
+ {
1427
+ name: 'eventId',
1428
+ internalType: 'uint256',
1429
+ type: 'uint256',
1430
+ indexed: false,
1431
+ },
1432
+ ],
1433
+ name: 'EListReverse',
1434
+ },
1435
+ {
1436
+ type: 'event',
1437
+ anonymous: false,
1438
+ inputs: [
1439
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: false },
1440
+ {
1441
+ name: 'index',
1442
+ internalType: 'bytes32',
1443
+ type: 'bytes32',
1444
+ indexed: true,
1445
+ },
1446
+ {
1447
+ name: 'value',
1448
+ internalType: 'bytes32',
1449
+ type: 'bytes32',
1450
+ indexed: true,
1451
+ },
1452
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1453
+ {
1454
+ name: 'eventId',
1455
+ internalType: 'uint256',
1456
+ type: 'uint256',
1457
+ indexed: false,
1458
+ },
1459
+ ],
1460
+ name: 'EListSet',
1461
+ },
1462
+ {
1463
+ type: 'event',
1464
+ anonymous: false,
1465
+ inputs: [
1466
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1467
+ {
1468
+ name: 'counter',
1469
+ internalType: 'uint256',
1470
+ type: 'uint256',
1471
+ indexed: true,
1472
+ },
1473
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1474
+ {
1475
+ name: 'eventId',
1476
+ internalType: 'uint256',
1477
+ type: 'uint256',
1478
+ indexed: false,
1479
+ },
1480
+ ],
1481
+ name: 'EListShuffle',
1482
+ },
1483
+ {
1484
+ type: 'event',
1485
+ anonymous: false,
1486
+ inputs: [
1487
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: false },
1488
+ {
1489
+ name: 'start',
1490
+ internalType: 'bytes32',
1491
+ type: 'bytes32',
1492
+ indexed: true,
1493
+ },
1494
+ {
1495
+ name: 'length',
1496
+ internalType: 'uint16',
1497
+ type: 'uint16',
1498
+ indexed: false,
1499
+ },
1500
+ {
1501
+ name: 'defaultValue',
1502
+ internalType: 'bytes32',
1503
+ type: 'bytes32',
1504
+ indexed: true,
1505
+ },
1506
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1507
+ {
1508
+ name: 'eventId',
1509
+ internalType: 'uint256',
1510
+ type: 'uint256',
1511
+ indexed: false,
1512
+ },
1513
+ ],
1514
+ name: 'EListSlice',
1515
+ },
1516
+ {
1517
+ type: 'event',
1518
+ anonymous: false,
1519
+ inputs: [
1520
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1521
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1522
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1523
+ {
1524
+ name: 'eventId',
1525
+ internalType: 'uint256',
1526
+ type: 'uint256',
1527
+ indexed: false,
1528
+ },
1529
+ ],
1530
+ name: 'ELt',
1531
+ },
1532
+ {
1533
+ type: 'event',
1534
+ anonymous: false,
1535
+ inputs: [
1536
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1537
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1538
+ {
1539
+ name: 'result',
1540
+ internalType: 'euint256',
1541
+ type: 'bytes32',
1542
+ indexed: true,
1543
+ },
1544
+ {
1545
+ name: 'eventId',
1546
+ internalType: 'uint256',
1547
+ type: 'uint256',
1548
+ indexed: false,
1549
+ },
1550
+ ],
1551
+ name: 'EMax',
1552
+ },
1553
+ {
1554
+ type: 'event',
1555
+ anonymous: false,
1556
+ inputs: [
1557
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1558
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1559
+ {
1560
+ name: 'result',
1561
+ internalType: 'euint256',
1562
+ type: 'bytes32',
1563
+ indexed: true,
1564
+ },
1565
+ {
1566
+ name: 'eventId',
1567
+ internalType: 'uint256',
1568
+ type: 'uint256',
1569
+ indexed: false,
1570
+ },
1571
+ ],
1572
+ name: 'EMin',
1573
+ },
1574
+ {
1575
+ type: 'event',
1576
+ anonymous: false,
1577
+ inputs: [
1578
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1579
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1580
+ {
1581
+ name: 'result',
1582
+ internalType: 'euint256',
1583
+ type: 'bytes32',
1584
+ indexed: true,
1585
+ },
1586
+ {
1587
+ name: 'eventId',
1588
+ internalType: 'uint256',
1589
+ type: 'uint256',
1590
+ indexed: false,
1591
+ },
1592
+ ],
1593
+ name: 'EMul',
1594
+ },
1595
+ {
1596
+ type: 'event',
1597
+ anonymous: false,
1598
+ inputs: [
1599
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1600
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1601
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1602
+ {
1603
+ name: 'eventId',
1604
+ internalType: 'uint256',
1605
+ type: 'uint256',
1606
+ indexed: false,
1607
+ },
1608
+ ],
1609
+ name: 'ENe',
1610
+ },
1611
+ {
1612
+ type: 'event',
1613
+ anonymous: false,
1614
+ inputs: [
1615
+ {
1616
+ name: 'operand',
1617
+ internalType: 'ebool',
1618
+ type: 'bytes32',
1619
+ indexed: true,
1620
+ },
1621
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1622
+ {
1623
+ name: 'eventId',
1624
+ internalType: 'uint256',
1625
+ type: 'uint256',
1626
+ indexed: false,
1627
+ },
1628
+ ],
1629
+ name: 'ENot',
1630
+ },
1631
+ {
1632
+ type: 'event',
1633
+ anonymous: false,
1634
+ inputs: [
1635
+ {
1636
+ name: 'counter',
1637
+ internalType: 'uint256',
1638
+ type: 'uint256',
1639
+ indexed: true,
1640
+ },
1641
+ {
1642
+ name: 'randType',
1643
+ internalType: 'enum ETypes',
1644
+ type: 'uint8',
1645
+ indexed: false,
1646
+ },
1647
+ {
1648
+ name: 'upperBound',
1649
+ internalType: 'bytes32',
1650
+ type: 'bytes32',
1651
+ indexed: true,
1652
+ },
1653
+ {
1654
+ name: 'result',
1655
+ internalType: 'bytes32',
1656
+ type: 'bytes32',
1657
+ indexed: true,
1658
+ },
1659
+ {
1660
+ name: 'eventId',
1661
+ internalType: 'uint256',
1662
+ type: 'uint256',
1663
+ indexed: false,
1664
+ },
1665
+ ],
1666
+ name: 'ERandBounded',
1667
+ },
1668
+ {
1669
+ type: 'event',
1670
+ anonymous: false,
1671
+ inputs: [
1672
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1673
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1674
+ {
1675
+ name: 'result',
1676
+ internalType: 'euint256',
1677
+ type: 'bytes32',
1678
+ indexed: true,
1679
+ },
1680
+ {
1681
+ name: 'eventId',
1682
+ internalType: 'uint256',
1683
+ type: 'uint256',
1684
+ indexed: false,
1685
+ },
1686
+ ],
1687
+ name: 'ERem',
1688
+ },
1689
+ {
1690
+ type: 'event',
1691
+ anonymous: false,
1692
+ inputs: [
1693
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1694
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1695
+ {
1696
+ name: 'result',
1697
+ internalType: 'euint256',
1698
+ type: 'bytes32',
1699
+ indexed: true,
1700
+ },
1701
+ {
1702
+ name: 'eventId',
1703
+ internalType: 'uint256',
1704
+ type: 'uint256',
1705
+ indexed: false,
1706
+ },
1707
+ ],
1708
+ name: 'ERotl',
1709
+ },
1710
+ {
1711
+ type: 'event',
1712
+ anonymous: false,
1713
+ inputs: [
1714
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1715
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1716
+ {
1717
+ name: 'result',
1718
+ internalType: 'euint256',
1719
+ type: 'bytes32',
1720
+ indexed: true,
1721
+ },
1722
+ {
1723
+ name: 'eventId',
1724
+ internalType: 'uint256',
1725
+ type: 'uint256',
1726
+ indexed: false,
1727
+ },
1728
+ ],
1729
+ name: 'ERotr',
1730
+ },
1731
+ {
1732
+ type: 'event',
1733
+ anonymous: false,
1734
+ inputs: [
1735
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1736
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1737
+ {
1738
+ name: 'result',
1739
+ internalType: 'euint256',
1740
+ type: 'bytes32',
1741
+ indexed: true,
1742
+ },
1743
+ {
1744
+ name: 'eventId',
1745
+ internalType: 'uint256',
1746
+ type: 'uint256',
1747
+ indexed: false,
1748
+ },
1749
+ ],
1750
+ name: 'EShl',
1751
+ },
1752
+ {
1753
+ type: 'event',
1754
+ anonymous: false,
1755
+ inputs: [
1756
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1757
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1758
+ {
1759
+ name: 'result',
1760
+ internalType: 'euint256',
1761
+ type: 'bytes32',
1762
+ indexed: true,
1763
+ },
1764
+ {
1765
+ name: 'eventId',
1766
+ internalType: 'uint256',
1767
+ type: 'uint256',
1768
+ indexed: false,
1769
+ },
1770
+ ],
1771
+ name: 'EShr',
1772
+ },
1773
+ {
1774
+ type: 'event',
1775
+ anonymous: false,
1776
+ inputs: [
1777
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1778
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1779
+ {
1780
+ name: 'result',
1781
+ internalType: 'euint256',
1782
+ type: 'bytes32',
1783
+ indexed: true,
1784
+ },
1785
+ {
1786
+ name: 'eventId',
1787
+ internalType: 'uint256',
1788
+ type: 'uint256',
1789
+ indexed: false,
1790
+ },
1791
+ ],
1792
+ name: 'ESub',
1793
+ },
1794
+ {
1795
+ type: 'event',
1796
+ anonymous: false,
1797
+ inputs: [
1798
+ {
1799
+ name: 'version',
1800
+ internalType: 'uint64',
1801
+ type: 'uint64',
1802
+ indexed: false,
1803
+ },
1804
+ ],
1805
+ name: 'Initialized',
1806
+ },
1807
+ {
1808
+ type: 'event',
1809
+ anonymous: false,
1810
+ inputs: [
1811
+ {
1812
+ name: 'result',
1813
+ internalType: 'bytes32',
1814
+ type: 'bytes32',
1815
+ indexed: true,
1816
+ },
1817
+ {
1818
+ name: 'listType',
1819
+ internalType: 'enum ETypes',
1820
+ type: 'uint8',
1821
+ indexed: false,
1822
+ },
1823
+ {
1824
+ name: 'handles',
1825
+ internalType: 'bytes32[]',
1826
+ type: 'bytes32[]',
1827
+ indexed: false,
1828
+ },
1829
+ {
1830
+ name: 'eventId',
1831
+ internalType: 'uint256',
1832
+ type: 'uint256',
1833
+ indexed: false,
1834
+ },
1835
+ ],
1836
+ name: 'NewEList',
1837
+ },
1838
+ {
1839
+ type: 'event',
1840
+ anonymous: false,
1841
+ inputs: [
1842
+ {
1843
+ name: 'result',
1844
+ internalType: 'bytes32',
1845
+ type: 'bytes32',
1846
+ indexed: true,
1847
+ },
1848
+ {
1849
+ name: 'contractAddress',
1850
+ internalType: 'address',
1851
+ type: 'address',
1852
+ indexed: true,
1853
+ },
1854
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
1855
+ {
1856
+ name: 'version',
1857
+ internalType: 'uint16',
1858
+ type: 'uint16',
1859
+ indexed: false,
1860
+ },
1861
+ {
1862
+ name: 'ciphertext',
1863
+ internalType: 'bytes',
1864
+ type: 'bytes',
1865
+ indexed: false,
1866
+ },
1867
+ {
1868
+ name: 'eventId',
1869
+ internalType: 'uint256',
1870
+ type: 'uint256',
1871
+ indexed: false,
1872
+ },
1873
+ ],
1874
+ name: 'NewInput',
1875
+ },
1876
+ {
1877
+ type: 'event',
1878
+ anonymous: false,
1879
+ inputs: [
1880
+ {
1881
+ name: 'previousOwner',
1882
+ internalType: 'address',
1883
+ type: 'address',
1884
+ indexed: true,
1885
+ },
1886
+ {
1887
+ name: 'newOwner',
1888
+ internalType: 'address',
1889
+ type: 'address',
1890
+ indexed: true,
1891
+ },
1892
+ ],
1893
+ name: 'OwnershipTransferred',
1894
+ },
1895
+ {
1896
+ type: 'event',
1897
+ anonymous: false,
1898
+ inputs: [
1899
+ {
1900
+ name: 'account',
1901
+ internalType: 'address',
1902
+ type: 'address',
1903
+ indexed: false,
1904
+ },
1905
+ ],
1906
+ name: 'Paused',
1907
+ },
1908
+ {
1909
+ type: 'event',
1910
+ anonymous: false,
1911
+ inputs: [
1912
+ {
1913
+ name: 'handle',
1914
+ internalType: 'bytes32',
1915
+ type: 'bytes32',
1916
+ indexed: false,
1917
+ },
1918
+ {
1919
+ name: 'eventId',
1920
+ internalType: 'uint256',
1921
+ type: 'uint256',
1922
+ indexed: false,
1923
+ },
1924
+ ],
1925
+ name: 'Reveal',
1926
+ },
1927
+ {
1928
+ type: 'event',
1929
+ anonymous: false,
1930
+ inputs: [
1931
+ {
1932
+ name: 'result',
1933
+ internalType: 'bytes32',
1934
+ type: 'bytes32',
1935
+ indexed: true,
1936
+ },
1937
+ {
1938
+ name: 'plainTextBytes',
1939
+ internalType: 'bytes32',
1940
+ type: 'bytes32',
1941
+ indexed: false,
1942
+ },
1943
+ {
1944
+ name: 'handleType',
1945
+ internalType: 'enum ETypes',
1946
+ type: 'uint8',
1947
+ indexed: false,
1948
+ },
1949
+ {
1950
+ name: 'eventId',
1951
+ internalType: 'uint256',
1952
+ type: 'uint256',
1953
+ indexed: false,
1954
+ },
1955
+ ],
1956
+ name: 'TrivialEncrypt',
1957
+ },
1958
+ {
1959
+ type: 'event',
1960
+ anonymous: false,
1961
+ inputs: [
1962
+ {
1963
+ name: 'account',
1964
+ internalType: 'address',
1965
+ type: 'address',
1966
+ indexed: false,
1967
+ },
1968
+ ],
1969
+ name: 'Unpaused',
1970
+ },
1971
+ {
1972
+ type: 'event',
1973
+ anonymous: false,
1974
+ inputs: [
1975
+ {
1976
+ name: 'implementation',
1977
+ internalType: 'address',
1978
+ type: 'address',
1979
+ indexed: true,
1980
+ },
1981
+ ],
1982
+ name: 'Upgraded',
1983
+ },
1984
+ {
1985
+ type: 'event',
1986
+ anonymous: false,
1987
+ inputs: [
1988
+ {
1989
+ name: 'version',
1990
+ internalType: 'uint16',
1991
+ type: 'uint16',
1992
+ indexed: true,
1993
+ },
1994
+ ],
1995
+ name: 'VersionAccepted',
1996
+ },
1997
+ {
1998
+ type: 'event',
1999
+ anonymous: false,
2000
+ inputs: [
2001
+ {
2002
+ name: 'version',
2003
+ internalType: 'uint16',
2004
+ type: 'uint16',
2005
+ indexed: true,
2006
+ },
2007
+ ],
2008
+ name: 'VersionRemoved',
2009
+ },
2010
+ {
2011
+ type: 'error',
2012
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
2013
+ name: 'AddressEmptyCode',
2014
+ },
2015
+ {
2016
+ type: 'error',
2017
+ inputs: [
2018
+ { name: 'implementation', internalType: 'address', type: 'address' },
2019
+ ],
2020
+ name: 'ERC1967InvalidImplementation',
2021
+ },
2022
+ { type: 'error', inputs: [], name: 'ERC1967NonPayable' },
2023
+ { type: 'error', inputs: [], name: 'EnforcedPause' },
2024
+ { type: 'error', inputs: [], name: 'EthInboundTransferUnsupported' },
2025
+ { type: 'error', inputs: [], name: 'ExpectedPause' },
2026
+ {
2027
+ type: 'error',
2028
+ inputs: [
2029
+ { name: 'externalHandle', internalType: 'bytes32', type: 'bytes32' },
2030
+ { name: 'computedHandle', internalType: 'bytes32', type: 'bytes32' },
2031
+ { name: 'chainId', internalType: 'uint256', type: 'uint256' },
2032
+ { name: 'aclAddress', internalType: 'address', type: 'address' },
2033
+ { name: 'userAddress', internalType: 'address', type: 'address' },
2034
+ { name: 'contractAddress', internalType: 'address', type: 'address' },
2035
+ { name: 'version', internalType: 'uint16', type: 'uint16' },
2036
+ ],
2037
+ name: 'ExternalHandleDoesNotMatchComputedHandle',
2038
+ },
2039
+ { type: 'error', inputs: [], name: 'FailedCall' },
2040
+ { type: 'error', inputs: [], name: 'FeeNotPaid' },
2041
+ { type: 'error', inputs: [], name: 'FeeWithdrawalFailed' },
2042
+ {
2043
+ type: 'error',
2044
+ inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
2045
+ name: 'HandleAlreadyExists',
2046
+ },
2047
+ {
2048
+ type: 'error',
2049
+ inputs: [
2050
+ { name: 'i', internalType: 'uint16', type: 'uint16' },
2051
+ { name: 'len', internalType: 'uint16', type: 'uint16' },
2052
+ ],
2053
+ name: 'IndexOutOfRange',
2054
+ },
2055
+ {
2056
+ type: 'error',
2057
+ inputs: [{ name: 'length', internalType: 'uint256', type: 'uint256' }],
2058
+ name: 'InputLengthTooShort',
2059
+ },
2060
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
2061
+ {
2062
+ type: 'error',
2063
+ inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
2064
+ name: 'InvalidInputVersion',
2065
+ },
2066
+ {
2067
+ type: 'error',
2068
+ inputs: [{ name: 'raw', internalType: 'uint8', type: 'uint8' }],
2069
+ name: 'InvalidListTypeValue',
2070
+ },
2071
+ {
2072
+ type: 'error',
2073
+ inputs: [
2074
+ { name: 'start', internalType: 'uint16', type: 'uint16' },
2075
+ { name: 'end', internalType: 'uint16', type: 'uint16' },
2076
+ ],
2077
+ name: 'InvalidRange',
2078
+ },
2079
+ { type: 'error', inputs: [], name: 'InvalidShortString' },
2080
+ {
2081
+ type: 'error',
2082
+ inputs: [{ name: 'raw', internalType: 'uint8', type: 'uint8' }],
2083
+ name: 'InvalidTypeValue',
2084
+ },
2085
+ {
2086
+ type: 'error',
2087
+ inputs: [
2088
+ { name: 'end', internalType: 'uint16', type: 'uint16' },
2089
+ { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
2090
+ ],
2091
+ name: 'ListRangeExceedsType',
2092
+ },
2093
+ {
2094
+ type: 'error',
2095
+ inputs: [
2096
+ { name: 'provided', internalType: 'uint32', type: 'uint32' },
2097
+ { name: 'max', internalType: 'uint16', type: 'uint16' },
2098
+ ],
2099
+ name: 'ListTooLong',
2100
+ },
2101
+ {
2102
+ type: 'error',
2103
+ inputs: [
2104
+ { name: 'lhs', internalType: 'enum ETypes', type: 'uint8' },
2105
+ { name: 'rhs', internalType: 'enum ETypes', type: 'uint8' },
2106
+ ],
2107
+ name: 'ListTypeMismatch',
2108
+ },
2109
+ { type: 'error', inputs: [], name: 'NoFeesToWithdraw' },
2110
+ { type: 'error', inputs: [], name: 'NotInitializing' },
2111
+ {
2112
+ type: 'error',
2113
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
2114
+ name: 'OwnableInvalidOwner',
2115
+ },
2116
+ {
2117
+ type: 'error',
2118
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
2119
+ name: 'OwnableUnauthorizedAccount',
2120
+ },
2121
+ {
2122
+ type: 'error',
2123
+ inputs: [
2124
+ { name: 'verifyingContract', internalType: 'address', type: 'address' },
2125
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
2126
+ { name: 'argData', internalType: 'bytes', type: 'bytes' },
2127
+ ],
2128
+ name: 'ProofVerificationFailed',
2129
+ },
2130
+ {
2131
+ type: 'error',
2132
+ inputs: [{ name: 't', internalType: 'enum ETypes', type: 'uint8' }],
2133
+ name: 'SameTypeCast',
2134
+ },
2135
+ {
2136
+ type: 'error',
2137
+ inputs: [
2138
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
2139
+ { name: 'sender', internalType: 'address', type: 'address' },
2140
+ ],
2141
+ name: 'SenderNotAllowedForHandle',
2142
+ },
2143
+ {
2144
+ type: 'error',
2145
+ inputs: [{ name: 'str', internalType: 'string', type: 'string' }],
2146
+ name: 'StringTooLong',
2147
+ },
2148
+ { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },
2149
+ {
2150
+ type: 'error',
2151
+ inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],
2152
+ name: 'UUPSUnsupportedProxiableUUID',
2153
+ },
2154
+ {
2155
+ type: 'error',
2156
+ inputs: [
2157
+ { name: 'actual', internalType: 'enum ETypes', type: 'uint8' },
2158
+ { name: 'expectedTypes', internalType: 'bytes32', type: 'bytes32' },
2159
+ ],
2160
+ name: 'UnexpectedType',
2161
+ },
2162
+ {
2163
+ type: 'error',
2164
+ inputs: [{ name: 'actual', internalType: 'enum ETypes', type: 'uint8' }],
2165
+ name: 'UnsupportedType',
2166
+ },
2167
+ ];
2168
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2169
+ // SessionVerifier
2170
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2171
+ export const sessionVerifierAbi = [
2172
+ {
2173
+ type: 'constructor',
2174
+ inputs: [{ name: '_salt', internalType: 'bytes32', type: 'bytes32' }],
2175
+ stateMutability: 'nonpayable',
2176
+ },
2177
+ { type: 'fallback', stateMutability: 'nonpayable' },
2178
+ {
2179
+ type: 'function',
2180
+ inputs: [],
2181
+ name: 'UPGRADE_INTERFACE_VERSION',
2182
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2183
+ stateMutability: 'view',
2184
+ },
2185
+ {
2186
+ type: 'function',
2187
+ inputs: [
2188
+ { name: '', internalType: 'bytes32', type: 'bytes32' },
2189
+ { name: 'account', internalType: 'address', type: 'address' },
2190
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
2191
+ { name: '', internalType: 'bytes', type: 'bytes' },
2192
+ ],
2193
+ name: 'canUseSession',
2194
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2195
+ stateMutability: 'view',
2196
+ },
2197
+ {
2198
+ type: 'function',
2199
+ inputs: [],
2200
+ name: 'getMajorVersion',
2201
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2202
+ stateMutability: 'view',
2203
+ },
2204
+ {
2205
+ type: 'function',
2206
+ inputs: [],
2207
+ name: 'getName',
2208
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2209
+ stateMutability: 'view',
2210
+ },
2211
+ {
2212
+ type: 'function',
2213
+ inputs: [],
2214
+ name: 'getVersion',
2215
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2216
+ stateMutability: 'view',
2217
+ },
2218
+ {
2219
+ type: 'function',
2220
+ inputs: [],
2221
+ name: 'getVersionedName',
2222
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2223
+ stateMutability: 'view',
2224
+ },
2225
+ {
2226
+ type: 'function',
2227
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
2228
+ name: 'initialize',
2229
+ outputs: [],
2230
+ stateMutability: 'nonpayable',
2231
+ },
2232
+ {
2233
+ type: 'function',
2234
+ inputs: [],
2235
+ name: 'majorVersion',
2236
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
2237
+ stateMutability: 'view',
2238
+ },
2239
+ {
2240
+ type: 'function',
2241
+ inputs: [],
2242
+ name: 'minorVersion',
2243
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
2244
+ stateMutability: 'view',
2245
+ },
2246
+ {
2247
+ type: 'function',
2248
+ inputs: [],
2249
+ name: 'owner',
2250
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2251
+ stateMutability: 'view',
2252
+ },
2253
+ {
2254
+ type: 'function',
2255
+ inputs: [],
2256
+ name: 'patchVersion',
2257
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
2258
+ stateMutability: 'view',
2259
+ },
2260
+ {
2261
+ type: 'function',
2262
+ inputs: [],
2263
+ name: 'proxiableUUID',
2264
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2265
+ stateMutability: 'view',
2266
+ },
2267
+ {
2268
+ type: 'function',
2269
+ inputs: [],
2270
+ name: 'renounceOwnership',
2271
+ outputs: [],
2272
+ stateMutability: 'nonpayable',
2273
+ },
2274
+ {
2275
+ type: 'function',
2276
+ inputs: [],
2277
+ name: 'salt',
2278
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2279
+ stateMutability: 'view',
2280
+ },
2281
+ {
2282
+ type: 'function',
2283
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
2284
+ name: 'transferOwnership',
2285
+ outputs: [],
2286
+ stateMutability: 'nonpayable',
2287
+ },
2288
+ {
2289
+ type: 'function',
2290
+ inputs: [
2291
+ { name: 'newImplementation', internalType: 'address', type: 'address' },
2292
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
2293
+ ],
2294
+ name: 'upgradeToAndCall',
2295
+ outputs: [],
2296
+ stateMutability: 'payable',
2297
+ },
2298
+ {
2299
+ type: 'event',
2300
+ anonymous: false,
2301
+ inputs: [
2302
+ {
2303
+ name: 'version',
2304
+ internalType: 'uint64',
2305
+ type: 'uint64',
2306
+ indexed: false,
2307
+ },
2308
+ ],
2309
+ name: 'Initialized',
2310
+ },
2311
+ {
2312
+ type: 'event',
2313
+ anonymous: false,
2314
+ inputs: [
2315
+ {
2316
+ name: 'previousOwner',
2317
+ internalType: 'address',
2318
+ type: 'address',
2319
+ indexed: true,
2320
+ },
2321
+ {
2322
+ name: 'newOwner',
2323
+ internalType: 'address',
2324
+ type: 'address',
2325
+ indexed: true,
2326
+ },
2327
+ ],
2328
+ name: 'OwnershipTransferred',
2329
+ },
2330
+ {
2331
+ type: 'event',
2332
+ anonymous: false,
2333
+ inputs: [
2334
+ {
2335
+ name: 'implementation',
2336
+ internalType: 'address',
2337
+ type: 'address',
2338
+ indexed: true,
2339
+ },
2340
+ ],
2341
+ name: 'Upgraded',
2342
+ },
2343
+ {
2344
+ type: 'error',
2345
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
2346
+ name: 'AddressEmptyCode',
2347
+ },
2348
+ {
2349
+ type: 'error',
2350
+ inputs: [
2351
+ { name: 'implementation', internalType: 'address', type: 'address' },
2352
+ ],
2353
+ name: 'ERC1967InvalidImplementation',
2354
+ },
2355
+ { type: 'error', inputs: [], name: 'ERC1967NonPayable' },
2356
+ { type: 'error', inputs: [], name: 'FailedCall' },
2357
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
2358
+ { type: 'error', inputs: [], name: 'InvalidShortString' },
2359
+ { type: 'error', inputs: [], name: 'NotInitializing' },
2360
+ {
2361
+ type: 'error',
2362
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
2363
+ name: 'OwnableInvalidOwner',
2364
+ },
2365
+ {
2366
+ type: 'error',
2367
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
2368
+ name: 'OwnableUnauthorizedAccount',
2369
+ },
2370
+ {
2371
+ type: 'error',
2372
+ inputs: [{ name: 'str', internalType: 'string', type: 'string' }],
2373
+ name: 'StringTooLong',
2374
+ },
2375
+ { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },
2376
+ {
2377
+ type: 'error',
2378
+ inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],
2379
+ name: 'UUPSUnsupportedProxiableUUID',
2380
+ },
2381
+ ];
2382
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2383
+ // VoucherEip712Checker
2384
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2385
+ export const voucherEip712CheckerAbi = [
2386
+ {
2387
+ type: 'function',
2388
+ inputs: [
2389
+ {
2390
+ name: 'voucher',
2391
+ internalType: 'struct AllowanceVoucher',
2392
+ type: 'tuple',
2393
+ components: [
2394
+ { name: 'warning', internalType: 'string', type: 'string' },
2395
+ { name: 'sessionNonce', internalType: 'bytes32', type: 'bytes32' },
2396
+ {
2397
+ name: 'verifyingContract',
2398
+ internalType: 'address',
2399
+ type: 'address',
2400
+ },
2401
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
2402
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
2403
+ ],
2404
+ },
2405
+ ],
2406
+ name: 'allowanceVoucherDigest',
2407
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2408
+ stateMutability: 'view',
2409
+ },
2410
+ {
2411
+ type: 'function',
2412
+ inputs: [],
2413
+ name: 'eip712Domain',
2414
+ outputs: [
2415
+ { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
2416
+ { name: 'name', internalType: 'string', type: 'string' },
2417
+ { name: 'version', internalType: 'string', type: 'string' },
2418
+ { name: 'chainId', internalType: 'uint256', type: 'uint256' },
2419
+ { name: 'verifyingContract', internalType: 'address', type: 'address' },
2420
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2421
+ { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
2422
+ ],
2423
+ stateMutability: 'view',
2424
+ },
2425
+ { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
2426
+ {
2427
+ type: 'event',
2428
+ anonymous: false,
2429
+ inputs: [
2430
+ {
2431
+ name: 'version',
2432
+ internalType: 'uint64',
2433
+ type: 'uint64',
2434
+ indexed: false,
2435
+ },
2436
+ ],
2437
+ name: 'Initialized',
2438
+ },
2439
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
2440
+ { type: 'error', inputs: [], name: 'NotInitializing' },
2441
+ ];
2442
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9hYmlzL2xpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzS0FBc0s7QUFDdEssWUFBWTtBQUNaLHNLQUFzSztBQUV0SyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUI7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxZQUFZO1FBQ2xCLE9BQU8sRUFBRTtZQUNQO2dCQUNFLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxnQkFBZ0I7Z0JBQzlCLElBQUksRUFBRSxPQUFPO2dCQUNiLFVBQVUsRUFBRTtvQkFDVixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO29CQUMvRCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2lCQUNoRTthQUNGO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtDQUNPLENBQUE7QUFFVixzS0FBc0s7QUFDdEssd0JBQXdCO0FBQ3hCLHNLQUFzSztBQUV0SyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QztRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSx5QkFBeUI7Z0JBQ3ZDLElBQUksRUFBRSxPQUFPO2dCQUNiLFVBQVUsRUFBRTtvQkFDVixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO29CQUMzRCxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FB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WUFBWSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1NBQy9EO1FBQ0QsSUFBSSxFQUFFLGFBQWE7UUFDbkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQy9ELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQy9E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