@enclave-e3/contracts 0.1.4 → 0.1.6

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 (467) hide show
  1. package/README.md +46 -2
  2. package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +135 -0
  3. package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/artifacts.d.ts +27 -0
  4. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +77 -0
  5. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +126 -0
  6. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/artifacts.d.ts +43 -0
  7. package/artifacts/build-info/solc-0_8_28-5150b9e6b6cf4df4986fccba97bea37a16fdfebc.json +311 -0
  8. package/artifacts/build-info/solc-0_8_28-5150b9e6b6cf4df4986fccba97bea37a16fdfebc.output.json +1 -0
  9. package/artifacts/contracts/Enclave.sol/Enclave.json +239 -147
  10. package/artifacts/contracts/Enclave.sol/artifacts.d.ts +6 -6
  11. package/artifacts/contracts/interfaces/IBondingRegistry.sol/IBondingRegistry.json +881 -0
  12. package/artifacts/contracts/interfaces/IBondingRegistry.sol/artifacts.d.ts +27 -0
  13. package/artifacts/contracts/interfaces/ICiphernodeRegistry.sol/ICiphernodeRegistry.json +326 -10
  14. package/artifacts/contracts/interfaces/ICiphernodeRegistry.sol/artifacts.d.ts +2 -2
  15. package/artifacts/contracts/interfaces/IComputeProvider.sol/IComputeProvider.json +1 -1
  16. package/artifacts/contracts/interfaces/IComputeProvider.sol/artifacts.d.ts +1 -1
  17. package/artifacts/contracts/interfaces/IDecryptionVerifier.sol/IDecryptionVerifier.json +1 -1
  18. package/artifacts/contracts/interfaces/IDecryptionVerifier.sol/artifacts.d.ts +1 -1
  19. package/artifacts/contracts/interfaces/IE3Program.sol/IE3Program.json +21 -3
  20. package/artifacts/contracts/interfaces/IE3Program.sol/artifacts.d.ts +2 -2
  21. package/artifacts/contracts/interfaces/IEnclave.sol/IEnclave.json +247 -27
  22. package/artifacts/contracts/interfaces/IEnclave.sol/artifacts.d.ts +2 -2
  23. package/artifacts/contracts/interfaces/{IRegistryFilter.sol/IRegistryFilter.json → ISlashVerifier.sol/ISlashVerifier.json} +10 -10
  24. package/artifacts/contracts/interfaces/ISlashVerifier.sol/artifacts.d.ts +27 -0
  25. package/artifacts/contracts/interfaces/ISlashingManager.sol/ISlashingManager.json +759 -0
  26. package/artifacts/contracts/interfaces/ISlashingManager.sol/artifacts.d.ts +27 -0
  27. package/artifacts/contracts/lib/ExitQueueLib.sol/ExitQueueLib.json +116 -0
  28. package/artifacts/contracts/lib/ExitQueueLib.sol/artifacts.d.ts +27 -0
  29. package/artifacts/contracts/registry/BondingRegistry.sol/BondingRegistry.json +1217 -0
  30. package/artifacts/contracts/registry/BondingRegistry.sol/artifacts.d.ts +27 -0
  31. package/artifacts/contracts/registry/CiphernodeRegistryOwnable.sol/CiphernodeRegistryOwnable.json +351 -57
  32. package/artifacts/contracts/registry/CiphernodeRegistryOwnable.sol/artifacts.d.ts +6 -6
  33. package/artifacts/contracts/slashing/SlashingManager.sol/SlashingManager.json +1107 -0
  34. package/artifacts/contracts/slashing/SlashingManager.sol/artifacts.d.ts +27 -0
  35. package/artifacts/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.json +328 -12
  36. package/artifacts/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.json +328 -12
  37. package/artifacts/contracts/test/MockCiphernodeRegistry.sol/artifacts.d.ts +8 -8
  38. package/artifacts/contracts/test/MockComputeProvider.sol/MockComputeProvider.json +4 -4
  39. package/artifacts/contracts/test/MockComputeProvider.sol/artifacts.d.ts +4 -4
  40. package/artifacts/contracts/test/MockDecryptionVerifier.sol/MockDecryptionVerifier.json +3 -3
  41. package/artifacts/contracts/test/MockDecryptionVerifier.sol/artifacts.d.ts +3 -3
  42. package/artifacts/contracts/test/MockE3Program.sol/MockE3Program.json +26 -32
  43. package/artifacts/contracts/test/MockE3Program.sol/artifacts.d.ts +4 -4
  44. package/artifacts/contracts/test/MockSlashingVerifier.sol/MockSlashingVerifier.json +38 -0
  45. package/artifacts/contracts/test/MockSlashingVerifier.sol/artifacts.d.ts +27 -0
  46. package/artifacts/contracts/test/MockStableToken.sol/MockUSDC.json +425 -0
  47. package/artifacts/contracts/test/MockStableToken.sol/artifacts.d.ts +27 -0
  48. package/artifacts/contracts/token/EnclaveTicketToken.sol/EnclaveTicketToken.json +1222 -0
  49. package/artifacts/contracts/token/EnclaveTicketToken.sol/artifacts.d.ts +27 -0
  50. package/artifacts/contracts/token/EnclaveToken.sol/EnclaveToken.json +1460 -0
  51. package/artifacts/contracts/token/EnclaveToken.sol/artifacts.d.ts +27 -0
  52. package/artifacts/poseidon-solidity/PoseidonT3.sol/PoseidonT3.json +3 -3
  53. package/artifacts/poseidon-solidity/PoseidonT3.sol/artifacts.d.ts +3 -3
  54. package/contracts/Enclave.sol +230 -81
  55. package/contracts/interfaces/IBondingRegistry.sol +446 -0
  56. package/contracts/interfaces/ICiphernodeRegistry.sol +153 -9
  57. package/contracts/interfaces/IComputeProvider.sol +12 -2
  58. package/contracts/interfaces/IDecryptionVerifier.sol +11 -6
  59. package/contracts/interfaces/IE3.sol +21 -17
  60. package/contracts/interfaces/IE3Program.sol +30 -17
  61. package/contracts/interfaces/IEnclave.sol +95 -21
  62. package/contracts/interfaces/ISlashVerifier.sol +23 -0
  63. package/contracts/interfaces/ISlashingManager.sol +426 -0
  64. package/contracts/lib/ExitQueueLib.sol +490 -0
  65. package/contracts/registry/BondingRegistry.sol +737 -0
  66. package/contracts/registry/CiphernodeRegistryOwnable.sol +393 -26
  67. package/contracts/slashing/SlashingManager.sol +367 -0
  68. package/contracts/test/MockCiphernodeRegistry.sol +118 -24
  69. package/contracts/test/MockComputeProvider.sol +2 -2
  70. package/contracts/test/MockE3Program.sol +17 -14
  71. package/contracts/test/MockSlashingVerifier.sol +19 -0
  72. package/contracts/test/MockStableToken.sol +28 -0
  73. package/contracts/token/EnclaveTicketToken.sol +243 -0
  74. package/contracts/token/EnclaveToken.sol +267 -0
  75. package/dist/hardhat.config.d.ts.map +1 -1
  76. package/dist/hardhat.config.js +35 -16
  77. package/dist/ignition/modules/{mockInputValidator.d.ts → bondingRegistry.d.ts} +1 -1
  78. package/dist/ignition/modules/bondingRegistry.d.ts.map +1 -0
  79. package/dist/ignition/modules/bondingRegistry.js +35 -0
  80. package/dist/ignition/modules/ciphernodeRegistry.d.ts.map +1 -1
  81. package/dist/ignition/modules/ciphernodeRegistry.js +12 -2
  82. package/dist/ignition/modules/enclave.d.ts.map +1 -1
  83. package/dist/ignition/modules/enclave.js +16 -7
  84. package/dist/ignition/modules/{naiveRegistryFilter.d.ts → enclaveTicketToken.d.ts} +1 -1
  85. package/dist/ignition/modules/enclaveTicketToken.d.ts.map +1 -0
  86. package/dist/ignition/modules/enclaveTicketToken.js +17 -0
  87. package/dist/ignition/modules/enclaveToken.d.ts +3 -0
  88. package/dist/ignition/modules/enclaveToken.d.ts.map +1 -0
  89. package/dist/ignition/modules/{mockInputValidator.js → enclaveToken.js} +4 -4
  90. package/dist/ignition/modules/mockCiphernodeRegistry.d.ts.map +1 -1
  91. package/dist/ignition/modules/mockCiphernodeRegistry.js +0 -1
  92. package/dist/ignition/modules/mockCiphernodeRegistryEmptyKey.d.ts.map +1 -1
  93. package/dist/ignition/modules/mockCiphernodeRegistryEmptyKey.js +0 -1
  94. package/dist/ignition/modules/mockComputeProvider.d.ts.map +1 -1
  95. package/dist/ignition/modules/mockComputeProvider.js +0 -1
  96. package/dist/ignition/modules/mockDecryptionVerifier.d.ts.map +1 -1
  97. package/dist/ignition/modules/mockDecryptionVerifier.js +0 -1
  98. package/dist/ignition/modules/mockE3Program.d.ts.map +1 -1
  99. package/dist/ignition/modules/mockE3Program.js +1 -3
  100. package/dist/ignition/modules/mockSlashingVerifier.d.ts +3 -0
  101. package/dist/ignition/modules/mockSlashingVerifier.d.ts.map +1 -0
  102. package/dist/ignition/modules/mockSlashingVerifier.js +10 -0
  103. package/dist/ignition/modules/mockStableToken.d.ts +3 -0
  104. package/dist/ignition/modules/mockStableToken.d.ts.map +1 -0
  105. package/dist/ignition/modules/mockStableToken.js +11 -0
  106. package/dist/ignition/modules/poseidonT3.d.ts.map +1 -1
  107. package/dist/ignition/modules/poseidonT3.js +0 -1
  108. package/dist/ignition/modules/slashingManager.d.ts +3 -0
  109. package/dist/ignition/modules/slashingManager.d.ts.map +1 -0
  110. package/dist/ignition/modules/slashingManager.js +16 -0
  111. package/dist/scripts/cleanIgnitionState.d.ts +12 -0
  112. package/dist/scripts/cleanIgnitionState.d.ts.map +1 -0
  113. package/dist/scripts/cleanIgnitionState.js +41 -0
  114. package/dist/scripts/deployAndSave/bondingRegistry.d.ts +38 -0
  115. package/dist/scripts/deployAndSave/bondingRegistry.d.ts.map +1 -0
  116. package/dist/scripts/deployAndSave/bondingRegistry.js +133 -0
  117. package/dist/scripts/deployAndSave/ciphernodeRegistryOwnable.d.ts +11 -1
  118. package/dist/scripts/deployAndSave/ciphernodeRegistryOwnable.d.ts.map +1 -1
  119. package/dist/scripts/deployAndSave/ciphernodeRegistryOwnable.js +76 -19
  120. package/dist/scripts/deployAndSave/enclave.d.ts +16 -2
  121. package/dist/scripts/deployAndSave/enclave.d.ts.map +1 -1
  122. package/dist/scripts/deployAndSave/enclave.js +89 -22
  123. package/dist/scripts/deployAndSave/enclaveTicketToken.d.ts +20 -0
  124. package/dist/scripts/deployAndSave/enclaveTicketToken.d.ts.map +1 -0
  125. package/dist/scripts/deployAndSave/enclaveTicketToken.js +41 -0
  126. package/dist/scripts/deployAndSave/enclaveToken.d.ts +18 -0
  127. package/dist/scripts/deployAndSave/enclaveToken.d.ts.map +1 -0
  128. package/dist/scripts/deployAndSave/enclaveToken.js +57 -0
  129. package/dist/scripts/deployAndSave/mockComputeProvider.d.ts.map +1 -1
  130. package/dist/scripts/deployAndSave/mockComputeProvider.js +5 -5
  131. package/dist/scripts/deployAndSave/mockDecryptionVerifier.d.ts.map +1 -1
  132. package/dist/scripts/deployAndSave/mockDecryptionVerifier.js +5 -5
  133. package/dist/scripts/deployAndSave/mockProgram.d.ts +1 -2
  134. package/dist/scripts/deployAndSave/mockProgram.d.ts.map +1 -1
  135. package/dist/scripts/deployAndSave/mockProgram.js +7 -19
  136. package/dist/scripts/deployAndSave/mockStableToken.d.ts +18 -0
  137. package/dist/scripts/deployAndSave/mockStableToken.d.ts.map +1 -0
  138. package/dist/scripts/deployAndSave/mockStableToken.js +36 -0
  139. package/dist/scripts/deployAndSave/poseidonT3.d.ts +11 -0
  140. package/dist/scripts/deployAndSave/poseidonT3.d.ts.map +1 -0
  141. package/dist/scripts/deployAndSave/poseidonT3.js +41 -0
  142. package/dist/scripts/deployAndSave/slashingManager.d.ts +19 -0
  143. package/dist/scripts/deployAndSave/slashingManager.d.ts.map +1 -0
  144. package/dist/scripts/deployAndSave/slashingManager.js +38 -0
  145. package/dist/scripts/deployEnclave.d.ts.map +1 -1
  146. package/dist/scripts/deployEnclave.js +109 -23
  147. package/dist/scripts/deployMocks.d.ts +0 -1
  148. package/dist/scripts/deployMocks.d.ts.map +1 -1
  149. package/dist/scripts/deployMocks.js +3 -6
  150. package/dist/scripts/index.d.ts +7 -2
  151. package/dist/scripts/index.d.ts.map +1 -1
  152. package/dist/scripts/index.js +7 -2
  153. package/dist/scripts/proxy.d.ts +22 -0
  154. package/dist/scripts/proxy.d.ts.map +1 -0
  155. package/dist/scripts/proxy.js +36 -0
  156. package/dist/scripts/runVerification.d.ts +2 -0
  157. package/dist/scripts/runVerification.d.ts.map +1 -0
  158. package/dist/scripts/runVerification.js +16 -0
  159. package/dist/scripts/upgrade/bondingRegistry.d.ts +6 -0
  160. package/dist/scripts/upgrade/bondingRegistry.d.ts.map +1 -0
  161. package/dist/scripts/upgrade/bondingRegistry.js +49 -0
  162. package/dist/scripts/upgrade/ciphernodeRegistryOwnable.d.ts +6 -0
  163. package/dist/scripts/upgrade/ciphernodeRegistryOwnable.d.ts.map +1 -0
  164. package/dist/scripts/upgrade/ciphernodeRegistryOwnable.js +52 -0
  165. package/dist/scripts/upgrade/enclave.d.ts +6 -0
  166. package/dist/scripts/upgrade/enclave.d.ts.map +1 -0
  167. package/dist/scripts/upgrade/enclave.js +49 -0
  168. package/dist/scripts/utils.d.ts +51 -2
  169. package/dist/scripts/utils.d.ts.map +1 -1
  170. package/dist/scripts/utils.js +67 -4
  171. package/dist/scripts/verify.d.ts +6 -0
  172. package/dist/scripts/verify.d.ts.map +1 -0
  173. package/dist/scripts/verify.js +142 -0
  174. package/dist/tasks/ciphernode.d.ts +2 -0
  175. package/dist/tasks/ciphernode.d.ts.map +1 -1
  176. package/dist/tasks/ciphernode.js +290 -19
  177. package/dist/tasks/enclave.d.ts.map +1 -1
  178. package/dist/tasks/enclave.js +76 -31
  179. package/dist/test/Enclave.spec.js +377 -370
  180. package/dist/test/Registry/BondingRegistry.spec.d.ts +2 -0
  181. package/dist/test/Registry/BondingRegistry.spec.d.ts.map +1 -0
  182. package/dist/test/Registry/BondingRegistry.spec.js +684 -0
  183. package/dist/test/Registry/CiphernodeRegistryOwnable.spec.d.ts.map +1 -0
  184. package/dist/test/Registry/CiphernodeRegistryOwnable.spec.js +374 -0
  185. package/dist/test/Slashing/SlashingManager.spec.d.ts +2 -0
  186. package/dist/test/Slashing/SlashingManager.spec.d.ts.map +1 -0
  187. package/dist/test/Slashing/SlashingManager.spec.js +672 -0
  188. package/dist/types/@openzeppelin/contracts/index.d.ts +3 -0
  189. package/dist/types/@openzeppelin/contracts/index.d.ts.map +1 -0
  190. package/dist/types/@openzeppelin/contracts/proxy/index.d.ts +3 -0
  191. package/dist/types/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
  192. package/dist/types/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts +97 -0
  193. package/dist/types/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts.map +1 -0
  194. package/dist/types/{contracts/registry/NaiveRegistryFilter.js → @openzeppelin/contracts/proxy/transparent/ProxyAdmin.js} +0 -4
  195. package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts +81 -0
  196. package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts.map +1 -0
  197. package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.js +12 -0
  198. package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts +52 -0
  199. package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts.map +1 -0
  200. package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.js +8 -0
  201. package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +3 -0
  202. package/dist/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts.map +1 -0
  203. package/dist/types/@openzeppelin/contracts/proxy/transparent/index.d.ts +4 -0
  204. package/dist/types/@openzeppelin/contracts/proxy/transparent/index.d.ts.map +1 -0
  205. package/dist/types/@openzeppelin/index.d.ts +3 -0
  206. package/dist/types/@openzeppelin/index.d.ts.map +1 -0
  207. package/dist/types/contracts/Enclave.d.ts +126 -53
  208. package/dist/types/contracts/Enclave.d.ts.map +1 -1
  209. package/dist/types/contracts/Enclave.js +12 -0
  210. package/dist/types/contracts/index.d.ts +6 -0
  211. package/dist/types/contracts/index.d.ts.map +1 -1
  212. package/dist/types/contracts/interfaces/IBondingRegistry.d.ts +622 -0
  213. package/dist/types/contracts/interfaces/IBondingRegistry.d.ts.map +1 -0
  214. package/dist/types/contracts/interfaces/IBondingRegistry.js +24 -0
  215. package/dist/types/contracts/interfaces/ICiphernodeRegistry.d.ts +245 -15
  216. package/dist/types/contracts/interfaces/ICiphernodeRegistry.d.ts.map +1 -1
  217. package/dist/types/contracts/interfaces/ICiphernodeRegistry.js +16 -0
  218. package/dist/types/contracts/interfaces/IE3Program.d.ts +20 -10
  219. package/dist/types/contracts/interfaces/IE3Program.d.ts.map +1 -1
  220. package/dist/types/contracts/interfaces/IEnclave.d.ts +149 -20
  221. package/dist/types/contracts/interfaces/IEnclave.d.ts.map +1 -1
  222. package/dist/types/contracts/interfaces/IEnclave.js +12 -0
  223. package/dist/types/contracts/interfaces/{IRegistryFilter.d.ts → ISlashVerifier.d.ts} +16 -16
  224. package/dist/types/contracts/interfaces/ISlashVerifier.d.ts.map +1 -0
  225. package/dist/types/contracts/interfaces/ISlashVerifier.js +1 -0
  226. package/dist/types/contracts/interfaces/ISlashingManager.d.ts +384 -0
  227. package/dist/types/contracts/interfaces/ISlashingManager.d.ts.map +1 -0
  228. package/dist/types/contracts/interfaces/ISlashingManager.js +24 -0
  229. package/dist/types/contracts/interfaces/index.d.ts +3 -2
  230. package/dist/types/contracts/interfaces/index.d.ts.map +1 -1
  231. package/dist/types/contracts/lib/ExitQueueLib.d.ts +73 -0
  232. package/dist/types/contracts/lib/ExitQueueLib.d.ts.map +1 -0
  233. package/dist/types/contracts/lib/ExitQueueLib.js +12 -0
  234. package/dist/types/contracts/lib/index.d.ts +2 -0
  235. package/dist/types/contracts/lib/index.d.ts.map +1 -0
  236. package/dist/types/contracts/lib/index.js +1 -0
  237. package/dist/types/contracts/registry/BondingRegistry.d.ts +821 -0
  238. package/dist/types/contracts/registry/BondingRegistry.d.ts.map +1 -0
  239. package/dist/types/contracts/registry/BondingRegistry.js +44 -0
  240. package/dist/types/contracts/registry/CiphernodeRegistryOwnable.d.ts +194 -34
  241. package/dist/types/contracts/registry/CiphernodeRegistryOwnable.d.ts.map +1 -1
  242. package/dist/types/contracts/registry/CiphernodeRegistryOwnable.js +20 -0
  243. package/dist/types/contracts/registry/index.d.ts +1 -1
  244. package/dist/types/contracts/registry/index.d.ts.map +1 -1
  245. package/dist/types/contracts/slashing/SlashingManager.d.ts +592 -0
  246. package/dist/types/contracts/slashing/SlashingManager.d.ts.map +1 -0
  247. package/dist/types/contracts/slashing/SlashingManager.js +36 -0
  248. package/dist/types/contracts/slashing/index.d.ts +2 -0
  249. package/dist/types/contracts/slashing/index.d.ts.map +1 -0
  250. package/dist/types/contracts/slashing/index.js +1 -0
  251. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.d.ts +247 -17
  252. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.d.ts.map +1 -1
  253. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.js +16 -0
  254. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.d.ts +247 -17
  255. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.d.ts.map +1 -1
  256. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.js +16 -0
  257. package/dist/types/contracts/test/MockE3Program.d.ts +20 -14
  258. package/dist/types/contracts/test/MockE3Program.d.ts.map +1 -1
  259. package/dist/types/contracts/test/{MockInputValidator.d.ts → MockSlashingVerifier.d.ts} +15 -15
  260. package/dist/types/contracts/test/MockSlashingVerifier.d.ts.map +1 -0
  261. package/dist/types/contracts/test/MockSlashingVerifier.js +1 -0
  262. package/dist/types/contracts/test/MockStableToken.sol/MockUSDC.d.ts +227 -0
  263. package/dist/types/contracts/test/MockStableToken.sol/MockUSDC.d.ts.map +1 -0
  264. package/dist/types/contracts/test/MockStableToken.sol/MockUSDC.js +12 -0
  265. package/dist/types/contracts/test/MockStableToken.sol/index.d.ts +2 -0
  266. package/dist/types/contracts/test/MockStableToken.sol/index.d.ts.map +1 -0
  267. package/dist/types/contracts/test/MockStableToken.sol/index.js +1 -0
  268. package/dist/types/contracts/test/index.d.ts +3 -3
  269. package/dist/types/contracts/test/index.d.ts.map +1 -1
  270. package/dist/types/contracts/token/EnclaveTicketToken.d.ts +574 -0
  271. package/dist/types/contracts/token/EnclaveTicketToken.d.ts.map +1 -0
  272. package/dist/types/contracts/token/EnclaveTicketToken.js +24 -0
  273. package/dist/types/contracts/token/EnclaveToken.d.ts +775 -0
  274. package/dist/types/contracts/token/EnclaveToken.d.ts.map +1 -0
  275. package/dist/types/contracts/token/EnclaveToken.js +48 -0
  276. package/dist/types/contracts/token/index.d.ts +3 -0
  277. package/dist/types/contracts/token/index.d.ts.map +1 -0
  278. package/dist/types/contracts/token/index.js +1 -0
  279. package/dist/types/factories/@openzeppelin/contracts/index.d.ts +2 -0
  280. package/dist/types/factories/@openzeppelin/contracts/index.d.ts.map +1 -0
  281. package/dist/types/factories/@openzeppelin/contracts/index.js +4 -0
  282. package/dist/types/factories/@openzeppelin/contracts/proxy/index.d.ts +2 -0
  283. package/dist/types/factories/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
  284. package/dist/types/factories/@openzeppelin/contracts/proxy/index.js +4 -0
  285. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +118 -0
  286. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts.map +1 -0
  287. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js +157 -0
  288. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts +57 -0
  289. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts.map +1 -0
  290. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.js +78 -0
  291. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +105 -0
  292. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts.map +1 -0
  293. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.js +141 -0
  294. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +3 -0
  295. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts.map +1 -0
  296. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.js +5 -0
  297. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
  298. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts.map +1 -0
  299. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/index.js +5 -0
  300. package/dist/types/factories/@openzeppelin/index.d.ts +2 -0
  301. package/dist/types/factories/@openzeppelin/index.d.ts.map +1 -0
  302. package/dist/types/factories/@openzeppelin/index.js +4 -0
  303. package/dist/types/factories/contracts/Enclave__factory.d.ts +190 -104
  304. package/dist/types/factories/contracts/Enclave__factory.d.ts.map +1 -1
  305. package/dist/types/factories/contracts/Enclave__factory.js +241 -134
  306. package/dist/types/factories/contracts/index.d.ts +3 -0
  307. package/dist/types/factories/contracts/index.d.ts.map +1 -1
  308. package/dist/types/factories/contracts/index.js +3 -0
  309. package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.d.ts +678 -0
  310. package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.d.ts.map +1 -0
  311. package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.js +882 -0
  312. package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.d.ts +253 -9
  313. package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.d.ts.map +1 -1
  314. package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.js +325 -9
  315. package/dist/types/factories/contracts/interfaces/IE3Program__factory.d.ts +16 -2
  316. package/dist/types/factories/contracts/interfaces/IE3Program__factory.d.ts.map +1 -1
  317. package/dist/types/factories/contracts/interfaces/IE3Program__factory.js +20 -2
  318. package/dist/types/factories/contracts/interfaces/IEnclave__factory.d.ts +190 -24
  319. package/dist/types/factories/contracts/interfaces/IEnclave__factory.d.ts.map +1 -1
  320. package/dist/types/factories/contracts/interfaces/IEnclave__factory.js +246 -26
  321. package/dist/types/factories/contracts/interfaces/ISlashVerifier__factory.d.ts +26 -0
  322. package/dist/types/factories/contracts/interfaces/ISlashVerifier__factory.d.ts.map +1 -0
  323. package/dist/types/factories/contracts/interfaces/{IRegistryFilter__factory.js → ISlashVerifier__factory.js} +7 -7
  324. package/dist/types/factories/contracts/interfaces/ISlashingManager__factory.d.ts +594 -0
  325. package/dist/types/factories/contracts/interfaces/ISlashingManager__factory.d.ts.map +1 -0
  326. package/dist/types/factories/contracts/interfaces/ISlashingManager__factory.js +760 -0
  327. package/dist/types/factories/contracts/interfaces/index.d.ts +3 -2
  328. package/dist/types/factories/contracts/interfaces/index.d.ts.map +1 -1
  329. package/dist/types/factories/contracts/interfaces/index.js +3 -2
  330. package/dist/types/factories/contracts/lib/ExitQueueLib__factory.d.ts +107 -0
  331. package/dist/types/factories/contracts/lib/ExitQueueLib__factory.d.ts.map +1 -0
  332. package/dist/types/factories/contracts/lib/ExitQueueLib__factory.js +138 -0
  333. package/dist/types/factories/contracts/lib/index.d.ts +2 -0
  334. package/dist/types/factories/contracts/lib/index.d.ts.map +1 -0
  335. package/dist/types/factories/contracts/lib/index.js +4 -0
  336. package/dist/types/factories/contracts/registry/BondingRegistry__factory.d.ts +958 -0
  337. package/dist/types/factories/contracts/registry/BondingRegistry__factory.d.ts.map +1 -0
  338. package/dist/types/factories/contracts/registry/BondingRegistry__factory.js +1239 -0
  339. package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.d.ts +272 -40
  340. package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.d.ts.map +1 -1
  341. package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.js +343 -49
  342. package/dist/types/factories/contracts/registry/index.d.ts +1 -1
  343. package/dist/types/factories/contracts/registry/index.d.ts.map +1 -1
  344. package/dist/types/factories/contracts/registry/index.js +1 -1
  345. package/dist/types/factories/contracts/slashing/SlashingManager__factory.d.ts +879 -0
  346. package/dist/types/factories/contracts/slashing/SlashingManager__factory.d.ts.map +1 -0
  347. package/dist/types/factories/contracts/slashing/SlashingManager__factory.js +1129 -0
  348. package/dist/types/factories/contracts/slashing/index.d.ts +2 -0
  349. package/dist/types/factories/contracts/slashing/index.d.ts.map +1 -0
  350. package/dist/types/factories/contracts/slashing/index.js +4 -0
  351. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.d.ts +254 -10
  352. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.d.ts.map +1 -1
  353. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.js +326 -10
  354. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.d.ts +254 -10
  355. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.d.ts.map +1 -1
  356. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.js +326 -10
  357. package/dist/types/factories/contracts/test/MockComputeProvider__factory.d.ts +2 -2
  358. package/dist/types/factories/contracts/test/MockComputeProvider__factory.d.ts.map +1 -1
  359. package/dist/types/factories/contracts/test/MockComputeProvider__factory.js +2 -2
  360. package/dist/types/factories/contracts/test/MockDecryptionVerifier__factory.d.ts +1 -1
  361. package/dist/types/factories/contracts/test/MockDecryptionVerifier__factory.d.ts.map +1 -1
  362. package/dist/types/factories/contracts/test/MockDecryptionVerifier__factory.js +1 -1
  363. package/dist/types/factories/contracts/test/MockE3Program__factory.d.ts +23 -27
  364. package/dist/types/factories/contracts/test/MockE3Program__factory.d.ts.map +1 -1
  365. package/dist/types/factories/contracts/test/MockE3Program__factory.js +28 -34
  366. package/dist/types/factories/contracts/test/MockSlashingVerifier__factory.d.ts +43 -0
  367. package/dist/types/factories/contracts/test/MockSlashingVerifier__factory.d.ts.map +1 -0
  368. package/dist/types/factories/contracts/test/MockSlashingVerifier__factory.js +60 -0
  369. package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.d.ts +338 -0
  370. package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.d.ts.map +1 -0
  371. package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.js +447 -0
  372. package/dist/types/factories/contracts/test/MockStableToken.sol/index.d.ts +2 -0
  373. package/dist/types/factories/contracts/test/MockStableToken.sol/index.d.ts.map +1 -0
  374. package/dist/types/factories/contracts/test/MockStableToken.sol/index.js +4 -0
  375. package/dist/types/factories/contracts/test/index.d.ts +2 -2
  376. package/dist/types/factories/contracts/test/index.d.ts.map +1 -1
  377. package/dist/types/factories/contracts/test/index.js +2 -2
  378. package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.d.ts +894 -0
  379. package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.d.ts.map +1 -0
  380. package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.js +1175 -0
  381. package/dist/types/factories/contracts/token/EnclaveToken__factory.d.ts +1101 -0
  382. package/dist/types/factories/contracts/token/EnclaveToken__factory.d.ts.map +1 -0
  383. package/dist/types/factories/contracts/token/EnclaveToken__factory.js +1439 -0
  384. package/dist/types/factories/contracts/token/index.d.ts +3 -0
  385. package/dist/types/factories/contracts/token/index.d.ts.map +1 -0
  386. package/dist/types/factories/contracts/token/index.js +5 -0
  387. package/dist/types/factories/index.d.ts +1 -0
  388. package/dist/types/factories/index.d.ts.map +1 -1
  389. package/dist/types/factories/index.js +1 -0
  390. package/dist/types/factories/poseidon-solidity/PoseidonT3__factory.d.ts +1 -1
  391. package/dist/types/factories/poseidon-solidity/PoseidonT3__factory.d.ts.map +1 -1
  392. package/dist/types/factories/poseidon-solidity/PoseidonT3__factory.js +1 -1
  393. package/dist/types/index.d.ts +28 -12
  394. package/dist/types/index.d.ts.map +1 -1
  395. package/dist/types/index.js +13 -6
  396. package/package.json +30 -21
  397. package/LICENSE.md +0 -165
  398. package/artifacts/build-info/solc-0_8_27-9aea5e3f6e25811e781e96c22e8edaf1eb1a01c5.json +0 -130
  399. package/artifacts/build-info/solc-0_8_27-9aea5e3f6e25811e781e96c22e8edaf1eb1a01c5.output.json +0 -1
  400. package/artifacts/contracts/interfaces/IInputValidator.sol/IInputValidator.json +0 -38
  401. package/artifacts/contracts/interfaces/IInputValidator.sol/artifacts.d.ts +0 -27
  402. package/artifacts/contracts/interfaces/IRegistryFilter.sol/artifacts.d.ts +0 -27
  403. package/artifacts/contracts/registry/NaiveRegistryFilter.sol/NaiveRegistryFilter.json +0 -309
  404. package/artifacts/contracts/registry/NaiveRegistryFilter.sol/artifacts.d.ts +0 -27
  405. package/artifacts/contracts/test/MockInputValidator.sol/MockInputValidator.json +0 -43
  406. package/artifacts/contracts/test/MockInputValidator.sol/artifacts.d.ts +0 -27
  407. package/artifacts/contracts/test/MockRegistryFilter.sol/IRegistry.json +0 -37
  408. package/artifacts/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter.json +0 -262
  409. package/artifacts/contracts/test/MockRegistryFilter.sol/artifacts.d.ts +0 -43
  410. package/contracts/interfaces/IInputValidator.sol +0 -18
  411. package/contracts/interfaces/IRegistryFilter.sol +0 -13
  412. package/contracts/registry/NaiveRegistryFilter.sol +0 -124
  413. package/contracts/test/MockInputValidator.sol +0 -29
  414. package/contracts/test/MockRegistryFilter.sol +0 -117
  415. package/dist/ignition/modules/mockInputValidator.d.ts.map +0 -1
  416. package/dist/ignition/modules/naiveRegistryFilter.d.ts.map +0 -1
  417. package/dist/ignition/modules/naiveRegistryFilter.js +0 -16
  418. package/dist/scripts/deployAndSave/mockInputValidator.d.ts +0 -6
  419. package/dist/scripts/deployAndSave/mockInputValidator.d.ts.map +0 -1
  420. package/dist/scripts/deployAndSave/mockInputValidator.js +0 -18
  421. package/dist/scripts/deployAndSave/naiveRegistryFilter.d.ts +0 -11
  422. package/dist/scripts/deployAndSave/naiveRegistryFilter.d.ts.map +0 -1
  423. package/dist/scripts/deployAndSave/naiveRegistryFilter.js +0 -41
  424. package/dist/test/CiphernodeRegistry/CiphernodeRegistryOwnable.spec.d.ts.map +0 -1
  425. package/dist/test/CiphernodeRegistry/CiphernodeRegistryOwnable.spec.js +0 -279
  426. package/dist/test/CiphernodeRegistry/NaiveRegistryFilter.spec.d.ts +0 -2
  427. package/dist/test/CiphernodeRegistry/NaiveRegistryFilter.spec.d.ts.map +0 -1
  428. package/dist/test/CiphernodeRegistry/NaiveRegistryFilter.spec.js +0 -160
  429. package/dist/types/contracts/interfaces/IInputValidator.d.ts +0 -36
  430. package/dist/types/contracts/interfaces/IInputValidator.d.ts.map +0 -1
  431. package/dist/types/contracts/interfaces/IRegistryFilter.d.ts.map +0 -1
  432. package/dist/types/contracts/registry/NaiveRegistryFilter.d.ts +0 -187
  433. package/dist/types/contracts/registry/NaiveRegistryFilter.d.ts.map +0 -1
  434. package/dist/types/contracts/test/MockInputValidator.d.ts.map +0 -1
  435. package/dist/types/contracts/test/MockRegistryFilter.sol/IRegistry.d.ts +0 -38
  436. package/dist/types/contracts/test/MockRegistryFilter.sol/IRegistry.d.ts.map +0 -1
  437. package/dist/types/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter.d.ts +0 -163
  438. package/dist/types/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter.d.ts.map +0 -1
  439. package/dist/types/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter.js +0 -8
  440. package/dist/types/contracts/test/MockRegistryFilter.sol/index.d.ts +0 -3
  441. package/dist/types/contracts/test/MockRegistryFilter.sol/index.d.ts.map +0 -1
  442. package/dist/types/factories/contracts/interfaces/IInputValidator__factory.d.ts +0 -26
  443. package/dist/types/factories/contracts/interfaces/IInputValidator__factory.d.ts.map +0 -1
  444. package/dist/types/factories/contracts/interfaces/IInputValidator__factory.js +0 -39
  445. package/dist/types/factories/contracts/interfaces/IRegistryFilter__factory.d.ts +0 -26
  446. package/dist/types/factories/contracts/interfaces/IRegistryFilter__factory.d.ts.map +0 -1
  447. package/dist/types/factories/contracts/registry/NaiveRegistryFilter__factory.d.ts +0 -251
  448. package/dist/types/factories/contracts/registry/NaiveRegistryFilter__factory.d.ts.map +0 -1
  449. package/dist/types/factories/contracts/registry/NaiveRegistryFilter__factory.js +0 -331
  450. package/dist/types/factories/contracts/test/MockInputValidator__factory.d.ts +0 -47
  451. package/dist/types/factories/contracts/test/MockInputValidator__factory.d.ts.map +0 -1
  452. package/dist/types/factories/contracts/test/MockInputValidator__factory.js +0 -65
  453. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/IRegistry__factory.d.ts +0 -26
  454. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/IRegistry__factory.d.ts.map +0 -1
  455. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/IRegistry__factory.js +0 -38
  456. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter__factory.d.ts +0 -216
  457. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter__factory.d.ts.map +0 -1
  458. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/MockNaiveRegistryFilter__factory.js +0 -284
  459. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/index.d.ts +0 -3
  460. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/index.d.ts.map +0 -1
  461. package/dist/types/factories/contracts/test/MockRegistryFilter.sol/index.js +0 -5
  462. /package/dist/test/{CiphernodeRegistry → Registry}/CiphernodeRegistryOwnable.spec.d.ts +0 -0
  463. /package/dist/types/{contracts/test/MockRegistryFilter.sol → @openzeppelin/contracts}/index.js +0 -0
  464. /package/dist/types/{contracts/interfaces/IInputValidator.js → @openzeppelin/contracts/proxy/index.js} +0 -0
  465. /package/dist/types/{contracts/interfaces/IRegistryFilter.js → @openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.js} +0 -0
  466. /package/dist/types/{contracts/test/MockInputValidator.js → @openzeppelin/contracts/proxy/transparent/index.js} +0 -0
  467. /package/dist/types/{contracts/test/MockRegistryFilter.sol/IRegistry.js → @openzeppelin/index.js} +0 -0
