@enclave-e3/contracts 0.1.11 → 0.1.13

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 (257) hide show
  1. package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +3 -3
  2. package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/artifacts.d.ts +3 -3
  3. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -1
  4. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +3 -3
  5. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/artifacts.d.ts +4 -4
  6. package/artifacts/build-info/{solc-0_8_28-c77ac33099bb85c15f46d194dd2b735e036cb799.json → solc-0_8_28-e60a5d7c133605edcf61acdd5ba43ab44ee0928e.json} +27 -12
  7. package/artifacts/build-info/solc-0_8_28-e60a5d7c133605edcf61acdd5ba43ab44ee0928e.output.json +1 -0
  8. package/artifacts/contracts/E3RefundManager.sol/E3RefundManager.json +684 -0
  9. package/artifacts/contracts/E3RefundManager.sol/artifacts.d.ts +27 -0
  10. package/artifacts/contracts/Enclave.sol/Enclave.json +530 -182
  11. package/artifacts/contracts/Enclave.sol/artifacts.d.ts +4 -4
  12. package/artifacts/contracts/interfaces/IBondingRegistry.sol/IBondingRegistry.json +14 -1
  13. package/artifacts/contracts/interfaces/IBondingRegistry.sol/artifacts.d.ts +2 -2
  14. package/artifacts/contracts/interfaces/ICiphernodeRegistry.sol/ICiphernodeRegistry.json +55 -5
  15. package/artifacts/contracts/interfaces/ICiphernodeRegistry.sol/artifacts.d.ts +2 -2
  16. package/artifacts/contracts/interfaces/IComputeProvider.sol/IComputeProvider.json +1 -1
  17. package/artifacts/contracts/interfaces/IComputeProvider.sol/artifacts.d.ts +1 -1
  18. package/artifacts/contracts/interfaces/IDecryptionVerifier.sol/IDecryptionVerifier.json +1 -1
  19. package/artifacts/contracts/interfaces/IDecryptionVerifier.sol/artifacts.d.ts +1 -1
  20. package/artifacts/contracts/interfaces/IE3Program.sol/IE3Program.json +19 -24
  21. package/artifacts/contracts/interfaces/IE3Program.sol/artifacts.d.ts +2 -2
  22. package/artifacts/contracts/interfaces/IE3RefundManager.sol/IE3RefundManager.json +470 -0
  23. package/artifacts/contracts/interfaces/IE3RefundManager.sol/artifacts.d.ts +27 -0
  24. package/artifacts/contracts/interfaces/IEnclave.sol/IEnclave.json +383 -128
  25. package/artifacts/contracts/interfaces/IEnclave.sol/artifacts.d.ts +2 -2
  26. package/artifacts/contracts/interfaces/ISlashVerifier.sol/ISlashVerifier.json +1 -1
  27. package/artifacts/contracts/interfaces/ISlashVerifier.sol/artifacts.d.ts +1 -1
  28. package/artifacts/contracts/interfaces/ISlashingManager.sol/ISlashingManager.json +1 -1
  29. package/artifacts/contracts/interfaces/ISlashingManager.sol/artifacts.d.ts +1 -1
  30. package/artifacts/contracts/lib/ExitQueueLib.sol/ExitQueueLib.json +1 -1
  31. package/artifacts/contracts/lib/ExitQueueLib.sol/artifacts.d.ts +1 -1
  32. package/artifacts/contracts/registry/BondingRegistry.sol/BondingRegistry.json +16 -3
  33. package/artifacts/contracts/registry/BondingRegistry.sol/artifacts.d.ts +4 -4
  34. package/artifacts/contracts/registry/CiphernodeRegistryOwnable.sol/CiphernodeRegistryOwnable.json +91 -25
  35. package/artifacts/contracts/registry/CiphernodeRegistryOwnable.sol/artifacts.d.ts +6 -6
  36. package/artifacts/contracts/slashing/SlashingManager.sol/SlashingManager.json +3 -3
  37. package/artifacts/contracts/slashing/SlashingManager.sol/artifacts.d.ts +3 -3
  38. package/artifacts/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.json +57 -7
  39. package/artifacts/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.json +57 -7
  40. package/artifacts/contracts/test/MockCiphernodeRegistry.sol/artifacts.d.ts +8 -8
  41. package/artifacts/contracts/test/MockComputeProvider.sol/MockComputeProvider.json +3 -3
  42. package/artifacts/contracts/test/MockComputeProvider.sol/artifacts.d.ts +3 -3
  43. package/artifacts/contracts/test/MockDecryptionVerifier.sol/MockDecryptionVerifier.json +1 -1
  44. package/artifacts/contracts/test/MockDecryptionVerifier.sol/artifacts.d.ts +1 -1
  45. package/artifacts/contracts/test/MockE3Program.sol/MockE3Program.json +21 -26
  46. package/artifacts/contracts/test/MockE3Program.sol/artifacts.d.ts +4 -4
  47. package/artifacts/contracts/test/MockSlashingVerifier.sol/MockSlashingVerifier.json +1 -1
  48. package/artifacts/contracts/test/MockSlashingVerifier.sol/artifacts.d.ts +1 -1
  49. package/artifacts/contracts/test/MockStableToken.sol/MockUSDC.json +3 -3
  50. package/artifacts/contracts/test/MockStableToken.sol/artifacts.d.ts +3 -3
  51. package/artifacts/contracts/token/EnclaveTicketToken.sol/EnclaveTicketToken.json +14 -22
  52. package/artifacts/contracts/token/EnclaveTicketToken.sol/artifacts.d.ts +4 -4
  53. package/artifacts/contracts/token/EnclaveToken.sol/EnclaveToken.json +10 -10
  54. package/artifacts/contracts/token/EnclaveToken.sol/artifacts.d.ts +4 -4
  55. package/artifacts/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier.json +89 -0
  56. package/artifacts/contracts/verifier/DkgPkVerifier.sol/CommitmentSchemeLib.json +13 -0
  57. package/artifacts/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.json +186 -0
  58. package/artifacts/contracts/verifier/DkgPkVerifier.sol/FrLib.json +13 -0
  59. package/artifacts/contracts/verifier/DkgPkVerifier.sol/Honk.json +13 -0
  60. package/artifacts/contracts/verifier/DkgPkVerifier.sol/HonkVerificationKey.json +13 -0
  61. package/artifacts/contracts/verifier/DkgPkVerifier.sol/IVerifier.json +38 -0
  62. package/artifacts/contracts/verifier/DkgPkVerifier.sol/RelationsLib.json +13 -0
  63. package/artifacts/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib.json +400 -0
  64. package/artifacts/contracts/verifier/DkgPkVerifier.sol/artifacts.d.ts +155 -0
  65. package/artifacts/poseidon-solidity/PoseidonT3.sol/PoseidonT3.json +1 -1
  66. package/artifacts/poseidon-solidity/PoseidonT3.sol/artifacts.d.ts +1 -1
  67. package/contracts/E3RefundManager.sol +365 -0
  68. package/contracts/Enclave.sol +426 -119
  69. package/contracts/interfaces/IBondingRegistry.sol +6 -0
  70. package/contracts/interfaces/ICiphernodeRegistry.sol +29 -7
  71. package/contracts/interfaces/IE3.sol +2 -6
  72. package/contracts/interfaces/IE3Program.sol +3 -7
  73. package/contracts/interfaces/IE3RefundManager.sol +150 -0
  74. package/contracts/interfaces/IEnclave.sol +186 -64
  75. package/contracts/registry/BondingRegistry.sol +9 -0
  76. package/contracts/registry/CiphernodeRegistryOwnable.sol +89 -42
  77. package/contracts/test/MockCiphernodeRegistry.sol +20 -6
  78. package/contracts/test/MockE3Program.sol +3 -8
  79. package/contracts/verifier/DkgPkVerifier.sol +3140 -0
  80. package/dist/hardhat.config.d.ts.map +1 -1
  81. package/dist/hardhat.config.js +4 -4
  82. package/dist/ignition/modules/dkgPkVerifier.d.ts +3 -0
  83. package/dist/ignition/modules/dkgPkVerifier.d.ts.map +1 -0
  84. package/dist/ignition/modules/dkgPkVerifier.js +10 -0
  85. package/dist/ignition/modules/e3RefundManager.d.ts +3 -0
  86. package/dist/ignition/modules/e3RefundManager.d.ts.map +1 -0
  87. package/dist/ignition/modules/e3RefundManager.js +23 -0
  88. package/dist/ignition/modules/enclave.d.ts.map +1 -1
  89. package/dist/ignition/modules/enclave.js +10 -0
  90. package/dist/scripts/deployAndSave/e3RefundManager.d.ts +20 -0
  91. package/dist/scripts/deployAndSave/e3RefundManager.d.ts.map +1 -0
  92. package/dist/scripts/deployAndSave/e3RefundManager.js +55 -0
  93. package/dist/scripts/deployAndSave/enclave.d.ts +13 -1
  94. package/dist/scripts/deployAndSave/enclave.d.ts.map +1 -1
  95. package/dist/scripts/deployAndSave/enclave.js +8 -1
  96. package/dist/scripts/deployAndSave/verifiers.d.ts +29 -0
  97. package/dist/scripts/deployAndSave/verifiers.d.ts.map +1 -0
  98. package/dist/scripts/deployAndSave/verifiers.js +109 -0
  99. package/dist/scripts/deployEnclave.d.ts.map +1 -1
  100. package/dist/scripts/deployEnclave.js +36 -0
  101. package/dist/scripts/deployVerifiers.d.ts +2 -0
  102. package/dist/scripts/deployVerifiers.d.ts.map +1 -0
  103. package/dist/scripts/deployVerifiers.js +33 -0
  104. package/dist/scripts/index.d.ts +1 -0
  105. package/dist/scripts/index.d.ts.map +1 -1
  106. package/dist/scripts/index.js +1 -0
  107. package/dist/tasks/enclave.d.ts +0 -2
  108. package/dist/tasks/enclave.d.ts.map +1 -1
  109. package/dist/tasks/enclave.js +8 -72
  110. package/dist/tasks/program.d.ts +2 -0
  111. package/dist/tasks/program.d.ts.map +1 -0
  112. package/dist/tasks/program.js +55 -0
  113. package/dist/test/E3Lifecycle/E3Integration.spec.d.ts +2 -0
  114. package/dist/test/E3Lifecycle/E3Integration.spec.d.ts.map +1 -0
  115. package/dist/test/E3Lifecycle/E3Integration.spec.js +757 -0
  116. package/dist/test/Enclave.spec.js +83 -406
  117. package/dist/test/Registry/CiphernodeRegistryOwnable.spec.js +133 -59
  118. package/dist/types/contracts/E3RefundManager.d.ts +379 -0
  119. package/dist/types/contracts/E3RefundManager.d.ts.map +1 -0
  120. package/dist/types/contracts/E3RefundManager.js +24 -0
  121. package/dist/types/contracts/Enclave.d.ts +325 -73
  122. package/dist/types/contracts/Enclave.d.ts.map +1 -1
  123. package/dist/types/contracts/Enclave.js +27 -3
  124. package/dist/types/contracts/index.d.ts +3 -0
  125. package/dist/types/contracts/index.d.ts.map +1 -1
  126. package/dist/types/contracts/interfaces/IBondingRegistry.d.ts +11 -1
  127. package/dist/types/contracts/interfaces/IBondingRegistry.d.ts.map +1 -1
  128. package/dist/types/contracts/interfaces/ICiphernodeRegistry.d.ts +35 -7
  129. package/dist/types/contracts/interfaces/ICiphernodeRegistry.d.ts.map +1 -1
  130. package/dist/types/contracts/interfaces/ICiphernodeRegistry.js +4 -0
  131. package/dist/types/contracts/interfaces/IE3Program.d.ts +16 -18
  132. package/dist/types/contracts/interfaces/IE3Program.d.ts.map +1 -1
  133. package/dist/types/contracts/interfaces/IE3RefundManager.d.ts +238 -0
  134. package/dist/types/contracts/interfaces/IE3RefundManager.d.ts.map +1 -0
  135. package/dist/types/contracts/interfaces/IE3RefundManager.js +16 -0
  136. package/dist/types/contracts/interfaces/IEnclave.d.ts +290 -62
  137. package/dist/types/contracts/interfaces/IEnclave.d.ts.map +1 -1
  138. package/dist/types/contracts/interfaces/IEnclave.js +27 -3
  139. package/dist/types/contracts/interfaces/index.d.ts +1 -0
  140. package/dist/types/contracts/interfaces/index.d.ts.map +1 -1
  141. package/dist/types/contracts/registry/BondingRegistry.d.ts +11 -1
  142. package/dist/types/contracts/registry/BondingRegistry.d.ts.map +1 -1
  143. package/dist/types/contracts/registry/CiphernodeRegistryOwnable.d.ts +35 -7
  144. package/dist/types/contracts/registry/CiphernodeRegistryOwnable.d.ts.map +1 -1
  145. package/dist/types/contracts/registry/CiphernodeRegistryOwnable.js +4 -0
  146. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.d.ts +35 -7
  147. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.d.ts.map +1 -1
  148. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.js +4 -0
  149. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.d.ts +35 -7
  150. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.d.ts.map +1 -1
  151. package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.js +4 -0
  152. package/dist/types/contracts/test/MockE3Program.d.ts +16 -18
  153. package/dist/types/contracts/test/MockE3Program.d.ts.map +1 -1
  154. package/dist/types/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier.d.ts +36 -0
  155. package/dist/types/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier.d.ts.map +1 -0
  156. package/dist/types/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier.js +1 -0
  157. package/dist/types/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.d.ts +36 -0
  158. package/dist/types/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.d.ts.map +1 -0
  159. package/dist/types/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.js +1 -0
  160. package/dist/types/contracts/verifier/DkgPkVerifier.sol/IVerifier.d.ts +36 -0
  161. package/dist/types/contracts/verifier/DkgPkVerifier.sol/IVerifier.d.ts.map +1 -0
  162. package/dist/types/contracts/verifier/DkgPkVerifier.sol/IVerifier.js +1 -0
  163. package/dist/types/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib.d.ts +138 -0
  164. package/dist/types/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib.d.ts.map +1 -0
  165. package/dist/types/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib.js +1 -0
  166. package/dist/types/contracts/verifier/DkgPkVerifier.sol/index.d.ts +5 -0
  167. package/dist/types/contracts/verifier/DkgPkVerifier.sol/index.d.ts.map +1 -0
  168. package/dist/types/contracts/verifier/DkgPkVerifier.sol/index.js +1 -0
  169. package/dist/types/contracts/verifier/index.d.ts +3 -0
  170. package/dist/types/contracts/verifier/index.d.ts.map +1 -0
  171. package/dist/types/contracts/verifier/index.js +1 -0
  172. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +1 -1
  173. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts.map +1 -1
  174. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js +1 -1
  175. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +1 -1
  176. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts.map +1 -1
  177. package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.js +1 -1
  178. package/dist/types/factories/contracts/E3RefundManager__factory.d.ts +540 -0
  179. package/dist/types/factories/contracts/E3RefundManager__factory.d.ts.map +1 -0
  180. package/dist/types/factories/contracts/E3RefundManager__factory.js +706 -0
  181. package/dist/types/factories/contracts/Enclave__factory.d.ts +412 -143
  182. package/dist/types/factories/contracts/Enclave__factory.d.ts.map +1 -1
  183. package/dist/types/factories/contracts/Enclave__factory.js +528 -180
  184. package/dist/types/factories/contracts/index.d.ts +2 -0
  185. package/dist/types/factories/contracts/index.d.ts.map +1 -1
  186. package/dist/types/factories/contracts/index.js +2 -0
  187. package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.d.ts +10 -0
  188. package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.d.ts.map +1 -1
  189. package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.js +13 -0
  190. package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.d.ts +42 -4
  191. package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.d.ts.map +1 -1
  192. package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.js +54 -4
  193. package/dist/types/factories/contracts/interfaces/IE3Program__factory.d.ts +14 -18
  194. package/dist/types/factories/contracts/interfaces/IE3Program__factory.d.ts.map +1 -1
  195. package/dist/types/factories/contracts/interfaces/IE3Program__factory.js +18 -23
  196. package/dist/types/factories/contracts/interfaces/IE3RefundManager__factory.d.ts +358 -0
  197. package/dist/types/factories/contracts/interfaces/IE3RefundManager__factory.d.ts.map +1 -0
  198. package/dist/types/factories/contracts/interfaces/IE3RefundManager__factory.js +471 -0
  199. package/dist/types/factories/contracts/interfaces/IEnclave__factory.d.ts +303 -103
  200. package/dist/types/factories/contracts/interfaces/IEnclave__factory.d.ts.map +1 -1
  201. package/dist/types/factories/contracts/interfaces/IEnclave__factory.js +382 -127
  202. package/dist/types/factories/contracts/interfaces/index.d.ts +1 -0
  203. package/dist/types/factories/contracts/interfaces/index.d.ts.map +1 -1
  204. package/dist/types/factories/contracts/interfaces/index.js +1 -0
  205. package/dist/types/factories/contracts/registry/BondingRegistry__factory.d.ts +11 -1
  206. package/dist/types/factories/contracts/registry/BondingRegistry__factory.d.ts.map +1 -1
  207. package/dist/types/factories/contracts/registry/BondingRegistry__factory.js +14 -1
  208. package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.d.ts +62 -12
  209. package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.d.ts.map +1 -1
  210. package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.js +79 -13
  211. package/dist/types/factories/contracts/slashing/SlashingManager__factory.d.ts +1 -1
  212. package/dist/types/factories/contracts/slashing/SlashingManager__factory.d.ts.map +1 -1
  213. package/dist/types/factories/contracts/slashing/SlashingManager__factory.js +1 -1
  214. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.d.ts +43 -5
  215. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.d.ts.map +1 -1
  216. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.js +55 -5
  217. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.d.ts +43 -5
  218. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.d.ts.map +1 -1
  219. package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.js +55 -5
  220. package/dist/types/factories/contracts/test/MockComputeProvider__factory.d.ts +1 -1
  221. package/dist/types/factories/contracts/test/MockComputeProvider__factory.d.ts.map +1 -1
  222. package/dist/types/factories/contracts/test/MockComputeProvider__factory.js +1 -1
  223. package/dist/types/factories/contracts/test/MockE3Program__factory.d.ts +15 -19
  224. package/dist/types/factories/contracts/test/MockE3Program__factory.d.ts.map +1 -1
  225. package/dist/types/factories/contracts/test/MockE3Program__factory.js +19 -24
  226. package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.d.ts +1 -1
  227. package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.d.ts.map +1 -1
  228. package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.js +1 -1
  229. package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.d.ts +1 -1
  230. package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.d.ts.map +1 -1
  231. package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.js +1 -1
  232. package/dist/types/factories/contracts/token/EnclaveToken__factory.d.ts +1 -1
  233. package/dist/types/factories/contracts/token/EnclaveToken__factory.d.ts.map +1 -1
  234. package/dist/types/factories/contracts/token/EnclaveToken__factory.js +1 -1
  235. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier__factory.d.ts +66 -0
  236. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier__factory.d.ts.map +1 -0
  237. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier__factory.js +90 -0
  238. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier__factory.d.ts +87 -0
  239. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier__factory.d.ts.map +1 -0
  240. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier__factory.js +122 -0
  241. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/IVerifier__factory.d.ts +26 -0
  242. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/IVerifier__factory.d.ts.map +1 -0
  243. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/IVerifier__factory.js +39 -0
  244. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib__factory.d.ts +323 -0
  245. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib__factory.d.ts.map +1 -0
  246. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib__factory.js +422 -0
  247. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/index.d.ts +5 -0
  248. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/index.d.ts.map +1 -0
  249. package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/index.js +7 -0
  250. package/dist/types/factories/contracts/verifier/index.d.ts +2 -0
  251. package/dist/types/factories/contracts/verifier/index.d.ts.map +1 -0
  252. package/dist/types/factories/contracts/verifier/index.js +4 -0
  253. package/dist/types/index.d.ts +12 -0
  254. package/dist/types/index.d.ts.map +1 -1
  255. package/dist/types/index.js +6 -0
  256. package/package.json +17 -3
  257. package/artifacts/build-info/solc-0_8_28-c77ac33099bb85c15f46d194dd2b735e036cb799.output.json +0 -1
@@ -3,6 +3,7 @@ export { ICiphernodeRegistry__factory } from './ICiphernodeRegistry__factory.js'
3
3
  export { IComputeProvider__factory } from './IComputeProvider__factory.js';
4
4
  export { IDecryptionVerifier__factory } from './IDecryptionVerifier__factory.js';
5
5
  export { IE3Program__factory } from './IE3Program__factory.js';
6
+ export { IE3RefundManager__factory } from './IE3RefundManager__factory.js';
6
7
  export { IEnclave__factory } from './IEnclave__factory.js';
