@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,42 +1,99 @@
1
- import CiphernodeRegistryModule from "../../ignition/modules/ciphernodeRegistry";
2
1
  import { CiphernodeRegistryOwnable__factory as CiphernodeRegistryOwnableFactory, } from "../../types";
2
+ import { getProxyAdmin, verifyProxyAdminOwner } from "../proxy";
3
3
  import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
4
4
  /**
5
5
  * Deploys the CiphernodeRegistryOwnable contract and saves the deployment arguments
6
6
  * @param param0 - The deployment arguments
7
7
  * @returns The deployed CiphernodeRegistryOwnable contract
8
8
  */
9
- export const deployAndSaveCiphernodeRegistryOwnable = async ({ enclaveAddress, owner, hre, }) => {
10
- const { ignition, ethers } = await hre.network.connect();
9
+ export const deployAndSaveCiphernodeRegistryOwnable = async ({ enclaveAddress, owner, submissionWindow, poseidonT3Address, hre, }) => {
10
+ const { ethers } = await hre.network.connect();
11
11
  const [signer] = await ethers.getSigners();
12
12
  const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
13
- const preDeployedArgs = readDeploymentArgs("CiphernodeRegistry", chain);
13
+ const preDeployedArgs = readDeploymentArgs("CiphernodeRegistryOwnable", chain);
14
14
  if (!enclaveAddress ||
15
15
  !owner ||
16
+ !submissionWindow ||
16
17
  (preDeployedArgs?.constructorArgs?.enclaveAddress === enclaveAddress &&
17
- preDeployedArgs?.constructorArgs?.owner === owner)) {
18
+ preDeployedArgs?.constructorArgs?.owner === owner &&
19
+ preDeployedArgs?.constructorArgs?.submissionWindow ===
20
+ submissionWindow.toString())) {
18
21
  if (!preDeployedArgs?.address) {
19
22
  throw new Error("CiphernodeRegistry address not found, it must be deployed first");
20
23
  }
21
24
  const ciphernodeRegistryContract = CiphernodeRegistryOwnableFactory.connect(preDeployedArgs.address, signer);
22
25
  return { ciphernodeRegistry: ciphernodeRegistryContract };
23
26
  }
24
- const ciphernodeRegistry = await ignition.deploy(CiphernodeRegistryModule, {
25
- parameters: {
26
- CiphernodeRegistry: {
27
- enclaveAddress,
28
- owner,
29
- },
30
- },
31
- });
32
- await ciphernodeRegistry.cipherNodeRegistry.waitForDeployment();
27
+ const ciphernodeRegistryFactory = await ethers.getContractFactory(CiphernodeRegistryOwnableFactory.abi, CiphernodeRegistryOwnableFactory.linkBytecode({
28
+ "npm/poseidon-solidity@0.0.5/PoseidonT3.sol:PoseidonT3": poseidonT3Address,
29
+ }), signer);
30
+ const ciphernodeRegistry = await ciphernodeRegistryFactory.deploy();
31
+ await ciphernodeRegistry.waitForDeployment();
33
32
  const blockNumber = await ethers.provider.getBlockNumber();
34
- const ciphernodeRegistryAddress = await ciphernodeRegistry.cipherNodeRegistry.getAddress();
33
+ const ciphernodeRegistryAddress = await ciphernodeRegistry.getAddress();
34
+ const initData = ciphernodeRegistryFactory.interface.encodeFunctionData("initialize", [owner, enclaveAddress, submissionWindow]);
35
+ const ProxyCF = await ethers.getContractFactory("TransparentUpgradeableProxy");
36
+ const proxy = await ProxyCF.deploy(ciphernodeRegistryAddress, owner, initData);
37
+ await proxy.waitForDeployment();
38
+ const proxyAddress = await proxy.getAddress();
39
+ const proxyAdminAddress = await getProxyAdmin(ethers.provider, proxyAddress);
35
40
  storeDeploymentArgs({
36
- constructorArgs: { enclaveAddress: enclaveAddress, owner },
41
+ constructorArgs: {
42
+ owner,
43
+ enclaveAddress: enclaveAddress,
44
+ submissionWindow: submissionWindow.toString(),
45
+ },
46
+ proxyRecords: {
47
+ initData,
48
+ initialOwner: owner,
49
+ proxyAddress,
50
+ proxyAdminAddress,
51
+ implementationAddress: ciphernodeRegistryAddress,
52
+ },
37
53
  blockNumber,
38
- address: ciphernodeRegistryAddress,
39
- }, "CiphernodeRegistry", chain);
40
- const ciphernodeRegistryContract = CiphernodeRegistryOwnableFactory.connect(ciphernodeRegistryAddress);
54
+ address: proxyAddress,
55
+ }, "CiphernodeRegistryOwnable", chain);
56
+ const ciphernodeRegistryContract = CiphernodeRegistryOwnableFactory.connect(proxyAddress, signer);
41
57
  return { ciphernodeRegistry: ciphernodeRegistryContract };