@@ -1,262 +0,0 @@
1
- {
2
- "_format": "hh3-artifact-1",
3
- "contractName": "MockNaiveRegistryFilter",
4
- "sourceName": "contracts/test/MockRegistryFilter.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "_owner",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "_enclave",
16
- "type": "address"
17
- }
18
- ],
19
- "stateMutability": "nonpayable",
20
- "type": "constructor"
21
- },
22
- {
23
- "inputs": [],
24
- "name": "CommitteeAlreadyExists",
25
- "type": "error"
26
- },
27
- {
28
- "inputs": [],
29
- "name": "CommitteeAlreadyPublished",
30
- "type": "error"
31
- },
32
- {
33
- "inputs": [],
34
- "name": "CommitteeDoesNotExist",
35
- "type": "error"
36
- },
37
- {
38
- "inputs": [],
39
- "name": "CommitteeNotPublished",
40
- "type": "error"
41
- },
42
- {
43
- "inputs": [],
44
- "name": "InvalidInitialization",
45
- "type": "error"
46
- },
47
- {
48
- "inputs": [],
49
- "name": "NotInitializing",
50
- "type": "error"
51
- },
52
- {
53
- "inputs": [],
54
- "name": "OnlyRegistry",
55
- "type": "error"
56
- },
57
- {
58
- "inputs": [
59
- {
60
- "internalType": "address",
61
- "name": "owner",
62
- "type": "address"
63
- }
64
- ],
65
- "name": "OwnableInvalidOwner",
66
- "type": "error"
67
- },
68
- {
69
- "inputs": [
70
- {
71
- "internalType": "address",
72
- "name": "account",
73
- "type": "address"
74
- }
75
- ],
76
- "name": "OwnableUnauthorizedAccount",
77
- "type": "error"
78
- },
79
- {
80
- "anonymous": false,
81
- "inputs": [
82
- {
83
- "indexed": false,
84
- "internalType": "uint64",
85
- "name": "version",
86
- "type": "uint64"
87
- }
88
- ],
89
- "name": "Initialized",
90
- "type": "event"
91
- },
92
- {
93
- "anonymous": false,
94
- "inputs": [
95
- {
96
- "indexed": true,
97
- "internalType": "address",
98
- "name": "previousOwner",
99
- "type": "address"
100
- },
101
- {
102
- "indexed": true,
103
- "internalType": "address",
104
- "name": "newOwner",
105
- "type": "address"
106
- }
107
- ],
108
- "name": "OwnershipTransferred",
109
- "type": "event"
110
- },
111
- {
112
- "inputs": [
113
- {
114
- "internalType": "uint256",
115
- "name": "e3",
116
- "type": "uint256"
117
- }
118
- ],
119
- "name": "committees",
120
- "outputs": [
121
- {
122
- "internalType": "bytes",
123
- "name": "publicKey",
124
- "type": "bytes"
125
- }
126
- ],
127
- "stateMutability": "view",
128
- "type": "function"
129
- },
130
- {
131
- "inputs": [
132
- {
133
- "internalType": "address",
134
- "name": "_owner",
135
- "type": "address"
136
- },
137
- {
138
- "internalType": "address",
139
- "name": "_registry",
140
- "type": "address"
141
- }
142
- ],
143
- "name": "initialize",
144
- "outputs": [],
145
- "stateMutability": "nonpayable",
146
- "type": "function"
147
- },
148
- {
149
- "inputs": [],
150
- "name": "owner",
151
- "outputs": [
152
- {
153
- "internalType": "address",
154
- "name": "",
155
- "type": "address"
156
- }
157
- ],
158
- "stateMutability": "view",
159
- "type": "function"
160
- },
161
- {
162
- "inputs": [
163
- {
164
- "internalType": "uint256",
165
- "name": "e3Id",
166
- "type": "uint256"
167
- },
168
- {
169
- "internalType": "address[]",
170
- "name": "nodes",
171
- "type": "address[]"
172
- },
173
- {
174
- "internalType": "bytes",
175
- "name": "publicKey",
176
- "type": "bytes"
177
- }
178
- ],
179
- "name": "publishCommittee",
180
- "outputs": [],
181
- "stateMutability": "nonpayable",
182
- "type": "function"
183
- },
184
- {
185
- "inputs": [],
186
- "name": "registry",
187
- "outputs": [
188
- {
189
- "internalType": "address",
190
- "name": "",
191
- "type": "address"
192
- }
193
- ],
194
- "stateMutability": "view",
195
- "type": "function"
196
- },
197
- {
198
- "inputs": [],
199
- "name": "renounceOwnership",
200
- "outputs": [],
201
- "stateMutability": "nonpayable",
202
- "type": "function"
203
- },
204
- {
205
- "inputs": [
206
- {
207
- "internalType": "uint256",
208
- "name": "e3Id",
209
- "type": "uint256"
210
- },
211
- {
212
- "internalType": "uint32[2]",
213
- "name": "threshold",
214
- "type": "uint32[2]"
215
- }
216
- ],
217
- "name": "requestCommittee",
218
- "outputs": [
219
- {
220
- "internalType": "bool",
221
- "name": "success",
222
- "type": "bool"
223
- }
224
- ],
225
- "stateMutability": "nonpayable",
226
- "type": "function"
227
- },
228
- {
229
- "inputs": [
230
- {
231
- "internalType": "address",
232
- "name": "_registry",
233
- "type": "address"
234
- }
235
- ],
236
- "name": "setRegistry",
237
- "outputs": [],
238
- "stateMutability": "nonpayable",
239
- "type": "function"
240
- },
241
- {
242
- "inputs": [
243
- {
244
- "internalType": "address",
245
- "name": "newOwner",
246
- "type": "address"
247
- }
248
- ],
249
- "name": "transferOwnership",
250
- "outputs": [],
251
- "stateMutability": "nonpayable",
252
- "type": "function"
253
- }
254
- ],
255
- "bytecode": "0x608060405234801561000f575f5ffd5b5060405161100438038061100483398101604081905261002e916102f6565b610038828261003f565b5050610327565b5f516020610fe45f395f51905f52805468010000000000000000810460ff1615906001600160401b03165f811580156100755750825b90505f826001600160401b031660011480156100905750303b155b90508115801561009e575080155b156100bc5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156100ea57845460ff60401b1916680100000000000000001785555b6100f333610175565b6100fc86610189565b5f516020610fc45f395f51905f52546001600160a01b0388811691161461012657610126876101b2565b831561016c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61017d6101f1565b6101868161022e565b50565b610191610236565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6101ba610236565b6001600160a01b0381166101e857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101868161027e565b5f516020610fe45f395f51905f525468010000000000000000900460ff1661022c57604051631afcd79f60e31b815260040160405180910390fd5b565b6101ba6101f1565b336102555f516020610fc45f395f51905f52546001600160a01b031690565b6001600160a01b03161461022c5760405163118cdaa760e01b81523360048201526024016101df565b5f516020610fc45f395f51905f5280546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b80516001600160a01b03811681146102f1575f5ffd5b919050565b5f5f60408385031215610307575f5ffd5b610310836102db565b915061031e602084016102db565b90509250929050565b610c90806103345f395ff3fe608060405234801561000f575f5ffd5b506004361061009f575f3560e01c80637b10399911610072578063a91ee0dc11610058578063a91ee0dc14610155578063f2fde38b14610168578063f5e820fd1461017b575f5ffd5b80637b103999146100fb5780638da5cb5b14610125575f5ffd5b806329f73b9c146100a35780632b20a4f6146100b8578063485cc955146100e0578063715018a6146100f3575b5f5ffd5b6100b66100b1366004610886565b61019b565b005b6100cb6100c6366004610969565b610292565b60405190151581526020015b60405180910390f35b6100b66100ee366004610999565b6102e3565b6100b661044c565b5f5461010d906001600160a01b031681565b6040516001600160a01b0390911681526020016100d7565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031661010d565b6100b66101633660046109ca565b61045f565b6100b66101763660046109ca565b610495565b61018e6101893660046109ea565b6104d7565b6040516100d79190610a2f565b6101a3610574565b5f838152600160205260409081902090517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470906101e4906002840190610a79565b60405180910390201461020a5760405163632a22bb60e01b815260040160405180910390fd5b825161021c90829060208601906106b3565b506002810161022b8382610b36565b505f54604051630a7dcee760e21b81526001600160a01b03909116906329f73b9c9061025f90879087908790600401610bf1565b5f604051808303815f87803b158015610276575f5ffd5b505af1158015610288573d5f5f3e3d5ffd5b5050505050505050565b5f80546001600160a01b031633146102bd576040516310f5403960e31b815260040160405180910390fd5b5f8381526001602052604090206040516334c2a65d60e11b815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f8115801561032d5750825b90505f8267ffffffffffffffff1660011480156103495750303b155b905081158015610357575080155b156103755760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103a957845468ff00000000000000001916680100000000000000001785555b6103b2336105cf565b6103bb8661045f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038881169116146103f8576103f887610495565b831561044357845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610454610574565b61045d5f6105e0565b565b610467610574565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61049d610574565b6001600160a01b0381166104cb57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6104d4816105e0565b50565b60016020525f908152604090206002810180546104f390610a41565b80601f016020809104026020016040519081016040528092919081815260200182805461051f90610a41565b801561056a5780601f106105415761010080835404028352916020019161056a565b820191905f5260205f20905b81548152906001019060200180831161054d57829003601f168201915b5050505050905081565b336105a67f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461045d5760405163118cdaa760e01b81523360048201526024016104c2565b6105d761065d565b6104d4816106ab565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661045d57604051631afcd79f60e31b815260040160405180910390fd5b61049d61065d565b828054828255905f5260205f20908101928215610713579160200282015b82811115610713578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906106d1565b5061071f9291506107a6565b5090565b8382111561076d57833563ffffffff1683826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302610723565b801561079d5782816101000a81549063ffffffff021916905560040160208160030104928301926001030261076d565b505061071f9291505b5b8082111561071f575f81556001016107a7565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156107f7576107f76107ba565b604052919050565b80356001600160a01b0381168114610815575f5ffd5b919050565b5f82601f830112610829575f5ffd5b813567ffffffffffffffff811115610843576108436107ba565b610856601f8201601f19166020016107ce565b81815284602083860101111561086a575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f60608486031215610898575f5ffd5b83359250602084013567ffffffffffffffff8111156108b5575f5ffd5b8401601f810186136108c5575f5ffd5b803567ffffffffffffffff8111156108df576108df6107ba565b8060051b6108ef602082016107ce565b9182526020818401810192908101908984111561090a575f5ffd5b6020850194505b8385101561093357610922856107ff565b825260209485019490910190610911565b95505050506040850135905067ffffffffffffffff811115610953575f5ffd5b61095f8682870161081a565b9150509250925092565b5f5f6060838503121561097a575f5ffd5b823591506060830184101561098d575f5ffd5b50926020919091019150565b5f5f604083850312156109aa575f5ffd5b6109b3836107ff565b91506109c1602084016107ff565b90509250929050565b5f602082840312156109da575f5ffd5b6109e3826107ff565b9392505050565b5f602082840312156109fa575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109e36020830184610a01565b600181811c90821680610a5557607f821691505b602082108103610a7357634e487b7160e01b5f52602260045260245ffd5b50919050565b5f5f8354610a8681610a41565b600182168015610a9d5760018114610ab257610adf565b60ff1983168652811515820286019350610adf565b865f5260205f205f5b83811015610ad757815488820152600190910190602001610abb565b505081860193505b509195945050505050565b601f821115610b3157805f5260205f20601f840160051c81016020851015610b0f5750805b601f840160051c820191505b81811015610b2e575f8155600101610b1b565b50505b505050565b815167ffffffffffffffff811115610b5057610b506107ba565b610b6481610b5e8454610a41565b84610aea565b6020601f821160018114610b96575f8315610b7f5750848201515b5f19600385901b1c1916600184901b178455610b2e565b5f84815260208120601f198516915b82811015610bc55787850151825560209485019460019092019101610ba5565b5084821015610be257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015610c3b5783516001600160a01b0316835260209384019390920191600101610c14565b50508381036040850152610c4f8186610a01565b97965050505050505056fea26469706673582212209a58b509495a02602bd16aefb907b3108b7a38b051cfbe23695aa398f0a0b2c464736f6c634300081b00339016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00",
256
- "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061009f575f3560e01c80637b10399911610072578063a91ee0dc11610058578063a91ee0dc14610155578063f2fde38b14610168578063f5e820fd1461017b575f5ffd5b80637b103999146100fb5780638da5cb5b14610125575f5ffd5b806329f73b9c146100a35780632b20a4f6146100b8578063485cc955146100e0578063715018a6146100f3575b5f5ffd5b6100b66100b1366004610886565b61019b565b005b6100cb6100c6366004610969565b610292565b60405190151581526020015b60405180910390f35b6100b66100ee366004610999565b6102e3565b6100b661044c565b5f5461010d906001600160a01b031681565b6040516001600160a01b0390911681526020016100d7565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031661010d565b6100b66101633660046109ca565b61045f565b6100b66101763660046109ca565b610495565b61018e6101893660046109ea565b6104d7565b6040516100d79190610a2f565b6101a3610574565b5f838152600160205260409081902090517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470906101e4906002840190610a79565b60405180910390201461020a5760405163632a22bb60e01b815260040160405180910390fd5b825161021c90829060208601906106b3565b506002810161022b8382610b36565b505f54604051630a7dcee760e21b81526001600160a01b03909116906329f73b9c9061025f90879087908790600401610bf1565b5f604051808303815f87803b158015610276575f5ffd5b505af1158015610288573d5f5f3e3d5ffd5b5050505050505050565b5f80546001600160a01b031633146102bd576040516310f5403960e31b815260040160405180910390fd5b5f8381526001602052604090206040516334c2a65d60e11b815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f8115801561032d5750825b90505f8267ffffffffffffffff1660011480156103495750303b155b905081158015610357575080155b156103755760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103a957845468ff00000000000000001916680100000000000000001785555b6103b2336105cf565b6103bb8661045f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038881169116146103f8576103f887610495565b831561044357845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610454610574565b61045d5f6105e0565b565b610467610574565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61049d610574565b6001600160a01b0381166104cb57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6104d4816105e0565b50565b60016020525f908152604090206002810180546104f390610a41565b80601f016020809104026020016040519081016040528092919081815260200182805461051f90610a41565b801561056a5780601f106105415761010080835404028352916020019161056a565b820191905f5260205f20905b81548152906001019060200180831161054d57829003601f168201915b5050505050905081565b336105a67f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461045d5760405163118cdaa760e01b81523360048201526024016104c2565b6105d761065d565b6104d4816106ab565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661045d57604051631afcd79f60e31b815260040160405180910390fd5b61049d61065d565b828054828255905f5260205f20908101928215610713579160200282015b82811115610713578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906106d1565b5061071f9291506107a6565b5090565b8382111561076d57833563ffffffff1683826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302610723565b801561079d5782816101000a81549063ffffffff021916905560040160208160030104928301926001030261076d565b505061071f9291505b5b8082111561071f575f81556001016107a7565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156107f7576107f76107ba565b604052919050565b80356001600160a01b0381168114610815575f5ffd5b919050565b5f82601f830112610829575f5ffd5b813567ffffffffffffffff811115610843576108436107ba565b610856601f8201601f19166020016107ce565b81815284602083860101111561086a575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f60608486031215610898575f5ffd5b83359250602084013567ffffffffffffffff8111156108b5575f5ffd5b8401601f810186136108c5575f5ffd5b803567ffffffffffffffff8111156108df576108df6107ba565b8060051b6108ef602082016107ce565b9182526020818401810192908101908984111561090a575f5ffd5b6020850194505b8385101561093357610922856107ff565b825260209485019490910190610911565b95505050506040850135905067ffffffffffffffff811115610953575f5ffd5b61095f8682870161081a565b9150509250925092565b5f5f6060838503121561097a575f5ffd5b823591506060830184101561098d575f5ffd5b50926020919091019150565b5f5f604083850312156109aa575f5ffd5b6109b3836107ff565b91506109c1602084016107ff565b90509250929050565b5f602082840312156109da575f5ffd5b6109e3826107ff565b9392505050565b5f602082840312156109fa575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109e36020830184610a01565b600181811c90821680610a5557607f821691505b602082108103610a7357634e487b7160e01b5f52602260045260245ffd5b50919050565b5f5f8354610a8681610a41565b600182168015610a9d5760018114610ab257610adf565b60ff1983168652811515820286019350610adf565b865f5260205f205f5b83811015610ad757815488820152600190910190602001610abb565b505081860193505b509195945050505050565b601f821115610b3157805f5260205f20601f840160051c81016020851015610b0f5750805b601f840160051c820191505b81811015610b2e575f8155600101610b1b565b50505b505050565b815167ffffffffffffffff811115610b5057610b506107ba565b610b6481610b5e8454610a41565b84610aea565b6020601f821160018114610b96575f8315610b7f5750848201515b5f19600385901b1c1916600184901b178455610b2e565b5f84815260208120601f198516915b82811015610bc55787850151825560209485019460019092019101610ba5565b5084821015610be257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015610c3b5783516001600160a01b0316835260209384019390920191600101610c14565b50508381036040850152610c4f8186610a01565b97965050505050505056fea26469706673582212209a58b509495a02602bd16aefb907b3108b7a38b051cfbe23695aa398f0a0b2c464736f6c634300081b0033",
257
- "linkReferences": {},
258
- "deployedLinkReferences": {},
259
- "immutableReferences": {},
260
- "inputSourceName": "project/contracts/test/MockRegistryFilter.sol",
261
- "buildInfoId": "solc-0_8_27-9aea5e3f6e25811e781e96c22e8edaf1eb1a01c5"
262
- }
@@ -1,43 +0,0 @@
1
- // This file was autogenerated by Hardhat, do not edit it.
2
- // prettier-ignore
3
- // tslint:disable
4
- // eslint-disable
5
- // biome-ignore format: see above
6
-
7
- export interface IRegistry$Type {
8
- readonly _format: "hh3-artifact-1";
9
- readonly contractName: "IRegistry";
10
- readonly sourceName: "contracts/test/MockRegistryFilter.sol";
11
- readonly abi: [{"inputs":[{"internalType":"uint256","name":"e3Id","type":"uint256"},{"internalType":"address[]","name":"ciphernodes","type":"address[]"},{"internalType":"bytes","name":"publicKey","type":"bytes"}],"name":"publishCommittee","outputs":[],"stateMutability":"nonpayable","type":"function"}];
12
- readonly bytecode: "0x";
13
- readonly deployedBytecode: "0x";
14
- readonly linkReferences: {};
15
- readonly deployedLinkReferences: {};
16
- readonly immutableReferences: {};
17
- readonly inputSourceName: "project/contracts/test/MockRegistryFilter.sol";
18
- readonly buildInfoId: "solc-0_8_27-9aea5e3f6e25811e781e96c22e8edaf1eb1a01c5";
19
- };
20
-
21
- export interface MockNaiveRegistryFilter$Type {
22
- readonly _format: "hh3-artifact-1";
23
- readonly contractName: "MockNaiveRegistryFilter";
24
- readonly sourceName: "contracts/test/MockRegistryFilter.sol";
25
- readonly abi: [{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_enclave","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CommitteeAlreadyExists","type":"error"},{"inputs":[],"name":"CommitteeAlreadyPublished","type":"error"},{"inputs":[],"name":"CommitteeDoesNotExist","type":"error"},{"inputs":[],"name":"CommitteeNotPublished","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"OnlyRegistry","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"uint256","name":"e3","type":"uint256"}],"name":"committees","outputs":[{"internalType":"bytes","name":"publicKey","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"e3Id","type":"uint256"},{"internalType":"address[]","name":"nodes","type":"address[]"},{"internalType":"bytes","name":"publicKey","type":"bytes"}],"name":"publishCommittee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"registry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"e3Id","type":"uint256"},{"internalType":"uint32[2]","name":"threshold","type":"uint32[2]"}],"name":"requestCommittee","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}];
26
- readonly bytecode: "0x608060405234801561000f575f5ffd5b5060405161100438038061100483398101604081905261002e916102f6565b610038828261003f565b5050610327565b5f516020610fe45f395f51905f52805468010000000000000000810460ff1615906001600160401b03165f811580156100755750825b90505f826001600160401b031660011480156100905750303b155b90508115801561009e575080155b156100bc5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156100ea57845460ff60401b1916680100000000000000001785555b6100f333610175565b6100fc86610189565b5f516020610fc45f395f51905f52546001600160a01b0388811691161461012657610126876101b2565b831561016c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61017d6101f1565b6101868161022e565b50565b610191610236565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6101ba610236565b6001600160a01b0381166101e857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101868161027e565b5f516020610fe45f395f51905f525468010000000000000000900460ff1661022c57604051631afcd79f60e31b815260040160405180910390fd5b565b6101ba6101f1565b336102555f516020610fc45f395f51905f52546001600160a01b031690565b6001600160a01b03161461022c5760405163118cdaa760e01b81523360048201526024016101df565b5f516020610fc45f395f51905f5280546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b80516001600160a01b03811681146102f1575f5ffd5b919050565b5f5f60408385031215610307575f5ffd5b610310836102db565b915061031e602084016102db565b90509250929050565b610c90806103345f395ff3fe608060405234801561000f575f5ffd5b506004361061009f575f3560e01c80637b10399911610072578063a91ee0dc11610058578063a91ee0dc14610155578063f2fde38b14610168578063f5e820fd1461017b575f5ffd5b80637b103999146100fb5780638da5cb5b14610125575f5ffd5b806329f73b9c146100a35780632b20a4f6146100b8578063485cc955146100e0578063715018a6146100f3575b5f5ffd5b6100b66100b1366004610886565b61019b565b005b6100cb6100c6366004610969565b610292565b60405190151581526020015b60405180910390f35b6100b66100ee366004610999565b6102e3565b6100b661044c565b5f5461010d906001600160a01b031681565b6040516001600160a01b0390911681526020016100d7565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031661010d565b6100b66101633660046109ca565b61045f565b6100b66101763660046109ca565b610495565b61018e6101893660046109ea565b6104d7565b6040516100d79190610a2f565b6101a3610574565b5f838152600160205260409081902090517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470906101e4906002840190610a79565b60405180910390201461020a5760405163632a22bb60e01b815260040160405180910390fd5b825161021c90829060208601906106b3565b506002810161022b8382610b36565b505f54604051630a7dcee760e21b81526001600160a01b03909116906329f73b9c9061025f90879087908790600401610bf1565b5f604051808303815f87803b158015610276575f5ffd5b505af1158015610288573d5f5f3e3d5ffd5b5050505050505050565b5f80546001600160a01b031633146102bd576040516310f5403960e31b815260040160405180910390fd5b5f8381526001602052604090206040516334c2a65d60e11b815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f8115801561032d5750825b90505f8267ffffffffffffffff1660011480156103495750303b155b905081158015610357575080155b156103755760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103a957845468ff00000000000000001916680100000000000000001785555b6103b2336105cf565b6103bb8661045f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038881169116146103f8576103f887610495565b831561044357845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610454610574565b61045d5f6105e0565b565b610467610574565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61049d610574565b6001600160a01b0381166104cb57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6104d4816105e0565b50565b60016020525f908152604090206002810180546104f390610a41565b80601f016020809104026020016040519081016040528092919081815260200182805461051f90610a41565b801561056a5780601f106105415761010080835404028352916020019161056a565b820191905f5260205f20905b81548152906001019060200180831161054d57829003601f168201915b5050505050905081565b336105a67f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461045d5760405163118cdaa760e01b81523360048201526024016104c2565b6105d761065d565b6104d4816106ab565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661045d57604051631afcd79f60e31b815260040160405180910390fd5b61049d61065d565b828054828255905f5260205f20908101928215610713579160200282015b82811115610713578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906106d1565b5061071f9291506107a6565b5090565b8382111561076d57833563ffffffff1683826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302610723565b801561079d5782816101000a81549063ffffffff021916905560040160208160030104928301926001030261076d565b505061071f9291505b5b8082111561071f575f81556001016107a7565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156107f7576107f76107ba565b604052919050565b80356001600160a01b0381168114610815575f5ffd5b919050565b5f82601f830112610829575f5ffd5b813567ffffffffffffffff811115610843576108436107ba565b610856601f8201601f19166020016107ce565b81815284602083860101111561086a575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f60608486031215610898575f5ffd5b83359250602084013567ffffffffffffffff8111156108b5575f5ffd5b8401601f810186136108c5575f5ffd5b803567ffffffffffffffff8111156108df576108df6107ba565b8060051b6108ef602082016107ce565b9182526020818401810192908101908984111561090a575f5ffd5b6020850194505b8385101561093357610922856107ff565b825260209485019490910190610911565b95505050506040850135905067ffffffffffffffff811115610953575f5ffd5b61095f8682870161081a565b9150509250925092565b5f5f6060838503121561097a575f5ffd5b823591506060830184101561098d575f5ffd5b50926020919091019150565b5f5f604083850312156109aa575f5ffd5b6109b3836107ff565b91506109c1602084016107ff565b90509250929050565b5f602082840312156109da575f5ffd5b6109e3826107ff565b9392505050565b5f602082840312156109fa575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109e36020830184610a01565b600181811c90821680610a5557607f821691505b602082108103610a7357634e487b7160e01b5f52602260045260245ffd5b50919050565b5f5f8354610a8681610a41565b600182168015610a9d5760018114610ab257610adf565b60ff1983168652811515820286019350610adf565b865f5260205f205f5b83811015610ad757815488820152600190910190602001610abb565b505081860193505b509195945050505050565b601f821115610b3157805f5260205f20601f840160051c81016020851015610b0f5750805b601f840160051c820191505b81811015610b2e575f8155600101610b1b565b50505b505050565b815167ffffffffffffffff811115610b5057610b506107ba565b610b6481610b5e8454610a41565b84610aea565b6020601f821160018114610b96575f8315610b7f5750848201515b5f19600385901b1c1916600184901b178455610b2e565b5f84815260208120601f198516915b82811015610bc55787850151825560209485019460019092019101610ba5565b5084821015610be257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015610c3b5783516001600160a01b0316835260209384019390920191600101610c14565b50508381036040850152610c4f8186610a01565b97965050505050505056fea26469706673582212209a58b509495a02602bd16aefb907b3108b7a38b051cfbe23695aa398f0a0b2c464736f6c634300081b00339016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00";
27
- readonly deployedBytecode: "0x608060405234801561000f575f5ffd5b506004361061009f575f3560e01c80637b10399911610072578063a91ee0dc11610058578063a91ee0dc14610155578063f2fde38b14610168578063f5e820fd1461017b575f5ffd5b80637b103999146100fb5780638da5cb5b14610125575f5ffd5b806329f73b9c146100a35780632b20a4f6146100b8578063485cc955146100e0578063715018a6146100f3575b5f5ffd5b6100b66100b1366004610886565b61019b565b005b6100cb6100c6366004610969565b610292565b60405190151581526020015b60405180910390f35b6100b66100ee366004610999565b6102e3565b6100b661044c565b5f5461010d906001600160a01b031681565b6040516001600160a01b0390911681526020016100d7565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031661010d565b6100b66101633660046109ca565b61045f565b6100b66101763660046109ca565b610495565b61018e6101893660046109ea565b6104d7565b6040516100d79190610a2f565b6101a3610574565b5f838152600160205260409081902090517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470906101e4906002840190610a79565b60405180910390201461020a5760405163632a22bb60e01b815260040160405180910390fd5b825161021c90829060208601906106b3565b506002810161022b8382610b36565b505f54604051630a7dcee760e21b81526001600160a01b03909116906329f73b9c9061025f90879087908790600401610bf1565b5f604051808303815f87803b158015610276575f5ffd5b505af1158015610288573d5f5f3e3d5ffd5b5050505050505050565b5f80546001600160a01b031633146102bd576040516310f5403960e31b815260040160405180910390fd5b5f8381526001602052604090206040516334c2a65d60e11b815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f8115801561032d5750825b90505f8267ffffffffffffffff1660011480156103495750303b155b905081158015610357575080155b156103755760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103a957845468ff00000000000000001916680100000000000000001785555b6103b2336105cf565b6103bb8661045f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038881169116146103f8576103f887610495565b831561044357845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610454610574565b61045d5f6105e0565b565b610467610574565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61049d610574565b6001600160a01b0381166104cb57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6104d4816105e0565b50565b60016020525f908152604090206002810180546104f390610a41565b80601f016020809104026020016040519081016040528092919081815260200182805461051f90610a41565b801561056a5780601f106105415761010080835404028352916020019161056a565b820191905f5260205f20905b81548152906001019060200180831161054d57829003601f168201915b5050505050905081565b336105a67f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461045d5760405163118cdaa760e01b81523360048201526024016104c2565b6105d761065d565b6104d4816106ab565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661045d57604051631afcd79f60e31b815260040160405180910390fd5b61049d61065d565b828054828255905f5260205f20908101928215610713579160200282015b82811115610713578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906106d1565b5061071f9291506107a6565b5090565b8382111561076d57833563ffffffff1683826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302610723565b801561079d5782816101000a81549063ffffffff021916905560040160208160030104928301926001030261076d565b505061071f9291505b5b8082111561071f575f81556001016107a7565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156107f7576107f76107ba565b604052919050565b80356001600160a01b0381168114610815575f5ffd5b919050565b5f82601f830112610829575f5ffd5b813567ffffffffffffffff811115610843576108436107ba565b610856601f8201601f19166020016107ce565b81815284602083860101111561086a575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f60608486031215610898575f5ffd5b83359250602084013567ffffffffffffffff8111156108b5575f5ffd5b8401601f810186136108c5575f5ffd5b803567ffffffffffffffff8111156108df576108df6107ba565b8060051b6108ef602082016107ce565b9182526020818401810192908101908984111561090a575f5ffd5b6020850194505b8385101561093357610922856107ff565b825260209485019490910190610911565b95505050506040850135905067ffffffffffffffff811115610953575f5ffd5b61095f8682870161081a565b9150509250925092565b5f5f6060838503121561097a575f5ffd5b823591506060830184101561098d575f5ffd5b50926020919091019150565b5f5f604083850312156109aa575f5ffd5b6109b3836107ff565b91506109c1602084016107ff565b90509250929050565b5f602082840312156109da575f5ffd5b6109e3826107ff565b9392505050565b5f602082840312156109fa575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109e36020830184610a01565b600181811c90821680610a5557607f821691505b602082108103610a7357634e487b7160e01b5f52602260045260245ffd5b50919050565b5f5f8354610a8681610a41565b600182168015610a9d5760018114610ab257610adf565b60ff1983168652811515820286019350610adf565b865f5260205f205f5b83811015610ad757815488820152600190910190602001610abb565b505081860193505b509195945050505050565b601f821115610b3157805f5260205f20601f840160051c81016020851015610b0f5750805b601f840160051c820191505b81811015610b2e575f8155600101610b1b565b50505b505050565b815167ffffffffffffffff811115610b5057610b506107ba565b610b6481610b5e8454610a41565b84610aea565b6020601f821160018114610b96575f8315610b7f5750848201515b5f19600385901b1c1916600184901b178455610b2e565b5f84815260208120601f198516915b82811015610bc55787850151825560209485019460019092019101610ba5565b5084821015610be257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015610c3b5783516001600160a01b0316835260209384019390920191600101610c14565b50508381036040850152610c4f8186610a01565b97965050505050505056fea26469706673582212209a58b509495a02602bd16aefb907b3108b7a38b051cfbe23695aa398f0a0b2c464736f6c634300081b0033";
28
- readonly linkReferences: {};
29
- readonly deployedLinkReferences: {};
30
- readonly immutableReferences: {};
31
- readonly inputSourceName: "project/contracts/test/MockRegistryFilter.sol";
32
- readonly buildInfoId: "solc-0_8_27-9aea5e3f6e25811e781e96c22e8edaf1eb1a01c5";
33
- };
34
-
35
- import "hardhat/types/artifacts";
36
- declare module "hardhat/types/artifacts" {
37
- interface ArtifactMap {
38
- ["IRegistry"]: IRegistry$Type
39
- ["MockNaiveRegistryFilter"]: MockNaiveRegistryFilter$Type;
40
- ["contracts/test/MockRegistryFilter.sol:IRegistry"]: IRegistry$Type
41
- ["contracts/test/MockRegistryFilter.sol:MockNaiveRegistryFilter"]: MockNaiveRegistryFilter$Type;
42
- }
43
- }
@@ -1,18 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- //
3
- // This file is provided WITHOUT ANY WARRANTY;
4
- // without even the implied warranty of MERCHANTABILITY
5
- // or FITNESS FOR A PARTICULAR PURPOSE.
6
- pragma solidity >=0.8.27;
7
-
8
- interface IInputValidator {
9
- /// @notice This function should be called by the Enclave contract to validate the
10
- /// input of a computation.
11
- /// @param sender The account that is submitting the input.
12
- /// @param data The input to be verified.
13
- /// @return input The decoded, policy-approved application payload.
14
- function validate(
15
- address sender,
16
- bytes memory data
17
- ) external returns (bytes memory input);
18
- }
@@ -1,13 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- //
3
- // This file is provided WITHOUT ANY WARRANTY;
4
- // without even the implied warranty of MERCHANTABILITY
5
- // or FITNESS FOR A PARTICULAR PURPOSE.
6
- pragma solidity >=0.8.27;
7
-
8
- interface IRegistryFilter {
9
- function requestCommittee(
10
- uint256 e3Id,
11
- uint32[2] calldata threshold
12
- ) external returns (bool success);
13
- }
@@ -1,124 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- //
3
- // This file is provided WITHOUT ANY WARRANTY;
4
- // without even the implied warranty of MERCHANTABILITY
5
- // or FITNESS FOR A PARTICULAR PURPOSE.
6
- pragma solidity >=0.8.27;
7
-
8
- import { ICiphernodeRegistry } from "../interfaces/ICiphernodeRegistry.sol";
9
- import { IRegistryFilter } from "../interfaces/IRegistryFilter.sol";
10
- import {
11
- OwnableUpgradeable
12
- } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
13
-
14
- contract NaiveRegistryFilter is IRegistryFilter, OwnableUpgradeable {
15
- struct Committee {
16
- address[] nodes;
17
- uint32[2] threshold;
18
- bytes32 publicKey;
19
- }
20
-
21
- ////////////////////////////////////////////////////////////
22
- // //
23
- // Storage Variables //
24
- // //
25
- ////////////////////////////////////////////////////////////
26
-
27
- address public registry;
28
-
29
- mapping(uint256 e3 => Committee committee) public committees;
30
-
31
- ////////////////////////////////////////////////////////////
32
- // //
33
- // Errors //
34
- // //
35
- ////////////////////////////////////////////////////////////
36
-
37
- error CommitteeAlreadyExists();
38
- error CommitteeAlreadyPublished();
39
- error CommitteeDoesNotExist();
40
- error CommitteeNotPublished();
41
- error CiphernodeNotEnabled(address ciphernode);
42
- error OnlyRegistry();
43
-
44
- ////////////////////////////////////////////////////////////
45
- // //
46
- // Modifiers //
47
- // //
48
- ////////////////////////////////////////////////////////////
49
-
50
- modifier onlyRegistry() {
51
- require(msg.sender == registry, OnlyRegistry());
52
- _;
53
- }
54
-
55
- ////////////////////////////////////////////////////////////
56
- // //
57
- // Initialization //
58
- // //
59
- ////////////////////////////////////////////////////////////
60
-
61
- constructor(address _owner, address _registry) {
62
- initialize(_owner, _registry);
63
- }
64
-
65
- function initialize(address _owner, address _registry) public initializer {
66
- __Ownable_init(msg.sender);
67
- setRegistry(_registry);
68
- if (_owner != owner()) transferOwnership(_owner);
69
- }
70
-
71
- ////////////////////////////////////////////////////////////
72
- // //
73
- // Core Entrypoints //
74
- // //
75
- ////////////////////////////////////////////////////////////
76
-
77
- function requestCommittee(
78
- uint256 e3Id,
79
- uint32[2] calldata threshold
80
- ) external onlyRegistry returns (bool success) {
81
- require(committees[e3Id].threshold[1] == 0, CommitteeAlreadyExists());
82
- committees[e3Id].threshold = threshold;
83
- success = true;
84
- }
85
-
86
- function publishCommittee(
87
- uint256 e3Id,
88
- address[] calldata nodes,
89
- bytes calldata publicKey
90
- ) external onlyOwner {
91
- Committee storage committee = committees[e3Id];
92
- require(committee.publicKey == bytes32(0), CommitteeAlreadyPublished());
93
- committee.nodes = nodes;
94
- committee.publicKey = keccak256(publicKey);
95
-
96
- ICiphernodeRegistry(registry).publishCommittee(
97
- e3Id,
98
- abi.encode(nodes),
99
- publicKey
100
- );
101
- }
102
-
103
- ////////////////////////////////////////////////////////////
104
- // //
105
- // Set Functions //
106
- // //
107
- ////////////////////////////////////////////////////////////
108
-
109
- function setRegistry(address _registry) public onlyOwner {
110
- registry = _registry;
111
- }
112
-
113
- ////////////////////////////////////////////////////////////
114
- // //
115
- // Get Functions //
116
- // //
117
- ////////////////////////////////////////////////////////////
118
-
119
- function getCommittee(
120
- uint256 e3Id
121
- ) external view returns (Committee memory) {
122
- return committees[e3Id];
123
- }
124
- }
@@ -1,29 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- //
3
- // This file is provided WITHOUT ANY WARRANTY;
4
- // without even the implied warranty of MERCHANTABILITY
5
- // or FITNESS FOR A PARTICULAR PURPOSE.
6
- pragma solidity >=0.8.27;
7
-
8
- import { IInputValidator } from "../interfaces/IInputValidator.sol";
9
-
10
- /// @title MockInputValidator.
11
- /// @notice Enclave Input Validator
12
- contract MockInputValidator is IInputValidator {
13
- error InvalidInput();
14
-
15
- /// @notice Validates input
16
- /// @param sender The account that is submitting the input.
17
- /// @param data The input to be verified.
18
- /// @return input The decoded, policy-approved application payload.
19
- function validate(
20
- address sender,
21
- bytes memory data
22
- ) external pure returns (bytes memory input) {
23
- if (data.length == 3 || sender == address(0)) {
24
- revert InvalidInput();
25
- }
26
-
27
- input = data;
28
- }
29
- }