7
8
  export { ISlashVerifier__factory } from './ISlashVerifier__factory.js';
8
9
  export { ISlashingManager__factory } from './ISlashingManager__factory.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/interfaces/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/interfaces/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -6,6 +6,7 @@ export { ICiphernodeRegistry__factory } from './ICiphernodeRegistry__factory.js'
6
6
  export { IComputeProvider__factory } from './IComputeProvider__factory.js';
7
7
  export { IDecryptionVerifier__factory } from './IDecryptionVerifier__factory.js';
8
8
  export { IE3Program__factory } from './IE3Program__factory.js';
9
+ export { IE3RefundManager__factory } from './IE3RefundManager__factory.js';
9
10
  export { IEnclave__factory } from './IEnclave__factory.js';
10
11
  export { ISlashVerifier__factory } from './ISlashVerifier__factory.js';
11
12
  export { ISlashingManager__factory } from './ISlashingManager__factory.js';
@@ -15,7 +15,7 @@ export declare class BondingRegistry__factory extends ContractFactory {
15
15
  deploymentTransaction(): ContractTransactionResponse;
16
16
  }>;
17
17
  connect(runner: ContractRunner | null): BondingRegistry__factory;
18
- static readonly bytecode = "0x6080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6134fb806100d65f395ff3fe608060405234801561000f575f5ffd5b5060043610610330575f3560e01c80638e05aaae116101b3578063b7e833e0116100f3578063cca3a5011161009e578063dd8c818e11610079578063dd8c818e14610745578063e5da378f14610758578063e8341e891461076b578063f2fde38b14610774575f5ffd5b8063cca3a5011461070d578063d32759ed14610720578063d5ed4d5a14610733575f5ffd5b8063c3c5a547116100ce578063c3c5a547146106b2578063c43b1f34146106e7578063c9ca1acc146106fa575f5ffd5b8063b7e833e014610683578063bb03bd711461068c578063bff232c11461069f575f5ffd5b80639f8dfddd1161015e578063a91ee0dc11610139578063a91ee0dc14610622578063acc2166a14610635578063ada332dd14610648578063b2f3f6691461065b575f5ffd5b80639f8dfddd146105e9578063a1809b95146105fc578063a542c2a41461060f575f5ffd5b80638f9b1d871161018e5780638f9b1d87146105885780639d7555de146105915780639f8a13d7146105a4575f5ffd5b80638e05aaae1461054f5780638e5ce3ad146105625780638e9ddc0314610575575f5ffd5b8063671b93071161027e5780637333fa82116102295780637b103999116102045780637b103999146104e85780637c79a9da146104fb5780638450e44e1461050c5780638da5cb5b1461051f575f5ffd5b80637333fa82146104bc578063752c36c0146104cf578063781545b3146104d8575f5ffd5b806370f868a61161025957806370f868a61461048e578063715018a6146104a15780637264f3f2146104a9575f5ffd5b8063671b9307146104405780636d3c18d3146104685780636ecfef9a1461047b575f5ffd5b80632c98fd3b116102de5780634cabdd3d116102b95780634cabdd3d146103ef57806351ec538214610402578063561df99e1461042d575f5ffd5b80632c98fd3b146103c05780632e8d9930146103c9578063450e9dec146103dc575f5ffd5b806319fb279a1161030e57806319fb279a14610378578063283886301461038b5780632acde098146103b8575f5ffd5b80630691bdcf146103345780631209b1f6146103495780631598165014610365575b5f5ffd5b6103476103423660046130ff565b610787565b005b61035260065481565b6040519081526020015b60405180910390f35b61034761037336600461313e565b610b23565b61034761038636600461313e565b610bb3565b60095461039f9067ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161035c565b610347610e7b565b61035260085481565b6103476103d736600461313e565b6110e4565b6103476103ea366004613169565b61117a565b6103476103fd366004613184565b6111a3565b600154610415906001600160a01b031681565b6040516001600160a01b03909116815260200161035c565b61034761043b366004613169565b611412565b61035261044e366004613169565b6001600160a01b03165f908152600b602052604090205490565b610347610476366004613169565b611463565b610352610489366004613169565b61148d565b61034761049c36600461313e565b61150f565b610347611577565b6103476104b73660046131b6565b61158a565b6103476104ca3660046131f2565b6116d5565b61035260075481565b5f546001600160a01b0316610415565b600254610415906001600160a01b031681565b6001546001600160a01b0316610415565b61034761051a366004613289565b611870565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610415565b61034761055d36600461313e565b6118f8565b600354610415906001600160a01b031681565b610347610583366004613184565b611ae8565b610352600a5481565b61034761059f36600461313e565b611c3d565b6105d96105b2366004613169565b6001600160a01b03165f908152600b6020526040902060010154600160501b900460ff1690565b604051901515815260200161035c565b6103476105f73660046131b6565b611e88565b61034761060a366004613169565b611f4d565b6105d961061d366004613169565b611f77565b610347610630366004613169565b611fa3565b600454610415906001600160a01b031681565b61034761065636600461313e565b611fcd565b61066e610669366004613169565b612157565b6040805192835260208301919091520161035c565b610352600c5481565b61035261069a3660046132a2565b61216d565b6103476106ad366004613169565b6121e7565b6105d96106c0366004613169565b6001600160a01b03165f908152600b6020526040902060010154600160401b900460ff1690565b6103476106f536600461313e565b612211565b61066e610708366004613169565b612299565b600554610415906001600160a01b031681565b6105d961072e366004613169565b6122a6565b5f54610415906001600160a01b031681565b6103476107533660046132cc565b61233a565b610352610766366004613169565b61247a565b610352600d5481565b610347610782366004613169565b6124e6565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b909304909316151560808201529161080e5750806020015167ffffffffffffffff1642105b1561082c5760405163376d91e160e21b815260040160405180910390fd5b335f908152600b602052604090206001810154600160401b900460ff166108665760405163aba4733960e01b815260040160405180910390fd5b60018101805469ffff00000000000000001916600160481b1790556009546108989067ffffffffffffffff1642613362565b60018201805467ffffffffffffffff191667ffffffffffffffff929092169190911790555f80546040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610902573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109269190613382565b825490915081156109e7575f5460405163216f226360e21b8152336004820152602481018490526001600160a01b03909116906385bc898c906044015f604051808303815f87803b158015610979575f5ffd5b505af115801561098b573d5f5f3e3d5ffd5b5050505067574954484452415760c01b336001600160a01b03167f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e846109d090613399565b604080519182525f60208301520160405180910390a35b8015610a3c575f83556515539093d39160d21b337f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6610a2584613399565b604080519182525f60208301520160405180910390a35b81151580610a4957508015155b15610a6b57600954610a6b90600e90339067ffffffffffffffff168585612528565b60025460405163a04e606560e01b81526001600160a01b039091169063a04e606590610a9f9033908b908b906004016133b3565b5f604051808303815f87803b158015610ab6575f5ffd5b505af1158015610ac8573d5f5f3e3d5ffd5b50505050600183015460405167ffffffffffffffff909116815233907f55278ae09e344fb61a9a1d094010b3ce004a7eacca9b11e10f0f119d03f1f38f9060200160405180910390a2610b1a336126ec565b50505050505050565b610b2b612839565b805f03610b4b5760405163c52a9bd360e01b815260040160405180910390fd5b600680549082905560408051828152602081018490527f7469636b65745072696365000000000000000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a91015b60405180910390a25050565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610c3a5750806020015167ffffffffffffffff1642105b15610c585760405163376d91e160e21b815260040160405180910390fd5b825f03610c7857604051631f2a200560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff16610cb15760405163aba4733960e01b815260040160405180910390fd5b5f546040516370a0823160e01b815233600482015284916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cf6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1a9190613382565b1015610d3957604051631e9acf1760e31b815260040160405180910390fd5b5f5460405163216f226360e21b8152336004820152602481018590526001600160a01b03909116906385bc898c906044015f604051808303815f87803b158015610d81575f5ffd5b505af1158015610d93573d5f5f3e3d5ffd5b5050600954610db39250600e9150339067ffffffffffffffff1686612894565b67574954484452415760c01b337f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e610dea86613399565b5f546040516370a0823160e01b81523360048201526001600160a01b03909116906370a08231906024015b602060405180830381865afa158015610e30573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e549190613382565b604080519283526020830191909152015b60405180910390a3610e76336126ec565b505050565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610f025750806020015167ffffffffffffffff1642105b15610f205760405163376d91e160e21b815260040160405180910390fd5b335f908152600b6020526040902060010154600160481b900460ff1615610f6457335f908152600b60205260409020600101805469ff00ffffffffffffffff191690555b6003546040516397f735d560e01b81523360048201526001600160a01b03909116906397f735d590602401602060405180830381865afa158015610faa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fce9190613413565b15610fec576040516359b217d560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff161561102657604051630ea075bf60e21b815260040160405180910390fd5b600754335f908152600b60205260409020541015611057576040516396dcc1ef60e01b815260040160405180910390fd5b335f818152600b602052604090819020600101805468ff00000000000000001916600160401b1790556002549051638a78bb1560e01b815260048101929092526001600160a01b031690638a78bb15906024015f604051808303815f87803b1580156110c1575f5ffd5b505af11580156110d3573d5f5f3e3d5ffd5b505050506110e0336126ec565b5050565b6110ec612839565b5f811180156110fd57506127108111155b61111a5760405163c52a9bd360e01b815260040160405180910390fd5b600a80549082905560408051828152602081018490527f6c6963656e736541637469766542707300000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b611182612839565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146111cd576040516282b42960e81b815260040160405180910390fd5b815f036111ed57604051631f2a200560e01b815260040160405180910390fd5b5f6111f9600e856128a1565b505f80546040516370a0823160e01b81526001600160a01b038881166004830152939450919216906370a0823190602401602060405180830381865afa158015611245573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112699190613382565b90505f6112768383613432565b90505f61128386836128ca565b9050805f036112955750505050505050565b5f6112a082856128ca565b90508015611309575f5460405163216f226360e21b81526001600160a01b038a8116600483015260248201849052909116906385bc898c906044015f604051808303815f87803b1580156112f2575f5ffd5b505af1158015611304573d5f5f3e3d5ffd5b505050505b5f6113148284613445565b9050801561132e5761132b600e8a835f60016128d9565b50505b82600c5f82825461133f9190613432565b909155508790506001600160a01b038a167f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e61137a86613399565b5f546040516370a0823160e01b81526001600160a01b038f81166004830152909116906370a0823190602401602060405180830381865afa1580156113c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e59190613382565b604080519283526020830191909152015b60405180910390a3611407896126ec565b505050505050505050565b61141a612839565b6001600160a01b0381166114415760405163d92e233d60e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61146b612839565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6006545f80546040516370a0823160e01b81526001600160a01b038581166004830152929392909116906370a0823190602401602060405180830381865afa1580156114db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ff9190613382565b6115099190613458565b92915050565b611517612839565b600880549082905560408051828152602081018490527f6d696e5469636b657442616c616e636500000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b61157f612839565b6115885f6129e7565b565b611592612839565b600c548211156115b557604051631e9acf1760e31b815260040160405180910390fd5b600d548111156115d857604051631e9acf1760e31b815260040160405180910390fd5b81156116575781600c5f8282546115ef9190613445565b90915550505f5460055460405163117de2fd60e01b81526001600160a01b0391821660048201526024810185905291169063117de2fd906044015f604051808303815f87803b158015611640575f5ffd5b505af1158015611652573d5f5f3e3d5ffd5b505050505b80156116905780600d5f82825461166e9190613445565b9091555050600554600154611690916001600160a01b03918216911683612a57565b60055460408051848152602081018490526001600160a01b03909216917f402cfba2a3f22a9ea7e8ad10259b9b4c638cc9c44444b06d6d0927c9e0275b119101610ba7565b5f6116de612acb565b805490915060ff600160401b820416159067ffffffffffffffff165f811580156117055750825b90505f8267ffffffffffffffff1660011480156117215750303b155b90508115801561172f575080155b1561174d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561177c57845468ff00000000000000001916600160401b1785555b61178533612af3565b61178e8d61117a565b6117978c611463565b6117a08b611fa3565b6117a98a611412565b6117b289610b23565b6117bb88612211565b6117c48761150f565b6117cd86611870565b6117d8611f406110e4565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038f8116911614611815576118158e6124e6565b831561186057845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b611878612839565b6009805467ffffffffffffffff83811667ffffffffffffffff19831681179093556040519116917f6578697444656c61790000000000000000000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a91610ba791859190918252602082015260400190565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b909304909316151560808201529161197f5750806020015167ffffffffffffffff1642105b1561199d5760405163376d91e160e21b815260040160405180910390fd5b825f036119bd57604051631f2a200560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff166119f65760405163aba4733960e01b815260040160405180910390fd5b5f546040516368a9674d60e01b815233600482018190526024820152604481018590526001600160a01b03909116906368a9674d906064016020604051808303815f875af1158015611a4a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6e9190613413565b505f546040516370a0823160e01b815233600482018190527f4445504f534954000000000000000000000000000000000000000000000000009290917f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e9187916001600160a01b03909116906370a0823190602401610e15565b6003546001600160a01b03163314611b12576040516282b42960e81b815260040160405180910390fd5b815f03611b3257604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0383165f908152600b6020526040812090611b55600e866128a1565b9150505f81835f0154611b689190613432565b90505f611b7586836128ca565b9050805f03611b875750505050505050565b5f611b9582865f01546128ca565b90508015611bb55780855f015f828254611baf9190613445565b90915550505b5f611bc08284613445565b90508015611bda57611bd7600e8a5f8460016128d9565b50505b82600d5f828254611beb9190613432565b909155508790506001600160a01b038a167f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6611c2686613399565b8954604080519283526020830191909152016113f6565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611cc45750806020015167ffffffffffffffff1642105b15611ce25760405163376d91e160e21b815260040160405180910390fd5b825f03611d0257604051631f2a200560e01b815260040160405180910390fd5b6001546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6c9190613382565b600154909150611d87906001600160a01b0316333087612b04565b6001546040516370a0823160e01b81523060048201525f9183916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611dd1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df59190613382565b611dff9190613445565b335f908152600b6020526040812080549293508392909190611e22908490613432565b9091555050335f818152600b602090815260409182902054825185815291820152631093d39160e21b92917f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6910160405180910390a3611e81336126ec565b5050505050565b5f80611e97600e338686612b3d565b915091505f821180611ea857505f81115b611ec5576040516353d8d5b960e01b815260040160405180910390fd5b8115611f2a575f5460405163117de2fd60e01b8152336004820152602481018490526001600160a01b039091169063117de2fd906044015f604051808303815f87803b158015611f13575f5ffd5b505af1158015611f25573d5f5f3e3d5ffd5b505050505b8015611f4757600154611f47906001600160a01b03163383612a57565b50505050565b611f55612839565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f611f80612c41565b6001600160a01b039092165f908152600b60205260409020549190911015919050565b611fab612839565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b90930490931615156080820152916120545750806020015167ffffffffffffffff1642105b156120725760405163376d91e160e21b815260040160405180910390fd5b825f0361209257604051631f2a200560e01b815260040160405180910390fd5b335f908152600b60205260409020548311156120c157604051631e9acf1760e31b815260040160405180910390fd5b335f908152600b6020526040812080548592906120df908490613445565b909155505060095461210090600e90339067ffffffffffffffff1686612c64565b6515539093d39160d21b337f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d661213586613399565b335f908152600b60209081526040918290205482519384529083015201610e65565b5f80612164600e846128a1565b91509150915091565b5f8054604051630748d63560e31b81526001600160a01b0385811660048301526024820185905290911690633a46b1a890604401602060405180830381865afa1580156121bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121e09190613382565b9392505050565b6121ef612839565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612219612839565b805f036122395760405163c52a9bd360e01b815260040160405180910390fd5b600780549082905560408051828152602081018490527f6c6963656e73655265717569726564426f6e6400000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b5f80612164600e84612c71565b6001600160a01b0381165f908152600b60209081526040808320815160a0810183528154815260019091015467ffffffffffffffff81169382019390935260ff600160401b84048116151592820192909252600160481b8304821615801560608301819052600160501b9094049092161515608082015291906121e057506020015167ffffffffffffffff16421092915050565b6004546001600160a01b03163314612365576040516301e803c360e01b815260040160405180910390fd5b8281146123855760405163512509d360e11b815260040160405180910390fd5b825f5b81811015610b1a575f8484838181106123a3576123a3613477565b905060200201351180156124035750600b5f8787848181106123c7576123c7613477565b90506020020160208101906123dc9190613169565b6001600160a01b0316815260208101919091526040015f2060010154600160401b900460ff165b1561247257600454612472906001600160a01b031687878481811061242a5761242a613477565b905060200201602081019061243f9190613169565b86868581811061245157612451613477565b905060200201358a6001600160a01b0316612b04909392919063ffffffff16565b600101612388565b5f80546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a0823190602401602060405180830381865afa1580156124c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115099190613382565b6124ee612839565b6001600160a01b03811661251c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b612525816129e7565b50565b81158015612534575080155b611e81574261254b8467ffffffffffffffff61348b565b67ffffffffffffffff168167ffffffffffffffff16111561257f5760405163549a019760e01b815260040160405180910390fd5b5f61258a8583613362565b6001600160a01b0387165f908152602089905260408120805492935091908115612637575f836125bb600185613445565b815481106125cb576125cb613477565b5f9182526020909120600390910201805490915067ffffffffffffffff8087169116036126355787156126115787816001015f82825461260b9190613432565b90915550505b86156126305786816002015f82825461262a9190613432565b90915550505b600191505b505b8061267d578254600180820185555f858152602090206003909202909101805467ffffffffffffffff191667ffffffffffffffff87161781559081018890556002018690555b61268b8a8a89896001612d15565b604080518881526020810188905267ffffffffffffffff86168183015290516001600160a01b038b16917fa798fa3372862b9279e9279338081d2e0828e908501dbdf4cf8e2ef83867649d919081900360600190a250505050505050505050565b6001600160a01b0381165f908152600b602052604081206001810154909190600160401b900460ff1680156127295750612724612c41565b825410155b80156127ae57506008546006545f546040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa15801561277d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127a19190613382565b6127ab9190613458565b10155b600183015490915060ff600160501b90910416151581151514610e7657600182018054821515600160501b026aff00000000000000000000199091161790556040516001600160a01b038416907f1e5cd4157c0bec375761492bfd692468cecd66e6cb75f397a5195b570692d9059061282c90841515815260200190565b60405180910390a2505050565b3361286b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146115885760405163118cdaa760e01b8152336004820152602401612513565b611f47848484845f612528565b6001600160a01b0381165f908152600283016020526040902080546001909101545b9250929050565b5f8282188284100282186121e0565b5f808415612925576128ee8787875f87612dc3565b91508115612925576001600160a01b0386165f9081526002880160205260408120805484929061291f908490613445565b90915550505b831561297357612939878786600187612dc3565b90508015612973576001600160a01b0386165f9081526002880160205260408120600101805483929061296d908490613445565b90915550505b5f82118061298057505f81115b156129dd5761298f8787612f66565b60408051838152602081018390528415158183015290516001600160a01b038816917faaff5d2d15d2258450693fb56a7e9be67429e9a925525019086c620c5323fd9b919081900360600190a25b9550959350505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6040516001600160a01b03838116602483015260448201839052610e7691859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061300c565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611509565b612afb613078565b6125258161309d565b6040516001600160a01b038481166024830152838116604483015260648201839052611f479186918216906323b872dd90608401612a84565b5f808315612b8957612b528686865f5f612dc3565b91508115612b89576001600160a01b0385165f90815260028701602052604081208054849290612b83908490613445565b90915550505b8215612bd757612b9d86868560015f612dc3565b90508015612bd7576001600160a01b0385165f90815260028701602052604081206001018054839290612bd1908490613445565b90915550505b5f821180612be457505f81115b15612c3857612bf38686612f66565b60408051838152602081018390526001600160a01b038716917fbd58523b9978b5fb3c6487ecc5b6a8ef9cd69c5fb07fb39e0af1e45ef2855fcc910160405180910390a25b94509492505050565b5f612710600a54600754612c5591906134ab565b612c5f9190613458565b905090565b611f478484845f85612528565b6001600160a01b0381165f9081526020838152604080832060018601909252822054829190805b8254811015612d0b575f838281548110612cb457612cb4613477565b5f9182526020909120600390910201805490915067ffffffffffffffff16421015612cdf5750612d0b565b6001810154612cee9087613432565b9550806002015485612d009190613432565b945050600101612c98565b5050509250929050565b82821715611e81576001600160a01b0384165f90815260028601602052604090208115612d7e578315612d5a5783815f015f828254612d549190613432565b90915550505b8215612d795782816001015f828254612d739190613432565b90915550505b612dbb565b8315612d9c5783815f015f828254612d969190613445565b90915550505b8215612dbb5782816001015f828254612db59190613445565b90915550505b505050505050565b5f835f03612dd257505f612f5d565b6001600160a01b0385165f9081526020878152604080832060018a01909252909120548154865b5f81118015612e0757508183105b15612f3f575f848481548110612e1f57612e1f613477565b905f5260205f209060030201905086158015612e455750805467ffffffffffffffff1642105b15612e505750612f3f565b5f80896001811115612e6457612e646134c2565b03612e7457506001810154612e7b565b5060028101545b805f03612e965784612e8c816134d6565b9550505050612df9565b5f818410612ea45781612ea6565b835b90505f8a6001811115612ebb57612ebb6134c2565b03612ede5780836001015f828254612ed39190613445565b90915550612ef79050565b80836002015f828254612ef19190613445565b90915550505b612f018185613445565b9350612f0d8189613432565b975082600101545f148015612f2457506002830154155b15612f375785612f33816134d6565b9650505b505050612df9565b50506001600160a01b0387165f908152600189016020526040902055505b95945050505050565b6001600160a01b0381165f9081526020838152604080832060018601909252909120545b8154811015612fec575f828281548110612fa657612fa6613477565b905f5260205f209060030201905080600101545f148015612fc957506002810154155b15612fe05781612fd8816134d6565b925050612fe6565b50612fec565b50612f8a565b6001600160a01b039092165f908152600190930160205250604090912055565b5f5f60205f8451602086015f885af18061302b576040513d5f823e3d81fd5b50505f513d9150811561304257806001141561304f565b6001600160a01b0384163b155b15611f4757604051635274afe760e01b81526001600160a01b0385166004820152602401612513565b6130806130a5565b61158857604051631afcd79f60e31b815260040160405180910390fd5b6124ee613078565b5f6130ae612acb565b54600160401b900460ff16919050565b5f5f83601f8401126130ce575f5ffd5b50813567ffffffffffffffff8111156130e5575f5ffd5b6020830191508360208260051b85010111156128c3575f5ffd5b5f5f60208385031215613110575f5ffd5b823567ffffffffffffffff811115613126575f5ffd5b613132858286016130be565b90969095509350505050565b5f6020828403121561314e575f5ffd5b5035919050565b6001600160a01b0381168114612525575f5ffd5b5f60208284031215613179575f5ffd5b81356121e081613155565b5f5f5f60608486031215613196575f5ffd5b83356131a181613155565b95602085013595506040909401359392505050565b5f5f604083850312156131c7575f5ffd5b50508035926020909101359150565b803567ffffffffffffffff811681146131ed575f5ffd5b919050565b5f5f5f5f5f5f5f5f5f6101208a8c03121561320b575f5ffd5b893561321681613155565b985060208a013561322681613155565b975060408a013561323681613155565b965060608a013561324681613155565b955060808a013561325681613155565b945060a08a0135935060c08a0135925060e08a0135915061327a6101008b016131d6565b90509295985092959850929598565b5f60208284031215613299575f5ffd5b6121e0826131d6565b5f5f604083850312156132b3575f5ffd5b82356132be81613155565b946020939093013593505050565b5f5f5f5f5f606086880312156132e0575f5ffd5b85356132eb81613155565b9450602086013567ffffffffffffffff811115613306575f5ffd5b613312888289016130be565b909550935050604086013567ffffffffffffffff811115613331575f5ffd5b61333d888289016130be565b969995985093965092949392505050565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81811683821601908111156115095761150961334e565b5f60208284031215613392575f5ffd5b5051919050565b5f600160ff1b82016133ad576133ad61334e565b505f0390565b6001600160a01b0384168152604060208201528160408201525f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156133f9575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f60208284031215613423575f5ffd5b815180151581146121e0575f5ffd5b808201808211156115095761150961334e565b818103818111156115095761150961334e565b5f8261347257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b67ffffffffffffffff82811682821603908111156115095761150961334e565b80820281158282048414176115095761150961334e565b634e487b7160e01b5f52602160045260245ffd5b5f600182016134e7576134e761334e565b506001019056fea164736f6c634300081c000a";
18
+ static readonly bytecode = "0x6080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6133a4806100d65f395ff3fe608060405234801561000f575f5ffd5b50600436106102c3575f3560e01c80638e05aaae11610177578063b7e833e0116100d5578063cca3a5011161008f578063cca3a50114610674578063d32759ed14610687578063d5ed4d5a1461069a578063dd8c818e146106ac578063e5da378f146106bf578063e8341e89146106d2578063f2fde38b146106db575f5ffd5b8063b7e833e0146105ea578063bb03bd71146105f3578063bff232c114610606578063c3c5a54714610619578063c43b1f341461064e578063c9ca1acc14610661575f5ffd5b80639f8dfddd116101315780639f8dfddd14610550578063a1809b9514610563578063a542c2a414610576578063a91ee0dc14610589578063acc2166a1461059c578063ada332dd146105af578063b2f3f669146105c2575f5ffd5b80638e05aaae146104b65780638e5ce3ad146104c95780638e9ddc03146104dc5780638f9b1d87146104ef5780639d7555de146104f85780639f8a13d71461050b575f5ffd5b8063671b9307116102245780637333fa82116101de5780637333fa821461044b578063752c36c01461045e578063781545b3146104675780637b103999146104775780637c79a9da1461048a5780638450e44e1461049b5780638da5cb5b146104ae575f5ffd5b8063671b9307146103cf5780636d3c18d3146103f75780636ecfef9a1461040a57806370f868a61461041d578063715018a6146104305780637264f3f214610438575f5ffd5b80632acde098116102805780632acde098146103525780632c98fd3b1461035a5780632e8d993014610363578063450e9dec146103765780634cabdd3d1461038957806351ec53821461039c578063561df99e146103bc575f5ffd5b80630691bdcf146102c75780631209b1f6146102dc57806315981650146102f85780631986fb1e1461030b57806319fb279a146103145780632838863014610327575b5f5ffd5b6102da6102d5366004612f00565b6106ee565b005b6102e560065481565b6040519081526020015b60405180910390f35b6102da610306366004612f3e565b610a5e565b6102e5600b5481565b6102da610322366004612f3e565b610ac9565b60095461033a906001600160401b031681565b6040516001600160401b0390911681526020016102ef565b6102da610d84565b6102e560085481565b6102da610371366004612f3e565b610ff0565b6102da610384366004612f69565b611066565b6102da610397366004612f84565b61108f565b6001546103af906001600160a01b031681565b6040516102ef9190612fb6565b6102da6103ca366004612f69565b611301565b6102e56103dd366004612f69565b6001600160a01b03165f908152600c602052604090205490565b6102da610405366004612f69565b611352565b6102e5610418366004612f69565b61137c565b6102da61042b366004612f3e565b611401565b6102da611449565b6102da610446366004612fca565b61145c565b6102da610459366004613005565b6115a7565b6102e560075481565b5f546001600160a01b03166103af565b6002546103af906001600160a01b031681565b6001546001600160a01b03166103af565b6102da6104a936600461309c565b611722565b6103af611782565b6102da6104c4366004612f3e565b6117b0565b6003546103af906001600160a01b031681565b6102da6104ea366004612f84565b61196e565b6102e5600a5481565b6102da610506366004612f3e565b611ab0565b610540610519366004612f69565b6001600160a01b03165f908152600c6020526040902060010154600160501b900460ff1690565b60405190151581526020016102ef565b6102da61055e366004612fca565b611cf0565b6102da610571366004612f69565b611db5565b610540610584366004612f69565b611ddf565b6102da610597366004612f69565b611e0b565b6004546103af906001600160a01b031681565b6102da6105bd366004612f3e565b611e35565b6105d56105d0366004612f69565b611fa9565b604080519283526020830191909152016102ef565b6102e5600d5481565b6102e56106013660046130b5565b611fbf565b6102da610614366004612f69565b612037565b610540610627366004612f69565b6001600160a01b03165f908152600c6020526040902060010154600160401b900460ff1690565b6102da61065c366004612f3e565b612061565b6105d561066f366004612f69565b6120cc565b6005546103af906001600160a01b031681565b610540610695366004612f69565b6120d9565b5f546103af906001600160a01b031681565b6102da6106ba3660046130df565b61216b565b6102e56106cd366004612f69565b6122ab565b6102e5600e5481565b6102da6106e9366004612f69565b61231a565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610773575080602001516001600160401b031642105b156107915760405163376d91e160e21b815260040160405180910390fd5b335f908152600c602052604090206001810154600160401b900460ff166107cb5760405163aba4733960e01b815260040160405180910390fd5b60018101805461ffff60401b1916600160481b1790556009546107f7906001600160401b031642613173565b60018201805467ffffffffffffffff19166001600160401b03929092169190911790555f80546040516370a0823160e01b81526001600160a01b03909116906370a082319061084a903390600401612fb6565b602060405180830381865afa158015610865573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108899190613192565b82549091508115610937575f5460405163216f226360e21b81526001600160a01b03909116906385bc898c906108c590339086906004016131a9565b5f604051808303815f87803b1580156108dc575f5ffd5b505af11580156108ee573d5f5f3e3d5ffd5b5050505067574954484452415760c01b336001600160a01b03165f5160206133385f395f51905f5284610920906131c2565b604080519182525f60208301520160405180910390a35b8015610979575f83556515539093d39160d21b335f5160206133585f395f51905f52610962846131c2565b604080519182525f60208301520160405180910390a35b8115158061098657508015155b156109a7576009546109a790600f9033906001600160401b03168585612360565b60025460405163a04e606560e01b81526001600160a01b039091169063a04e6065906109db9033908b908b906004016131dc565b5f604051808303815f87803b1580156109f2575f5ffd5b505af1158015610a04573d5f5f3e3d5ffd5b5050505060018301546040516001600160401b03909116815233907f55278ae09e344fb61a9a1d094010b3ce004a7eacca9b11e10f0f119d03f1f38f9060200160405180910390a2610a553361251e565b50505050505050565b610a6661269c565b805f03610a865760405163c52a9bd360e01b815260040160405180910390fd5b600680549082905560408051828152602081018490526a7469636b6574507269636560a81b915f5160206133785f395f51905f5291015b60405180910390a25050565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610b4e575080602001516001600160401b031642105b15610b6c5760405163376d91e160e21b815260040160405180910390fd5b825f03610b8c57604051631f2a200560e01b815260040160405180910390fd5b335f908152600c6020526040902060010154600160401b900460ff16610bc55760405163aba4733960e01b815260040160405180910390fd5b5f546040516370a0823160e01b815284916001600160a01b0316906370a0823190610bf4903390600401612fb6565b602060405180830381865afa158015610c0f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c339190613192565b1015610c5257604051631e9acf1760e31b815260040160405180910390fd5b5f5460405163216f226360e21b81526001600160a01b03909116906385bc898c90610c8390339087906004016131a9565b5f604051808303815f87803b158015610c9a575f5ffd5b505af1158015610cac573d5f5f3e3d5ffd5b5050600954610ccb9250600f915033906001600160401b0316866126ce565b67574954484452415760c01b335f5160206133385f395f51905f52610cef866131c2565b5f546040516370a0823160e01b81526001600160a01b03909116906370a0823190610d1e903390600401612fb6565b602060405180830381865afa158015610d39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d9190613192565b604080519283526020830191909152015b60405180910390a3610d7f3361251e565b505050565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610e09575080602001516001600160401b031642105b15610e275760405163376d91e160e21b815260040160405180910390fd5b335f908152600c6020526040902060010154600160481b900460ff1615610e6b57335f908152600c60205260409020600101805469ff00ffffffffffffffff191690555b6003546040516397f735d560e01b81526001600160a01b03909116906397f735d590610e9b903390600401612fb6565b602060405180830381865afa158015610eb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eda9190613224565b15610ef8576040516359b217d560e01b815260040160405180910390fd5b335f908152600c6020526040902060010154600160401b900460ff1615610f3257604051630ea075bf60e21b815260040160405180910390fd5b600754335f908152600c60205260409020541015610f63576040516396dcc1ef60e01b815260040160405180910390fd5b335f818152600c602052604090819020600101805460ff60401b1916600160401b1790556002549051638a78bb1560e01b81526001600160a01b039190911691638a78bb1591610fb69190600401612fb6565b5f604051808303815f87803b158015610fcd575f5ffd5b505af1158015610fdf573d5f5f3e3d5ffd5b50505050610fec3361251e565b5050565b610ff861269c565b5f8111801561100957506127108111155b6110265760405163c52a9bd360e01b815260040160405180910390fd5b600a80549082905560408051828152602081018490526f6c6963656e736541637469766542707360801b915f5160206133785f395f51905f529101610abd565b61106e61269c565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146110b9576040516282b42960e81b815260040160405180910390fd5b815f036110d957604051631f2a200560e01b815260040160405180910390fd5b5f6110e5600f856126db565b505f80546040516370a0823160e01b815292935090916001600160a01b03909116906370a082319061111b908890600401612fb6565b602060405180830381865afa158015611136573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115a9190613192565b90505f6111678383613243565b90505f6111748683612704565b9050805f036111865750505050505050565b5f6111918285612704565b905080156111f8575f5460405163216f226360e21b81526001600160a01b03909116906385bc898c906111ca908b9085906004016131a9565b5f604051808303815f87803b1580156111e1575f5ffd5b505af11580156111f3573d5f5f3e3d5ffd5b505050505b5f6112038284613256565b9050801561121d5761121a600f8a835f6001612713565b50505b82600d5f82825461122e9190613243565b909155508790506001600160a01b038a165f5160206133385f395f51905f52611256866131c2565b5f5f9054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b81526004016112959190612fb6565b602060405180830381865afa1580156112b0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d49190613192565b604080519283526020830191909152015b60405180910390a36112f68961251e565b505050505050505050565b61130961269c565b6001600160a01b0381166113305760405163d92e233d60e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61135a61269c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6006545f80546040516370a0823160e01b81529192916001600160a01b03909116906370a08231906113b2908690600401612fb6565b602060405180830381865afa1580156113cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f19190613192565b6113fb9190613269565b92915050565b61140961269c565b600880549082905560408051828152602081018490526f6d696e5469636b657442616c616e636560801b915f5160206133785f395f51905f529101610abd565b61145161269c565b61145a5f612821565b565b61146461269c565b600d5482111561148757604051631e9acf1760e31b815260040160405180910390fd5b600e548111156114aa57604051631e9acf1760e31b815260040160405180910390fd5b81156115295781600d5f8282546114c19190613256565b90915550505f5460055460405163117de2fd60e01b81526001600160a01b039283169263117de2fd926114fb9291169086906004016131a9565b5f604051808303815f87803b158015611512575f5ffd5b505af1158015611524573d5f5f3e3d5ffd5b505050505b80156115625780600e5f8282546115409190613256565b9091555050600554600154611562916001600160a01b03918216911683612891565b60055460408051848152602081018490526001600160a01b03909216917f402cfba2a3f22a9ea7e8ad10259b9b4c638cc9c44444b06d6d0927c9e0275b119101610abd565b5f6115b06128e9565b805490915060ff600160401b82041615906001600160401b03165f811580156115d65750825b90505f826001600160401b031660011480156115f15750303b155b9050811580156115ff575080155b1561161d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561164757845460ff60401b1916600160401b1785555b61165033612911565b6116598d611066565b6116628c611352565b61166b8b611e0b565b6116748a611301565b61167d89610a5e565b61168688612061565b61168f87611401565b61169886611722565b6116a3611f40610ff0565b6116ab611782565b6001600160a01b03168e6001600160a01b0316146116cc576116cc8e61231a565b831561171257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b61172a61269c565b600980546001600160401b0383811667ffffffffffffffff1983168117909355604051911691686578697444656c617960b81b915f5160206133785f395f51905f5291610abd91859190918252602082015260400190565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611835575080602001516001600160401b031642105b156118535760405163376d91e160e21b815260040160405180910390fd5b825f0361187357604051631f2a200560e01b815260040160405180910390fd5b335f908152600c6020526040902060010154600160401b900460ff166118ac5760405163aba4733960e01b815260040160405180910390fd5b5f546040516368a9674d60e01b81526001600160a01b03909116906368a9674d906118df90339081908890600401613288565b6020604051808303815f875af11580156118fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191f9190613224565b505f546040516370a0823160e01b81526611115413d4d25560ca1b9133915f5160206133385f395f51905f529187916001600160a01b03909116906370a0823190610d1e908690600401612fb6565b6003546001600160a01b03163314611998576040516282b42960e81b815260040160405180910390fd5b815f036119b857604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0383165f908152600c60205260408120906119db600f866126db565b9150505f81835f01546119ee9190613243565b90505f6119fb8683612704565b9050805f03611a0d5750505050505050565b5f611a1b82865f0154612704565b90508015611a3b5780855f015f828254611a359190613256565b90915550505b5f611a468284613256565b90508015611a6057611a5d600f8a5f846001612713565b50505b82600e5f828254611a719190613243565b909155508790506001600160a01b038a165f5160206133585f395f51905f52611a99866131c2565b8954604080519283526020830191909152016112e5565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611b35575080602001516001600160401b031642105b15611b535760405163376d91e160e21b815260040160405180910390fd5b825f03611b7357604051631f2a200560e01b815260040160405180910390fd5b6001546040516370a0823160e01b81525f916001600160a01b0316906370a0823190611ba3903090600401612fb6565b602060405180830381865afa158015611bbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611be29190613192565b600154909150611bfd906001600160a01b0316333087612922565b6001546040516370a0823160e01b81525f9183916001600160a01b03909116906370a0823190611c31903090600401612fb6565b602060405180830381865afa158015611c4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c709190613192565b611c7a9190613256565b335f908152600c6020526040812080549293508392909190611c9d908490613243565b9091555050335f818152600c602090815260409182902054825185815291820152631093d39160e21b92915f5160206133585f395f51905f52910160405180910390a3611ce93361251e565b5050505050565b5f80611cff600f33868661294a565b915091505f821180611d1057505f81115b611d2d576040516353d8d5b960e01b815260040160405180910390fd5b8115611d92575f5460405163117de2fd60e01b81526001600160a01b039091169063117de2fd90611d6490339086906004016131a9565b5f604051808303815f87803b158015611d7b575f5ffd5b505af1158015611d8d573d5f5f3e3d5ffd5b505050505b8015611daf57600154611daf906001600160a01b03163383612891565b50505050565b611dbd61269c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f611de8612a4e565b6001600160a01b039092165f908152600c60205260409020549190911015919050565b611e1361269c565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611eba575080602001516001600160401b031642105b15611ed85760405163376d91e160e21b815260040160405180910390fd5b825f03611ef857604051631f2a200560e01b815260040160405180910390fd5b335f908152600c6020526040902054831115611f2757604051631e9acf1760e31b815260040160405180910390fd5b335f908152600c602052604081208054859290611f45908490613256565b9091555050600954611f6590600f9033906001600160401b031686612a71565b6515539093d39160d21b335f5160206133585f395f51905f52611f87866131c2565b335f908152600c60209081526040918290205482519384529083015201610d6e565b5f80611fb6600f846126db565b91509150915091565b5f8054604051630748d63560e31b81526001600160a01b0390911690633a46b1a890611ff190869086906004016131a9565b602060405180830381865afa15801561200c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120309190613192565b9392505050565b61203f61269c565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b61206961269c565b805f036120895760405163c52a9bd360e01b815260040160405180910390fd5b60078054908290556040805182815260208101849052721b1a58d95b9cd954995c5d5a5c9959109bdb99606a1b915f5160206133785f395f51905f529101610abd565b5f80611fb6600f84612a7e565b6001600160a01b0381165f908152600c60209081526040808320815160a081018352815481526001909101546001600160401b0381169382019390935260ff600160401b84048116151592820192909252600160481b8304821615801560608301819052600160501b9094049092161515608082015291906120305750602001516001600160401b0316421092915050565b6004546001600160a01b03163314612196576040516301e803c360e01b815260040160405180910390fd5b8281146121b65760405163512509d360e11b815260040160405180910390fd5b825f5b81811015610a55575f8484838181106121d4576121d46132ac565b905060200201351180156122345750600c5f8787848181106121f8576121f86132ac565b905060200201602081019061220d9190612f69565b6001600160a01b0316815260208101919091526040015f2060010154600160401b900460ff165b156122a3576004546122a3906001600160a01b031687878481811061225b5761225b6132ac565b90506020020160208101906122709190612f69565b868685818110612282576122826132ac565b905060200201358a6001600160a01b0316612922909392919063ffffffff16565b6001016121b9565b5f80546040516370a0823160e01b81526001600160a01b03909116906370a08231906122db908590600401612fb6565b602060405180830381865afa1580156122f6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fb9190613192565b61232261269c565b6001600160a01b038116612354575f604051631e4fbdf760e01b815260040161234b9190612fb6565b60405180910390fd5b61235d81612821565b50565b8115801561236c575080155b611ce95742612382846001600160401b036132c0565b6001600160401b0316816001600160401b031611156123b45760405163549a019760e01b815260040160405180910390fd5b5f6123bf8583613173565b6001600160a01b0387165f90815260208990526040812080549293509190811561246b575f836123f0600185613256565b81548110612400576124006132ac565b5f918252602090912060039091020180549091506001600160401b038087169116036124695787156124455787816001015f82825461243f9190613243565b90915550505b86156124645786816002015f82825461245e9190613243565b90915550505b600191505b505b806124b0578254600180820185555f858152602090206003909202909101805467ffffffffffffffff19166001600160401b0387161781559081018890556002018690555b6124be8a8a89896001612b21565b60408051888152602081018890526001600160401b0386168183015290516001600160a01b038b16917fa798fa3372862b9279e9279338081d2e0828e908501dbdf4cf8e2ef83867649d919081900360600190a250505050505050505050565b6001600160a01b0381165f908152600c602052604081206001810154909190600160401b900460ff16801561255b5750612556612a4e565b825410155b80156125e357506008546006545f546040516370a0823160e01b81526001600160a01b03909116906370a0823190612597908890600401612fb6565b602060405180830381865afa1580156125b2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d69190613192565b6125e09190613269565b10155b600183015490915060ff600160501b90910416151581151514610d7f5760018201805482158015600160501b0260ff60501b199092169190911790915561263d57600b8054905f612633836132df565b9190505550612652565b600b8054905f61264c836132f7565b91905055505b826001600160a01b03167f1e5cd4157c0bec375761492bfd692468cecd66e6cb75f397a5195b570692d9058260405161268f911515815260200190565b60405180910390a2505050565b336126a5611782565b6001600160a01b03161461145a573360405163118cdaa760e01b815260040161234b9190612fb6565b611daf848484845f612360565b6001600160a01b0381165f908152600283016020526040902080546001909101545b9250929050565b5f828218828410028218612030565b5f80841561275f576127288787875f87612bcf565b9150811561275f576001600160a01b0386165f90815260028801602052604081208054849290612759908490613256565b90915550505b83156127ad57612773878786600187612bcf565b905080156127ad576001600160a01b0386165f908152600288016020526040812060010180548392906127a7908490613256565b90915550505b5f8211806127ba57505f81115b15612817576127c98787612d71565b60408051838152602081018390528415158183015290516001600160a01b038816917faaff5d2d15d2258450693fb56a7e9be67429e9a925525019086c620c5323fd9b919081900360600190a25b9550959350505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b610d7f83846001600160a01b031663a9059cbb85856040516024016128b79291906131a9565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612e17565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006113fb565b612919612e7a565b61235d81612e9f565b611daf84856001600160a01b03166323b872dd8686866040516024016128b793929190613288565b5f8083156129965761295f8686865f5f612bcf565b91508115612996576001600160a01b0385165f90815260028701602052604081208054849290612990908490613256565b90915550505b82156129e4576129aa86868560015f612bcf565b905080156129e4576001600160a01b0385165f908152600287016020526040812060010180548392906129de908490613256565b90915550505b5f8211806129f157505f81115b15612a4557612a008686612d71565b60408051838152602081018390526001600160a01b038716917fbd58523b9978b5fb3c6487ecc5b6a8ef9cd69c5fb07fb39e0af1e45ef2855fcc910160405180910390a25b94509492505050565b5f612710600a54600754612a62919061330c565b612a6c9190613269565b905090565b611daf8484845f85612360565b6001600160a01b0381165f9081526020838152604080832060018601909252822054829190805b8254811015612b17575f838281548110612ac157612ac16132ac565b5f918252602090912060039091020180549091506001600160401b0316421015612aeb5750612b17565b6001810154612afa9087613243565b9550806002015485612b0c9190613243565b945050600101612aa5565b5050509250929050565b82821715611ce9576001600160a01b0384165f90815260028601602052604090208115612b8a578315612b665783815f015f828254612b609190613243565b90915550505b8215612b855782816001015f828254612b7f9190613243565b90915550505b612bc7565b8315612ba85783815f015f828254612ba29190613256565b90915550505b8215612bc75782816001015f828254612bc19190613256565b90915550505b505050505050565b5f835f03612bde57505f612d68565b6001600160a01b0385165f9081526020878152604080832060018a01909252909120548154865b5f81118015612c1357508183105b15612d4a575f848481548110612c2b57612c2b6132ac565b905f5260205f209060030201905086158015612c50575080546001600160401b031642105b15612c5b5750612d4a565b5f80896001811115612c6f57612c6f613323565b03612c7f57506001810154612c86565b5060028101545b805f03612ca15784612c97816132df565b9550505050612c05565b5f818410612caf5781612cb1565b835b90505f8a6001811115612cc657612cc6613323565b03612ce95780836001015f828254612cde9190613256565b90915550612d029050565b80836002015f828254612cfc9190613256565b90915550505b612d0c8185613256565b9350612d188189613243565b975082600101545f148015612d2f57506002830154155b15612d425785612d3e816132df565b9650505b505050612c05565b50506001600160a01b0387165f908152600189016020526040902055505b95945050505050565b6001600160a01b0381165f9081526020838152604080832060018601909252909120545b8154811015612df7575f828281548110612db157612db16132ac565b905f5260205f209060030201905080600101545f148015612dd457506002810154155b15612deb5781612de3816132df565b925050612df1565b50612df7565b50612d95565b6001600160a01b039092165f908152600190930160205250604090912055565b5f5f60205f8451602086015f885af180612e36576040513d5f823e3d81fd5b50505f513d91508115612e4d578060011415612e5a565b6001600160a01b0384163b155b15611daf5783604051635274afe760e01b815260040161234b9190612fb6565b612e82612ea7565b61145a57604051631afcd79f60e31b815260040160405180910390fd5b612322612e7a565b5f612eb06128e9565b54600160401b900460ff16919050565b5f5f83601f840112612ed0575f5ffd5b5081356001600160401b03811115612ee6575f5ffd5b6020830191508360208260051b85010111156126fd575f5ffd5b5f5f60208385031215612f11575f5ffd5b82356001600160401b03811115612f26575f5ffd5b612f3285828601612ec0565b90969095509350505050565b5f60208284031215612f4e575f5ffd5b5035919050565b6001600160a01b038116811461235d575f5ffd5b5f60208284031215612f79575f5ffd5b813561203081612f55565b5f5f5f60608486031215612f96575f5ffd5b8335612fa181612f55565b95602085013595506040909401359392505050565b6001600160a01b0391909116815260200190565b5f5f60408385031215612fdb575f5ffd5b50508035926020909101359150565b80356001600160401b0381168114613000575f5ffd5b919050565b5f5f5f5f5f5f5f5f5f6101208a8c03121561301e575f5ffd5b893561302981612f55565b985060208a013561303981612f55565b975060408a013561304981612f55565b965060608a013561305981612f55565b955060808a013561306981612f55565b945060a08a0135935060c08a0135925060e08a0135915061308d6101008b01612fea565b90509295985092959850929598565b5f602082840312156130ac575f5ffd5b61203082612fea565b5f5f604083850312156130c6575f5ffd5b82356130d181612f55565b946020939093013593505050565b5f5f5f5f5f606086880312156130f3575f5ffd5b85356130fe81612f55565b945060208601356001600160401b03811115613118575f5ffd5b61312488828901612ec0565b90955093505060408601356001600160401b03811115613142575f5ffd5b61314e88828901612ec0565b969995985093965092949392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821601908111156113fb576113fb61315f565b5f602082840312156131a2575f5ffd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f600160ff1b82016131d6576131d661315f565b505f0390565b6001600160a01b038416815260406020820181905281018290525f6001600160fb1b0383111561320a575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f60208284031215613234575f5ffd5b81518015158114612030575f5ffd5b808201808211156113fb576113fb61315f565b818103818111156113fb576113fb61315f565b5f8261328357634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160a01b039384168152919092166020820152604081019190915260600190565b634e487b7160e01b5f52603260045260245ffd5b6001600160401b0382811682821603908111156113fb576113fb61315f565b5f600182016132f0576132f061315f565b5060010190565b5f816133055761330561315f565b505f190190565b80820281158282048414176113fb576113fb61315f565b634e487b7160e01b5f52602160045260245ffdfe51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0aa164736f6c634300081c000a";
19
19
  static readonly abi: readonly [{
20
20
  readonly inputs: readonly [];
21
21
  readonly stateMutability: "nonpayable";
@@ -621,6 +621,16 @@ export declare class BondingRegistry__factory extends ContractFactory {
621
621
  }];
622
622
  readonly stateMutability: "view";
623
623
  readonly type: "function";
624
+ }, {
625
+ readonly inputs: readonly [];
626
+ readonly name: "numActiveOperators";
627
+ readonly outputs: readonly [{
628
+ readonly internalType: "uint256";
629
+ readonly name: "";
630
+ readonly type: "uint256";
631
+ }];
632
+ readonly stateMutability: "view";
633
+ readonly type: "function";
624
634
  }, {
625
635
  readonly inputs: readonly [];
626
636
  readonly name: "owner";
@@ -1 +1 @@
1
- {"version":3,"file":"BondingRegistry__factory.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/registry/BondingRegistry__factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAY,eAAe,EAAE,2BAA2B,EAAa,MAAM,QAAQ,CAAA;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AA2rC5G,KAAK,gCAAgC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAM9G,qBAAa,wBAAyB,SAAQ,eAAe;gBAE7C,GAAG,IAAI,EAAE,gCAAgC;IAS9C,oBAAoB,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAG7G,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAAC,eAAe,GAAG;QAChE,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CAAC;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,wBAAwB;IAKzE,MAAM,CAAC,QAAQ,CAAC,QAAQ,061BAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,wBAAwB;IAIzC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe;IAGjE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,eAAe;CAG/E"}
1
+ {"version":3,"file":"BondingRegistry__factory.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/registry/BondingRegistry__factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAY,eAAe,EAAE,2BAA2B,EAAa,MAAM,QAAQ,CAAA;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAwsC5G,KAAK,gCAAgC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAM9G,qBAAa,wBAAyB,SAAQ,eAAe;gBAE7C,GAAG,IAAI,EAAE,gCAAgC;IAS9C,oBAAoB,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAG7G,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAAC,eAAe,GAAG;QAChE,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CAAC;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,wBAAwB;IAKzE,MAAM,CAAC,QAAQ,CAAC,QAAQ,4v0BAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,wBAAwB;IAIzC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe;IAGjE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,eAAe;CAG/E"}
@@ -778,6 +778,19 @@ const _abi = [
778
778
  "stateMutability": "view",
779
779
  "type": "function"
780
780
  },
781
+ {
782
+ "inputs": [],
783
+ "name": "numActiveOperators",
784
+ "outputs": [
785
+ {
786
+ "internalType": "uint256",
787
+ "name": "",
788
+ "type": "uint256"
789
+ }
790
+ ],
791
+ "stateMutability": "view",
792
+ "type": "function"
793
+ },
781
794
  {
782
795
  "inputs": [],
783
796
  "name": "owner",
@@ -1204,7 +1217,7 @@ const _abi = [
1204
1217
  "type": "function"
1205
1218
  }
1206
1219
  ];
1207
- const _bytecode = "0x6080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6134fb806100d65f395ff3fe608060405234801561000f575f5ffd5b5060043610610330575f3560e01c80638e05aaae116101b3578063b7e833e0116100f3578063cca3a5011161009e578063dd8c818e11610079578063dd8c818e14610745578063e5da378f14610758578063e8341e891461076b578063f2fde38b14610774575f5ffd5b8063cca3a5011461070d578063d32759ed14610720578063d5ed4d5a14610733575f5ffd5b8063c3c5a547116100ce578063c3c5a547146106b2578063c43b1f34146106e7578063c9ca1acc146106fa575f5ffd5b8063b7e833e014610683578063bb03bd711461068c578063bff232c11461069f575f5ffd5b80639f8dfddd1161015e578063a91ee0dc11610139578063a91ee0dc14610622578063acc2166a14610635578063ada332dd14610648578063b2f3f6691461065b575f5ffd5b80639f8dfddd146105e9578063a1809b95146105fc578063a542c2a41461060f575f5ffd5b80638f9b1d871161018e5780638f9b1d87146105885780639d7555de146105915780639f8a13d7146105a4575f5ffd5b80638e05aaae1461054f5780638e5ce3ad146105625780638e9ddc0314610575575f5ffd5b8063671b93071161027e5780637333fa82116102295780637b103999116102045780637b103999146104e85780637c79a9da146104fb5780638450e44e1461050c5780638da5cb5b1461051f575f5ffd5b80637333fa82146104bc578063752c36c0146104cf578063781545b3146104d8575f5ffd5b806370f868a61161025957806370f868a61461048e578063715018a6146104a15780637264f3f2146104a9575f5ffd5b8063671b9307146104405780636d3c18d3146104685780636ecfef9a1461047b575f5ffd5b80632c98fd3b116102de5780634cabdd3d116102b95780634cabdd3d146103ef57806351ec538214610402578063561df99e1461042d575f5ffd5b80632c98fd3b146103c05780632e8d9930146103c9578063450e9dec146103dc575f5ffd5b806319fb279a1161030e57806319fb279a14610378578063283886301461038b5780632acde098146103b8575f5ffd5b80630691bdcf146103345780631209b1f6146103495780631598165014610365575b5f5ffd5b6103476103423660046130ff565b610787565b005b61035260065481565b6040519081526020015b60405180910390f35b61034761037336600461313e565b610b23565b61034761038636600461313e565b610bb3565b60095461039f9067ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161035c565b610347610e7b565b61035260085481565b6103476103d736600461313e565b6110e4565b6103476103ea366004613169565b61117a565b6103476103fd366004613184565b6111a3565b600154610415906001600160a01b031681565b6040516001600160a01b03909116815260200161035c565b61034761043b366004613169565b611412565b61035261044e366004613169565b6001600160a01b03165f908152600b602052604090205490565b610347610476366004613169565b611463565b610352610489366004613169565b61148d565b61034761049c36600461313e565b61150f565b610347611577565b6103476104b73660046131b6565b61158a565b6103476104ca3660046131f2565b6116d5565b61035260075481565b5f546001600160a01b0316610415565b600254610415906001600160a01b031681565b6001546001600160a01b0316610415565b61034761051a366004613289565b611870565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610415565b61034761055d36600461313e565b6118f8565b600354610415906001600160a01b031681565b610347610583366004613184565b611ae8565b610352600a5481565b61034761059f36600461313e565b611c3d565b6105d96105b2366004613169565b6001600160a01b03165f908152600b6020526040902060010154600160501b900460ff1690565b604051901515815260200161035c565b6103476105f73660046131b6565b611e88565b61034761060a366004613169565b611f4d565b6105d961061d366004613169565b611f77565b610347610630366004613169565b611fa3565b600454610415906001600160a01b031681565b61034761065636600461313e565b611fcd565b61066e610669366004613169565b612157565b6040805192835260208301919091520161035c565b610352600c5481565b61035261069a3660046132a2565b61216d565b6103476106ad366004613169565b6121e7565b6105d96106c0366004613169565b6001600160a01b03165f908152600b6020526040902060010154600160401b900460ff1690565b6103476106f536600461313e565b612211565b61066e610708366004613169565b612299565b600554610415906001600160a01b031681565b6105d961072e366004613169565b6122a6565b5f54610415906001600160a01b031681565b6103476107533660046132cc565b61233a565b610352610766366004613169565b61247a565b610352600d5481565b610347610782366004613169565b6124e6565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b909304909316151560808201529161080e5750806020015167ffffffffffffffff1642105b1561082c5760405163376d91e160e21b815260040160405180910390fd5b335f908152600b602052604090206001810154600160401b900460ff166108665760405163aba4733960e01b815260040160405180910390fd5b60018101805469ffff00000000000000001916600160481b1790556009546108989067ffffffffffffffff1642613362565b60018201805467ffffffffffffffff191667ffffffffffffffff929092169190911790555f80546040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610902573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109269190613382565b825490915081156109e7575f5460405163216f226360e21b8152336004820152602481018490526001600160a01b03909116906385bc898c906044015f604051808303815f87803b158015610979575f5ffd5b505af115801561098b573d5f5f3e3d5ffd5b5050505067574954484452415760c01b336001600160a01b03167f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e846109d090613399565b604080519182525f60208301520160405180910390a35b8015610a3c575f83556515539093d39160d21b337f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6610a2584613399565b604080519182525f60208301520160405180910390a35b81151580610a4957508015155b15610a6b57600954610a6b90600e90339067ffffffffffffffff168585612528565b60025460405163a04e606560e01b81526001600160a01b039091169063a04e606590610a9f9033908b908b906004016133b3565b5f604051808303815f87803b158015610ab6575f5ffd5b505af1158015610ac8573d5f5f3e3d5ffd5b50505050600183015460405167ffffffffffffffff909116815233907f55278ae09e344fb61a9a1d094010b3ce004a7eacca9b11e10f0f119d03f1f38f9060200160405180910390a2610b1a336126ec565b50505050505050565b610b2b612839565b805f03610b4b5760405163c52a9bd360e01b815260040160405180910390fd5b600680549082905560408051828152602081018490527f7469636b65745072696365000000000000000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a91015b60405180910390a25050565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610c3a5750806020015167ffffffffffffffff1642105b15610c585760405163376d91e160e21b815260040160405180910390fd5b825f03610c7857604051631f2a200560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff16610cb15760405163aba4733960e01b815260040160405180910390fd5b5f546040516370a0823160e01b815233600482015284916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cf6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1a9190613382565b1015610d3957604051631e9acf1760e31b815260040160405180910390fd5b5f5460405163216f226360e21b8152336004820152602481018590526001600160a01b03909116906385bc898c906044015f604051808303815f87803b158015610d81575f5ffd5b505af1158015610d93573d5f5f3e3d5ffd5b5050600954610db39250600e9150339067ffffffffffffffff1686612894565b67574954484452415760c01b337f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e610dea86613399565b5f546040516370a0823160e01b81523360048201526001600160a01b03909116906370a08231906024015b602060405180830381865afa158015610e30573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e549190613382565b604080519283526020830191909152015b60405180910390a3610e76336126ec565b505050565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610f025750806020015167ffffffffffffffff1642105b15610f205760405163376d91e160e21b815260040160405180910390fd5b335f908152600b6020526040902060010154600160481b900460ff1615610f6457335f908152600b60205260409020600101805469ff00ffffffffffffffff191690555b6003546040516397f735d560e01b81523360048201526001600160a01b03909116906397f735d590602401602060405180830381865afa158015610faa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fce9190613413565b15610fec576040516359b217d560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff161561102657604051630ea075bf60e21b815260040160405180910390fd5b600754335f908152600b60205260409020541015611057576040516396dcc1ef60e01b815260040160405180910390fd5b335f818152600b602052604090819020600101805468ff00000000000000001916600160401b1790556002549051638a78bb1560e01b815260048101929092526001600160a01b031690638a78bb15906024015f604051808303815f87803b1580156110c1575f5ffd5b505af11580156110d3573d5f5f3e3d5ffd5b505050506110e0336126ec565b5050565b6110ec612839565b5f811180156110fd57506127108111155b61111a5760405163c52a9bd360e01b815260040160405180910390fd5b600a80549082905560408051828152602081018490527f6c6963656e736541637469766542707300000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b611182612839565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146111cd576040516282b42960e81b815260040160405180910390fd5b815f036111ed57604051631f2a200560e01b815260040160405180910390fd5b5f6111f9600e856128a1565b505f80546040516370a0823160e01b81526001600160a01b038881166004830152939450919216906370a0823190602401602060405180830381865afa158015611245573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112699190613382565b90505f6112768383613432565b90505f61128386836128ca565b9050805f036112955750505050505050565b5f6112a082856128ca565b90508015611309575f5460405163216f226360e21b81526001600160a01b038a8116600483015260248201849052909116906385bc898c906044015f604051808303815f87803b1580156112f2575f5ffd5b505af1158015611304573d5f5f3e3d5ffd5b505050505b5f6113148284613445565b9050801561132e5761132b600e8a835f60016128d9565b50505b82600c5f82825461133f9190613432565b909155508790506001600160a01b038a167f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e61137a86613399565b5f546040516370a0823160e01b81526001600160a01b038f81166004830152909116906370a0823190602401602060405180830381865afa1580156113c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e59190613382565b604080519283526020830191909152015b60405180910390a3611407896126ec565b505050505050505050565b61141a612839565b6001600160a01b0381166114415760405163d92e233d60e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61146b612839565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6006545f80546040516370a0823160e01b81526001600160a01b038581166004830152929392909116906370a0823190602401602060405180830381865afa1580156114db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ff9190613382565b6115099190613458565b92915050565b611517612839565b600880549082905560408051828152602081018490527f6d696e5469636b657442616c616e636500000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b61157f612839565b6115885f6129e7565b565b611592612839565b600c548211156115b557604051631e9acf1760e31b815260040160405180910390fd5b600d548111156115d857604051631e9acf1760e31b815260040160405180910390fd5b81156116575781600c5f8282546115ef9190613445565b90915550505f5460055460405163117de2fd60e01b81526001600160a01b0391821660048201526024810185905291169063117de2fd906044015f604051808303815f87803b158015611640575f5ffd5b505af1158015611652573d5f5f3e3d5ffd5b505050505b80156116905780600d5f82825461166e9190613445565b9091555050600554600154611690916001600160a01b03918216911683612a57565b60055460408051848152602081018490526001600160a01b03909216917f402cfba2a3f22a9ea7e8ad10259b9b4c638cc9c44444b06d6d0927c9e0275b119101610ba7565b5f6116de612acb565b805490915060ff600160401b820416159067ffffffffffffffff165f811580156117055750825b90505f8267ffffffffffffffff1660011480156117215750303b155b90508115801561172f575080155b1561174d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561177c57845468ff00000000000000001916600160401b1785555b61178533612af3565b61178e8d61117a565b6117978c611463565b6117a08b611fa3565b6117a98a611412565b6117b289610b23565b6117bb88612211565b6117c48761150f565b6117cd86611870565b6117d8611f406110e4565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038f8116911614611815576118158e6124e6565b831561186057845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b611878612839565b6009805467ffffffffffffffff83811667ffffffffffffffff19831681179093556040519116917f6578697444656c61790000000000000000000000000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a91610ba791859190918252602082015260400190565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b909304909316151560808201529161197f5750806020015167ffffffffffffffff1642105b1561199d5760405163376d91e160e21b815260040160405180910390fd5b825f036119bd57604051631f2a200560e01b815260040160405180910390fd5b335f908152600b6020526040902060010154600160401b900460ff166119f65760405163aba4733960e01b815260040160405180910390fd5b5f546040516368a9674d60e01b815233600482018190526024820152604481018590526001600160a01b03909116906368a9674d906064016020604051808303815f875af1158015611a4a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6e9190613413565b505f546040516370a0823160e01b815233600482018190527f4445504f534954000000000000000000000000000000000000000000000000009290917f51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e9187916001600160a01b03909116906370a0823190602401610e15565b6003546001600160a01b03163314611b12576040516282b42960e81b815260040160405180910390fd5b815f03611b3257604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0383165f908152600b6020526040812090611b55600e866128a1565b9150505f81835f0154611b689190613432565b90505f611b7586836128ca565b9050805f03611b875750505050505050565b5f611b9582865f01546128ca565b90508015611bb55780855f015f828254611baf9190613445565b90915550505b5f611bc08284613445565b90508015611bda57611bd7600e8a5f8460016128d9565b50505b82600d5f828254611beb9190613432565b909155508790506001600160a01b038a167f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6611c2686613399565b8954604080519283526020830191909152016113f6565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611cc45750806020015167ffffffffffffffff1642105b15611ce25760405163376d91e160e21b815260040160405180910390fd5b825f03611d0257604051631f2a200560e01b815260040160405180910390fd5b6001546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6c9190613382565b600154909150611d87906001600160a01b0316333087612b04565b6001546040516370a0823160e01b81523060048201525f9183916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611dd1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df59190613382565b611dff9190613445565b335f908152600b6020526040812080549293508392909190611e22908490613432565b9091555050335f818152600b602090815260409182902054825185815291820152631093d39160e21b92917f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6910160405180910390a3611e81336126ec565b5050505050565b5f80611e97600e338686612b3d565b915091505f821180611ea857505f81115b611ec5576040516353d8d5b960e01b815260040160405180910390fd5b8115611f2a575f5460405163117de2fd60e01b8152336004820152602481018490526001600160a01b039091169063117de2fd906044015f604051808303815f87803b158015611f13575f5ffd5b505af1158015611f25573d5f5f3e3d5ffd5b505050505b8015611f4757600154611f47906001600160a01b03163383612a57565b50505050565b611f55612839565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f611f80612c41565b6001600160a01b039092165f908152600b60205260409020549190911015919050565b611fab612839565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152600b6020908152604091829020825160a0810184528154815260019091015467ffffffffffffffff81169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b90930490931615156080820152916120545750806020015167ffffffffffffffff1642105b156120725760405163376d91e160e21b815260040160405180910390fd5b825f0361209257604051631f2a200560e01b815260040160405180910390fd5b335f908152600b60205260409020548311156120c157604051631e9acf1760e31b815260040160405180910390fd5b335f908152600b6020526040812080548592906120df908490613445565b909155505060095461210090600e90339067ffffffffffffffff1686612c64565b6515539093d39160d21b337f4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d661213586613399565b335f908152600b60209081526040918290205482519384529083015201610e65565b5f80612164600e846128a1565b91509150915091565b5f8054604051630748d63560e31b81526001600160a01b0385811660048301526024820185905290911690633a46b1a890604401602060405180830381865afa1580156121bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121e09190613382565b9392505050565b6121ef612839565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612219612839565b805f036122395760405163c52a9bd360e01b815260040160405180910390fd5b600780549082905560408051828152602081018490527f6c6963656e73655265717569726564426f6e6400000000000000000000000000917f267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0a9101610ba7565b5f80612164600e84612c71565b6001600160a01b0381165f908152600b60209081526040808320815160a0810183528154815260019091015467ffffffffffffffff81169382019390935260ff600160401b84048116151592820192909252600160481b8304821615801560608301819052600160501b9094049092161515608082015291906121e057506020015167ffffffffffffffff16421092915050565b6004546001600160a01b03163314612365576040516301e803c360e01b815260040160405180910390fd5b8281146123855760405163512509d360e11b815260040160405180910390fd5b825f5b81811015610b1a575f8484838181106123a3576123a3613477565b905060200201351180156124035750600b5f8787848181106123c7576123c7613477565b90506020020160208101906123dc9190613169565b6001600160a01b0316815260208101919091526040015f2060010154600160401b900460ff165b1561247257600454612472906001600160a01b031687878481811061242a5761242a613477565b905060200201602081019061243f9190613169565b86868581811061245157612451613477565b905060200201358a6001600160a01b0316612b04909392919063ffffffff16565b600101612388565b5f80546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a0823190602401602060405180830381865afa1580156124c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115099190613382565b6124ee612839565b6001600160a01b03811661251c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b612525816129e7565b50565b81158015612534575080155b611e81574261254b8467ffffffffffffffff61348b565b67ffffffffffffffff168167ffffffffffffffff16111561257f5760405163549a019760e01b815260040160405180910390fd5b5f61258a8583613362565b6001600160a01b0387165f908152602089905260408120805492935091908115612637575f836125bb600185613445565b815481106125cb576125cb613477565b5f9182526020909120600390910201805490915067ffffffffffffffff8087169116036126355787156126115787816001015f82825461260b9190613432565b90915550505b86156126305786816002015f82825461262a9190613432565b90915550505b600191505b505b8061267d578254600180820185555f858152602090206003909202909101805467ffffffffffffffff191667ffffffffffffffff87161781559081018890556002018690555b61268b8a8a89896001612d15565b604080518881526020810188905267ffffffffffffffff86168183015290516001600160a01b038b16917fa798fa3372862b9279e9279338081d2e0828e908501dbdf4cf8e2ef83867649d919081900360600190a250505050505050505050565b6001600160a01b0381165f908152600b602052604081206001810154909190600160401b900460ff1680156127295750612724612c41565b825410155b80156127ae57506008546006545f546040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa15801561277d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127a19190613382565b6127ab9190613458565b10155b600183015490915060ff600160501b90910416151581151514610e7657600182018054821515600160501b026aff00000000000000000000199091161790556040516001600160a01b038416907f1e5cd4157c0bec375761492bfd692468cecd66e6cb75f397a5195b570692d9059061282c90841515815260200190565b60405180910390a2505050565b3361286b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146115885760405163118cdaa760e01b8152336004820152602401612513565b611f47848484845f612528565b6001600160a01b0381165f908152600283016020526040902080546001909101545b9250929050565b5f8282188284100282186121e0565b5f808415612925576128ee8787875f87612dc3565b91508115612925576001600160a01b0386165f9081526002880160205260408120805484929061291f908490613445565b90915550505b831561297357612939878786600187612dc3565b90508015612973576001600160a01b0386165f9081526002880160205260408120600101805483929061296d908490613445565b90915550505b5f82118061298057505f81115b156129dd5761298f8787612f66565b60408051838152602081018390528415158183015290516001600160a01b038816917faaff5d2d15d2258450693fb56a7e9be67429e9a925525019086c620c5323fd9b919081900360600190a25b9550959350505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6040516001600160a01b03838116602483015260448201839052610e7691859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061300c565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611509565b612afb613078565b6125258161309d565b6040516001600160a01b038481166024830152838116604483015260648201839052611f479186918216906323b872dd90608401612a84565b5f808315612b8957612b528686865f5f612dc3565b91508115612b89576001600160a01b0385165f90815260028701602052604081208054849290612b83908490613445565b90915550505b8215612bd757612b9d86868560015f612dc3565b90508015612bd7576001600160a01b0385165f90815260028701602052604081206001018054839290612bd1908490613445565b90915550505b5f821180612be457505f81115b15612c3857612bf38686612f66565b60408051838152602081018390526001600160a01b038716917fbd58523b9978b5fb3c6487ecc5b6a8ef9cd69c5fb07fb39e0af1e45ef2855fcc910160405180910390a25b94509492505050565b5f612710600a54600754612c5591906134ab565b612c5f9190613458565b905090565b611f478484845f85612528565b6001600160a01b0381165f9081526020838152604080832060018601909252822054829190805b8254811015612d0b575f838281548110612cb457612cb4613477565b5f9182526020909120600390910201805490915067ffffffffffffffff16421015612cdf5750612d0b565b6001810154612cee9087613432565b9550806002015485612d009190613432565b945050600101612c98565b5050509250929050565b82821715611e81576001600160a01b0384165f90815260028601602052604090208115612d7e578315612d5a5783815f015f828254612d549190613432565b90915550505b8215612d795782816001015f828254612d739190613432565b90915550505b612dbb565b8315612d9c5783815f015f828254612d969190613445565b90915550505b8215612dbb5782816001015f828254612db59190613445565b90915550505b505050505050565b5f835f03612dd257505f612f5d565b6001600160a01b0385165f9081526020878152604080832060018a01909252909120548154865b5f81118015612e0757508183105b15612f3f575f848481548110612e1f57612e1f613477565b905f5260205f209060030201905086158015612e455750805467ffffffffffffffff1642105b15612e505750612f3f565b5f80896001811115612e6457612e646134c2565b03612e7457506001810154612e7b565b5060028101545b805f03612e965784612e8c816134d6565b9550505050612df9565b5f818410612ea45781612ea6565b835b90505f8a6001811115612ebb57612ebb6134c2565b03612ede5780836001015f828254612ed39190613445565b90915550612ef79050565b80836002015f828254612ef19190613445565b90915550505b612f018185613445565b9350612f0d8189613432565b975082600101545f148015612f2457506002830154155b15612f375785612f33816134d6565b9650505b505050612df9565b50506001600160a01b0387165f908152600189016020526040902055505b95945050505050565b6001600160a01b0381165f9081526020838152604080832060018601909252909120545b8154811015612fec575f828281548110612fa657612fa6613477565b905f5260205f209060030201905080600101545f148015612fc957506002810154155b15612fe05781612fd8816134d6565b925050612fe6565b50612fec565b50612f8a565b6001600160a01b039092165f908152600190930160205250604090912055565b5f5f60205f8451602086015f885af18061302b576040513d5f823e3d81fd5b50505f513d9150811561304257806001141561304f565b6001600160a01b0384163b155b15611f4757604051635274afe760e01b81526001600160a01b0385166004820152602401612513565b6130806130a5565b61158857604051631afcd79f60e31b815260040160405180910390fd5b6124ee613078565b5f6130ae612acb565b54600160401b900460ff16919050565b5f5f83601f8401126130ce575f5ffd5b50813567ffffffffffffffff8111156130e5575f5ffd5b6020830191508360208260051b85010111156128c3575f5ffd5b5f5f60208385031215613110575f5ffd5b823567ffffffffffffffff811115613126575f5ffd5b613132858286016130be565b90969095509350505050565b5f6020828403121561314e575f5ffd5b5035919050565b6001600160a01b0381168114612525575f5ffd5b5f60208284031215613179575f5ffd5b81356121e081613155565b5f5f5f60608486031215613196575f5ffd5b83356131a181613155565b95602085013595506040909401359392505050565b5f5f604083850312156131c7575f5ffd5b50508035926020909101359150565b803567ffffffffffffffff811681146131ed575f5ffd5b919050565b5f5f5f5f5f5f5f5f5f6101208a8c03121561320b575f5ffd5b893561321681613155565b985060208a013561322681613155565b975060408a013561323681613155565b965060608a013561324681613155565b955060808a013561325681613155565b945060a08a0135935060c08a0135925060e08a0135915061327a6101008b016131d6565b90509295985092959850929598565b5f60208284031215613299575f5ffd5b6121e0826131d6565b5f5f604083850312156132b3575f5ffd5b82356132be81613155565b946020939093013593505050565b5f5f5f5f5f606086880312156132e0575f5ffd5b85356132eb81613155565b9450602086013567ffffffffffffffff811115613306575f5ffd5b613312888289016130be565b909550935050604086013567ffffffffffffffff811115613331575f5ffd5b61333d888289016130be565b969995985093965092949392505050565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81811683821601908111156115095761150961334e565b5f60208284031215613392575f5ffd5b5051919050565b5f600160ff1b82016133ad576133ad61334e565b505f0390565b6001600160a01b0384168152604060208201528160408201525f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156133f9575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f60208284031215613423575f5ffd5b815180151581146121e0575f5ffd5b808201808211156115095761150961334e565b818103818111156115095761150961334e565b5f8261347257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b67ffffffffffffffff82811682821603908111156115095761150961334e565b80820281158282048414176115095761150961334e565b634e487b7160e01b5f52602160045260245ffd5b5f600182016134e7576134e761334e565b506001019056fea164736f6c634300081c000a";
1220
+ const _bytecode = "0x6080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6133a4806100d65f395ff3fe608060405234801561000f575f5ffd5b50600436106102c3575f3560e01c80638e05aaae11610177578063b7e833e0116100d5578063cca3a5011161008f578063cca3a50114610674578063d32759ed14610687578063d5ed4d5a1461069a578063dd8c818e146106ac578063e5da378f146106bf578063e8341e89146106d2578063f2fde38b146106db575f5ffd5b8063b7e833e0146105ea578063bb03bd71146105f3578063bff232c114610606578063c3c5a54714610619578063c43b1f341461064e578063c9ca1acc14610661575f5ffd5b80639f8dfddd116101315780639f8dfddd14610550578063a1809b9514610563578063a542c2a414610576578063a91ee0dc14610589578063acc2166a1461059c578063ada332dd146105af578063b2f3f669146105c2575f5ffd5b80638e05aaae146104b65780638e5ce3ad146104c95780638e9ddc03146104dc5780638f9b1d87146104ef5780639d7555de146104f85780639f8a13d71461050b575f5ffd5b8063671b9307116102245780637333fa82116101de5780637333fa821461044b578063752c36c01461045e578063781545b3146104675780637b103999146104775780637c79a9da1461048a5780638450e44e1461049b5780638da5cb5b146104ae575f5ffd5b8063671b9307146103cf5780636d3c18d3146103f75780636ecfef9a1461040a57806370f868a61461041d578063715018a6146104305780637264f3f214610438575f5ffd5b80632acde098116102805780632acde098146103525780632c98fd3b1461035a5780632e8d993014610363578063450e9dec146103765780634cabdd3d1461038957806351ec53821461039c578063561df99e146103bc575f5ffd5b80630691bdcf146102c75780631209b1f6146102dc57806315981650146102f85780631986fb1e1461030b57806319fb279a146103145780632838863014610327575b5f5ffd5b6102da6102d5366004612f00565b6106ee565b005b6102e560065481565b6040519081526020015b60405180910390f35b6102da610306366004612f3e565b610a5e565b6102e5600b5481565b6102da610322366004612f3e565b610ac9565b60095461033a906001600160401b031681565b6040516001600160401b0390911681526020016102ef565b6102da610d84565b6102e560085481565b6102da610371366004612f3e565b610ff0565b6102da610384366004612f69565b611066565b6102da610397366004612f84565b61108f565b6001546103af906001600160a01b031681565b6040516102ef9190612fb6565b6102da6103ca366004612f69565b611301565b6102e56103dd366004612f69565b6001600160a01b03165f908152600c602052604090205490565b6102da610405366004612f69565b611352565b6102e5610418366004612f69565b61137c565b6102da61042b366004612f3e565b611401565b6102da611449565b6102da610446366004612fca565b61145c565b6102da610459366004613005565b6115a7565b6102e560075481565b5f546001600160a01b03166103af565b6002546103af906001600160a01b031681565b6001546001600160a01b03166103af565b6102da6104a936600461309c565b611722565b6103af611782565b6102da6104c4366004612f3e565b6117b0565b6003546103af906001600160a01b031681565b6102da6104ea366004612f84565b61196e565b6102e5600a5481565b6102da610506366004612f3e565b611ab0565b610540610519366004612f69565b6001600160a01b03165f908152600c6020526040902060010154600160501b900460ff1690565b60405190151581526020016102ef565b6102da61055e366004612fca565b611cf0565b6102da610571366004612f69565b611db5565b610540610584366004612f69565b611ddf565b6102da610597366004612f69565b611e0b565b6004546103af906001600160a01b031681565b6102da6105bd366004612f3e565b611e35565b6105d56105d0366004612f69565b611fa9565b604080519283526020830191909152016102ef565b6102e5600d5481565b6102e56106013660046130b5565b611fbf565b6102da610614366004612f69565b612037565b610540610627366004612f69565b6001600160a01b03165f908152600c6020526040902060010154600160401b900460ff1690565b6102da61065c366004612f3e565b612061565b6105d561066f366004612f69565b6120cc565b6005546103af906001600160a01b031681565b610540610695366004612f69565b6120d9565b5f546103af906001600160a01b031681565b6102da6106ba3660046130df565b61216b565b6102e56106cd366004612f69565b6122ab565b6102e5600e5481565b6102da6106e9366004612f69565b61231a565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610773575080602001516001600160401b031642105b156107915760405163376d91e160e21b815260040160405180910390fd5b335f908152600c602052604090206001810154600160401b900460ff166107cb5760405163aba4733960e01b815260040160405180910390fd5b60018101805461ffff60401b1916600160481b1790556009546107f7906001600160401b031642613173565b60018201805467ffffffffffffffff19166001600160401b03929092169190911790555f80546040516370a0823160e01b81526001600160a01b03909116906370a082319061084a903390600401612fb6565b602060405180830381865afa158015610865573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108899190613192565b82549091508115610937575f5460405163216f226360e21b81526001600160a01b03909116906385bc898c906108c590339086906004016131a9565b5f604051808303815f87803b1580156108dc575f5ffd5b505af11580156108ee573d5f5f3e3d5ffd5b5050505067574954484452415760c01b336001600160a01b03165f5160206133385f395f51905f5284610920906131c2565b604080519182525f60208301520160405180910390a35b8015610979575f83556515539093d39160d21b335f5160206133585f395f51905f52610962846131c2565b604080519182525f60208301520160405180910390a35b8115158061098657508015155b156109a7576009546109a790600f9033906001600160401b03168585612360565b60025460405163a04e606560e01b81526001600160a01b039091169063a04e6065906109db9033908b908b906004016131dc565b5f604051808303815f87803b1580156109f2575f5ffd5b505af1158015610a04573d5f5f3e3d5ffd5b5050505060018301546040516001600160401b03909116815233907f55278ae09e344fb61a9a1d094010b3ce004a7eacca9b11e10f0f119d03f1f38f9060200160405180910390a2610a553361251e565b50505050505050565b610a6661269c565b805f03610a865760405163c52a9bd360e01b815260040160405180910390fd5b600680549082905560408051828152602081018490526a7469636b6574507269636560a81b915f5160206133785f395f51905f5291015b60405180910390a25050565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610b4e575080602001516001600160401b031642105b15610b6c5760405163376d91e160e21b815260040160405180910390fd5b825f03610b8c57604051631f2a200560e01b815260040160405180910390fd5b335f908152600c6020526040902060010154600160401b900460ff16610bc55760405163aba4733960e01b815260040160405180910390fd5b5f546040516370a0823160e01b815284916001600160a01b0316906370a0823190610bf4903390600401612fb6565b602060405180830381865afa158015610c0f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c339190613192565b1015610c5257604051631e9acf1760e31b815260040160405180910390fd5b5f5460405163216f226360e21b81526001600160a01b03909116906385bc898c90610c8390339087906004016131a9565b5f604051808303815f87803b158015610c9a575f5ffd5b505af1158015610cac573d5f5f3e3d5ffd5b5050600954610ccb9250600f915033906001600160401b0316866126ce565b67574954484452415760c01b335f5160206133385f395f51905f52610cef866131c2565b5f546040516370a0823160e01b81526001600160a01b03909116906370a0823190610d1e903390600401612fb6565b602060405180830381865afa158015610d39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d9190613192565b604080519283526020830191909152015b60405180910390a3610d7f3361251e565b505050565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291610e09575080602001516001600160401b031642105b15610e275760405163376d91e160e21b815260040160405180910390fd5b335f908152600c6020526040902060010154600160481b900460ff1615610e6b57335f908152600c60205260409020600101805469ff00ffffffffffffffff191690555b6003546040516397f735d560e01b81526001600160a01b03909116906397f735d590610e9b903390600401612fb6565b602060405180830381865afa158015610eb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eda9190613224565b15610ef8576040516359b217d560e01b815260040160405180910390fd5b335f908152600c6020526040902060010154600160401b900460ff1615610f3257604051630ea075bf60e21b815260040160405180910390fd5b600754335f908152600c60205260409020541015610f63576040516396dcc1ef60e01b815260040160405180910390fd5b335f818152600c602052604090819020600101805460ff60401b1916600160401b1790556002549051638a78bb1560e01b81526001600160a01b039190911691638a78bb1591610fb69190600401612fb6565b5f604051808303815f87803b158015610fcd575f5ffd5b505af1158015610fdf573d5f5f3e3d5ffd5b50505050610fec3361251e565b5050565b610ff861269c565b5f8111801561100957506127108111155b6110265760405163c52a9bd360e01b815260040160405180910390fd5b600a80549082905560408051828152602081018490526f6c6963656e736541637469766542707360801b915f5160206133785f395f51905f529101610abd565b61106e61269c565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146110b9576040516282b42960e81b815260040160405180910390fd5b815f036110d957604051631f2a200560e01b815260040160405180910390fd5b5f6110e5600f856126db565b505f80546040516370a0823160e01b815292935090916001600160a01b03909116906370a082319061111b908890600401612fb6565b602060405180830381865afa158015611136573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115a9190613192565b90505f6111678383613243565b90505f6111748683612704565b9050805f036111865750505050505050565b5f6111918285612704565b905080156111f8575f5460405163216f226360e21b81526001600160a01b03909116906385bc898c906111ca908b9085906004016131a9565b5f604051808303815f87803b1580156111e1575f5ffd5b505af11580156111f3573d5f5f3e3d5ffd5b505050505b5f6112038284613256565b9050801561121d5761121a600f8a835f6001612713565b50505b82600d5f82825461122e9190613243565b909155508790506001600160a01b038a165f5160206133385f395f51905f52611256866131c2565b5f5f9054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b81526004016112959190612fb6565b602060405180830381865afa1580156112b0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d49190613192565b604080519283526020830191909152015b60405180910390a36112f68961251e565b505050505050505050565b61130961269c565b6001600160a01b0381166113305760405163d92e233d60e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61135a61269c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6006545f80546040516370a0823160e01b81529192916001600160a01b03909116906370a08231906113b2908690600401612fb6565b602060405180830381865afa1580156113cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f19190613192565b6113fb9190613269565b92915050565b61140961269c565b600880549082905560408051828152602081018490526f6d696e5469636b657442616c616e636560801b915f5160206133785f395f51905f529101610abd565b61145161269c565b61145a5f612821565b565b61146461269c565b600d5482111561148757604051631e9acf1760e31b815260040160405180910390fd5b600e548111156114aa57604051631e9acf1760e31b815260040160405180910390fd5b81156115295781600d5f8282546114c19190613256565b90915550505f5460055460405163117de2fd60e01b81526001600160a01b039283169263117de2fd926114fb9291169086906004016131a9565b5f604051808303815f87803b158015611512575f5ffd5b505af1158015611524573d5f5f3e3d5ffd5b505050505b80156115625780600e5f8282546115409190613256565b9091555050600554600154611562916001600160a01b03918216911683612891565b60055460408051848152602081018490526001600160a01b03909216917f402cfba2a3f22a9ea7e8ad10259b9b4c638cc9c44444b06d6d0927c9e0275b119101610abd565b5f6115b06128e9565b805490915060ff600160401b82041615906001600160401b03165f811580156115d65750825b90505f826001600160401b031660011480156115f15750303b155b9050811580156115ff575080155b1561161d5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561164757845460ff60401b1916600160401b1785555b61165033612911565b6116598d611066565b6116628c611352565b61166b8b611e0b565b6116748a611301565b61167d89610a5e565b61168688612061565b61168f87611401565b61169886611722565b6116a3611f40610ff0565b6116ab611782565b6001600160a01b03168e6001600160a01b0316146116cc576116cc8e61231a565b831561171257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b61172a61269c565b600980546001600160401b0383811667ffffffffffffffff1983168117909355604051911691686578697444656c617960b81b915f5160206133785f395f51905f5291610abd91859190918252602082015260400190565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611835575080602001516001600160401b031642105b156118535760405163376d91e160e21b815260040160405180910390fd5b825f0361187357604051631f2a200560e01b815260040160405180910390fd5b335f908152600c6020526040902060010154600160401b900460ff166118ac5760405163aba4733960e01b815260040160405180910390fd5b5f546040516368a9674d60e01b81526001600160a01b03909116906368a9674d906118df90339081908890600401613288565b6020604051808303815f875af11580156118fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191f9190613224565b505f546040516370a0823160e01b81526611115413d4d25560ca1b9133915f5160206133385f395f51905f529187916001600160a01b03909116906370a0823190610d1e908690600401612fb6565b6003546001600160a01b03163314611998576040516282b42960e81b815260040160405180910390fd5b815f036119b857604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0383165f908152600c60205260408120906119db600f866126db565b9150505f81835f01546119ee9190613243565b90505f6119fb8683612704565b9050805f03611a0d5750505050505050565b5f611a1b82865f0154612704565b90508015611a3b5780855f015f828254611a359190613256565b90915550505b5f611a468284613256565b90508015611a6057611a5d600f8a5f846001612713565b50505b82600e5f828254611a719190613243565b909155508790506001600160a01b038a165f5160206133585f395f51905f52611a99866131c2565b8954604080519283526020830191909152016112e5565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611b35575080602001516001600160401b031642105b15611b535760405163376d91e160e21b815260040160405180910390fd5b825f03611b7357604051631f2a200560e01b815260040160405180910390fd5b6001546040516370a0823160e01b81525f916001600160a01b0316906370a0823190611ba3903090600401612fb6565b602060405180830381865afa158015611bbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611be29190613192565b600154909150611bfd906001600160a01b0316333087612922565b6001546040516370a0823160e01b81525f9183916001600160a01b03909116906370a0823190611c31903090600401612fb6565b602060405180830381865afa158015611c4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c709190613192565b611c7a9190613256565b335f908152600c6020526040812080549293508392909190611c9d908490613243565b9091555050335f818152600c602090815260409182902054825185815291820152631093d39160e21b92915f5160206133585f395f51905f52910160405180910390a3611ce93361251e565b5050505050565b5f80611cff600f33868661294a565b915091505f821180611d1057505f81115b611d2d576040516353d8d5b960e01b815260040160405180910390fd5b8115611d92575f5460405163117de2fd60e01b81526001600160a01b039091169063117de2fd90611d6490339086906004016131a9565b5f604051808303815f87803b158015611d7b575f5ffd5b505af1158015611d8d573d5f5f3e3d5ffd5b505050505b8015611daf57600154611daf906001600160a01b03163383612891565b50505050565b611dbd61269c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f611de8612a4e565b6001600160a01b039092165f908152600c60205260409020549190911015919050565b611e1361269c565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152600c6020908152604091829020825160a081018452815481526001909101546001600160401b0381169282019290925260ff600160401b83048116151593820193909352600160481b8204831615801560608301819052600160501b9093049093161515608082015291611eba575080602001516001600160401b031642105b15611ed85760405163376d91e160e21b815260040160405180910390fd5b825f03611ef857604051631f2a200560e01b815260040160405180910390fd5b335f908152600c6020526040902054831115611f2757604051631e9acf1760e31b815260040160405180910390fd5b335f908152600c602052604081208054859290611f45908490613256565b9091555050600954611f6590600f9033906001600160401b031686612a71565b6515539093d39160d21b335f5160206133585f395f51905f52611f87866131c2565b335f908152600c60209081526040918290205482519384529083015201610d6e565b5f80611fb6600f846126db565b91509150915091565b5f8054604051630748d63560e31b81526001600160a01b0390911690633a46b1a890611ff190869086906004016131a9565b602060405180830381865afa15801561200c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120309190613192565b9392505050565b61203f61269c565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b61206961269c565b805f036120895760405163c52a9bd360e01b815260040160405180910390fd5b60078054908290556040805182815260208101849052721b1a58d95b9cd954995c5d5a5c9959109bdb99606a1b915f5160206133785f395f51905f529101610abd565b5f80611fb6600f84612a7e565b6001600160a01b0381165f908152600c60209081526040808320815160a081018352815481526001909101546001600160401b0381169382019390935260ff600160401b84048116151592820192909252600160481b8304821615801560608301819052600160501b9094049092161515608082015291906120305750602001516001600160401b0316421092915050565b6004546001600160a01b03163314612196576040516301e803c360e01b815260040160405180910390fd5b8281146121b65760405163512509d360e11b815260040160405180910390fd5b825f5b81811015610a55575f8484838181106121d4576121d46132ac565b905060200201351180156122345750600c5f8787848181106121f8576121f86132ac565b905060200201602081019061220d9190612f69565b6001600160a01b0316815260208101919091526040015f2060010154600160401b900460ff165b156122a3576004546122a3906001600160a01b031687878481811061225b5761225b6132ac565b90506020020160208101906122709190612f69565b868685818110612282576122826132ac565b905060200201358a6001600160a01b0316612922909392919063ffffffff16565b6001016121b9565b5f80546040516370a0823160e01b81526001600160a01b03909116906370a08231906122db908590600401612fb6565b602060405180830381865afa1580156122f6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fb9190613192565b61232261269c565b6001600160a01b038116612354575f604051631e4fbdf760e01b815260040161234b9190612fb6565b60405180910390fd5b61235d81612821565b50565b8115801561236c575080155b611ce95742612382846001600160401b036132c0565b6001600160401b0316816001600160401b031611156123b45760405163549a019760e01b815260040160405180910390fd5b5f6123bf8583613173565b6001600160a01b0387165f90815260208990526040812080549293509190811561246b575f836123f0600185613256565b81548110612400576124006132ac565b5f918252602090912060039091020180549091506001600160401b038087169116036124695787156124455787816001015f82825461243f9190613243565b90915550505b86156124645786816002015f82825461245e9190613243565b90915550505b600191505b505b806124b0578254600180820185555f858152602090206003909202909101805467ffffffffffffffff19166001600160401b0387161781559081018890556002018690555b6124be8a8a89896001612b21565b60408051888152602081018890526001600160401b0386168183015290516001600160a01b038b16917fa798fa3372862b9279e9279338081d2e0828e908501dbdf4cf8e2ef83867649d919081900360600190a250505050505050505050565b6001600160a01b0381165f908152600c602052604081206001810154909190600160401b900460ff16801561255b5750612556612a4e565b825410155b80156125e357506008546006545f546040516370a0823160e01b81526001600160a01b03909116906370a0823190612597908890600401612fb6565b602060405180830381865afa1580156125b2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d69190613192565b6125e09190613269565b10155b600183015490915060ff600160501b90910416151581151514610d7f5760018201805482158015600160501b0260ff60501b199092169190911790915561263d57600b8054905f612633836132df565b9190505550612652565b600b8054905f61264c836132f7565b91905055505b826001600160a01b03167f1e5cd4157c0bec375761492bfd692468cecd66e6cb75f397a5195b570692d9058260405161268f911515815260200190565b60405180910390a2505050565b336126a5611782565b6001600160a01b03161461145a573360405163118cdaa760e01b815260040161234b9190612fb6565b611daf848484845f612360565b6001600160a01b0381165f908152600283016020526040902080546001909101545b9250929050565b5f828218828410028218612030565b5f80841561275f576127288787875f87612bcf565b9150811561275f576001600160a01b0386165f90815260028801602052604081208054849290612759908490613256565b90915550505b83156127ad57612773878786600187612bcf565b905080156127ad576001600160a01b0386165f908152600288016020526040812060010180548392906127a7908490613256565b90915550505b5f8211806127ba57505f81115b15612817576127c98787612d71565b60408051838152602081018390528415158183015290516001600160a01b038816917faaff5d2d15d2258450693fb56a7e9be67429e9a925525019086c620c5323fd9b919081900360600190a25b9550959350505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b610d7f83846001600160a01b031663a9059cbb85856040516024016128b79291906131a9565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612e17565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006113fb565b612919612e7a565b61235d81612e9f565b611daf84856001600160a01b03166323b872dd8686866040516024016128b793929190613288565b5f8083156129965761295f8686865f5f612bcf565b91508115612996576001600160a01b0385165f90815260028701602052604081208054849290612990908490613256565b90915550505b82156129e4576129aa86868560015f612bcf565b905080156129e4576001600160a01b0385165f908152600287016020526040812060010180548392906129de908490613256565b90915550505b5f8211806129f157505f81115b15612a4557612a008686612d71565b60408051838152602081018390526001600160a01b038716917fbd58523b9978b5fb3c6487ecc5b6a8ef9cd69c5fb07fb39e0af1e45ef2855fcc910160405180910390a25b94509492505050565b5f612710600a54600754612a62919061330c565b612a6c9190613269565b905090565b611daf8484845f85612360565b6001600160a01b0381165f9081526020838152604080832060018601909252822054829190805b8254811015612b17575f838281548110612ac157612ac16132ac565b5f918252602090912060039091020180549091506001600160401b0316421015612aeb5750612b17565b6001810154612afa9087613243565b9550806002015485612b0c9190613243565b945050600101612aa5565b5050509250929050565b82821715611ce9576001600160a01b0384165f90815260028601602052604090208115612b8a578315612b665783815f015f828254612b609190613243565b90915550505b8215612b855782816001015f828254612b7f9190613243565b90915550505b612bc7565b8315612ba85783815f015f828254612ba29190613256565b90915550505b8215612bc75782816001015f828254612bc19190613256565b90915550505b505050505050565b5f835f03612bde57505f612d68565b6001600160a01b0385165f9081526020878152604080832060018a01909252909120548154865b5f81118015612c1357508183105b15612d4a575f848481548110612c2b57612c2b6132ac565b905f5260205f209060030201905086158015612c50575080546001600160401b031642105b15612c5b5750612d4a565b5f80896001811115612c6f57612c6f613323565b03612c7f57506001810154612c86565b5060028101545b805f03612ca15784612c97816132df565b9550505050612c05565b5f818410612caf5781612cb1565b835b90505f8a6001811115612cc657612cc6613323565b03612ce95780836001015f828254612cde9190613256565b90915550612d029050565b80836002015f828254612cfc9190613256565b90915550505b612d0c8185613256565b9350612d188189613243565b975082600101545f148015612d2f57506002830154155b15612d425785612d3e816132df565b9650505b505050612c05565b50506001600160a01b0387165f908152600189016020526040902055505b95945050505050565b6001600160a01b0381165f9081526020838152604080832060018601909252909120545b8154811015612df7575f828281548110612db157612db16132ac565b905f5260205f209060030201905080600101545f148015612dd457506002810154155b15612deb5781612de3816132df565b925050612df1565b50612df7565b50612d95565b6001600160a01b039092165f908152600190930160205250604090912055565b5f5f60205f8451602086015f885af180612e36576040513d5f823e3d81fd5b50505f513d91508115612e4d578060011415612e5a565b6001600160a01b0384163b155b15611daf5783604051635274afe760e01b815260040161234b9190612fb6565b612e82612ea7565b61145a57604051631afcd79f60e31b815260040160405180910390fd5b612322612e7a565b5f612eb06128e9565b54600160401b900460ff16919050565b5f5f83601f840112612ed0575f5ffd5b5081356001600160401b03811115612ee6575f5ffd5b6020830191508360208260051b85010111156126fd575f5ffd5b5f5f60208385031215612f11575f5ffd5b82356001600160401b03811115612f26575f5ffd5b612f3285828601612ec0565b90969095509350505050565b5f60208284031215612f4e575f5ffd5b5035919050565b6001600160a01b038116811461235d575f5ffd5b5f60208284031215612f79575f5ffd5b813561203081612f55565b5f5f5f60608486031215612f96575f5ffd5b8335612fa181612f55565b95602085013595506040909401359392505050565b6001600160a01b0391909116815260200190565b5f5f60408385031215612fdb575f5ffd5b50508035926020909101359150565b80356001600160401b0381168114613000575f5ffd5b919050565b5f5f5f5f5f5f5f5f5f6101208a8c03121561301e575f5ffd5b893561302981612f55565b985060208a013561303981612f55565b975060408a013561304981612f55565b965060608a013561305981612f55565b955060808a013561306981612f55565b945060a08a0135935060c08a0135925060e08a0135915061308d6101008b01612fea565b90509295985092959850929598565b5f602082840312156130ac575f5ffd5b61203082612fea565b5f5f604083850312156130c6575f5ffd5b82356130d181612f55565b946020939093013593505050565b5f5f5f5f5f606086880312156130f3575f5ffd5b85356130fe81612f55565b945060208601356001600160401b03811115613118575f5ffd5b61312488828901612ec0565b90955093505060408601356001600160401b03811115613142575f5ffd5b61314e88828901612ec0565b969995985093965092949392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821601908111156113fb576113fb61315f565b5f602082840312156131a2575f5ffd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f600160ff1b82016131d6576131d661315f565b505f0390565b6001600160a01b038416815260406020820181905281018290525f6001600160fb1b0383111561320a575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f60208284031215613234575f5ffd5b81518015158114612030575f5ffd5b808201808211156113fb576113fb61315f565b818103818111156113fb576113fb61315f565b5f8261328357634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160a01b039384168152919092166020820152604081019190915260600190565b634e487b7160e01b5f52603260045260245ffd5b6001600160401b0382811682821603908111156113fb576113fb61315f565b5f600182016132f0576132f061315f565b5060010190565b5f816133055761330561315f565b505f190190565b80820281158282048414176113fb576113fb61315f565b634e487b7160e01b5f52602160045260245ffdfe51499681e2c0f67f5df906558cc5b02bba47d9fbedc196587288f05a81f95e7e4c52f863bab6f44fc6f6b3b7d4e5f57540cecf3bfc5c6734ce6fa55c6e3304d6267ae0ed351cb5b33bc50158aa20231f6fe9dae49bf24c85e2d40686b32a1c0aa164736f6c634300081c000a";
1208
1221
  const isSuperArgs = (xs) => xs.length > 1;
1209
1222
  export class BondingRegistry__factory extends ContractFactory {
1210
1223
  constructor(...args) {
@@ -16,7 +16,7 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
16
16
  deploymentTransaction(): ContractTransactionResponse;
17
17
  }>;
18
18
  connect(runner: ContractRunner | null): CiphernodeRegistryOwnable__factory;
19
- static readonly bytecode = "0x6080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6122a1806100d65f395ff3fe608060405234801561000f575f5ffd5b50600436106101c6575f3560e01c80639f0f874a116100fe578063dbb06c931161009e578063ebf0c7171161006e578063ebf0c7171461040d578063f2fde38b14610423578063f379b0df14610436578063f6fc05d514610459575f5ffd5b8063dbb06c93146103c2578063e59e4695146103d4578063e6745e13146103e7578063e82f3b70146103fa575f5ffd5b8063c2b40ae4116100d9578063c2b40ae414610360578063c3a0ec301461037f578063ca2869a014610390578063da881e5a146103af575f5ffd5b80639f0f874a14610324578063a01649301461032d578063a04e60651461034d575f5ffd5b806385814243116101695780638cb89ecb116101445780638cb89ecb146102ac5780638d1ddfb1146102d95780638da5cb5b146102e15780639015d37114610311575f5ffd5b8063858142431461025b5780638a78bb15146102865780638b530cb514610299575f5ffd5b80632e7b716d116101a45780632e7b716d1461021a5780634d6861a61461022d57806370e36bbe14610240578063715018a614610253575f5ffd5b80630f3e3412146101ca5780631794bb3c146101df578063291a691b146101f2575b5f5ffd5b6101dd6101d8366004611d2e565b610462565b005b6101dd6101ed366004611d5b565b6104a5565b610205610200366004611d95565b610651565b60405190151581526020015b60405180910390f35b610205610228366004611dce565b610759565b61020561023b366004611d2e565b610809565b6101dd61024e366004611dce565b610847565b6101dd6108bd565b60015461026e906001600160a01b031681565b6040516001600160a01b039091168152602001610211565b6101dd610294366004611dce565b6108d0565b6101dd6102a7366004611e2f565b6109d8565b6102cb6102ba366004611d2e565b60096020525f908152604090205481565b604051908152602001610211565b6004546102cb565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031661026e565b61020561031f366004611dce565b610b11565b6102cb60035481565b61034061033b366004611d2e565b610b30565b6040516102119190611ede565b6101dd61035b366004611f29565b610bc6565b6102cb61036e366004611d2e565b60086020525f908152604090205481565b6001546001600160a01b031661026e565b6102cb61039e366004611d2e565b5f9081526008602052604090205490565b6101dd6103bd366004611d2e565b610cf4565b5f5461026e906001600160a01b031681565b6101dd6103e2366004611dce565b610dfd565b6101dd6103f5366004611f78565b610e75565b6102cb610408366004611d2e565b611016565b6005545f908152600660205260409020546102cb565b6101dd610431366004611dce565b611047565b600454600554610444919082565b60408051928352602083019190915201610211565b6102cb60025481565b61046a611081565b60038190556040518181527fbe772dc189863d512fa01e489c8eac204975aef1a8662d8b5a333804b5207ab79060200160405180910390a150565b5f6104ae6110dc565b805490915060ff68010000000000000000820416159067ffffffffffffffff165f811580156104da5750825b90505f8267ffffffffffffffff1660011480156104f65750303b155b905081158015610504575080155b156105225760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561055657845468ff00000000000000001916680100000000000000001785555b6001600160a01b03881661057d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0387166105a45760405163d92e233d60e01b815260040160405180910390fd5b6105ad33611104565b6105b687610847565b6105bf86610462565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b038981169116146105fc576105fc88611047565b831561064757845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f80546001600160a01b0316331461067c5760405163e4c2a7eb60e01b815260040160405180910390fd5b5f848152600a60205260409020805460ff16156106ac576040516374ff462560e11b815260040160405180910390fd5b805461ffff19166001908117825581018490554360028201556003546106d29042611fac565b60038201556106e660058201846002611c3d565b506005545f908152600660209081526040808320548884526008909252918290205560028201546003830154915187927f381d281d32f95ef8fe4e5f3b263ea6a32d03d331e1a141ae1da996dc02a7a17092610746928992899291611fbf565b60405180910390a2506001949350505050565b5f61076382610b11565b61076e57505f919050565b6001546001600160a01b0316610797576040516350ca893360e01b815260040160405180910390fd5b600154604051639f8a13d760e01b81526001600160a01b03848116600483015290911690639f8a13d790602401602060405180830381865afa1580156107df573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108039190612015565b92915050565b5f818152600a60205260408120805460ff16158061082d57508054610100900460ff165b1561083a57505f92915050565b6003015442111592915050565b61084f611081565b6001600160a01b0381166108765760405163d92e233d60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b038316908117825560405190917f2c8267accd82e977550ed2349c73311183cd22e306347be4453c8d130995e3c991a250565b6108c5611081565b6108ce5f611115565b565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031633148061091257506001546001600160a01b031633145b61092f57604051632864c4e160e01b815260040160405180910390fd5b61093881610b11565b6109d5578061095160046001600160a01b038316611185565b5060028054905f61096183612034565b9190505550816001600160a01b03167f3318d261fe14a5761d2d1e21555652f623d2134c430a9883c9ad6e958bb0db536109ae836001600160a01b0316600461135790919063ffffffff16565b600254600454604080519384526020840192909252908201526060015b60405180910390a2505b50565b6109e0611081565b5f868152600a60205260409020805460ff16610a0f57604051630d4c1d9760e41b815260040160405180910390fd5b8054610100900460ff16610a3657604051634f4b461f60e11b815260040160405180910390fd5b600481015415610a595760405163632a22bb60e01b815260040160405180910390fd5b60078101548514610ab15760405162461bcd60e51b815260206004820152601360248201527f4e6f646520636f756e74206d69736d617463680000000000000000000000000060448201526064015b60405180910390fd5b600481018290555f87815260096020526040908190208390555187907ff7472ea3a028fe8a86ab1c9a3e2176b284c8c3a22675c101e0fa21c140b6678d90610b0090899089908990899061204c565b60405180910390a250505050505050565b6001600160a01b0381165f908152600760205260408120541515610803565b5f818152600a60205260409020600481015460609190610b63576040516322e679e360e11b815260040160405180910390fd5b80600701805480602002602001604051908101604052809291908181526020018280548015610bb957602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b9b575b5050505050915050919050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316331480610c0857506001546001600160a01b031633145b610c2557604051632864c4e160e01b815260040160405180910390fd5b610c2e83610b11565b8390610c59576040516381e5828960e01b81526001600160a01b039091166004820152602401610aa8565b50825f610c7060046001600160a01b038416611357565b9050610c8860046001600160a01b03841686866113a9565b5060028054905f610c98836120c1565b90915550506002546004546040805184815260208101939093528201526001600160a01b038616907f8c008e3835f6c79bfcdb89f0f6ca8705e0b01049ee84a90b0e4da1c7ba9405d59060600160405180910390a25050505050565b5f818152600a60205260409020805460ff16610d2357604051630d4c1d9760e41b815260040160405180910390fd5b8054610100900460ff1615610d4b57604051631860f69960e31b815260040160405180910390fd5b8060030154421015610d7057604051632f021e8d60e11b815260040160405180910390fd5b6005810154600682015464010000000090910463ffffffff161115610da8576040516359fa4a9360e01b815260040160405180910390fd5b805461ff001916610100178155600681018054610dc9916007840191611cde565b50817fed38c6266ebed7c01d311349a7fa67e0ef0f1d2f4760d60dbb34ca4799a2e132826006016040516109cb91906120ea565b610e05611081565b6001600160a01b038116610e2c5760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517fad4055f18cdad6f4bdd71afe3a72cbeee964217943e1bde38f138289e981a9a7905f90a250565b5f828152600a60205260409020805460ff16610ea457604051630d4c1d9760e41b815260040160405180910390fd5b8054610100900460ff1615610ecc57604051631860f69960e31b815260040160405180910390fd5b8060030154421115610ef057604051624bbbe560e51b815260040160405180910390fd5b335f90815260088201602052604090205460ff1615610f225760405163257309f160e11b815260040160405180910390fd5b610f2b33610759565b610f485760405163149fbcfd60e11b815260040160405180910390fd5b610f533383856113c0565b6001810154604080516bffffffffffffffffffffffff193360601b16602080830191909152603482018690526054820187905260748083019490945282518083039094018452609490910190915281519101205f90335f8181526008850160205260409020805460ff19166001179055909150610fd2908390836115b2565b506040805184815260208101839052339186917f52999628fb1cb05707e842278833b22e511f11746202cecdf221968b0b89e8bd910160405180910390a350505050565b5f8181526009602052604090205480611042576040516322e679e360e11b815260040160405180910390fd5b919050565b61104f611081565b6001600160a01b03811661107857604051631e4fbdf760e01b81525f6004820152602401610aa8565b6109d581611115565b336110b37f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146108ce5760405163118cdaa760e01b8152336004820152602401610aa8565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610803565b61110c611733565b6109d581611758565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b5f7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182106111c6576040516361c0541760e11b815260040160405180910390fd5b815f036111e6576040516314b48df160e11b815260040160405180910390fd5b5f82815260038401602052604090205415611214576040516312c50cad60e11b815260040160405180910390fd5b825460018085015490611228908390611fac565b611233826002612210565b10156112455761124281612034565b90505b60018501819055835f5b8281101561131d578084901c600116600103611302576040805180820182525f83815260028a0160209081529083902054825281018490529051632b0aac7f60e11b815273__$078c82ddf6c95d34ea184ef1dd6130d136$__9163561558fe916112bc919060040161221b565b602060405180830381865af41580156112d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fb919061224b565b9150611315565b5f81815260028801602052604090208290555b60010161124f565b5061132783612034565b8087555f928352600287016020908152604080852084905596845260039097019096529390209390935550919050565b5f818152600383016020526040812054810361138657604051631c811d5b60e21b815260040160405180910390fd5b5f8281526003840160205260409020546113a290600190612262565b9392505050565b5f6113b785855f8686611760565b95945050505050565b5f82116113e05760405163aeaddff160e01b815260040160405180910390fd5b6001546001600160a01b0316611409576040516350ca893360e01b815260040160405180910390fd5b5f818152600a602052604081206001805460028301549293926001600160a01b039091169163bb03bd7191889161143f91612262565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa15801561149e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c2919061224b565b90505f60015f9054906101000a90046001600160a01b03166001600160a01b0316631209b1f66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611515573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611539919061224b565b90505f811161155b5760405163aeaddff160e01b815260040160405180910390fd5b5f6115668284612275565b90505f81116115885760405163149fbcfd60e11b815260040160405180910390fd5b808611156115a95760405163aeaddff160e01b815260040160405180910390fd5b50505050505050565b60058301546006840180545f92640100000000900463ffffffff169081111561161f57508054600180820183555f928352602080842090920180546001600160a01b0319166001600160a01b038816908117909155835260098701909152604090912083905590506113a2565b5f5f90505f876009015f855f8154811061163b5761163b6120d6565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054905060015b84548110156116c3575f896009015f878481548110611685576116856120d6565b5f9182526020808320909101546001600160a01b031683528201929092526040019020549050828111156116ba578092508193505b50600101611664565b508086106116d7575f9450505050506113a2565b868483815481106116ea576116ea6120d6565b5f91825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918916815260098a019091526040902086905550600193505050509392505050565b61173b611c1f565b6108ce57604051631afcd79f60e31b815260040160405180910390fd5b61104f611733565b5f7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184106117a1576040516361c0541760e11b815260040160405180910390fd5b5f8581526003870160205260409020546117ce57604051631c811d5b60e21b815260040160405180910390fd5b5f848152600387016020526040902054156117fc576040516312c50cad60e11b815260040160405180910390fd5b5f6118078787611357565b8754909150859087905f9061181e90600190612262565b60018b01549091505f90815b81811015611b9a578087901c6001166001036119eb577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018a8a85818110611873576118736120d6565b9050602002013510611898576040516361c0541760e11b815260040160405180910390fd5b73__$078c82ddf6c95d34ea184ef1dd6130d136$__63561558fe60405180604001604052808d8d888181106118cf576118cf6120d6565b905060200201358152602001898152506040518263ffffffff1660e01b81526004016118fb919061221b565b602060405180830381865af4158015611916573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061193a919061224b565b955073__$078c82ddf6c95d34ea184ef1dd6130d136$__63561558fe60405180604001604052808d8d88818110611973576119736120d6565b905060200201358152602001888152506040518263ffffffff1660e01b815260040161199f919061221b565b602060405180830381865af41580156119ba573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119de919061224b565b9450826001019250611b92565b86811c84821c14611b7f577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018a8a85818110611a2957611a296120d6565b9050602002013510611a4e576040516361c0541760e11b815260040160405180910390fd5b5f81815260028e016020526040902054859003611a78575f81815260028e01602052604090208690555b73__$078c82ddf6c95d34ea184ef1dd6130d136$__63561558fe60405180604001604052808981526020018d8d88818110611ab557611ab56120d6565b905060200201358152506040518263ffffffff1660e01b8152600401611adb919061221b565b602060405180830381865af4158015611af6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1a919061224b565b955073__$078c82ddf6c95d34ea184ef1dd6130d136$__63561558fe60405180604001604052808881526020018d8d88818110611b5957611b596120d6565b905060200201358152506040518263ffffffff1660e01b815260040161199f919061221b565b5f81815260028e01602052604090208690555b60010161182a565b5060018c01545f90815260028d0160205260409020548414611bcf57604051631fd4986360e11b815260040160405180910390fd5b5f81815260028d01602052604090208590558915611bff575f8b815260038d016020526040808220548c83529120555b5050505f88815260038a0160205260408120555091505095945050505050565b5f611c286110dc565b5468010000000000000000900460ff16919050565b600183019183908215611cce579160200282015f5b83821115611c9c57833563ffffffff1683826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302611c52565b8015611ccc5782816101000a81549063ffffffff0219169055600401602081600301049283019260010302611c9c565b505b50611cda929150611d1a565b5090565b828054828255905f5260205f20908101928215611cce575f5260205f209182015b82811115611cce578254825591600101919060010190611cff565b5b80821115611cda575f8155600101611d1b565b5f60208284031215611d3e575f5ffd5b5035919050565b80356001600160a01b0381168114611042575f5ffd5b5f5f5f60608486031215611d6d575f5ffd5b611d7684611d45565b9250611d8460208501611d45565b929592945050506040919091013590565b5f5f5f60808486031215611da7575f5ffd5b833592506020840135915060808401851015611dc1575f5ffd5b6040840190509250925092565b5f60208284031215611dde575f5ffd5b6113a282611d45565b5f5f83601f840112611df7575f5ffd5b50813567ffffffffffffffff811115611e0e575f5ffd5b6020830191508360208260051b8501011115611e28575f5ffd5b9250929050565b5f5f5f5f5f5f60808789031215611e44575f5ffd5b86359550602087013567ffffffffffffffff811115611e61575f5ffd5b611e6d89828a01611de7565b909650945050604087013567ffffffffffffffff811115611e8c575f5ffd5b8701601f81018913611e9c575f5ffd5b803567ffffffffffffffff811115611eb2575f5ffd5b896020828401011115611ec3575f5ffd5b96999598509396602090940195946060909401359392505050565b602080825282518282018190525f918401906040840190835b81811015611f1e5783516001600160a01b0316835260209384019390920191600101611ef7565b509095945050505050565b5f5f5f60408486031215611f3b575f5ffd5b611f4484611d45565b9250602084013567ffffffffffffffff811115611f5f575f5ffd5b611f6b86828701611de7565b9497909650939450505050565b5f5f60408385031215611f89575f5ffd5b50508035926020909101359150565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080357610803611f98565b84815260a0810160208201855f5b600281101561200057813563ffffffff8116808214611fea575f5ffd5b8452506020928301929190910190600101611fcd565b50505060608201939093526080015292915050565b5f60208284031215612025575f5ffd5b815180151581146113a2575f5ffd5b5f6001820161204557612045611f98565b5060010190565b604080825281018490525f8560608301825b8781101561208c576001600160a01b0361207784611d45565b1682526020928301929091019060010161205e565b508381036020850152848152848660208301375f602086830101526020601f19601f8701168201019250505095945050505050565b5f816120cf576120cf611f98565b505f190190565b634e487b7160e01b5f52603260045260245ffd5b602080825282548282018190525f848152918220906040840190835b81811015611f1e5783546001600160a01b0316835260019384019360209093019201612106565b6001815b60018411156121685780850481111561214c5761214c611f98565b600184161561215a57908102905b60019390931c928002612131565b935093915050565b5f8261217e57506001610803565b8161218a57505f610803565b81600181146121a057600281146121aa576121c6565b6001915050610803565b60ff8411156121bb576121bb611f98565b50506001821b610803565b5060208310610133831016604e8410600b84101617156121e9575081810a610803565b6121f55f19848461212d565b805f190482111561220857612208611f98565b029392505050565b5f6113a28383612170565b6040810181835f5b6002811015612242578151835260209283019290910190600101612223565b50505092915050565b5f6020828403121561225b575f5ffd5b5051919050565b8181038181111561080357610803611f98565b5f8261228f57634e487b7160e01b5f52601260045260245ffd5b50049056fea164736f6c634300081c000a";
19
+ static readonly bytecode = "0x6080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61243a806100d65f395ff3fe608060405234801561000f575f5ffd5b5060043610610195575f3560e01c80639f0f874a116100e0578063dbb06c931161008f578063dbb06c9314610371578063e59e469514610383578063e6745e1314610396578063e82f3b70146103a9578063ebf0c717146103bc578063f2fde38b146103d2578063f379b0df146103e5578063f6fc05d514610408575f5ffd5b80639f0f874a146102d3578063a0164930146102dc578063a04e6065146102fc578063c2b40ae41461030f578063c3a0ec301461032e578063ca2869a01461033f578063da881e5a1461035e575f5ffd5b8063715018a611610147578063715018a614610243578063858142431461024b5780638a78bb151461026b5780638b530cb51461027e5780638cb89ecb146102915780638d1ddfb1146102b05780638da5cb5b146102b85780639015d371146102c0575f5ffd5b80630f3e3412146101995780631794bb3c146101ae5780632800d829146101c1578063291a691b146101e75780632e7b716d1461020a5780634d6861a61461021d57806370e36bbe14610230575b5f5ffd5b6101ac6101a7366004611e6a565b610411565b005b6101ac6101bc366004611e95565b610454565b6101d46101cf366004611e6a565b6105af565b6040519081526020015b60405180910390f35b6101fa6101f5366004611ed3565b6105e8565b60405190151581526020016101de565b6101fa610218366004611f0c565b6107bc565b6101fa61022b366004611e6a565b61086f565b6101ac61023e366004611f0c565b6108ad565b6101ac610923565b60015461025e906001600160a01b031681565b6040516101de9190611f27565b6101ac610279366004611f0c565b610936565b6101ac61028c366004611f82565b610a2c565b6101d461029f366004611e6a565b60096020525f908152604090205481565b6004546101d4565b61025e610bb1565b6101fa6102ce366004611f0c565b610bdf565b6101d460035481565b6102ef6102ea366004611e6a565b610bfe565b6040516101de919061202e565b6101ac61030a366004612079565b610c94565b6101d461031d366004611e6a565b60086020525f908152604090205481565b6001546001600160a01b031661025e565b6101d461034d366004611e6a565b5f9081526008602052604090205490565b6101fa61036c366004611e6a565b610da6565b5f5461025e906001600160a01b031681565b6101ac610391366004611f0c565b610fca565b6101ac6103a43660046120c9565b611042565b6101d46103b7366004611e6a565b6111e4565b6005545f908152600660205260409020546101d4565b6101ac6103e0366004611f0c565b611215565b6004546005546103f3919082565b604080519283526020830191909152016101de565b6101d460025481565b61041961124f565b60038190556040518181527fbe772dc189863d512fa01e489c8eac204975aef1a8662d8b5a333804b5207ab79060200160405180910390a150565b5f61045d611281565b805490915060ff600160401b82041615906001600160401b03165f811580156104835750825b90505f826001600160401b0316600114801561049e5750303b155b9050811580156104ac575080155b156104ca5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156104f457845460ff60401b1916600160401b1785555b6001600160a01b03881661051b5760405163d92e233d60e01b815260040160405180910390fd5b610524336112a9565b61052d876108ad565b61053686610411565b61053e610bb1565b6001600160a01b0316886001600160a01b03161461055f5761055f88611215565b83156105a557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f818152600a60205260408120805460ff166105de57604051630d4c1d9760e41b815260040160405180910390fd5b6003015492915050565b5f80546001600160a01b031633146106135760405163e4c2a7eb60e01b815260040160405180910390fd5b5f848152600a60205260409020805460ff1615610643576040516374ff462560e11b815260040160405180910390fd5b60015460408051630cc37d8f60e11b815290515f926001600160a01b031691631986fb1e9160048083019260209291908290030181865afa15801561068a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ae91906120e9565b9050806106c16040860160208701612127565b63ffffffff1611156106d96040860160208701612127565b82909161070c576040516344ec930f60e01b815263ffffffff909216600483015260248201526044015b60405180910390fd5b5050815461ffff19166001908117835582018590554360028301556003546107349042612154565b600383015561074860058301856002611d79565b506005545f908152600660209081526040808320548984526008909252918290205560028301546003840154915188927f381d281d32f95ef8fe4e5f3b263ea6a32d03d331e1a141ae1da996dc02a7a170926107a8928a928a9291612167565b60405180910390a250600195945050505050565b5f6107c682610bdf565b6107d157505f919050565b6001546001600160a01b03166107fa576040516350ca893360e01b815260040160405180910390fd5b600154604051639f8a13d760e01b81526001600160a01b0390911690639f8a13d79061082a908590600401611f27565b602060405180830381865afa158015610845573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086991906121b7565b92915050565b5f818152600a60205260408120805460ff16158061089357508054610100900460ff165b156108a057505f92915050565b6003015442111592915050565b6108b561124f565b6001600160a01b0381166108dc5760405163d92e233d60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b038316908117825560405190917f2c8267accd82e977550ed2349c73311183cd22e306347be4453c8d130995e3c991a250565b61092b61124f565b6109345f6112ba565b565b61093e610bb1565b6001600160a01b0316336001600160a01b0316148061096757506001546001600160a01b031633145b61098457604051632864c4e160e01b815260040160405180910390fd5b61098d81610bdf565b610a2957806109a660046001600160a01b03831661132a565b5060028054905f6109b6836121d6565b9190505550816001600160a01b03167f3318d261fe14a5761d2d1e21555652f623d2134c430a9883c9ad6e958bb0db53610a03836001600160a01b031660046114e990919063ffffffff16565b6002546004546040805193845260208401929092529082015260600160405180910390a2505b50565b610a3461124f565b5f868152600a60205260409020805460ff16610a6357604051630d4c1d9760e41b815260040160405180910390fd5b8054610100900460ff16610a8a57604051634f4b461f60e11b815260040160405180910390fd5b600481015415610aad5760405163632a22bb60e01b815260040160405180910390fd5b60078101548514610af65760405162461bcd60e51b815260206004820152601360248201527209cdec8ca40c6deeadce840dad2e6dac2e8c6d606b1b6044820152606401610703565b60048181018390555f88815260096020526040808220859055905490516340a3b76160e11b8152918201899052602482018490526001600160a01b0316906381476ec2906044015f604051808303815f87803b158015610b54575f5ffd5b505af1158015610b66573d5f5f3e3d5ffd5b50505050867ff7472ea3a028fe8a86ab1c9a3e2176b284c8c3a22675c101e0fa21c140b6678d87878787604051610ba094939291906121ee565b60405180910390a250505050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0381165f908152600760205260408120541515610869565b5f818152600a60205260409020600481015460609190610c31576040516322e679e360e11b815260040160405180910390fd5b80600701805480602002602001604051908101604052809291908181526020018280548015610c8757602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610c69575b5050505050915050919050565b610c9c610bb1565b6001600160a01b0316336001600160a01b03161480610cc557506001546001600160a01b031633145b610ce257604051632864c4e160e01b815260040160405180910390fd5b610ceb83610bdf565b8390610d0b576040516381e5828960e01b81526004016107039190611f27565b50825f610d2260046001600160a01b0384166114e9565b9050610d3a60046001600160a01b038416868661153b565b5060028054905f610d4a83612265565b90915550506002546004546040805184815260208101939093528201526001600160a01b038616907f8c008e3835f6c79bfcdb89f0f6ca8705e0b01049ee84a90b0e4da1c7ba9405d59060600160405180910390a25050505050565b5f818152600a60205260408120805460ff16610dd557604051630d4c1d9760e41b815260040160405180910390fd5b8054610100900460ff1615610dfd57604051631860f69960e31b815260040160405180910390fd5b8060030154421015610e2257604051632f021e8d60e11b815260040160405180910390fd5b805461ff0019166101001781556005810154600682015464010000000090910463ffffffff16111580610f1857815462ff0000191662010000178255600682015460058301546040805192835264010000000090910463ffffffff16602083015285917fecc4a9fb7e28d074cba7f5b227e9b5827823c850a385539b9a2f98a08f8c203d910160405180910390a25f54604051635d968dc160e11b815260048101869052600260248201526001600160a01b039091169063bb2d1b82906044015f604051808303815f87803b158015610ef9575f5ffd5b505af1158015610f0b573d5f5f3e3d5ffd5b505f979650505050505050565b600682018054610f2c916007850191611e1a565b505f54604051631f3ea75d60e21b8152600481018690526001600160a01b0390911690637cfa9d74906024015f604051808303815f87803b158015610f6f575f5ffd5b505af1158015610f81573d5f5f3e3d5ffd5b50505050837fed38c6266ebed7c01d311349a7fa67e0ef0f1d2f4760d60dbb34ca4799a2e13283600601604051610fb8919061227a565b60405180910390a25060019392505050565b610fd261124f565b6001600160a01b038116610ff95760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517fad4055f18cdad6f4bdd71afe3a72cbeee964217943e1bde38f138289e981a9a7905f90a250565b5f828152600a60205260409020805460ff1661107157604051630d4c1d9760e41b815260040160405180910390fd5b8054610100900460ff161561109957604051631860f69960e31b815260040160405180910390fd5b80600301544211156110be57604051639a19114d60e01b815260040160405180910390fd5b335f90815260088201602052604090205460ff16156110f05760405163257309f160e11b815260040160405180910390fd5b6110f9336107bc565b6111165760405163149fbcfd60e11b815260040160405180910390fd5b611121338385611552565b6001810154604080516bffffffffffffffffffffffff193360601b16602080830191909152603482018690526054820187905260748083019490945282518083039094018452609490910190915281519101205f90335f8181526008850160205260409020805460ff191660011790559091506111a09083908361172c565b506040805184815260208101839052339186917f52999628fb1cb05707e842278833b22e511f11746202cecdf221968b0b89e8bd910160405180910390a350505050565b5f8181526009602052604090205480611210576040516322e679e360e11b815260040160405180910390fd5b919050565b61121d61124f565b6001600160a01b038116611246575f604051631e4fbdf760e01b81526004016107039190611f27565b610a29816112ba565b33611258610bb1565b6001600160a01b031614610934573360405163118cdaa760e01b81526004016107039190611f27565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610869565b6112b16118ad565b610a29816118d2565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b5f5f51602061240e5f395f51905f528210611358576040516361c0541760e11b815260040160405180910390fd5b815f03611378576040516314b48df160e11b815260040160405180910390fd5b5f828152600384016020526040902054156113a6576040516312c50cad60e11b815260040160405180910390fd5b8254600180850154906113ba908390612154565b6113c58260026123a0565b10156113d7576113d4816121d6565b90505b60018501819055835f5b828110156114af578084901c600116600103611494576040805180820182525f83815260028a0160209081529083902054825281018490529051632b0aac7f60e11b815273__$078c82ddf6c95d34ea184ef1dd6130d136$__9163561558fe9161144e91906004016123ab565b602060405180830381865af4158015611469573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148d91906120e9565b91506114a7565b5f81815260028801602052604090208290555b6001016113e1565b506114b9836121d6565b8087555f928352600287016020908152604080852084905596845260039097019096529390209390935550919050565b5f818152600383016020526040812054810361151857604051631c811d5b60e21b815260040160405180910390fd5b5f828152600384016020526040902054611534906001906123db565b9392505050565b5f61154985855f86866118da565b95945050505050565b5f82116115725760405163aeaddff160e01b815260040160405180910390fd5b6001546001600160a01b031661159b576040516350ca893360e01b815260040160405180910390fd5b5f818152600a602052604081206001805460028301549293926001600160a01b039091169163bb03bd719188916115d1916123db565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015611618573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163c91906120e9565b90505f60015f9054906101000a90046001600160a01b03166001600160a01b0316631209b1f66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b391906120e9565b90505f81116116d55760405163aeaddff160e01b815260040160405180910390fd5b5f6116e082846123ee565b90505f81116117025760405163149fbcfd60e11b815260040160405180910390fd5b808611156117235760405163aeaddff160e01b815260040160405180910390fd5b50505050505050565b60058301546006840180545f92640100000000900463ffffffff169081111561179957508054600180820183555f928352602080842090920180546001600160a01b0319166001600160a01b03881690811790915583526009870190915260409091208390559050611534565b5f5f90505f876009015f855f815481106117b5576117b5612100565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054905060015b845481101561183d575f896009015f8784815481106117ff576117ff612100565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054905082811115611834578092508193505b506001016117de565b50808610611851575f945050505050611534565b8684838154811061186457611864612100565b5f91825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918916815260098a019091526040902086905550600193505050509392505050565b6118b5611d60565b61093457604051631afcd79f60e31b815260040160405180910390fd5b61121d6118ad565b5f5f51602061240e5f395f51905f528410611908576040516361c0541760e11b815260040160405180910390fd5b5f85815260038701602052604090205461193557604051631c811d5b60e21b815260040160405180910390fd5b5f84815260038701602052604090205415611963576040516312c50cad60e11b815260040160405180910390fd5b5f61196e87876114e9565b8754909150859087905f90611985906001906123db565b60018b01549091505f90815b81811015611cdb578087901c600116600103611b3f575f51602061240e5f395f51905f528a8a858181106119c7576119c7612100565b90506020020135106119ec576040516361c0541760e11b815260040160405180910390fd5b73__$078c82ddf6c95d34ea184ef1dd6130d136$__63561558fe60405180604001604052808d8d88818110611a2357611a23612100565b905060200201358152602001898152506040518263ffffffff1660e01b8152600401611a4f91906123ab565b602060405180830381865af4158015611a6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8e91906120e9565b955073__$078c82ddf6c95d34ea184ef1dd6130d136$__63561558fe60405180604001604052808d8d88818110611ac757611ac7612100565b905060200201358152602001888152506040518263ffffffff1660e01b8152600401611af391906123ab565b602060405180830381865af4158015611b0e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b3291906120e9565b9450826001019250611cd3565b86811c84821c14611cc0575f51602061240e5f395f51905f528a8a85818110611b6a57611b6a612100565b9050602002013510611b8f576040516361c0541760e11b815260040160405180910390fd5b5f81815260028e016020526040902054859003611bb9575f81815260028e01602052604090208690555b73__$078c82ddf6c95d34ea184ef1dd6130d136$__63561558fe60405180604001604052808981526020018d8d88818110611bf657611bf6612100565b905060200201358152506040518263ffffffff1660e01b8152600401611c1c91906123ab565b602060405180830381865af4158015611c37573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5b91906120e9565b955073__$078c82ddf6c95d34ea184ef1dd6130d136$__63561558fe60405180604001604052808881526020018d8d88818110611c9a57611c9a612100565b905060200201358152506040518263ffffffff1660e01b8152600401611af391906123ab565b5f81815260028e01602052604090208690555b600101611991565b5060018c01545f90815260028d0160205260409020548414611d1057604051631fd4986360e11b815260040160405180910390fd5b5f81815260028d01602052604090208590558915611d40575f8b815260038d016020526040808220548c83529120555b5050505f88815260038a0160205260408120555091505095945050505050565b5f611d69611281565b54600160401b900460ff16919050565b600183019183908215611e0a579160200282015f5b83821115611dd857833563ffffffff1683826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302611d8e565b8015611e085782816101000a81549063ffffffff0219169055600401602081600301049283019260010302611dd8565b505b50611e16929150611e56565b5090565b828054828255905f5260205f20908101928215611e0a575f5260205f209182015b82811115611e0a578254825591600101919060010190611e3b565b5b80821115611e16575f8155600101611e57565b5f60208284031215611e7a575f5ffd5b5035919050565b6001600160a01b0381168114610a29575f5ffd5b5f5f5f60608486031215611ea7575f5ffd5b8335611eb281611e81565b92506020840135611ec281611e81565b929592945050506040919091013590565b5f5f5f60808486031215611ee5575f5ffd5b833592506020840135915060808401851015611eff575f5ffd5b6040840190509250925092565b5f60208284031215611f1c575f5ffd5b813561153481611e81565b6001600160a01b0391909116815260200190565b5f5f83601f840112611f4b575f5ffd5b5081356001600160401b03811115611f61575f5ffd5b6020830191508360208260051b8501011115611f7b575f5ffd5b9250929050565b5f5f5f5f5f5f60808789031215611f97575f5ffd5b8635955060208701356001600160401b03811115611fb3575f5ffd5b611fbf89828a01611f3b565b90965094505060408701356001600160401b03811115611fdd575f5ffd5b8701601f81018913611fed575f5ffd5b80356001600160401b03811115612002575f5ffd5b896020828401011115612013575f5ffd5b96999598509396602090940195946060909401359392505050565b602080825282518282018190525f918401906040840190835b8181101561206e5783516001600160a01b0316835260209384019390920191600101612047565b509095945050505050565b5f5f5f6040848603121561208b575f5ffd5b833561209681611e81565b925060208401356001600160401b038111156120b0575f5ffd5b6120bc86828701611f3b565b9497909650939450505050565b5f5f604083850312156120da575f5ffd5b50508035926020909101359150565b5f602082840312156120f9575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b803563ffffffff81168114611210575f5ffd5b5f60208284031215612137575f5ffd5b61153482612114565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561086957610869612140565b84815260a0810160208201855f5b60028110156121a25763ffffffff61218c83612114565b1683526020928301929190910190600101612175565b50505060608201939093526080015292915050565b5f602082840312156121c7575f5ffd5b81518015158114611534575f5ffd5b5f600182016121e7576121e7612140565b5060010190565b604080825281018490525f8560608301825b8781101561223057823561221381611e81565b6001600160a01b0316825260209283019290910190600101612200565b508381036020850152848152848660208301375f602086830101526020601f19601f8701168201019250505095945050505050565b5f8161227357612273612140565b505f190190565b602080825282548282018190525f848152918220906040840190835b8181101561206e5783546001600160a01b0316835260019384019360209093019201612296565b6001815b60018411156122f8578085048111156122dc576122dc612140565b60018416156122ea57908102905b60019390931c9280026122c1565b935093915050565b5f8261230e57506001610869565b8161231a57505f610869565b8160018114612330576002811461233a57612356565b6001915050610869565b60ff84111561234b5761234b612140565b50506001821b610869565b5060208310610133831016604e8410600b8410161715612379575081810a610869565b6123855f1984846122bd565b805f190482111561239857612398612140565b029392505050565b5f6115348383612300565b6040810181835f5b60028110156123d25781518352602092830192909101906001016123b3565b50505092915050565b8181038181111561086957610869612140565b5f8261240857634e487b7160e01b5f52601260045260245ffd5b50049056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a164736f6c634300081c000a";
20
20
  static readonly abi: readonly [{
21
21
  readonly inputs: readonly [];
22
22
  readonly stateMutability: "nonpayable";
@@ -45,6 +45,10 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
45
45
  readonly inputs: readonly [];
46
46
  readonly name: "CommitteeAlreadyRequested";
47
47
  readonly type: "error";
48
+ }, {
49
+ readonly inputs: readonly [];
50
+ readonly name: "CommitteeDeadlineReached";
51
+ readonly type: "error";
48
52
  }, {
49
53
  readonly inputs: readonly [];
50
54
  readonly name: "CommitteeNotFinalized";
@@ -61,6 +65,18 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
61
65
  readonly inputs: readonly [];
62
66
  readonly name: "CommitteeNotRequested";
63
67
  readonly type: "error";
68
+ }, {
69
+ readonly inputs: readonly [{
70
+ readonly internalType: "uint256";
71
+ readonly name: "requested";
72
+ readonly type: "uint256";
73
+ }, {
74
+ readonly internalType: "uint256";
75
+ readonly name: "available";
76
+ readonly type: "uint256";
77
+ }];
78
+ readonly name: "InsufficientCiphernodes";
79
+ readonly type: "error";
64
80
  }, {
65
81
  readonly inputs: readonly [];
66
82
  readonly name: "InvalidInitialization";
@@ -137,10 +153,6 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
137
153
  }];
138
154
  readonly name: "OwnableUnauthorizedAccount";
139
155
  readonly type: "error";
140
- }, {
141
- readonly inputs: readonly [];
142
- readonly name: "SubmissionDeadlineReached";
143
- readonly type: "error";
144
156
  }, {
145
157
  readonly inputs: readonly [];
146
158
  readonly name: "SubmissionWindowClosed";
@@ -255,6 +267,26 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
255
267
  }];