42
58
  };
59
+ export const upgradeAndSaveCiphernodeRegistryOwnable = async ({ poseidonT3Address, ownerAddress, hre, }) => {
60
+ const { ethers } = await hre.network.connect();
61
+ const [signer] = await ethers.getSigners();
62
+ const chain = hre.globalOptions.network;
63
+ const preDeployedArgs = readDeploymentArgs("CiphernodeRegistryOwnable", chain);
64
+ if (!preDeployedArgs?.address) {
65
+ throw new Error("CiphernodeRegistryOwnable proxy not found. Deploy first before upgrading.");
66
+ }
67
+ const proxyAddress = preDeployedArgs.address;
68
+ const autoProxyAdminAddress = await getProxyAdmin(ethers.provider, proxyAddress);
69
+ console.log("Auto-deployed ProxyAdmin address:", autoProxyAdminAddress);
70
+ const ciphernodeRegistryFactory = await ethers.getContractFactory(CiphernodeRegistryOwnableFactory.abi, CiphernodeRegistryOwnableFactory.linkBytecode({
71
+ "npm/poseidon-solidity@0.0.5/PoseidonT3.sol:PoseidonT3": poseidonT3Address,
72
+ }), signer);
73
+ const newImplementation = await ciphernodeRegistryFactory.deploy();
74
+ await newImplementation.waitForDeployment();
75
+ const newImplementationAddress = await newImplementation.getAddress();
76
+ console.log("New Implementation Address:", newImplementationAddress);
77
+ const proxyAdmin = await ethers.getContractAt("ProxyAdmin", autoProxyAdminAddress, signer);
78
+ await verifyProxyAdminOwner(proxyAdmin, ownerAddress);
79
+ // TODO: Add init data if needed
80
+ const initData = "0x";
81
+ const upgradeTx = await proxyAdmin.upgradeAndCall(proxyAddress, newImplementationAddress, initData);
82
+ await upgradeTx.wait();
83
+ const existingProxyRecords = preDeployedArgs.proxyRecords
84
+ ? Object.fromEntries(Object.entries(preDeployedArgs.proxyRecords).filter(([, value]) => value !== undefined))
85
+ : {};
86
+ const proxyRecords = {
87
+ ...existingProxyRecords,
88
+ implementationAddress: newImplementationAddress,
89
+ };
90
+ if (initData !== "0x") {
91
+ proxyRecords.initData = initData;
92
+ }
93
+ storeDeploymentArgs({ ...preDeployedArgs, proxyRecords }, "CiphernodeRegistryOwnable", chain);
94
+ const ciphernodeRegistryContract = CiphernodeRegistryOwnableFactory.connect(proxyAddress, signer);
95
+ return {
96
+ ciphernodeRegistry: ciphernodeRegistryContract,
97
+ implementationAddress: newImplementationAddress,
98
+ };
99
+ };
@@ -4,10 +4,12 @@ import { Enclave } from "../../types";
4
4
  * The arguments for the deployAndSaveEnclave function
5
5
  */
6
6
  export interface EnclaveArgs {
7
- params?: string;
7
+ params?: string[];
8
8
  owner?: string;
9
9
  maxDuration?: string;
10
10
  registry?: string;
11
+ bondingRegistry?: string;
12
+ feeToken?: string;
11
13
  hre: HardhatRuntimeEnvironment;
12
14
  }
13
15
  /**
@@ -15,7 +17,19 @@ export interface EnclaveArgs {
15
17
  * @param param0 - The deployment arguments
16
18
  * @returns The deployed Enclave contract
17
19
  */
