@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
@@ -0,0 +1,1217 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "BondingRegistry",
4
+ "sourceName": "contracts/registry/BondingRegistry.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "AlreadyRegistered",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "ArrayLengthMismatch",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [],
23
+ "name": "CiphernodeBanned",
24
+ "type": "error"
25
+ },
26
+ {
27
+ "inputs": [],
28
+ "name": "ExitInProgress",
29
+ "type": "error"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "ExitNotReady",
34
+ "type": "error"
35
+ },
36
+ {
37
+ "inputs": [],
38
+ "name": "InsufficientBalance",
39
+ "type": "error"
40
+ },
41
+ {
42
+ "inputs": [],
43
+ "name": "InvalidAmount",
44
+ "type": "error"
45
+ },
46
+ {
47
+ "inputs": [],
48
+ "name": "InvalidConfiguration",
49
+ "type": "error"
50
+ },
51
+ {
52
+ "inputs": [],
53
+ "name": "InvalidInitialization",
54
+ "type": "error"
55
+ },
56
+ {
57
+ "inputs": [],
58
+ "name": "NoPendingDeregistration",
59
+ "type": "error"
60
+ },
61
+ {
62
+ "inputs": [],
63
+ "name": "NotInitializing",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "NotLicensed",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "NotRegistered",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "OnlyRewardDistributor",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [
83
+ {
84
+ "internalType": "address",
85
+ "name": "owner",
86
+ "type": "address"
87
+ }
88
+ ],
89
+ "name": "OwnableInvalidOwner",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [
94
+ {
95
+ "internalType": "address",
96
+ "name": "account",
97
+ "type": "address"
98
+ }
99
+ ],
100
+ "name": "OwnableUnauthorizedAccount",
101
+ "type": "error"
102
+ },
103
+ {
104
+ "inputs": [
105
+ {
106
+ "internalType": "address",
107
+ "name": "token",
108
+ "type": "address"
109
+ }
110
+ ],
111
+ "name": "SafeERC20FailedOperation",
112
+ "type": "error"
113
+ },
114
+ {
115
+ "inputs": [],
116
+ "name": "TimestampOverflow",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "inputs": [],
121
+ "name": "Unauthorized",
122
+ "type": "error"
123
+ },
124
+ {
125
+ "inputs": [],
126
+ "name": "ZeroAddress",
127
+ "type": "error"
128
+ },
129
+ {
130
+ "inputs": [],
131
+ "name": "ZeroAmount",
132
+ "type": "error"
133
+ },
134
+ {
135
+ "anonymous": false,
136
+ "inputs": [
137
+ {
138
+ "indexed": true,
139
+ "internalType": "address",
140
+ "name": "operator",
141
+ "type": "address"
142
+ },
143
+ {
144
+ "indexed": false,
145
+ "internalType": "uint256",
146
+ "name": "ticketAmount",
147
+ "type": "uint256"
148
+ },
149
+ {
150
+ "indexed": false,
151
+ "internalType": "uint256",
152
+ "name": "licenseAmount",
153
+ "type": "uint256"
154
+ }
155
+ ],
156
+ "name": "AssetsClaimed",
157
+ "type": "event"
158
+ },
159
+ {
160
+ "anonymous": false,
161
+ "inputs": [
162
+ {
163
+ "indexed": true,
164
+ "internalType": "address",
165
+ "name": "operator",
166
+ "type": "address"
167
+ },
168
+ {
169
+ "indexed": false,
170
+ "internalType": "uint256",
171
+ "name": "ticketAmount",
172
+ "type": "uint256"
173
+ },
174
+ {
175
+ "indexed": false,
176
+ "internalType": "uint256",
177
+ "name": "licenseAmount",
178
+ "type": "uint256"
179
+ },
180
+ {
181
+ "indexed": false,
182
+ "internalType": "uint64",
183
+ "name": "unlockTimestamp",
184
+ "type": "uint64"
185
+ }
186
+ ],
187
+ "name": "AssetsQueuedForExit",
188
+ "type": "event"
189
+ },
190
+ {
191
+ "anonymous": false,
192
+ "inputs": [
193
+ {
194
+ "indexed": true,
195
+ "internalType": "address",
196
+ "name": "operator",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint64",
202
+ "name": "unlockAt",
203
+ "type": "uint64"
204
+ }
205
+ ],
206
+ "name": "CiphernodeDeregistrationRequested",
207
+ "type": "event"
208
+ },
209
+ {
210
+ "anonymous": false,
211
+ "inputs": [
212
+ {
213
+ "indexed": true,
214
+ "internalType": "bytes32",
215
+ "name": "parameter",
216
+ "type": "bytes32"
217
+ },
218
+ {
219
+ "indexed": false,
220
+ "internalType": "uint256",
221
+ "name": "oldValue",
222
+ "type": "uint256"
223
+ },
224
+ {
225
+ "indexed": false,
226
+ "internalType": "uint256",
227
+ "name": "newValue",
228
+ "type": "uint256"
229
+ }
230
+ ],
231
+ "name": "ConfigurationUpdated",
232
+ "type": "event"
233
+ },
234
+ {
235
+ "anonymous": false,
236
+ "inputs": [
237
+ {
238
+ "indexed": false,
239
+ "internalType": "uint64",
240
+ "name": "version",
241
+ "type": "uint64"
242
+ }
243
+ ],
244
+ "name": "Initialized",
245
+ "type": "event"
246
+ },
247
+ {
248
+ "anonymous": false,
249
+ "inputs": [
250
+ {
251
+ "indexed": true,
252
+ "internalType": "address",
253
+ "name": "operator",
254
+ "type": "address"
255
+ },
256
+ {
257
+ "indexed": false,
258
+ "internalType": "int256",
259
+ "name": "delta",
260
+ "type": "int256"
261
+ },
262
+ {
263
+ "indexed": false,
264
+ "internalType": "uint256",
265
+ "name": "newBond",
266
+ "type": "uint256"
267
+ },
268
+ {
269
+ "indexed": true,
270
+ "internalType": "bytes32",
271
+ "name": "reason",
272
+ "type": "bytes32"
273
+ }
274
+ ],
275
+ "name": "LicenseBondUpdated",
276
+ "type": "event"
277
+ },
278
+ {
279
+ "anonymous": false,
280
+ "inputs": [
281
+ {
282
+ "indexed": true,
283
+ "internalType": "address",
284
+ "name": "operator",
285
+ "type": "address"
286
+ },
287
+ {
288
+ "indexed": false,
289
+ "internalType": "bool",
290
+ "name": "active",
291
+ "type": "bool"
292
+ }
293
+ ],
294
+ "name": "OperatorActivationChanged",
295
+ "type": "event"
296
+ },
297
+ {
298
+ "anonymous": false,
299
+ "inputs": [
300
+ {
301
+ "indexed": true,
302
+ "internalType": "address",
303
+ "name": "previousOwner",
304
+ "type": "address"
305
+ },
306
+ {
307
+ "indexed": true,
308
+ "internalType": "address",
309
+ "name": "newOwner",
310
+ "type": "address"
311
+ }
312
+ ],
313
+ "name": "OwnershipTransferred",
314
+ "type": "event"
315
+ },
316
+ {
317
+ "anonymous": false,
318
+ "inputs": [
319
+ {
320
+ "indexed": true,
321
+ "internalType": "address",
322
+ "name": "operator",
323
+ "type": "address"
324
+ },
325
+ {
326
+ "indexed": false,
327
+ "internalType": "uint256",
328
+ "name": "ticketAmount",
329
+ "type": "uint256"
330
+ },
331
+ {
332
+ "indexed": false,
333
+ "internalType": "uint256",
334
+ "name": "licenseAmount",
335
+ "type": "uint256"
336
+ },
337
+ {
338
+ "indexed": false,
339
+ "internalType": "bool",
340
+ "name": "includedLockedAssets",
341
+ "type": "bool"
342
+ }
343
+ ],
344
+ "name": "PendingAssetsSlashed",
345
+ "type": "event"
346
+ },
347
+ {
348
+ "anonymous": false,
349
+ "inputs": [
350
+ {
351
+ "indexed": true,
352
+ "internalType": "address",
353
+ "name": "to",
354
+ "type": "address"
355
+ },
356
+ {
357
+ "indexed": false,
358
+ "internalType": "uint256",
359
+ "name": "ticketAmount",
360
+ "type": "uint256"
361
+ },
362
+ {
363
+ "indexed": false,
364
+ "internalType": "uint256",
365
+ "name": "licenseAmount",
366
+ "type": "uint256"
367
+ }
368
+ ],
369
+ "name": "SlashedFundsWithdrawn",
370
+ "type": "event"
371
+ },
372
+ {
373
+ "anonymous": false,
374
+ "inputs": [
375
+ {
376
+ "indexed": true,
377
+ "internalType": "address",
378
+ "name": "operator",
379
+ "type": "address"
380
+ },
381
+ {
382
+ "indexed": false,
383
+ "internalType": "int256",
384
+ "name": "delta",
385
+ "type": "int256"
386
+ },
387
+ {
388
+ "indexed": false,
389
+ "internalType": "uint256",
390
+ "name": "newBalance",
391
+ "type": "uint256"
392
+ },
393
+ {
394
+ "indexed": true,
395
+ "internalType": "bytes32",
396
+ "name": "reason",
397
+ "type": "bytes32"
398
+ }
399
+ ],
400
+ "name": "TicketBalanceUpdated",
401
+ "type": "event"
402
+ },
403
+ {
404
+ "inputs": [
405
+ {
406
+ "internalType": "uint256",
407
+ "name": "amount",
408
+ "type": "uint256"
409
+ }
410
+ ],
411
+ "name": "addTicketBalance",
412
+ "outputs": [],
413
+ "stateMutability": "nonpayable",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [
418
+ {
419
+ "internalType": "address",
420
+ "name": "operator",
421
+ "type": "address"
422
+ }
423
+ ],
424
+ "name": "availableTickets",
425
+ "outputs": [
426
+ {
427
+ "internalType": "uint256",
428
+ "name": "",
429
+ "type": "uint256"
430
+ }
431
+ ],
432
+ "stateMutability": "view",
433
+ "type": "function"
434
+ },
435
+ {
436
+ "inputs": [
437
+ {
438
+ "internalType": "uint256",
439
+ "name": "amount",
440
+ "type": "uint256"
441
+ }
442
+ ],
443
+ "name": "bondLicense",
444
+ "outputs": [],
445
+ "stateMutability": "nonpayable",
446
+ "type": "function"
447
+ },
448
+ {
449
+ "inputs": [
450
+ {
451
+ "internalType": "uint256",
452
+ "name": "maxTicketAmount",
453
+ "type": "uint256"
454
+ },
455
+ {
456
+ "internalType": "uint256",
457
+ "name": "maxLicenseAmount",
458
+ "type": "uint256"
459
+ }
460
+ ],
461
+ "name": "claimExits",
462
+ "outputs": [],
463
+ "stateMutability": "nonpayable",
464
+ "type": "function"
465
+ },
466
+ {
467
+ "inputs": [
468
+ {
469
+ "internalType": "uint256[]",
470
+ "name": "siblingNodes",
471
+ "type": "uint256[]"
472
+ }
473
+ ],
474
+ "name": "deregisterOperator",
475
+ "outputs": [],
476
+ "stateMutability": "nonpayable",
477
+ "type": "function"
478
+ },
479
+ {
480
+ "inputs": [
481
+ {
482
+ "internalType": "contract IERC20",
483
+ "name": "rewardToken",
484
+ "type": "address"
485
+ },
486
+ {
487
+ "internalType": "address[]",
488
+ "name": "recipients",
489
+ "type": "address[]"
490
+ },
491
+ {
492
+ "internalType": "uint256[]",
493
+ "name": "amounts",
494
+ "type": "uint256[]"
495
+ }
496
+ ],
497
+ "name": "distributeRewards",
498
+ "outputs": [],
499
+ "stateMutability": "nonpayable",
500
+ "type": "function"
501
+ },
502
+ {
503
+ "inputs": [],
504
+ "name": "exitDelay",
505
+ "outputs": [
506
+ {
507
+ "internalType": "uint64",
508
+ "name": "",
509
+ "type": "uint64"
510
+ }
511
+ ],
512
+ "stateMutability": "view",
513
+ "type": "function"
514
+ },
515
+ {
516
+ "inputs": [
517
+ {
518
+ "internalType": "address",
519
+ "name": "operator",
520
+ "type": "address"
521
+ }
522
+ ],
523
+ "name": "getLicenseBond",
524
+ "outputs": [
525
+ {
526
+ "internalType": "uint256",
527
+ "name": "",
528
+ "type": "uint256"
529
+ }
530
+ ],
531
+ "stateMutability": "view",
532
+ "type": "function"
533
+ },
534
+ {
535
+ "inputs": [],
536
+ "name": "getLicenseToken",
537
+ "outputs": [
538
+ {
539
+ "internalType": "address",
540
+ "name": "",
541
+ "type": "address"
542
+ }
543
+ ],
544
+ "stateMutability": "view",
545
+ "type": "function"
546
+ },
547
+ {
548
+ "inputs": [
549
+ {
550
+ "internalType": "address",
551
+ "name": "operator",
552
+ "type": "address"
553
+ }
554
+ ],
555
+ "name": "getTicketBalance",
556
+ "outputs": [
557
+ {
558
+ "internalType": "uint256",
559
+ "name": "",
560
+ "type": "uint256"
561
+ }
562
+ ],
563
+ "stateMutability": "view",
564
+ "type": "function"
565
+ },
566
+ {
567
+ "inputs": [
568
+ {
569
+ "internalType": "address",
570
+ "name": "operator",
571
+ "type": "address"
572
+ },
573
+ {
574
+ "internalType": "uint256",
575
+ "name": "blockNumber",
576
+ "type": "uint256"
577
+ }
578
+ ],
579
+ "name": "getTicketBalanceAtBlock",
580
+ "outputs": [
581
+ {
582
+ "internalType": "uint256",
583
+ "name": "",
584
+ "type": "uint256"
585
+ }
586
+ ],
587
+ "stateMutability": "view",
588
+ "type": "function"
589
+ },
590
+ {
591
+ "inputs": [],
592
+ "name": "getTicketToken",
593
+ "outputs": [
594
+ {
595
+ "internalType": "address",
596
+ "name": "",
597
+ "type": "address"
598
+ }
599
+ ],
600
+ "stateMutability": "view",
601
+ "type": "function"
602
+ },
603
+ {
604
+ "inputs": [
605
+ {
606
+ "internalType": "address",
607
+ "name": "operator",
608
+ "type": "address"
609
+ }
610
+ ],
611
+ "name": "hasExitInProgress",
612
+ "outputs": [
613
+ {
614
+ "internalType": "bool",
615
+ "name": "",
616
+ "type": "bool"
617
+ }
618
+ ],
619
+ "stateMutability": "view",
620
+ "type": "function"
621
+ },
622
+ {
623
+ "inputs": [
624
+ {
625
+ "internalType": "address",
626
+ "name": "_owner",
627
+ "type": "address"
628
+ },
629
+ {
630
+ "internalType": "contract EnclaveTicketToken",
631
+ "name": "_ticketToken",
632
+ "type": "address"
633
+ },
634
+ {
635
+ "internalType": "contract IERC20",
636
+ "name": "_licenseToken",
637
+ "type": "address"
638
+ },
639
+ {
640
+ "internalType": "contract ICiphernodeRegistry",
641
+ "name": "_registry",
642
+ "type": "address"
643
+ },
644
+ {
645
+ "internalType": "address",
646
+ "name": "_slashedFundsTreasury",
647
+ "type": "address"
648
+ },
649
+ {
650
+ "internalType": "uint256",
651
+ "name": "_ticketPrice",
652
+ "type": "uint256"
653
+ },
654
+ {
655
+ "internalType": "uint256",
656
+ "name": "_licenseRequiredBond",
657
+ "type": "uint256"
658
+ },
659
+ {
660
+ "internalType": "uint256",
661
+ "name": "_minTicketBalance",
662
+ "type": "uint256"
663
+ },
664
+ {
665
+ "internalType": "uint64",
666
+ "name": "_exitDelay",
667
+ "type": "uint64"
668
+ }
669
+ ],
670
+ "name": "initialize",
671
+ "outputs": [],
672
+ "stateMutability": "nonpayable",
673
+ "type": "function"
674
+ },
675
+ {
676
+ "inputs": [
677
+ {
678
+ "internalType": "address",
679
+ "name": "operator",
680
+ "type": "address"
681
+ }
682
+ ],
683
+ "name": "isActive",
684
+ "outputs": [
685
+ {
686
+ "internalType": "bool",
687
+ "name": "",
688
+ "type": "bool"
689
+ }
690
+ ],
691
+ "stateMutability": "view",
692
+ "type": "function"
693
+ },
694
+ {
695
+ "inputs": [
696
+ {
697
+ "internalType": "address",
698
+ "name": "operator",
699
+ "type": "address"
700
+ }
701
+ ],
702
+ "name": "isLicensed",
703
+ "outputs": [
704
+ {
705
+ "internalType": "bool",
706
+ "name": "",
707
+ "type": "bool"
708
+ }
709
+ ],
710
+ "stateMutability": "view",
711
+ "type": "function"
712
+ },
713
+ {
714
+ "inputs": [
715
+ {
716
+ "internalType": "address",
717
+ "name": "operator",
718
+ "type": "address"
719
+ }
720
+ ],
721
+ "name": "isRegistered",
722
+ "outputs": [
723
+ {
724
+ "internalType": "bool",
725
+ "name": "",
726
+ "type": "bool"
727
+ }
728
+ ],
729
+ "stateMutability": "view",
730
+ "type": "function"
731
+ },
732
+ {
733
+ "inputs": [],
734
+ "name": "licenseActiveBps",
735
+ "outputs": [
736
+ {
737
+ "internalType": "uint256",
738
+ "name": "",
739
+ "type": "uint256"
740
+ }
741
+ ],
742
+ "stateMutability": "view",
743
+ "type": "function"
744
+ },
745
+ {
746
+ "inputs": [],
747
+ "name": "licenseRequiredBond",
748
+ "outputs": [
749
+ {
750
+ "internalType": "uint256",
751
+ "name": "",
752
+ "type": "uint256"
753
+ }
754
+ ],
755
+ "stateMutability": "view",
756
+ "type": "function"
757
+ },
758
+ {
759
+ "inputs": [],
760
+ "name": "licenseToken",
761
+ "outputs": [
762
+ {
763
+ "internalType": "contract IERC20",
764
+ "name": "",
765
+ "type": "address"
766
+ }
767
+ ],
768
+ "stateMutability": "view",
769
+ "type": "function"
770
+ },
771
+ {
772
+ "inputs": [],
773
+ "name": "minTicketBalance",
774
+ "outputs": [
775
+ {
776
+ "internalType": "uint256",
777
+ "name": "",
778
+ "type": "uint256"
779
+ }
780
+ ],
781
+ "stateMutability": "view",
782
+ "type": "function"
783
+ },
784
+ {
785
+ "inputs": [],
786
+ "name": "owner",
787
+ "outputs": [
788
+ {
789
+ "internalType": "address",
790
+ "name": "",
791
+ "type": "address"
792
+ }
793
+ ],
794
+ "stateMutability": "view",
795
+ "type": "function"
796
+ },
797
+ {
798
+ "inputs": [
799
+ {
800
+ "internalType": "address",
801
+ "name": "operator",
802
+ "type": "address"
803
+ }
804
+ ],
805
+ "name": "pendingExits",
806
+ "outputs": [
807
+ {
808
+ "internalType": "uint256",
809
+ "name": "ticket",
810
+ "type": "uint256"
811
+ },
812
+ {
813
+ "internalType": "uint256",
814
+ "name": "license",
815
+ "type": "uint256"
816
+ }
817
+ ],
818
+ "stateMutability": "view",
819
+ "type": "function"
820
+ },
821
+ {
822
+ "inputs": [
823
+ {
824
+ "internalType": "address",
825
+ "name": "operator",
826
+ "type": "address"
827
+ }
828
+ ],
829
+ "name": "previewClaimable",
830
+ "outputs": [
831
+ {
832
+ "internalType": "uint256",
833
+ "name": "ticket",
834
+ "type": "uint256"
835
+ },
836
+ {
837
+ "internalType": "uint256",
838
+ "name": "license",
839
+ "type": "uint256"
840
+ }
841
+ ],
842
+ "stateMutability": "view",
843
+ "type": "function"
844
+ },
845
+ {
846
+ "inputs": [],
847
+ "name": "registerOperator",
848
+ "outputs": [],
849
+ "stateMutability": "nonpayable",
850
+ "type": "function"
851
+ },
852
+ {
853
+ "inputs": [],
854
+ "name": "registry",
855
+ "outputs": [
856
+ {
857
+ "internalType": "contract ICiphernodeRegistry",
858
+ "name": "",
859
+ "type": "address"
860
+ }
861
+ ],
862
+ "stateMutability": "view",
863
+ "type": "function"
864
+ },
865
+ {
866
+ "inputs": [
867
+ {
868
+ "internalType": "uint256",
869
+ "name": "amount",
870
+ "type": "uint256"
871
+ }
872
+ ],
873
+ "name": "removeTicketBalance",
874
+ "outputs": [],
875
+ "stateMutability": "nonpayable",
876
+ "type": "function"
877
+ },
878
+ {
879
+ "inputs": [],
880
+ "name": "renounceOwnership",
881
+ "outputs": [],
882
+ "stateMutability": "nonpayable",
883
+ "type": "function"
884
+ },
885
+ {
886
+ "inputs": [],
887
+ "name": "rewardDistributor",
888
+ "outputs": [
889
+ {
890
+ "internalType": "address",
891
+ "name": "",
892
+ "type": "address"
893
+ }
894
+ ],
895
+ "stateMutability": "view",
896
+ "type": "function"
897
+ },
898
+ {
899
+ "inputs": [
900
+ {
901
+ "internalType": "uint64",
902
+ "name": "newExitDelay",
903
+ "type": "uint64"
904
+ }
905
+ ],
906
+ "name": "setExitDelay",
907
+ "outputs": [],
908
+ "stateMutability": "nonpayable",
909
+ "type": "function"
910
+ },
911
+ {
912
+ "inputs": [
913
+ {
914
+ "internalType": "uint256",
915
+ "name": "newBps",
916
+ "type": "uint256"
917
+ }
918
+ ],
919
+ "name": "setLicenseActiveBps",
920
+ "outputs": [],
921
+ "stateMutability": "nonpayable",
922
+ "type": "function"
923
+ },
924
+ {
925
+ "inputs": [
926
+ {
927
+ "internalType": "uint256",
928
+ "name": "newLicenseRequiredBond",
929
+ "type": "uint256"
930
+ }
931
+ ],
932
+ "name": "setLicenseRequiredBond",
933
+ "outputs": [],
934
+ "stateMutability": "nonpayable",
935
+ "type": "function"
936
+ },
937
+ {
938
+ "inputs": [
939
+ {
940
+ "internalType": "contract IERC20",
941
+ "name": "newLicenseToken",
942
+ "type": "address"
943
+ }
944
+ ],
945
+ "name": "setLicenseToken",
946
+ "outputs": [],
947
+ "stateMutability": "nonpayable",
948
+ "type": "function"
949
+ },
950
+ {
951
+ "inputs": [
952
+ {
953
+ "internalType": "uint256",
954
+ "name": "newMinTicketBalance",
955
+ "type": "uint256"
956
+ }
957
+ ],
958
+ "name": "setMinTicketBalance",
959
+ "outputs": [],
960
+ "stateMutability": "nonpayable",
961
+ "type": "function"
962
+ },
963
+ {
964
+ "inputs": [
965
+ {
966
+ "internalType": "contract ICiphernodeRegistry",
967
+ "name": "newRegistry",
968
+ "type": "address"
969
+ }
970
+ ],
971
+ "name": "setRegistry",
972
+ "outputs": [],
973
+ "stateMutability": "nonpayable",
974
+ "type": "function"
975
+ },
976
+ {
977
+ "inputs": [
978
+ {
979
+ "internalType": "address",
980
+ "name": "newRewardDistributor",
981
+ "type": "address"
982
+ }
983
+ ],
984
+ "name": "setRewardDistributor",
985
+ "outputs": [],
986
+ "stateMutability": "nonpayable",
987
+ "type": "function"
988
+ },
989
+ {
990
+ "inputs": [
991
+ {
992
+ "internalType": "address",
993
+ "name": "newSlashedFundsTreasury",
994
+ "type": "address"
995
+ }
996
+ ],
997
+ "name": "setSlashedFundsTreasury",
998
+ "outputs": [],
999
+ "stateMutability": "nonpayable",
1000
+ "type": "function"
1001
+ },
1002
+ {
1003
+ "inputs": [
1004
+ {
1005
+ "internalType": "address",
1006
+ "name": "newSlashingManager",
1007
+ "type": "address"
1008
+ }
1009
+ ],
1010
+ "name": "setSlashingManager",
1011
+ "outputs": [],
1012
+ "stateMutability": "nonpayable",
1013
+ "type": "function"
1014
+ },
1015
+ {
1016
+ "inputs": [
1017
+ {
1018
+ "internalType": "uint256",
1019
+ "name": "newTicketPrice",
1020
+ "type": "uint256"
1021
+ }
1022
+ ],
1023
+ "name": "setTicketPrice",
1024
+ "outputs": [],
1025
+ "stateMutability": "nonpayable",
1026
+ "type": "function"
1027
+ },
1028
+ {
1029
+ "inputs": [
1030
+ {
1031
+ "internalType": "contract EnclaveTicketToken",
1032
+ "name": "newTicketToken",
1033
+ "type": "address"
1034
+ }
1035
+ ],
1036
+ "name": "setTicketToken",
1037
+ "outputs": [],
1038
+ "stateMutability": "nonpayable",
1039
+ "type": "function"
1040
+ },
1041
+ {
1042
+ "inputs": [
1043
+ {
1044
+ "internalType": "address",
1045
+ "name": "operator",
1046
+ "type": "address"
1047
+ },
1048
+ {
1049
+ "internalType": "uint256",
1050
+ "name": "requestedSlashAmount",
1051
+ "type": "uint256"
1052
+ },
1053
+ {
1054
+ "internalType": "bytes32",
1055
+ "name": "slashReason",
1056
+ "type": "bytes32"
1057
+ }
1058
+ ],
1059
+ "name": "slashLicenseBond",
1060
+ "outputs": [],
1061
+ "stateMutability": "nonpayable",
1062
+ "type": "function"
1063
+ },
1064
+ {
1065
+ "inputs": [
1066
+ {
1067
+ "internalType": "address",
1068
+ "name": "operator",
1069
+ "type": "address"
1070
+ },
1071
+ {
1072
+ "internalType": "uint256",
1073
+ "name": "requestedSlashAmount",
1074
+ "type": "uint256"
1075
+ },
1076
+ {
1077
+ "internalType": "bytes32",
1078
+ "name": "slashReason",
1079
+ "type": "bytes32"
1080
+ }
1081
+ ],
1082
+ "name": "slashTicketBalance",
1083
+ "outputs": [],
1084
+ "stateMutability": "nonpayable",
1085
+ "type": "function"
1086
+ },
1087
+ {
1088
+ "inputs": [],
1089
+ "name": "slashedFundsTreasury",
1090
+ "outputs": [
1091
+ {
1092
+ "internalType": "address",
1093
+ "name": "",
1094
+ "type": "address"
1095
+ }
1096
+ ],
1097
+ "stateMutability": "view",
1098
+ "type": "function"
1099
+ },
1100
+ {
1101
+ "inputs": [],
1102
+ "name": "slashedLicenseBond",
1103
+ "outputs": [
1104
+ {
1105
+ "internalType": "uint256",
1106
+ "name": "",
1107
+ "type": "uint256"
1108
+ }
1109
+ ],
1110
+ "stateMutability": "view",
1111
+ "type": "function"
1112
+ },
1113
+ {
1114
+ "inputs": [],
1115
+ "name": "slashedTicketBalance",
1116
+ "outputs": [
1117
+ {
1118
+ "internalType": "uint256",
1119
+ "name": "",
1120
+ "type": "uint256"
1121
+ }
1122
+ ],
1123
+ "stateMutability": "view",
1124
+ "type": "function"
1125
+ },
1126
+ {
1127
+ "inputs": [],
1128
+ "name": "slashingManager",
1129
+ "outputs": [
1130
+ {
1131
+ "internalType": "address",
1132
+ "name": "",
1133
+ "type": "address"
1134
+ }
1135
+ ],
1136
+ "stateMutability": "view",
1137
+ "type": "function"
1138
+ },
1139
+ {
1140
+ "inputs": [],
1141
+ "name": "ticketPrice",
1142
+ "outputs": [
1143
+ {
1144
+ "internalType": "uint256",
1145
+ "name": "",
1146
+ "type": "uint256"
1147
+ }
1148
+ ],
1149
+ "stateMutability": "view",
1150
+ "type": "function"
1151
+ },
1152
+ {
1153
+ "inputs": [],
1154
+ "name": "ticketToken",
1155
+ "outputs": [
1156
+ {
1157
+ "internalType": "contract EnclaveTicketToken",
1158
+ "name": "",
1159
+ "type": "address"
1160
+ }
1161
+ ],
1162
+ "stateMutability": "view",
1163
+ "type": "function"
1164
+ },
1165
+ {
1166
+ "inputs": [
1167
+ {
1168
+ "internalType": "address",
1169
+ "name": "newOwner",
1170
+ "type": "address"
1171
+ }
1172
+ ],
1173
+ "name": "transferOwnership",
1174
+ "outputs": [],
1175
+ "stateMutability": "nonpayable",
1176
+ "type": "function"
1177
+ },
1178
+ {
1179
+ "inputs": [
1180
+ {
1181
+ "internalType": "uint256",
1182
+ "name": "amount",
1183
+ "type": "uint256"
1184
+ }
1185
+ ],
1186
+ "name": "unbondLicense",
1187
+ "outputs": [],
1188
+ "stateMutability": "nonpayable",
1189
+ "type": "function"
1190
+ },
1191
+ {
1192
+ "inputs": [
1193
+ {
1194
+ "internalType": "uint256",
1195
+ "name": "ticketAmount",
1196
+ "type": "uint256"
1197
+ },
1198
+ {
1199
+ "internalType": "uint256",
1200
+ "name": "licenseAmount",
1201
+ "type": "uint256"
1202
+ }
1203
+ ],
1204
+ "name": "withdrawSlashedFunds",
1205
+ "outputs": [],
1206
+ "stateMutability": "nonpayable",
1207
+ "type": "function"
1208
+ }
1209
+ ],
1210
+ "bytecode": "0x6080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6134fb806100d65f395ff3fe608060405234801561000f575f5ffd5b5060043610610330575f3560e01c80638e05aaae116101b3578063b7e833e0116100f3578063cca3a5011161009e578063dd8c818e11610079578063dd8c818e14610745578063e5da378f14610758578063e8341e891461076b578063f2fde38b14610774575f5ffd5b8063cca3a5011461070d578063d32759ed14610720578063d5ed4d5a14610733575f5ffd5b8063c3c5a547116100ce578063c3c5a547146106b2578063c43b1f34146106e7578063c9ca1acc146106fa575f5ffd5b8063b7e833e014610683578063bb03bd711461068c578063bff232c11461069f575f5ffd5b80639f8dfddd1161015e578063a91ee0dc11610139578063a91ee0dc14610622578063acc2166a14610635578063ada332dd14610648578063b2f3f6691461065b575f5ffd5b80639f8dfddd146105e9578063a1809b95146105fc578063a542c2a41461060f575f5ffd5b80638f9b1d871161018e5780638f9b1d87146105885780639d7555de146105915780639f8a13d7146105a4575f5ffd5b80638e05aaae1461054f5780638e5ce3ad146105625780638e9ddc0314610575575f5ffd5b8063671b93071161027e5780637333fa82116102295780637b103999116102045780637b103999146104e85780637c79a9da146104fb5780638450e44e1461050c5780638da5cb5b1461051f575f5ffd5b80637333fa82146104bc578063752c36c0146104cf578063781545b3146104d8575f5ffd5b806370f868a61161025957806370f868a61461048e578063715018a6146104a15780637264f3f2146104a9575f5ffd5b8063671b9307146104405780636d3c18d3146104685780636ecfef9a1461047b575f5ffd5b80632c98fd3b116102de5780634cabdd3d116102b95780634cabdd3d146103ef57806351ec538214610402578063561df99e1461042d575f5ffd5b80632c98fd3b146103c05780632e8d9930146103c9578063450e9dec146103dc575f5ffd5b806319fb279a1161030e57806319fb279a14610378578063283886301461038b5780632acde098146103b8575f5ffd5b80630691bdcf146103345780631209b1f6146103495780631598165014610365575b5f5ffd5b6103476103423660046130ff565b610787565b005b61035260065481565b6040519081526020015b60405180910390f35b61034761037336600461313e565b610b23565b61034761038636600461313e565b610bb3565b60095461039f9067ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161035c565b610347610e7b565b61035260085481565b6103476103d736600461313e565b6110e4565b6103476103ea366004613169565b61117a565b6103476103fd366004613184565b6111a3565b600154610415906001600160a01b031681565b6040516001600160a01b03909116815260200161035c565b61034761043b366004613169565b611412565b61035261044e366004613169565b6001600160a01b03165f908152600b602052604090205490565b610347610476366004613169565b611463565b610352610489366004613169565b61148d565b61034761049c36600461313e565b61150f565b610347611577565b6103476104b73660046131b6565b61158a565b6103476104ca3660046131f2565b6116d5565b61035260075481565b5f546001600160a01b0316610415565b600254610415906001600160a01b031681565b6001546001600160a01b0316610415565b61034761051a366004613289565b611870565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610415565b61034761055d36600461313e565b6118f8565b600354610415906001600160a01b031681565b610347610583366004613184565b611ae8565b610352600a5481565b61034761059f36600461313e565b611c3d565b6105d96105b2366004613169565b6001600160a01b03165f908152600b6020526040902060010154600160501b900460ff1690565b604051901515815260200161035c565b6103476105f73660046131b6565b611e88565b61034761060a366004613169565b611f4d565b6105d961061d366004613169565b611f77565b610347610630366004613169565b611fa3565b600454610415906001600160a01b031681565b61034761065636600461313e565b611fcd565b61066e610669366004613169565b612157565b6040805192835260208301919091520161035c565b610352600c5481565b61035261069a3660046132a2565b61216d565b6103476106ad366004613169565b6121e7565b6105d96106c0366004613169565b6001600160a01b03165f908152600b6020526040902060010154600160401b900460ff1690565b6103476106f536600461313e565b612211565b61066e610708366004613169565b612299565b600554610415906001600160a01b031681565b6105d961072e366004613169565b6122a6565b5f54610415906001600160a01b031681565b6103476107533660046132cc565b61233a565b610352610766366004613169565b61247a565b610352600d5481565b610347610782366004613169565b6124e6565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b909304909316151560808201529161080e5750806020015167ffffffffffffffff1642105b1561082c5760405163376d91e160e21b815260040160405180910390fd5b335f908152600b602052604090206001810154600160401b900460ff166108665760405163aba4733960e01b815260040160405180910390fd5b60018101805469ffff00000000000000001916600160481b1790556009546108989067ffffffffffffffff1642613362565b60018201805467ffffffffffffffff191667ffffffffffffffff929092169190911790555f80546040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610902573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109269190613382565b825490915081156109e7575f5460405163216f226360e21b8152336004820152602481018490526001600160a01b03909116906385bc898c906044015f604051808303815f87803b158015610979575f5ffd5b505af115801561098b573d5f5f3e3d5ffd5b5050505067574954484452415760c01b336001600160a01b03167f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e846109d090613399565b604080519182525f60208301520160405180910390a35b8015610a3c575f83556515539093d39160d21b337f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6610a2584613399565b604080519182525f60208301520160405180910390a35b81151580610a4957508015155b15610a6b57600954610a6b90600e90339067ffffffffffffffff168585612528565b60025460405163a04e606560e01b81526001600160a01b039091169063a04e606590610a9f9033908b908b906004016133b3565b5f604051808303815f87803b158015610ab6575f5ffd5b505af1158015610ac8573d5f5f3e3d5ffd5b50505050600183015460405167ffffffffffffffff909116815233907f55278ae09e344fb61a9a1d094010b3ce004a7eacca9b11e10f0f119d03f1f38f9060200160405180910390a2610b1a336126ec565b50505050505050565b610b2b612839565b805f03610b4b5760405163c52a9bd360e01b815260040160405180910390fd5b600680549082905560408051828152602081018490527f7469636b65745072696365000000000000000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a91015b60405180910390a25050565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610c3a5750806020015167ffffffffffffffff1642105b15610c585760405163376d91e160e21b815260040160405180910390fd5b825f03610c7857604051631f2a200560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff16610cb15760405163aba4733960e01b815260040160405180910390fd5b5f546040516370a0823160e01b815233600482015284916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cf6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1a9190613382565b1015610d3957604051631e9acf1760e31b815260040160405180910390fd5b5f5460405163216f226360e21b8152336004820152602481018590526001600160a01b03909116906385bc898c906044015f604051808303815f87803b158015610d81575f5ffd5b505af1158015610d93573d5f5f3e3d5ffd5b5050600954610db39250600e9150339067ffffffffffffffff1686612894565b67574954484452415760c01b337f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e610dea86613399565b5f546040516370a0823160e01b81523360048201526001600160a01b03909116906370a08231906024015b602060405180830381865afa158015610e30573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e549190613382565b604080519283526020830191909152015b60405180910390a3610e76336126ec565b505050565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610f025750806020015167ffffffffffffffff1642105b15610f205760405163376d91e160e21b815260040160405180910390fd5b335f908152600b6020526040902060010154600160481b900460ff1615610f6457335f908152600b60205260409020600101805469ff00ffffffffffffffff191690555b6003546040516397f735d560e01b81523360048201526001600160a01b03909116906397f735d590602401602060405180830381865afa158015610faa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fce9190613413565b15610fec576040516359b217d560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff161561102657604051630ea075bf60e21b815260040160405180910390fd5b600754335f908152600b60205260409020541015611057576040516396dcc1ef60e01b815260040160405180910390fd5b335f818152600b602052604090819020600101805468ff00000000000000001916600160401b1790556002549051638a78bb1560e01b815260048101929092526001600160a01b031690638a78bb15906024015f604051808303815f87803b1580156110c1575f5ffd5b505af11580156110d3573d5f5f3e3d5ffd5b505050506110e0336126ec565b5050565b6110ec612839565b5f811180156110fd57506127108111155b61111a5760405163c52a9bd360e01b815260040160405180910390fd5b600a80549082905560408051828152602081018490527f6c6963656e736541637469766542707300000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b611182612839565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146111cd576040516282b42960e81b815260040160405180910390fd5b815f036111ed57604051631f2a200560e01b815260040160405180910390fd5b5f6111f9600e856128a1565b505f80546040516370a0823160e01b81526001600160a01b038881166004830152939450919216906370a0823190602401602060405180830381865afa158015611245573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112699190613382565b90505f6112768383613432565b90505f61128386836128ca565b9050805f036112955750505050505050565b5f6112a082856128ca565b90508015611309575f5460405163216f226360e21b81526001600160a01b038a8116600483015260248201849052909116906385bc898c906044015f604051808303815f87803b1580156112f2575f5ffd5b505af1158015611304573d5f5f3e3d5ffd5b505050505b5f6113148284613445565b9050801561132e5761132b600e8a835f60016128d9565b50505b82600c5f82825461133f9190613432565b909155508790506001600160a01b038a167f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e61137a86613399565b5f546040516370a0823160e01b81526001600160a01b038f81166004830152909116906370a0823190602401602060405180830381865afa1580156113c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e59190613382565b604080519283526020830191909152015b60405180910390a3611407896126ec565b505050505050505050565b61141a612839565b6001600160a01b0381166114415760405163d92e233d60e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61146b612839565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6006545f80546040516370a0823160e01b81526001600160a01b038581166004830152929392909116906370a0823190602401602060405180830381865afa1580156114db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ff9190613382565b6115099190613458565b92915050565b611517612839565b600880549082905560408051828152602081018490527f6d696e5469636b657442616c616e636500000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b61157f612839565b6115885f6129e7565b565b611592612839565b600c548211156115b557604051631e9acf1760e31b815260040160405180910390fd5b600d548111156115d857604051631e9acf1760e31b815260040160405180910390fd5b81156116575781600c5f8282546115ef9190613445565b90915550505f5460055460405163117de2fd60e01b81526001600160a01b0391821660048201526024810185905291169063117de2fd906044015f604051808303815f87803b158015611640575f5ffd5b505af1158015611652573d5f5f3e3d5ffd5b505050505b80156116905780600d5f82825461166e9190613445565b9091555050600554600154611690916001600160a01b03918216911683612a57565b60055460408051848152602081018490526001600160a01b03909216917f402cfba2a3f22a9ea7e8ad10259b9b4c638cc9c44444b06d6d0927c9e0275b119101610ba7565b5f6116de612acb565b805490915060ff600160401b820416159067ffffffffffffffff165f811580156117055750825b90505f8267ffffffffffffffff1660011480156117215750303b155b90508115801561172f575080155b1561174d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561177c57845468ff00000000000000001916600160401b1785555b61178533612af3565b61178e8d61117a565b6117978c611463565b6117a08b611fa3565b6117a98a611412565b6117b289610b23565b6117bb88612211565b6117c48761150f565b6117cd86611870565b6117d8611f406110e4565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038f8116911614611815576118158e6124e6565b831561186057845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b611878612839565b6009805467ffffffffffffffff83811667ffffffffffffffff19831681179093556040519116917f6578697444656c61790000000000000000000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a91610ba791859190918252602082015260400190565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b909304909316151560808201529161197f5750806020015167ffffffffffffffff1642105b1561199d5760405163376d91e160e21b815260040160405180910390fd5b825f036119bd57604051631f2a200560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff166119f65760405163aba4733960e01b815260040160405180910390fd5b5f546040516368a9674d60e01b815233600482018190526024820152604481018590526001600160a01b03909116906368a9674d906064016020604051808303815f875af1158015611a4a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6e9190613413565b505f546040516370a0823160e01b815233600482018190527f4445504f534954000000000000000000000000000000000000000000000000009290917f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e9187916001600160a01b03909116906370a0823190602401610e15565b6003546001600160a01b03163314611b12576040516282b42960e81b815260040160405180910390fd5b815f03611b3257604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0383165f908152600b6020526040812090611b55600e866128a1565b9150505f81835f0154611b689190613432565b90505f611b7586836128ca565b9050805f03611b875750505050505050565b5f611b9582865f01546128ca565b90508015611bb55780855f015f828254611baf9190613445565b90915550505b5f611bc08284613445565b90508015611bda57611bd7600e8a5f8460016128d9565b50505b82600d5f828254611beb9190613432565b909155508790506001600160a01b038a167f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6611c2686613399565b8954604080519283526020830191909152016113f6565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611cc45750806020015167ffffffffffffffff1642105b15611ce25760405163376d91e160e21b815260040160405180910390fd5b825f03611d0257604051631f2a200560e01b815260040160405180910390fd5b6001546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6c9190613382565b600154909150611d87906001600160a01b0316333087612b04565b6001546040516370a0823160e01b81523060048201525f9183916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611dd1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df59190613382565b611dff9190613445565b335f908152600b6020526040812080549293508392909190611e22908490613432565b9091555050335f818152600b602090815260409182902054825185815291820152631093d39160e21b92917f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6910160405180910390a3611e81336126ec565b5050505050565b5f80611e97600e338686612b3d565b915091505f821180611ea857505f81115b611ec5576040516353d8d5b960e01b815260040160405180910390fd5b8115611f2a575f5460405163117de2fd60e01b8152336004820152602481018490526001600160a01b039091169063117de2fd906044015f604051808303815f87803b158015611f13575f5ffd5b505af1158015611f25573d5f5f3e3d5ffd5b505050505b8015611f4757600154611f47906001600160a01b03163383612a57565b50505050565b611f55612839565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f611f80612c41565b6001600160a01b039092165f908152600b60205260409020549190911015919050565b611fab612839565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b90930490931615156080820152916120545750806020015167ffffffffffffffff1642105b156120725760405163376d91e160e21b815260040160405180910390fd5b825f0361209257604051631f2a200560e01b815260040160405180910390fd5b335f908152600b60205260409020548311156120c157604051631e9acf1760e31b815260040160405180910390fd5b335f908152600b6020526040812080548592906120df908490613445565b909155505060095461210090600e90339067ffffffffffffffff1686612c64565b6515539093d39160d21b337f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d661213586613399565b335f908152600b60209081526040918290205482519384529083015201610e65565b5f80612164600e846128a1565b91509150915091565b5f8054604051630748d63560e31b81526001600160a01b0385811660048301526024820185905290911690633a46b1a890604401602060405180830381865afa1580156121bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121e09190613382565b9392505050565b6121ef612839565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612219612839565b805f036122395760405163c52a9bd360e01b815260040160405180910390fd5b600780549082905560408051828152602081018490527f6c6963656e73655265717569726564426f6e6400000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b5f80612164600e84612c71565b6001600160a01b0381165f908152600b60209081526040808320815160a0810183528154815260019091015467ffffffffffffffff81169382019390935260ff600160401b84048116151592820192909252600160481b8304821615801560608301819052600160501b9094049092161515608082015291906121e057506020015167ffffffffffffffff16421092915050565b6004546001600160a01b03163314612365576040516301e803c360e01b815260040160405180910390fd5b8281146123855760405163512509d360e11b815260040160405180910390fd5b825f5b81811015610b1a575f8484838181106123a3576123a3613477565b905060200201351180156124035750600b5f8787848181106123c7576123c7613477565b90506020020160208101906123dc9190613169565b6001600160a01b0316815260208101919091526040015f2060010154600160401b900460ff165b1561247257600454612472906001600160a01b031687878481811061242a5761242a613477565b905060200201602081019061243f9190613169565b86868581811061245157612451613477565b905060200201358a6001600160a01b0316612b04909392919063ffffffff16565b600101612388565b5f80546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a0823190602401602060405180830381865afa1580156124c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115099190613382565b6124ee612839565b6001600160a01b03811661251c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b612525816129e7565b50565b81158015612534575080155b611e81574261254b8467ffffffffffffffff61348b565b67ffffffffffffffff168167ffffffffffffffff16111561257f5760405163549a019760e01b815260040160405180910390fd5b5f61258a8583613362565b6001600160a01b0387165f908152602089905260408120805492935091908115612637575f836125bb600185613445565b815481106125cb576125cb613477565b5f9182526020909120600390910201805490915067ffffffffffffffff8087169116036126355787156126115787816001015f82825461260b9190613432565b90915550505b86156126305786816002015f82825461262a9190613432565b90915550505b600191505b505b8061267d578254600180820185555f858152602090206003909202909101805467ffffffffffffffff191667ffffffffffffffff87161781559081018890556002018690555b61268b8a8a89896001612d15565b604080518881526020810188905267ffffffffffffffff86168183015290516001600160a01b038b16917fa798fa3372862b9279e9279338081d2e0828e908501dbdf4cf8e2ef83867649d919081900360600190a250505050505050505050565b6001600160a01b0381165f908152600b602052604081206001810154909190600160401b900460ff1680156127295750612724612c41565b825410155b80156127ae57506008546006545f546040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa15801561277d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127a19190613382565b6127ab9190613458565b10155b600183015490915060ff600160501b90910416151581151514610e7657600182018054821515600160501b026aff00000000000000000000199091161790556040516001600160a01b038416907f1e5cd4157c0bec375761492bfd692468cecd66e6cb75f397a5195b570692d9059061282c90841515815260200190565b60405180910390a2505050565b3361286b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146115885760405163118cdaa760e01b8152336004820152602401612513565b611f47848484845f612528565b6001600160a01b0381165f908152600283016020526040902080546001909101545b9250929050565b5f8282188284100282186121e0565b5f808415612925576128ee8787875f87612dc3565b91508115612925576001600160a01b0386165f9081526002880160205260408120805484929061291f908490613445565b90915550505b831561297357612939878786600187612dc3565b90508015612973576001600160a01b0386165f9081526002880160205260408120600101805483929061296d908490613445565b90915550505b5f82118061298057505f81115b156129dd5761298f8787612f66565b60408051838152602081018390528415158183015290516001600160a01b038816917faaff5d2d15d2258450693fb56a7e9be67429e9a925525019086c620c5323fd9b919081900360600190a25b9550959350505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6040516001600160a01b03838116602483015260448201839052610e7691859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061300c565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611509565b612afb613078565b6125258161309d565b6040516001600160a01b038481166024830152838116604483015260648201839052611f479186918216906323b872dd90608401612a84565b5f808315612b8957612b528686865f5f612dc3565b91508115612b89576001600160a01b0385165f90815260028701602052604081208054849290612b83908490613445565b90915550505b8215612bd757612b9d86868560015f612dc3565b90508015612bd7576001600160a01b0385165f90815260028701602052604081206001018054839290612bd1908490613445565b90915550505b5f821180612be457505f81115b15612c3857612bf38686612f66565b60408051838152602081018390526001600160a01b038716917fbd58523b9978b5fb3c6487ecc5b6a8ef9cd69c5fb07fb39e0af1e45ef2855fcc910160405180910390a25b94509492505050565b5f612710600a54600754612c5591906134ab565b612c5f9190613458565b905090565b611f478484845f85612528565b6001600160a01b0381165f9081526020838152604080832060018601909252822054829190805b8254811015612d0b575f838281548110612cb457612cb4613477565b5f9182526020909120600390910201805490915067ffffffffffffffff16421015612cdf5750612d0b565b6001810154612cee9087613432565b9550806002015485612d009190613432565b945050600101612c98565b5050509250929050565b82821715611e81576001600160a01b0384165f90815260028601602052604090208115612d7e578315612d5a5783815f015f828254612d549190613432565b90915550505b8215612d795782816001015f828254612d739190613432565b90915550505b612dbb565b8315612d9c5783815f015f828254612d969190613445565b90915550505b8215612dbb5782816001015f828254612db59190613445565b90915550505b505050505050565b5f835f03612dd257505f612f5d565b6001600160a01b0385165f9081526020878152604080832060018a01909252909120548154865b5f81118015612e0757508183105b15612f3f575f848481548110612e1f57612e1f613477565b905f5260205f209060030201905086158015612e455750805467ffffffffffffffff1642105b15612e505750612f3f565b5f80896001811115612e6457612e646134c2565b03612e7457506001810154612e7b565b5060028101545b805f03612e965784612e8c816134d6565b9550505050612df9565b5f818410612ea45781612ea6565b835b90505f8a6001811115612ebb57612ebb6134c2565b03612ede5780836001015f828254612ed39190613445565b90915550612ef79050565b80836002015f828254612ef19190613445565b90915550505b612f018185613445565b9350612f0d8189613432565b975082600101545f148015612f2457506002830154155b15612f375785612f33816134d6565b9650505b505050612df9565b50506001600160a01b0387165f908152600189016020526040902055505b95945050505050565b6001600160a01b0381165f9081526020838152604080832060018601909252909120545b8154811015612fec575f828281548110612fa657612fa6613477565b905f5260205f209060030201905080600101545f148015612fc957506002810154155b15612fe05781612fd8816134d6565b925050612fe6565b50612fec565b50612f8a565b6001600160a01b039092165f908152600190930160205250604090912055565b5f5f60205f8451602086015f885af18061302b576040513d5f823e3d81fd5b50505f513d9150811561304257806001141561304f565b6001600160a01b0384163b155b15611f4757604051635274afe760e01b81526001600160a01b0385166004820152602401612513565b6130806130a5565b61158857604051631afcd79f60e31b815260040160405180910390fd5b6124ee613078565b5f6130ae612acb565b54600160401b900460ff16919050565b5f5f83601f8401126130ce575f5ffd5b50813567ffffffffffffffff8111156130e5575f5ffd5b6020830191508360208260051b85010111156128c3575f5ffd5b5f5f60208385031215613110575f5ffd5b823567ffffffffffffffff811115613126575f5ffd5b613132858286016130be565b90969095509350505050565b5f6020828403121561314e575f5ffd5b5035919050565b6001600160a01b0381168114612525575f5ffd5b5f60208284031215613179575f5ffd5b81356121e081613155565b5f5f5f60608486031215613196575f5ffd5b83356131a181613155565b95602085013595506040909401359392505050565b5f5f604083850312156131c7575f5ffd5b50508035926020909101359150565b803567ffffffffffffffff811681146131ed575f5ffd5b919050565b5f5f5f5f5f5f5f5f5f6101208a8c03121561320b575f5ffd5b893561321681613155565b985060208a013561322681613155565b975060408a013561323681613155565b965060608a013561324681613155565b955060808a013561325681613155565b945060a08a0135935060c08a0135925060e08a0135915061327a6101008b016131d6565b90509295985092959850929598565b5f60208284031215613299575f5ffd5b6121e0826131d6565b5f5f604083850312156132b3575f5ffd5b82356132be81613155565b946020939093013593505050565b5f5f5f5f5f606086880312156132e0575f5ffd5b85356132eb81613155565b9450602086013567ffffffffffffffff811115613306575f5ffd5b613312888289016130be565b909550935050604086013567ffffffffffffffff811115613331575f5ffd5b61333d888289016130be565b969995985093965092949392505050565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81811683821601908111156115095761150961334e565b5f60208284031215613392575f5ffd5b5051919050565b5f600160ff1b82016133ad576133ad61334e565b505f0390565b6001600160a01b0384168152604060208201528160408201525f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156133f9575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f60208284031215613423575f5ffd5b815180151581146121e0575f5ffd5b808201808211156115095761150961334e565b818103818111156115095761150961334e565b5f8261347257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b67ffffffffffffffff82811682821603908111156115095761150961334e565b80820281158282048414176115095761150961334e565b634e487b7160e01b5f52602160045260245ffd5b5f600182016134e7576134e761334e565b506001019056fea164736f6c634300081c000a",
1211
+ "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610330575f3560e01c80638e05aaae116101b3578063b7e833e0116100f3578063cca3a5011161009e578063dd8c818e11610079578063dd8c818e14610745578063e5da378f14610758578063e8341e891461076b578063f2fde38b14610774575f5ffd5b8063cca3a5011461070d578063d32759ed14610720578063d5ed4d5a14610733575f5ffd5b8063c3c5a547116100ce578063c3c5a547146106b2578063c43b1f34146106e7578063c9ca1acc146106fa575f5ffd5b8063b7e833e014610683578063bb03bd711461068c578063bff232c11461069f575f5ffd5b80639f8dfddd1161015e578063a91ee0dc11610139578063a91ee0dc14610622578063acc2166a14610635578063ada332dd14610648578063b2f3f6691461065b575f5ffd5b80639f8dfddd146105e9578063a1809b95146105fc578063a542c2a41461060f575f5ffd5b80638f9b1d871161018e5780638f9b1d87146105885780639d7555de146105915780639f8a13d7146105a4575f5ffd5b80638e05aaae1461054f5780638e5ce3ad146105625780638e9ddc0314610575575f5ffd5b8063671b93071161027e5780637333fa82116102295780637b103999116102045780637b103999146104e85780637c79a9da146104fb5780638450e44e1461050c5780638da5cb5b1461051f575f5ffd5b80637333fa82146104bc578063752c36c0146104cf578063781545b3146104d8575f5ffd5b806370f868a61161025957806370f868a61461048e578063715018a6146104a15780637264f3f2146104a9575f5ffd5b8063671b9307146104405780636d3c18d3146104685780636ecfef9a1461047b575f5ffd5b80632c98fd3b116102de5780634cabdd3d116102b95780634cabdd3d146103ef57806351ec538214610402578063561df99e1461042d575f5ffd5b80632c98fd3b146103c05780632e8d9930146103c9578063450e9dec146103dc575f5ffd5b806319fb279a1161030e57806319fb279a14610378578063283886301461038b5780632acde098146103b8575f5ffd5b80630691bdcf146103345780631209b1f6146103495780631598165014610365575b5f5ffd5b6103476103423660046130ff565b610787565b005b61035260065481565b6040519081526020015b60405180910390f35b61034761037336600461313e565b610b23565b61034761038636600461313e565b610bb3565b60095461039f9067ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161035c565b610347610e7b565b61035260085481565b6103476103d736600461313e565b6110e4565b6103476103ea366004613169565b61117a565b6103476103fd366004613184565b6111a3565b600154610415906001600160a01b031681565b6040516001600160a01b03909116815260200161035c565b61034761043b366004613169565b611412565b61035261044e366004613169565b6001600160a01b03165f908152600b602052604090205490565b610347610476366004613169565b611463565b610352610489366004613169565b61148d565b61034761049c36600461313e565b61150f565b610347611577565b6103476104b73660046131b6565b61158a565b6103476104ca3660046131f2565b6116d5565b61035260075481565b5f546001600160a01b0316610415565b600254610415906001600160a01b031681565b6001546001600160a01b0316610415565b61034761051a366004613289565b611870565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610415565b61034761055d36600461313e565b6118f8565b600354610415906001600160a01b031681565b610347610583366004613184565b611ae8565b610352600a5481565b61034761059f36600461313e565b611c3d565b6105d96105b2366004613169565b6001600160a01b03165f908152600b6020526040902060010154600160501b900460ff1690565b604051901515815260200161035c565b6103476105f73660046131b6565b611e88565b61034761060a366004613169565b611f4d565b6105d961061d366004613169565b611f77565b610347610630366004613169565b611fa3565b600454610415906001600160a01b031681565b61034761065636600461313e565b611fcd565b61066e610669366004613169565b612157565b6040805192835260208301919091520161035c565b610352600c5481565b61035261069a3660046132a2565b61216d565b6103476106ad366004613169565b6121e7565b6105d96106c0366004613169565b6001600160a01b03165f908152600b6020526040902060010154600160401b900460ff1690565b6103476106f536600461313e565b612211565b61066e610708366004613169565b612299565b600554610415906001600160a01b031681565b6105d961072e366004613169565b6122a6565b5f54610415906001600160a01b031681565b6103476107533660046132cc565b61233a565b610352610766366004613169565b61247a565b610352600d5481565b610347610782366004613169565b6124e6565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b909304909316151560808201529161080e5750806020015167ffffffffffffffff1642105b1561082c5760405163376d91e160e21b815260040160405180910390fd5b335f908152600b602052604090206001810154600160401b900460ff166108665760405163aba4733960e01b815260040160405180910390fd5b60018101805469ffff00000000000000001916600160481b1790556009546108989067ffffffffffffffff1642613362565b60018201805467ffffffffffffffff191667ffffffffffffffff929092169190911790555f80546040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610902573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109269190613382565b825490915081156109e7575f5460405163216f226360e21b8152336004820152602481018490526001600160a01b03909116906385bc898c906044015f604051808303815f87803b158015610979575f5ffd5b505af115801561098b573d5f5f3e3d5ffd5b5050505067574954484452415760c01b336001600160a01b03167f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e846109d090613399565b604080519182525f60208301520160405180910390a35b8015610a3c575f83556515539093d39160d21b337f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6610a2584613399565b604080519182525f60208301520160405180910390a35b81151580610a4957508015155b15610a6b57600954610a6b90600e90339067ffffffffffffffff168585612528565b60025460405163a04e606560e01b81526001600160a01b039091169063a04e606590610a9f9033908b908b906004016133b3565b5f604051808303815f87803b158015610ab6575f5ffd5b505af1158015610ac8573d5f5f3e3d5ffd5b50505050600183015460405167ffffffffffffffff909116815233907f55278ae09e344fb61a9a1d094010b3ce004a7eacca9b11e10f0f119d03f1f38f9060200160405180910390a2610b1a336126ec565b50505050505050565b610b2b612839565b805f03610b4b5760405163c52a9bd360e01b815260040160405180910390fd5b600680549082905560408051828152602081018490527f7469636b65745072696365000000000000000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a91015b60405180910390a25050565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610c3a5750806020015167ffffffffffffffff1642105b15610c585760405163376d91e160e21b815260040160405180910390fd5b825f03610c7857604051631f2a200560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff16610cb15760405163aba4733960e01b815260040160405180910390fd5b5f546040516370a0823160e01b815233600482015284916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cf6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1a9190613382565b1015610d3957604051631e9acf1760e31b815260040160405180910390fd5b5f5460405163216f226360e21b8152336004820152602481018590526001600160a01b03909116906385bc898c906044015f604051808303815f87803b158015610d81575f5ffd5b505af1158015610d93573d5f5f3e3d5ffd5b5050600954610db39250600e9150339067ffffffffffffffff1686612894565b67574954484452415760c01b337f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e610dea86613399565b5f546040516370a0823160e01b81523360048201526001600160a01b03909116906370a08231906024015b602060405180830381865afa158015610e30573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e549190613382565b604080519283526020830191909152015b60405180910390a3610e76336126ec565b505050565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610f025750806020015167ffffffffffffffff1642105b15610f205760405163376d91e160e21b815260040160405180910390fd5b335f908152600b6020526040902060010154600160481b900460ff1615610f6457335f908152600b60205260409020600101805469ff00ffffffffffffffff191690555b6003546040516397f735d560e01b81523360048201526001600160a01b03909116906397f735d590602401602060405180830381865afa158015610faa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fce9190613413565b15610fec576040516359b217d560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff161561102657604051630ea075bf60e21b815260040160405180910390fd5b600754335f908152600b60205260409020541015611057576040516396dcc1ef60e01b815260040160405180910390fd5b335f818152600b602052604090819020600101805468ff00000000000000001916600160401b1790556002549051638a78bb1560e01b815260048101929092526001600160a01b031690638a78bb15906024015f604051808303815f87803b1580156110c1575f5ffd5b505af11580156110d3573d5f5f3e3d5ffd5b505050506110e0336126ec565b5050565b6110ec612839565b5f811180156110fd57506127108111155b61111a5760405163c52a9bd360e01b815260040160405180910390fd5b600a80549082905560408051828152602081018490527f6c6963656e736541637469766542707300000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b611182612839565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146111cd576040516282b42960e81b815260040160405180910390fd5b815f036111ed57604051631f2a200560e01b815260040160405180910390fd5b5f6111f9600e856128a1565b505f80546040516370a0823160e01b81526001600160a01b038881166004830152939450919216906370a0823190602401602060405180830381865afa158015611245573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112699190613382565b90505f6112768383613432565b90505f61128386836128ca565b9050805f036112955750505050505050565b5f6112a082856128ca565b90508015611309575f5460405163216f226360e21b81526001600160a01b038a8116600483015260248201849052909116906385bc898c906044015f604051808303815f87803b1580156112f2575f5ffd5b505af1158015611304573d5f5f3e3d5ffd5b505050505b5f6113148284613445565b9050801561132e5761132b600e8a835f60016128d9565b50505b82600c5f82825461133f9190613432565b909155508790506001600160a01b038a167f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e61137a86613399565b5f546040516370a0823160e01b81526001600160a01b038f81166004830152909116906370a0823190602401602060405180830381865afa1580156113c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e59190613382565b604080519283526020830191909152015b60405180910390a3611407896126ec565b505050505050505050565b61141a612839565b6001600160a01b0381166114415760405163d92e233d60e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61146b612839565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6006545f80546040516370a0823160e01b81526001600160a01b038581166004830152929392909116906370a0823190602401602060405180830381865afa1580156114db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ff9190613382565b6115099190613458565b92915050565b611517612839565b600880549082905560408051828152602081018490527f6d696e5469636b657442616c616e636500000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b61157f612839565b6115885f6129e7565b565b611592612839565b600c548211156115b557604051631e9acf1760e31b815260040160405180910390fd5b600d548111156115d857604051631e9acf1760e31b815260040160405180910390fd5b81156116575781600c5f8282546115ef9190613445565b90915550505f5460055460405163117de2fd60e01b81526001600160a01b0391821660048201526024810185905291169063117de2fd906044015f604051808303815f87803b158015611640575f5ffd5b505af1158015611652573d5f5f3e3d5ffd5b505050505b80156116905780600d5f82825461166e9190613445565b9091555050600554600154611690916001600160a01b03918216911683612a57565b60055460408051848152602081018490526001600160a01b03909216917f402cfba2a3f22a9ea7e8ad10259b9b4c638cc9c44444b06d6d0927c9e0275b119101610ba7565b5f6116de612acb565b805490915060ff600160401b820416159067ffffffffffffffff165f811580156117055750825b90505f8267ffffffffffffffff1660011480156117215750303b155b90508115801561172f575080155b1561174d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561177c57845468ff00000000000000001916600160401b1785555b61178533612af3565b61178e8d61117a565b6117978c611463565b6117a08b611fa3565b6117a98a611412565b6117b289610b23565b6117bb88612211565b6117c48761150f565b6117cd86611870565b6117d8611f406110e4565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038f8116911614611815576118158e6124e6565b831561186057845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b611878612839565b6009805467ffffffffffffffff83811667ffffffffffffffff19831681179093556040519116917f6578697444656c61790000000000000000000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a91610ba791859190918252602082015260400190565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b909304909316151560808201529161197f5750806020015167ffffffffffffffff1642105b1561199d5760405163376d91e160e21b815260040160405180910390fd5b825f036119bd57604051631f2a200560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff166119f65760405163aba4733960e01b815260040160405180910390fd5b5f546040516368a9674d60e01b815233600482018190526024820152604481018590526001600160a01b03909116906368a9674d906064016020604051808303815f875af1158015611a4a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6e9190613413565b505f546040516370a0823160e01b815233600482018190527f4445504f534954000000000000000000000000000000000000000000000000009290917f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e9187916001600160a01b03909116906370a0823190602401610e15565b6003546001600160a01b03163314611b12576040516282b42960e81b815260040160405180910390fd5b815f03611b3257604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0383165f908152600b6020526040812090611b55600e866128a1565b9150505f81835f0154611b689190613432565b90505f611b7586836128ca565b9050805f03611b875750505050505050565b5f611b9582865f01546128ca565b90508015611bb55780855f015f828254611baf9190613445565b90915550505b5f611bc08284613445565b90508015611bda57611bd7600e8a5f8460016128d9565b50505b82600d5f828254611beb9190613432565b909155508790506001600160a01b038a167f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6611c2686613399565b8954604080519283526020830191909152016113f6565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611cc45750806020015167ffffffffffffffff1642105b15611ce25760405163376d91e160e21b815260040160405180910390fd5b825f03611d0257604051631f2a200560e01b815260040160405180910390fd5b6001546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6c9190613382565b600154909150611d87906001600160a01b0316333087612b04565b6001546040516370a0823160e01b81523060048201525f9183916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611dd1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df59190613382565b611dff9190613445565b335f908152600b6020526040812080549293508392909190611e22908490613432565b9091555050335f818152600b602090815260409182902054825185815291820152631093d39160e21b92917f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6910160405180910390a3611e81336126ec565b5050505050565b5f80611e97600e338686612b3d565b915091505f821180611ea857505f81115b611ec5576040516353d8d5b960e01b815260040160405180910390fd5b8115611f2a575f5460405163117de2fd60e01b8152336004820152602481018490526001600160a01b039091169063117de2fd906044015f604051808303815f87803b158015611f13575f5ffd5b505af1158015611f25573d5f5f3e3d5ffd5b505050505b8015611f4757600154611f47906001600160a01b03163383612a57565b50505050565b611f55612839565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f611f80612c41565b6001600160a01b039092165f908152600b60205260409020549190911015919050565b611fab612839565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b90930490931615156080820152916120545750806020015167ffffffffffffffff1642105b156120725760405163376d91e160e21b815260040160405180910390fd5b825f0361209257604051631f2a200560e01b815260040160405180910390fd5b335f908152600b60205260409020548311156120c157604051631e9acf1760e31b815260040160405180910390fd5b335f908152600b6020526040812080548592906120df908490613445565b909155505060095461210090600e90339067ffffffffffffffff1686612c64565b6515539093d39160d21b337f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d661213586613399565b335f908152600b60209081526040918290205482519384529083015201610e65565b5f80612164600e846128a1565b91509150915091565b5f8054604051630748d63560e31b81526001600160a01b0385811660048301526024820185905290911690633a46b1a890604401602060405180830381865afa1580156121bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121e09190613382565b9392505050565b6121ef612839565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612219612839565b805f036122395760405163c52a9bd360e01b815260040160405180910390fd5b600780549082905560408051828152602081018490527f6c6963656e73655265717569726564426f6e6400000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b5f80612164600e84612c71565b6001600160a01b0381165f908152600b60209081526040808320815160a0810183528154815260019091015467ffffffffffffffff81169382019390935260ff600160401b84048116151592820192909252600160481b8304821615801560608301819052600160501b9094049092161515608082015291906121e057506020015167ffffffffffffffff16421092915050565b6004546001600160a01b03163314612365576040516301e803c360e01b815260040160405180910390fd5b8281146123855760405163512509d360e11b815260040160405180910390fd5b825f5b81811015610b1a575f8484838181106123a3576123a3613477565b905060200201351180156124035750600b5f8787848181106123c7576123c7613477565b90506020020160208101906123dc9190613169565b6001600160a01b0316815260208101919091526040015f2060010154600160401b900460ff165b1561247257600454612472906001600160a01b031687878481811061242a5761242a613477565b905060200201602081019061243f9190613169565b86868581811061245157612451613477565b905060200201358a6001600160a01b0316612b04909392919063ffffffff16565b600101612388565b5f80546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a0823190602401602060405180830381865afa1580156124c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115099190613382565b6124ee612839565b6001600160a01b03811661251c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b612525816129e7565b50565b81158015612534575080155b611e81574261254b8467ffffffffffffffff61348b565b67ffffffffffffffff168167ffffffffffffffff16111561257f5760405163549a019760e01b815260040160405180910390fd5b5f61258a8583613362565b6001600160a01b0387165f908152602089905260408120805492935091908115612637575f836125bb600185613445565b815481106125cb576125cb613477565b5f9182526020909120600390910201805490915067ffffffffffffffff8087169116036126355787156126115787816001015f82825461260b9190613432565b90915550505b86156126305786816002015f82825461262a9190613432565b90915550505b600191505b505b8061267d578254600180820185555f858152602090206003909202909101805467ffffffffffffffff191667ffffffffffffffff87161781559081018890556002018690555b61268b8a8a89896001612d15565b604080518881526020810188905267ffffffffffffffff86168183015290516001600160a01b038b16917fa798fa3372862b9279e9279338081d2e0828e908501dbdf4cf8e2ef83867649d919081900360600190a250505050505050505050565b6001600160a01b0381165f908152600b602052604081206001810154909190600160401b900460ff1680156127295750612724612c41565b825410155b80156127ae57506008546006545f546040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa15801561277d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127a19190613382565b6127ab9190613458565b10155b600183015490915060ff600160501b90910416151581151514610e7657600182018054821515600160501b026aff00000000000000000000199091161790556040516001600160a01b038416907f1e5cd4157c0bec375761492bfd692468cecd66e6cb75f397a5195b570692d9059061282c90841515815260200190565b60405180910390a2505050565b3361286b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146115885760405163118cdaa760e01b8152336004820152602401612513565b611f47848484845f612528565b6001600160a01b0381165f908152600283016020526040902080546001909101545b9250929050565b5f8282188284100282186121e0565b5f808415612925576128ee8787875f87612dc3565b91508115612925576001600160a01b0386165f9081526002880160205260408120805484929061291f908490613445565b90915550505b831561297357612939878786600187612dc3565b90508015612973576001600160a01b0386165f9081526002880160205260408120600101805483929061296d908490613445565b90915550505b5f82118061298057505f81115b156129dd5761298f8787612f66565b60408051838152602081018390528415158183015290516001600160a01b038816917faaff5d2d15d2258450693fb56a7e9be67429e9a925525019086c620c5323fd9b919081900360600190a25b9550959350505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6040516001600160a01b03838116602483015260448201839052610e7691859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061300c565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611509565b612afb613078565b6125258161309d565b6040516001600160a01b038481166024830152838116604483015260648201839052611f479186918216906323b872dd90608401612a84565b5f808315612b8957612b528686865f5f612dc3565b91508115612b89576001600160a01b0385165f90815260028701602052604081208054849290612b83908490613445565b90915550505b8215612bd757612b9d86868560015f612dc3565b90508015612bd7576001600160a01b0385165f90815260028701602052604081206001018054839290612bd1908490613445565b90915550505b5f821180612be457505f81115b15612c3857612bf38686612f66565b60408051838152602081018390526001600160a01b038716917fbd58523b9978b5fb3c6487ecc5b6a8ef9cd69c5fb07fb39e0af1e45ef2855fcc910160405180910390a25b94509492505050565b5f612710600a54600754612c5591906134ab565b612c5f9190613458565b905090565b611f478484845f85612528565b6001600160a01b0381165f9081526020838152604080832060018601909252822054829190805b8254811015612d0b575f838281548110612cb457612cb4613477565b5f9182526020909120600390910201805490915067ffffffffffffffff16421015612cdf5750612d0b565b6001810154612cee9087613432565b9550806002015485612d009190613432565b945050600101612c98565b5050509250929050565b82821715611e81576001600160a01b0384165f90815260028601602052604090208115612d7e578315612d5a5783815f015f828254612d549190613432565b90915550505b8215612d795782816001015f828254612d739190613432565b90915550505b612dbb565b8315612d9c5783815f015f828254612d969190613445565b90915550505b8215612dbb5782816001015f828254612db59190613445565b90915550505b505050505050565b5f835f03612dd257505f612f5d565b6001600160a01b0385165f9081526020878152604080832060018a01909252909120548154865b5f81118015612e0757508183105b15612f3f575f848481548110612e1f57612e1f613477565b905f5260205f209060030201905086158015612e455750805467ffffffffffffffff1642105b15612e505750612f3f565b5f80896001811115612e6457612e646134c2565b03612e7457506001810154612e7b565b5060028101545b805f03612e965784612e8c816134d6565b9550505050612df9565b5f818410612ea45781612ea6565b835b90505f8a6001811115612ebb57612ebb6134c2565b03612ede5780836001015f828254612ed39190613445565b90915550612ef79050565b80836002015f828254612ef19190613445565b90915550505b612f018185613445565b9350612f0d8189613432565b975082600101545f148015612f2457506002830154155b15612f375785612f33816134d6565b9650505b505050612df9565b50506001600160a01b0387165f908152600189016020526040902055505b95945050505050565b6001600160a01b0381165f9081526020838152604080832060018601909252909120545b8154811015612fec575f828281548110612fa657612fa6613477565b905f5260205f209060030201905080600101545f148015612fc957506002810154155b15612fe05781612fd8816134d6565b925050612fe6565b50612fec565b50612f8a565b6001600160a01b039092165f908152600190930160205250604090912055565b5f5f60205f8451602086015f885af18061302b576040513d5f823e3d81fd5b50505f513d9150811561304257806001141561304f565b6001600160a01b0384163b155b15611f4757604051635274afe760e01b81526001600160a01b0385166004820152602401612513565b6130806130a5565b61158857604051631afcd79f60e31b815260040160405180910390fd5b6124ee613078565b5f6130ae612acb565b54600160401b900460ff16919050565b5f5f83601f8401126130ce575f5ffd5b50813567ffffffffffffffff8111156130e5575f5ffd5b6020830191508360208260051b85010111156128c3575f5ffd5b5f5f60208385031215613110575f5ffd5b823567ffffffffffffffff811115613126575f5ffd5b613132858286016130be565b90969095509350505050565b5f6020828403121561314e575f5ffd5b5035919050565b6001600160a01b0381168114612525575f5ffd5b5f60208284031215613179575f5ffd5b81356121e081613155565b5f5f5f60608486031215613196575f5ffd5b83356131a181613155565b95602085013595506040909401359392505050565b5f5f604083850312156131c7575f5ffd5b50508035926020909101359150565b803567ffffffffffffffff811681146131ed575f5ffd5b919050565b5f5f5f5f5f5f5f5f5f6101208a8c03121561320b575f5ffd5b893561321681613155565b985060208a013561322681613155565b975060408a013561323681613155565b965060608a013561324681613155565b955060808a013561325681613155565b945060a08a0135935060c08a0135925060e08a0135915061327a6101008b016131d6565b90509295985092959850929598565b5f60208284031215613299575f5ffd5b6121e0826131d6565b5f5f604083850312156132b3575f5ffd5b82356132be81613155565b946020939093013593505050565b5f5f5f5f5f606086880312156132e0575f5ffd5b85356132eb81613155565b9450602086013567ffffffffffffffff811115613306575f5ffd5b613312888289016130be565b909550935050604086013567ffffffffffffffff811115613331575f5ffd5b61333d888289016130be565b969995985093965092949392505050565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81811683821601908111156115095761150961334e565b5f60208284031215613392575f5ffd5b5051919050565b5f600160ff1b82016133ad576133ad61334e565b505f0390565b6001600160a01b0384168152604060208201528160408201525f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156133f9575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f60208284031215613423575f5ffd5b815180151581146121e0575f5ffd5b808201808211156115095761150961334e565b818103818111156115095761150961334e565b5f8261347257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b67ffffffffffffffff82811682821603908111156115095761150961334e565b80820281158282048414176115095761150961334e565b634e487b7160e01b5f52602160045260245ffd5b5f600182016134e7576134e761334e565b506001019056fea164736f6c634300081c000a",
1212
+ "linkReferences": {},
1213
+ "deployedLinkReferences": {},
1214
+ "immutableReferences": {},
1215
+ "inputSourceName": "project/contracts/registry/BondingRegistry.sol",
1216
+ "buildInfoId": "solc-0_8_28-5150b9e6b6cf4df4986fccba97bea37a16fdfebc"
1217
+ }