256
268
  readonly name: "CommitteeFinalized";
257
269
  readonly type: "event";
270
+ }, {
271
+ readonly anonymous: false;
272
+ readonly inputs: readonly [{
273
+ readonly indexed: true;
274
+ readonly internalType: "uint256";
275
+ readonly name: "e3Id";
276
+ readonly type: "uint256";
277
+ }, {
278
+ readonly indexed: false;
279
+ readonly internalType: "uint256";
280
+ readonly name: "nodesSubmitted";
281
+ readonly type: "uint256";
282
+ }, {
283
+ readonly indexed: false;
284
+ readonly internalType: "uint256";
285
+ readonly name: "thresholdRequired";
286
+ readonly type: "uint256";
287
+ }];
288
+ readonly name: "CommitteeFormationFailed";
289
+ readonly type: "event";
258
290
  }, {
259
291
  readonly anonymous: false;
260
292
  readonly inputs: readonly [{
@@ -300,7 +332,7 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
300
332
  }, {
301
333
  readonly indexed: false;
302
334
  readonly internalType: "uint256";
303
- readonly name: "submissionDeadline";
335
+ readonly name: "committeeDeadline";
304
336
  readonly type: "uint256";
305
337
  }];
306
338
  readonly name: "CommitteeRequested";
@@ -389,7 +421,7 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
389
421
  readonly inputs: readonly [];
390
422
  readonly name: "bondingRegistry";
391
423
  readonly outputs: readonly [{
392
- readonly internalType: "address";
424
+ readonly internalType: "contract IBondingRegistry";
393
425
  readonly name: "";
394
426
  readonly type: "address";
395
427
  }];
@@ -427,7 +459,7 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
427
459
  readonly inputs: readonly [];
428
460
  readonly name: "enclave";
429
461
  readonly outputs: readonly [{
430
- readonly internalType: "address";
462
+ readonly internalType: "contract IEnclave";
431
463
  readonly name: "";
432
464
  readonly type: "address";
433
465
  }];
@@ -440,7 +472,11 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
440
472
  readonly type: "uint256";
441
473
  }];