18
- export declare const deployAndSaveEnclave: ({ params, owner, maxDuration, registry, hre, }: EnclaveArgs) => Promise<{
20
+ export declare const deployAndSaveEnclave: ({ params, owner, maxDuration, registry, bondingRegistry, feeToken, hre, }: EnclaveArgs) => Promise<{
19
21
  enclave: Enclave;
20
22
  }>;
23
+ /**
24
+ * Upgrades the Enclave implementation while keeping the same proxy address
25
+ * @param param0 - The upgrade arguments
26
+ * @returns The upgraded Enclave contract (same proxy address)
27
+ */
28
+ export declare const upgradeAndSaveEnclave: ({ ownerAddress, hre, }: {
29
+ ownerAddress: string;
30
+ hre: HardhatRuntimeEnvironment;
31
+ }) => Promise<{
32
+ enclave: Enclave;
33
+ implementationAddress: string;
34
+ }>;
21
35
  //# sourceMappingURL=enclave.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enclave.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/enclave.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAsC,MAAM,aAAa,CAAC;AAG1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAU,gDAMxC,WAAW,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAyD5C,CAAC"}
1
+ {"version":3,"file":"enclave.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/enclave.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAsC,MAAM,aAAa,CAAC;AAQ1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAU,2EAQxC,WAAW,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAuF5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAU,wBAGzC;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,yBAAyB,CAAC;CAChC,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAiE9D,CAAC"}
@@ -1,13 +1,13 @@
1
- import EnclaveModule from "../../ignition/modules/enclave";
2
1
  import { Enclave__factory as EnclaveFactory } from "../../types";
3
- import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
2
+ import { getProxyAdmin, verifyProxyAdminOwner } from "../proxy";
3
+ import { areArraysEqual, readDeploymentArgs, storeDeploymentArgs, } from "../utils";
4
4
  /**
5
5
  * Deploys the Enclave contract and saves the deployment arguments
6
6
  * @param param0 - The deployment arguments
7
7
  * @returns The deployed Enclave contract
8
8
  */
9
- export const deployAndSaveEnclave = async ({ params, owner, maxDuration, registry, hre, }) => {
10
- const { ignition, ethers } = await hre.network.connect();
9
+ export const deployAndSaveEnclave = async ({ params, owner, maxDuration, registry, bondingRegistry, feeToken, hre, }) => {
10
+ const { ethers } = await hre.network.connect();
11
11
  const [signer] = await ethers.getSigners();
12
12
  const chain = hre.globalOptions.network;
13
13
  const preDeployedArgs = readDeploymentArgs("Enclave", chain);
@@ -15,34 +15,101 @@ export const deployAndSaveEnclave = async ({ params, owner, maxDuration, registr
15
15
  !owner ||
16
16
  !maxDuration ||
17
17
  !registry ||
18
- (preDeployedArgs?.constructorArgs?.params === params &&
19
- preDeployedArgs?.constructorArgs?.owner === owner &&
18
+ !bondingRegistry ||
19
+ !feeToken ||
20
+ (preDeployedArgs?.constructorArgs?.owner === owner &&
20
21
  preDeployedArgs?.constructorArgs?.maxDuration === maxDuration &&
21
- preDeployedArgs?.constructorArgs?.registry === registry)) {
22
+ preDeployedArgs?.constructorArgs?.registry === registry &&
23
+ preDeployedArgs?.constructorArgs?.bondingRegistry === bondingRegistry &&
24
+ preDeployedArgs?.constructorArgs?.feeToken === feeToken &&
25
+ areArraysEqual(preDeployedArgs?.constructorArgs?.params, params))) {
22
26
  if (!preDeployedArgs?.address) {
23
27
  throw new Error("Enclave address not found, it must be deployed first");
24
28
  }
25
29
  const enclaveContract = EnclaveFactory.connect(preDeployedArgs.address, signer);
26
30
  return { enclave: enclaveContract };
27
31
  }
28
- const enclave = await ignition.deploy(EnclaveModule, {
29
- parameters: {
30
- Enclave: {
31
- params,
32
- owner,
33
- maxDuration,
34
- registry,
35
- },
36
- },
37
- });
38
- await enclave.enclave.waitForDeployment();
39
- const enclaveAddress = await enclave.enclave.getAddress();
32
+ const enclaveFactory = await ethers.getContractFactory("Enclave", signer);
33
+ const enclave = await enclaveFactory.deploy();
34
+ await enclave.waitForDeployment();
40
35
  const blockNumber = await ethers.provider.getBlockNumber();
36
+ const enclaveAddress = await enclave.getAddress();
37
+ const initData = enclaveFactory.interface.encodeFunctionData("initialize", [
38
+ owner,
39
+ registry,
40
+ bondingRegistry,
41
+ feeToken,
42
+ maxDuration,
43
+ params,
44
+ ]);
45
+ const ProxyCF = await ethers.getContractFactory("TransparentUpgradeableProxy");
46
+ const proxy = await ProxyCF.deploy(enclaveAddress, owner, initData);
47
+ await proxy.waitForDeployment();
48
+ const proxyAddress = await proxy.getAddress();
49
+ const proxyAdminAddress = await getProxyAdmin(ethers.provider, proxyAddress);
41
50
  storeDeploymentArgs({
42
- constructorArgs: { params, owner, maxDuration, registry },
51
+ constructorArgs: {
52
+ owner,
53
+ registry,
54
+ bondingRegistry,
55
+ feeToken,
56
+ maxDuration,
57
+ params,
58
+ },
59
+ proxyRecords: {
60
+ initData,
61
+ initialOwner: owner,
62
+ proxyAddress,
63
+ proxyAdminAddress,
64
+ implementationAddress: enclaveAddress,
65
+ },
43
66
  blockNumber,
44
- address: enclaveAddress,
67
+ address: proxyAddress,
45
68
  }, "Enclave", chain);
46
- const enclaveContract = EnclaveFactory.connect(enclaveAddress, signer);
69
+ const enclaveContract = EnclaveFactory.connect(proxyAddress, signer);
47
70
  return { enclave: enclaveContract };
48
71
  };
72
+ /**
73
+ * Upgrades the Enclave implementation while keeping the same proxy address
74
+ * @param param0 - The upgrade arguments
75
+ * @returns The upgraded Enclave contract (same proxy address)
76
+ */
77
+ export const upgradeAndSaveEnclave = async ({ ownerAddress, hre, }) => {
78
+ const { ethers } = await hre.network.connect();
79
+ const [signer] = await ethers.getSigners();
80
+ const chain = hre.globalOptions.network;
81
+ const preDeployedArgs = readDeploymentArgs("Enclave", chain);
82
+ if (!preDeployedArgs?.address) {
83
+ throw new Error("Enclave proxy not found. Deploy first before upgrading.");
84
+ }
85
+ const proxyAddress = preDeployedArgs.address;
86
+ const autoProxyAdminAddress = await getProxyAdmin(ethers.provider, proxyAddress);
87
+ console.log("Auto-deployed ProxyAdmin address:", autoProxyAdminAddress);
88
+ const enclaveFactory = await ethers.getContractFactory("Enclave", signer);
89
+ const newImplementation = await enclaveFactory.deploy();
90
+ await newImplementation.waitForDeployment();
91
+ const newImplementationAddress = await newImplementation.getAddress();
92
+ console.log("New Implementation Address:", newImplementationAddress);
93
+ const proxyAdmin = await ethers.getContractAt("ProxyAdmin", autoProxyAdminAddress, signer);
94
+ await verifyProxyAdminOwner(proxyAdmin, ownerAddress);
95
+ // TODO: Add init data if needed
96
+ const initData = "0x";
97
+ const upgradeTx = await proxyAdmin.upgradeAndCall(proxyAddress, newImplementationAddress, initData);
98
+ await upgradeTx.wait();
99
+ const existingProxyRecords = preDeployedArgs.proxyRecords
100
+ ? Object.fromEntries(Object.entries(preDeployedArgs.proxyRecords).filter(([, value]) => value !== undefined))
101
+ : {};
102
+ const proxyRecords = {
103
+ ...existingProxyRecords,
104
+ implementationAddress: newImplementationAddress,
105
+ };
106
+ if (initData !== "0x") {
107
+ proxyRecords.initData = initData;
108
+ }
109
+ storeDeploymentArgs({ ...preDeployedArgs, proxyRecords }, "Enclave", chain);
110
+ const enclaveContract = EnclaveFactory.connect(proxyAddress, signer);
111
+ return {
112
+ enclave: enclaveContract,
113
+ implementationAddress: newImplementationAddress,
114
+ };
115
+ };
@@ -0,0 +1,20 @@
1
+ import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
2
+ import { EnclaveTicketToken } from "../../types";
3
+ /**
4
+ * The arguments for the deployAndSaveEnclaveTicketToken function
5
+ */
6
+ export interface EnclaveTicketTokenArgs {
7
+ baseToken?: string;
8
+ registry?: string;
9
+ owner?: string;
10
+ hre: HardhatRuntimeEnvironment;
11
+ }
12
+ /**
13
+ * Deploys the EnclaveTicketToken contract and saves the deployment arguments
14
+ * @param param0 - The deployment arguments
15
+ * @returns The deployed EnclaveTicketToken contract
16
+ */
17
+ export declare const deployAndSaveEnclaveTicketToken: ({ baseToken, registry, owner, hre, }: EnclaveTicketTokenArgs) => Promise<{
18
+ enclaveTicketToken: EnclaveTicketToken;
19
+ }>;
20
+ //# sourceMappingURL=enclaveTicketToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enclaveTicketToken.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/enclaveTicketToken.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GAAU,sCAKnD,sBAAsB,KAAG,OAAO,CAAC;IAClC,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,CA6DA,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { EnclaveTicketToken__factory as EnclaveTicketTokenFactory, } from "../../types";
2
+ import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
3
+ /**
4
+ * Deploys the EnclaveTicketToken contract and saves the deployment arguments
5
+ * @param param0 - The deployment arguments
6
+ * @returns The deployed EnclaveTicketToken contract
7
+ */
8
+ export const deployAndSaveEnclaveTicketToken = async ({ baseToken, registry, owner, hre, }) => {
9
+ const { ethers } = await hre.network.connect();
10
+ const [signer] = await ethers.getSigners();
11
+ const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
12
+ const preDeployedArgs = readDeploymentArgs("EnclaveTicketToken", chain);
13
+ if (!baseToken ||
14
+ !registry ||
15
+ !owner ||
16
+ (preDeployedArgs?.constructorArgs?.baseToken === baseToken &&
17
+ preDeployedArgs?.constructorArgs?.registry === registry &&
18
+ preDeployedArgs?.constructorArgs?.owner === owner)) {
19
+ if (!preDeployedArgs?.address) {
20
+ throw new Error("EnclaveTicketToken address not found, it must be deployed first");
21
+ }
22
+ const enclaveTicketTokenContract = EnclaveTicketTokenFactory.connect(preDeployedArgs.address, signer);
23
+ return { enclaveTicketToken: enclaveTicketTokenContract };
24
+ }
25
+ const enclaveTicketTokenFactory = await ethers.getContractFactory("EnclaveTicketToken");
26
+ const enclaveTicketToken = await enclaveTicketTokenFactory.deploy(baseToken, registry, owner);
27
+ await enclaveTicketToken.waitForDeployment();
28
+ const blockNumber = await ethers.provider.getBlockNumber();
29
+ const enclaveTicketTokenAddress = await enclaveTicketToken.getAddress();
30
+ storeDeploymentArgs({
31
+ constructorArgs: {
32
+ baseToken,
33
+ registry,
34
+ owner,
35
+ },
36
+ blockNumber,
37
+ address: enclaveTicketTokenAddress,
38
+ }, "EnclaveTicketToken", chain);
39
+ const enclaveTicketTokenContract = EnclaveTicketTokenFactory.connect(enclaveTicketTokenAddress, signer);
40
+ return { enclaveTicketToken: enclaveTicketTokenContract };
41
+ };
@@ -0,0 +1,18 @@
1
+ import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
2
+ import { EnclaveToken } from "../../types";
3
+ /**
4
+ * The arguments for the deployAndSaveEnclaveToken function
5
+ */
6
+ export interface EnclaveTokenArgs {
7
+ owner?: string;
8
+ hre: HardhatRuntimeEnvironment;
9
+ }
10
+ /**
11
+ * Deploys the EnclaveToken contract and saves the deployment arguments
12
+ * @param param0 - The deployment arguments
13
+ * @returns The deployed EnclaveToken contract
14
+ */
15
+ export declare const deployAndSaveEnclaveToken: ({ owner, hre, }: EnclaveTokenArgs) => Promise<{
16
+ enclaveToken: EnclaveToken;
17
+ }>;
18
+ //# sourceMappingURL=enclaveToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enclaveToken.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/enclaveToken.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,YAAY,EAEb,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,yBAAyB,CAAC;CAChC;AA2BD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAU,iBAG7C,gBAAgB,KAAG,OAAO,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAoDA,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { EnclaveToken__factory as EnclaveTokenFactory, } from "../../types";
2
+ import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
3
+ /**
4
+ * Disables transfer restrictions for local development
5
+ */
6
+ async function disableTransferRestrictionsForLocal(contract, chain) {
7
+ if (chain !== "localhost" && chain !== "hardhat") {
8
+ return;
9
+ }
10
+ console.log("Disabling transfer restrictions for chain", chain);
11
+ console.log("Contract address", await contract.getAddress());
12
+ try {
13
+ const isRestricted = await contract.transfersRestricted();
14
+ if (isRestricted) {
15
+ const tx = await contract.setTransferRestriction(false);
16
+ await tx.wait();
17
+ console.log("Transfer restrictions disabled for local development");
18
+ }
19
+ }
20
+ catch (error) {
21
+ console.warn("Failed to disable transfer restrictions:", error);
22
+ }
23
+ }
24
+ /**
25
+ * Deploys the EnclaveToken contract and saves the deployment arguments
26
+ * @param param0 - The deployment arguments
27
+ * @returns The deployed EnclaveToken contract
28
+ */
29
+ export const deployAndSaveEnclaveToken = async ({ owner, hre, }) => {
30
+ const { ethers } = await hre.network.connect();
31
+ const [signer] = await ethers.getSigners();
32
+ const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
33
+ const preDeployedArgs = readDeploymentArgs("EnclaveToken", chain);
34
+ if (!owner || preDeployedArgs?.constructorArgs?.owner === owner) {
35
+ if (!preDeployedArgs?.address) {
36
+ throw new Error("EnclaveToken address not found, it must be deployed first");
37
+ }
38
+ const enclaveTokenContract = EnclaveTokenFactory.connect(preDeployedArgs.address, signer);
39
+ await disableTransferRestrictionsForLocal(enclaveTokenContract, chain);
40
+ return { enclaveToken: enclaveTokenContract };
41
+ }
42
+ const enclaveTokenFactory = await ethers.getContractFactory("EnclaveToken");
43
+ const enclaveToken = await enclaveTokenFactory.deploy(owner);
44
+ await enclaveToken.waitForDeployment();
45
+ const blockNumber = await ethers.provider.getBlockNumber();
46
+ const enclaveTokenAddress = await enclaveToken.getAddress();
47
+ storeDeploymentArgs({
48
+ constructorArgs: {
49
+ owner,
50
+ },
51
+ blockNumber,
52
+ address: enclaveTokenAddress,
53
+ }, "EnclaveToken", chain);
54
+ const enclaveTokenContract = EnclaveTokenFactory.connect(enclaveTokenAddress, signer);
55
+ await disableTransferRestrictionsForLocal(enclaveTokenContract, chain);
56
+ return { enclaveToken: enclaveTokenContract };
57
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"mockComputeProvider.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockComputeProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EACL,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,gCAAgC,GAC3C,KAAK,yBAAyB,KAC7B,OAAO,CAAC;IACT,eAAe,EAAE,mBAAmB,CAAC;CACtC,CA6BA,CAAC"}
1
+ {"version":3,"file":"mockComputeProvider.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockComputeProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,gCAAgC,GAC3C,KAAK,yBAAyB,KAC7B,OAAO,CAAC;IACT,eAAe,EAAE,mBAAmB,CAAC;CACtC,CA+BA,CAAC"}
@@ -1,11 +1,11 @@
1
- import MockComputeProviderModule from "../../ignition/modules/mockComputeProvider";
2
1
  import { MockComputeProvider__factory as MockComputeProviderFactory, } from "../../types";
3
2
  import { storeDeploymentArgs } from "../utils";
4
3
  export const deployAndSaveMockComputeProvider = async (hre) => {
5
- const { ignition, ethers } = await hre.network.connect();
6
- const computeProvider = await ignition.deploy(MockComputeProviderModule);
7
- await computeProvider.mockComputeProvider.waitForDeployment();
8
- const computeProviderAddress = await computeProvider.mockComputeProvider.getAddress();
4
+ const { ethers } = await hre.network.connect();
5
+ const computeProviderFactory = await ethers.getContractFactory("MockComputeProvider");
6
+ const computeProvider = await computeProviderFactory.deploy();
7
+ await computeProvider.waitForDeployment();
8
+ const computeProviderAddress = await computeProvider.getAddress();
9
9
  const [signer] = await ethers.getSigners();
10
10
  const chain = hre.globalOptions.network;
11
11
  const blockNumber = await ethers.provider.getBlockNumber();
@@ -1 +1 @@
1
- {"version":3,"file":"mockDecryptionVerifier.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockDecryptionVerifier.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EACL,sBAAsB,EAEvB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,mCAAmC,GAC9C,KAAK,yBAAyB,KAC7B,OAAO,CAAC;IACT,kBAAkB,EAAE,sBAAsB,CAAC;CAC5C,CA8BA,CAAC"}
1
+ {"version":3,"file":"mockDecryptionVerifier.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockDecryptionVerifier.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,sBAAsB,EAEvB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,mCAAmC,GAC9C,KAAK,yBAAyB,KAC7B,OAAO,CAAC;IACT,kBAAkB,EAAE,sBAAsB,CAAC;CAC5C,CA8BA,CAAC"}
@@ -1,13 +1,13 @@
1
- import MockDecryptionVerifierModule from "../../ignition/modules/mockDecryptionVerifier";
2
1
  import { MockDecryptionVerifier__factory as MockDecryptionVerifierFactory, } from "../../types";
3
2
  import { storeDeploymentArgs } from "../utils";
4
3
  export const deployAndSaveMockDecryptionVerifier = async (hre) => {
5
- const { ignition, ethers } = await hre.network.connect();
4
+ const { ethers } = await hre.network.connect();
6
5
  const [signer] = await ethers.getSigners();
7
6
  const chain = hre.globalOptions.network;
8
- const decryptionVerifier = await ignition.deploy(MockDecryptionVerifierModule);
9
- await decryptionVerifier.mockDecryptionVerifier.waitForDeployment();
10
- const decryptionVerifierAddress = await decryptionVerifier.mockDecryptionVerifier.getAddress();
7
+ const decryptionVerifierFactory = await ethers.getContractFactory("MockDecryptionVerifier");
8
+ const decryptionVerifier = await decryptionVerifierFactory.deploy();
9
+ await decryptionVerifier.waitForDeployment();
10
+ const decryptionVerifierAddress = await decryptionVerifier.getAddress();
11
11
  const blockNumber = await ethers.provider.getBlockNumber();
12
12
  storeDeploymentArgs({
13
13
  blockNumber,
@@ -1,10 +1,9 @@
1
1
  import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
2
2
  import { MockE3Program } from "../../types";
3
3
  interface MockProgramArgs {
4
- mockInputValidator: string;
5
4
  hre: HardhatRuntimeEnvironment;
6
5
  }
7
- export declare const deployAndSaveMockProgram: ({ mockInputValidator, hre, }: MockProgramArgs) => Promise<{
6
+ export declare const deployAndSaveMockProgram: ({ hre, }: MockProgramArgs) => Promise<{
8
7
  e3Program: MockE3Program;
9
8
  }>;
10
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mockProgram.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockProgram.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EACL,aAAa,EAEd,MAAM,aAAa,CAAC;AAGrB,UAAU,eAAe;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED,eAAO,MAAM,wBAAwB,GAAU,8BAG5C,eAAe,KAAG,OAAO,CAAC;IAC3B,SAAS,EAAE,aAAa,CAAC;CAC1B,CA8CA,CAAC"}
1
+ {"version":3,"file":"mockProgram.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockProgram.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,aAAa,EAEd,MAAM,aAAa,CAAC;AAGrB,UAAU,eAAe;IACvB,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED,eAAO,MAAM,wBAAwB,GAAU,UAE5C,eAAe,KAAG,OAAO,CAAC;IAC3B,SAAS,EAAE,aAAa,CAAC;CAC1B,CA4BA,CAAC"}
@@ -1,27 +1,15 @@
1
- import MockE3ProgramModule from "../../ignition/modules/mockE3Program";
2
1
  import { MockE3Program__factory as MockE3ProgramFactory, } from "../../types";
3
- import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
4
- export const deployAndSaveMockProgram = async ({ mockInputValidator, hre, }) => {
5
- const { ignition, ethers } = await hre.network.connect();
2
+ import { storeDeploymentArgs } from "../utils";
3
+ export const deployAndSaveMockProgram = async ({ hre, }) => {
4
+ const { ethers } = await hre.network.connect();
6
5
  const [signer] = await ethers.getSigners();
7
6
  const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
8
- const preDeployedArgs = readDeploymentArgs("MockE3Program", chain);
9
- if (preDeployedArgs?.constructorArgs?.mockInputValidator === mockInputValidator) {
10
- const e3ProgramContract = MockE3ProgramFactory.connect(preDeployedArgs.address, signer);
11
- return { e3Program: e3ProgramContract };
12
- }
13
- const e3Program = await ignition.deploy(MockE3ProgramModule, {
14
- parameters: {
15
- MockE3Program: {
16
- mockInputValidator,
17
- },
18
- },
19
- });
20
- await e3Program.mockE3Program.waitForDeployment();
21
- const e3ProgramAddress = await e3Program.mockE3Program.getAddress();
7
+ const e3ProgramFactory = await ethers.getContractFactory("MockE3Program");
8
+ const e3Program = await e3ProgramFactory.deploy();
9
+ await e3Program.waitForDeployment();
10
+ const e3ProgramAddress = await e3Program.getAddress();
22
11
  const blockNumber = await ethers.provider.getBlockNumber();
23
12
  storeDeploymentArgs({
24
- constructorArgs: { mockInputValidator },
25
13
  blockNumber,
26
14
  address: e3ProgramAddress,
27
15
  }, "MockE3Program", chain);
@@ -0,0 +1,18 @@
1
+ import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
2
+ import { MockUSDC } from "../../types";
3
+ /**
4
+ * The arguments for the deployAndSaveMockStableToken function
5
+ */
6
+ export interface MockStableTokenArgs {
7
+ initialSupply?: number;
8
+ hre: HardhatRuntimeEnvironment;
9
+ }
10
+ /**
11
+ * Deploys the MockStableToken contract and saves the deployment arguments
12
+ * @param param0 - The deployment arguments
13
+ * @returns The deployed MockStableToken contract
14
+ */
15
+ export declare const deployAndSaveMockStableToken: ({ initialSupply, hre, }: MockStableTokenArgs) => Promise<{
16
+ mockStableToken: MockUSDC;
17
+ }>;
18
+ //# sourceMappingURL=mockStableToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockStableToken.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/mockStableToken.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAwC,MAAM,aAAa,CAAC;AAG7E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAU,yBAGhD,mBAAmB,KAAG,OAAO,CAAC;IAC/B,eAAe,EAAE,QAAQ,CAAC;CAC3B,CAiDA,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { MockUSDC__factory as MockUSDCFactory } from "../../types";
2
+ import { readDeploymentArgs, storeDeploymentArgs } from "../utils";
3
+ /**
4
+ * Deploys the MockStableToken contract and saves the deployment arguments
5
+ * @param param0 - The deployment arguments
6
+ * @returns The deployed MockStableToken contract
7
+ */
8
+ export const deployAndSaveMockStableToken = async ({ initialSupply, hre, }) => {
9
+ const { ethers } = await hre.network.connect();
10
+ const [signer] = await ethers.getSigners();
11
+ const chain = (await signer.provider?.getNetwork())?.name ?? "localhost";
12
+ const preDeployedArgs = readDeploymentArgs("MockUSDC", chain);
13
+ if (initialSupply === undefined ||
14
+ preDeployedArgs?.constructorArgs?.initialSupply ===
15
+ initialSupply?.toString()) {
16
+ if (!preDeployedArgs?.address) {
17
+ throw new Error("MockUSDC address not found, it must be deployed first");
18
+ }
19
+ const mockStableTokenContract = MockUSDCFactory.connect(preDeployedArgs.address, signer);
20
+ return { mockStableToken: mockStableTokenContract };
21
+ }
22
+ const mockStableTokenFactory = await ethers.getContractFactory("MockUSDC");
23
+ const mockStableToken = await mockStableTokenFactory.deploy(initialSupply);
24
+ await mockStableToken.waitForDeployment();
25
+ const blockNumber = await ethers.provider.getBlockNumber();
26
+ const mockStableTokenAddress = await mockStableToken.getAddress();
27
+ storeDeploymentArgs({
28
+ constructorArgs: {
29
+ initialSupply: initialSupply?.toString(),
30
+ },
31
+ blockNumber,
32
+ address: mockStableTokenAddress,
33
+ }, "MockUSDC", chain);
34
+ const mockStableTokenContract = MockUSDCFactory.connect(mockStableTokenAddress, signer);
35
+ return { mockStableToken: mockStableTokenContract };
36
+ };
@@ -0,0 +1,11 @@
1
+ import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
2
+ interface PoseidonT3ProxyDeployArgs {
3
+ hre: HardhatRuntimeEnvironment;
4
+ }
5
+ /**
6
+ * Deploy and save PoseidonT3 contract behind a proxy
7
+ * @param param0
8
+ */
9
+ export declare const deployAndSavePoseidonT3: ({ hre, }: PoseidonT3ProxyDeployArgs) => Promise<string>;
10
+ export {};
11
+ //# sourceMappingURL=poseidonT3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poseidonT3.d.ts","sourceRoot":"","sources":["../../../scripts/deployAndSave/poseidonT3.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAKnE,UAAU,yBAAyB;IACjC,GAAG,EAAE,yBAAyB,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAU,UAE3C,yBAAyB,KAAG,OAAO,CAAC,MAAM,CA6C5C,CAAC"}