442
474
  readonly name: "finalizeCommittee";
443
- readonly outputs: readonly [];
475
+ readonly outputs: readonly [{
476
+ readonly internalType: "bool";
477
+ readonly name: "success";
478
+ readonly type: "bool";
479
+ }];
444
480
  readonly stateMutability: "nonpayable";
445
481
  readonly type: "function";
446
482
  }, {
@@ -453,6 +489,20 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
453
489
  }];
454
490
  readonly stateMutability: "view";
455
491
  readonly type: "function";
492
+ }, {
493
+ readonly inputs: readonly [{
494
+ readonly internalType: "uint256";
495
+ readonly name: "e3Id";
496
+ readonly type: "uint256";
497
+ }];
498
+ readonly name: "getCommitteeDeadline";
499
+ readonly outputs: readonly [{
500
+ readonly internalType: "uint256";
501
+ readonly name: "";
502
+ readonly type: "uint256";
503
+ }];
504
+ readonly stateMutability: "view";
505
+ readonly type: "function";
456
506
  }, {
457
507
  readonly inputs: readonly [{
458
508
  readonly internalType: "uint256";
@@ -473,7 +523,7 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
473
523
  readonly name: "_owner";
474
524
  readonly type: "address";
475
525
  }, {
476
- readonly internalType: "address";
526
+ readonly internalType: "contract IEnclave";
477
527
  readonly name: "_enclave";
478
528
  readonly type: "address";
479
529
  }, {
@@ -665,7 +715,7 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
665
715
  readonly type: "function";
666
716
  }, {
667
717
  readonly inputs: readonly [{
668
- readonly internalType: "address";
718
+ readonly internalType: "contract IBondingRegistry";
669
719
  readonly name: "_bondingRegistry";
670
720
  readonly type: "address";
671
721
  }];
@@ -675,7 +725,7 @@ export declare class CiphernodeRegistryOwnable__factory extends ContractFactory
675
725
  readonly type: "function";
676
726
  }, {
677
727
  readonly inputs: readonly [{
678
- readonly internalType: "address";
728
+ readonly internalType: "contract IEnclave";
679
729
  readonly name: "_enclave";
680
730
  readonly type: "address";
681
731
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"CiphernodeRegistryOwnable__factory.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAY,eAAe,EAAE,2BAA2B,EAAa,MAAM,QAAQ,CAAA;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,kCAAkC,EAAE,MAAM,0DAA0D,CAAC;AAw6B1I,KAAK,0CAA0C,GAC3C,CAAC,oBAAoB,EAAE,yCAAyC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,GAClF,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAUtD,qBAAa,kCAAmC,SAAQ,eAAe;gBAGnE,GAAG,IAAI,EAAE,0CAA0C;IAerD,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,yCAAyC,GAAG,MAAM;IAWnF,oBAAoB,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAG7G,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAAC,yBAAyB,GAAG;QAC1E,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CAAC;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,kCAAkC;IAKnF,MAAM,CAAC,QAAQ,CAAC,QAAQ,svjBAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,kCAAkC;IAInD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,yBAAyB;IAG3E,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,yBAAyB;CAGzF;AAGD,MAAM,WAAW,yCAAyC;IACpD,CAAC,uDAAuD,CAAC,EAAE,MAAM,CAAC;CACvE"}
1
+ {"version":3,"file":"CiphernodeRegistryOwnable__factory.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAY,eAAe,EAAE,2BAA2B,EAAa,MAAM,QAAQ,CAAA;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,kCAAkC,EAAE,MAAM,0DAA0D,CAAC;AA0+B1I,KAAK,0CAA0C,GAC3C,CAAC,oBAAoB,EAAE,yCAAyC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,GAClF,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAUtD,qBAAa,kCAAmC,SAAQ,eAAe;gBAGnE,GAAG,IAAI,EAAE,0CAA0C;IAerD,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,yCAAyC,GAAG,MAAM;IAWnF,oBAAoB,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAG7G,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAAC,yBAAyB,GAAG;QAC1E,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CAAC;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,kCAAkC;IAKnF,MAAM,CAAC,QAAQ,CAAC,QAAQ,wilBAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,kCAAkC;IAInD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,yBAAyB;IAG3E,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,yBAAyB;CAGzF;AAGD,MAAM,WAAW,yCAAyC;IACpD,CAAC,uDAAuD,CAAC,EAAE,MAAM,CAAC;CACvE"}