@gnosis-guild/zodiac 4.2.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/README.md +107 -4
  2. package/dist/{esm/abi/Bridge.json → cjs/abis/bridge/1.0.0.js} +5 -2
  3. package/dist/cjs/abis/circulatingSupplyERC20/1.0.0.js +248 -0
  4. package/dist/cjs/abis/circulatingSupplyERC20/1.1.0.js +248 -0
  5. package/dist/cjs/abis/circulatingSupplyERC20/1.2.0.js +248 -0
  6. package/dist/cjs/abis/circulatingSupplyERC721/1.1.0.js +248 -0
  7. package/dist/cjs/abis/circulatingSupplyERC721/1.2.0.js +248 -0
  8. package/dist/cjs/{abi/Connext.json → abis/connext/1.0.0.js} +5 -2
  9. package/dist/cjs/abis/delay/1.0.0.js +731 -0
  10. package/dist/cjs/abis/delay/1.0.1.js +731 -0
  11. package/dist/cjs/abis/delay/1.1.0.js +941 -0
  12. package/dist/cjs/abis/delay/1.1.1.js +941 -0
  13. package/dist/cjs/{abi/Erc20Votes.json → abis/erc20Votes/1.0.0.js} +5 -2
  14. package/dist/cjs/{abi/Erc721Votes.json → abis/erc721Votes/1.0.0.js} +5 -2
  15. package/dist/cjs/abis/exit/1.0.0.js +403 -0
  16. package/dist/cjs/abis/exit/1.1.0.js +422 -0
  17. package/dist/cjs/abis/exit/1.2.0.js +422 -0
  18. package/dist/cjs/abis/exitERC721/1.1.0.js +422 -0
  19. package/dist/cjs/abis/exitERC721/1.2.0.js +422 -0
  20. package/dist/cjs/abis/factory/1.0.0.js +53 -0
  21. package/dist/{esm/abi/ModuleProxyFactory.json → cjs/abis/factory/1.1.0.js} +5 -2
  22. package/dist/cjs/abis/factory/1.2.0.js +91 -0
  23. package/dist/cjs/abis/index.js +101 -0
  24. package/dist/{esm/abi/MetaGuard.json → cjs/abis/metaGuard/1.0.0.js} +5 -2
  25. package/dist/{esm/abi/MultisendEncoder.json → cjs/abis/multisendEncoder/1.0.0.js} +5 -2
  26. package/dist/{esm/abi/Tellor.json → cjs/abis/ozGovernor/1.0.0.js} +533 -445
  27. package/dist/cjs/{abi/RealityEth.json → abis/realityERC20/2.0.0.js} +5 -2
  28. package/dist/{esm/abi/RealityEth.json → cjs/abis/realityETH/2.0.0.js} +5 -2
  29. package/dist/cjs/abis/roles/1.0.0.js +993 -0
  30. package/dist/cjs/abis/roles/1.1.0.js +993 -0
  31. package/dist/cjs/{abi/RolesV2.json → abis/roles/2.1.0.js} +5 -78
  32. package/dist/{esm/abi/RolesV2.json → cjs/abis/roles/2.1.1.js} +5 -78
  33. package/dist/{esm/abi/ScopeGuard.json → cjs/abis/scopeGuard/1.0.0.js} +5 -2
  34. package/dist/cjs/contracts.js +91 -296
  35. package/dist/cjs/explorer.js +264 -0
  36. package/dist/cjs/extract.js +117 -0
  37. package/dist/cjs/index.js +14 -15
  38. package/dist/cjs/mastercopies.js +34 -0
  39. package/dist/cjs/networks.js +233 -0
  40. package/dist/cjs/package.json +1 -0
  41. package/dist/cjs/rpc.js +36 -0
  42. package/dist/cjs/singleton.js +42 -0
  43. package/dist/cjs/types.js +7 -0
  44. package/dist/cjs/ui.js +64 -0
  45. package/dist/cjs/zodiacModule.js +61 -0
  46. package/dist/esm/abis/bridge/1.0.0.d.ts +297 -0
  47. package/dist/{cjs/abi/Bridge.json → esm/abis/bridge/1.0.0.js} +2 -2
  48. package/dist/esm/abis/circulatingSupplyERC20/1.0.0.d.ts +188 -0
  49. package/dist/esm/{abi/CirculatingSupplyErc20.json → abis/circulatingSupplyERC20/1.0.0.js} +2 -2
  50. package/dist/esm/abis/circulatingSupplyERC20/1.1.0.d.ts +188 -0
  51. package/dist/{cjs/abi/CirculatingSupplyErc20.json → esm/abis/circulatingSupplyERC20/1.1.0.js} +2 -2
  52. package/dist/esm/abis/circulatingSupplyERC20/1.2.0.d.ts +188 -0
  53. package/dist/{cjs/abi/CirculatingSupplyErc721.json → esm/abis/circulatingSupplyERC20/1.2.0.js} +2 -2
  54. package/dist/esm/abis/circulatingSupplyERC721/1.1.0.d.ts +188 -0
  55. package/dist/esm/{abi/CirculatingSupplyErc721.json → abis/circulatingSupplyERC721/1.1.0.js} +2 -2
  56. package/dist/esm/abis/circulatingSupplyERC721/1.2.0.d.ts +188 -0
  57. package/dist/esm/abis/circulatingSupplyERC721/1.2.0.js +245 -0
  58. package/dist/esm/abis/connext/1.0.0.d.ts +383 -0
  59. package/dist/esm/{abi/Connext.json → abis/connext/1.0.0.js} +2 -2
  60. package/dist/esm/abis/delay/1.0.0.d.ts +562 -0
  61. package/dist/esm/{abi/Delay.json → abis/delay/1.0.0.js} +2 -2
  62. package/dist/esm/abis/delay/1.0.1.d.ts +562 -0
  63. package/dist/{cjs/abi/Delay.json → esm/abis/delay/1.0.1.js} +2 -2
  64. package/dist/esm/abis/delay/1.1.0.d.ts +720 -0
  65. package/dist/esm/abis/delay/1.1.0.js +938 -0
  66. package/dist/esm/abis/delay/1.1.1.d.ts +720 -0
  67. package/dist/esm/abis/delay/1.1.1.js +938 -0
  68. package/dist/esm/abis/erc20Votes/1.0.0.d.ts +613 -0
  69. package/dist/esm/{abi/Erc20Votes.json → abis/erc20Votes/1.0.0.js} +2 -2
  70. package/dist/esm/abis/erc721Votes/1.0.0.d.ts +610 -0
  71. package/dist/esm/{abi/Erc721Votes.json → abis/erc721Votes/1.0.0.js} +2 -2
  72. package/dist/esm/abis/exit/1.0.0.d.ts +309 -0
  73. package/dist/esm/abis/exit/1.0.0.js +400 -0
  74. package/dist/esm/abis/exit/1.1.0.d.ts +323 -0
  75. package/dist/esm/{abi/ExitErc20.json → abis/exit/1.1.0.js} +2 -2
  76. package/dist/esm/abis/exit/1.2.0.d.ts +323 -0
  77. package/dist/{cjs/abi/ExitErc20.json → esm/abis/exit/1.2.0.js} +2 -2
  78. package/dist/esm/abis/exitERC721/1.1.0.d.ts +323 -0
  79. package/dist/{cjs/abi/ExitErc721.json → esm/abis/exitERC721/1.1.0.js} +2 -2
  80. package/dist/esm/abis/exitERC721/1.2.0.d.ts +323 -0
  81. package/dist/esm/{abi/ExitErc721.json → abis/exitERC721/1.2.0.js} +2 -2
  82. package/dist/esm/abis/factory/1.0.0.d.ts +38 -0
  83. package/dist/esm/abis/factory/1.0.0.js +50 -0
  84. package/dist/esm/abis/factory/1.1.0.d.ts +58 -0
  85. package/dist/{cjs/abi/ModuleProxyFactory.json → esm/abis/factory/1.1.0.js} +2 -2
  86. package/dist/esm/abis/factory/1.2.0.d.ts +66 -0
  87. package/dist/esm/abis/factory/1.2.0.js +88 -0
  88. package/dist/esm/abis/index.d.ts +13970 -0
  89. package/dist/esm/abis/index.js +98 -0
  90. package/dist/esm/abis/metaGuard/1.0.0.d.ts +363 -0
  91. package/dist/{cjs/abi/MetaGuard.json → esm/abis/metaGuard/1.0.0.js} +2 -2
  92. package/dist/esm/abis/multisendEncoder/1.0.0.d.ts +47 -0
  93. package/dist/{cjs/abi/MultisendEncoder.json → esm/abis/multisendEncoder/1.0.0.js} +2 -2
  94. package/dist/esm/abis/ozGovernor/1.0.0.d.ts +821 -0
  95. package/dist/{cjs/abi/Tellor.json → esm/abis/ozGovernor/1.0.0.js} +530 -445
  96. package/dist/esm/abis/realityERC20/2.0.0.d.ts +674 -0
  97. package/dist/esm/{abi/RealityErc20.json → abis/realityERC20/2.0.0.js} +2 -2
  98. package/dist/esm/abis/realityETH/2.0.0.d.ts +674 -0
  99. package/dist/{cjs/abi/RealityErc20.json → esm/abis/realityETH/2.0.0.js} +2 -2
  100. package/dist/esm/abis/roles/1.0.0.d.ts +770 -0
  101. package/dist/esm/{abi/RolesV1.json → abis/roles/1.0.0.js} +2 -2
  102. package/dist/esm/abis/roles/1.1.0.d.ts +770 -0
  103. package/dist/{cjs/abi/RolesV1.json → esm/abis/roles/1.1.0.js} +2 -2
  104. package/dist/esm/abis/roles/2.1.0.d.ts +1094 -0
  105. package/dist/esm/abis/roles/2.1.0.js +1408 -0
  106. package/dist/esm/abis/roles/2.1.1.d.ts +1094 -0
  107. package/dist/esm/abis/roles/2.1.1.js +1408 -0
  108. package/dist/esm/abis/scopeGuard/1.0.0.d.ts +457 -0
  109. package/dist/{cjs/abi/ScopeGuard.json → esm/abis/scopeGuard/1.0.0.js} +2 -2
  110. package/dist/esm/contracts.d.ts +63 -78
  111. package/dist/esm/contracts.js +71 -250
  112. package/dist/esm/explorer.d.ts +81 -0
  113. package/dist/esm/explorer.js +256 -0
  114. package/dist/esm/extract.d.ts +15 -0
  115. package/dist/esm/extract.js +114 -0
  116. package/dist/esm/index.d.ts +3 -1
  117. package/dist/esm/index.js +3 -1
  118. package/dist/esm/mastercopies.d.ts +21 -0
  119. package/dist/esm/mastercopies.js +27 -0
  120. package/dist/esm/networks.d.ts +37 -0
  121. package/dist/esm/networks.js +229 -0
  122. package/dist/esm/package.json +1 -0
  123. package/dist/esm/rpc.d.ts +6 -0
  124. package/dist/esm/rpc.js +33 -0
  125. package/dist/esm/singleton.d.ts +24 -0
  126. package/dist/esm/singleton.js +38 -0
  127. package/dist/esm/types.d.ts +43 -0
  128. package/dist/esm/types.js +6 -0
  129. package/dist/esm/ui.d.ts +16 -0
  130. package/dist/esm/ui.js +53 -0
  131. package/dist/esm/zodiacModule.d.ts +4 -0
  132. package/dist/esm/zodiacModule.js +56 -0
  133. package/package.json +33 -75
  134. package/contracts/core/GuardableModifier.sol +0 -96
  135. package/contracts/core/GuardableModule.sol +0 -95
  136. package/contracts/core/Modifier.sol +0 -204
  137. package/contracts/core/Module.sol +0 -73
  138. package/contracts/factory/FactoryFriendly.sol +0 -10
  139. package/contracts/factory/ModuleProxyFactory.sol +0 -51
  140. package/contracts/guard/BaseGuard.sol +0 -36
  141. package/contracts/guard/Guardable.sol +0 -32
  142. package/contracts/interfaces/IAvatar.sol +0 -71
  143. package/contracts/interfaces/IGuard.sol +0 -22
  144. package/contracts/signature/ExecutionTracker.sol +0 -17
  145. package/contracts/signature/IERC1271.sol +0 -19
  146. package/contracts/signature/SignatureChecker.sol +0 -154
  147. package/contracts/test/TestAvatar.sol +0 -64
  148. package/contracts/test/TestGuard.sol +0 -82
  149. package/contracts/test/TestGuardableModifier.sol +0 -82
  150. package/contracts/test/TestModifier.sol +0 -88
  151. package/contracts/test/TestModule.sol +0 -66
  152. package/contracts/test/TestSignature.sol +0 -71
  153. package/dist/cjs/abi/OptimisticGovernor.json +0 -938
  154. package/dist/cjs/abi/OzGovernor.json +0 -706
  155. package/dist/cjs/abi/Permissions.json +0 -520
  156. package/dist/cjs/contracts.d.ts +0 -81
  157. package/dist/cjs/factory/deployModuleFactory.d.ts +0 -9
  158. package/dist/cjs/factory/deployModuleFactory.js +0 -44
  159. package/dist/cjs/factory/index.d.ts +0 -5
  160. package/dist/cjs/factory/index.js +0 -21
  161. package/dist/cjs/factory/mastercopyDeployer.d.ts +0 -27
  162. package/dist/cjs/factory/mastercopyDeployer.js +0 -97
  163. package/dist/cjs/factory/moduleDeployer.d.ts +0 -105
  164. package/dist/cjs/factory/moduleDeployer.js +0 -90
  165. package/dist/cjs/factory/singletonFactory.d.ts +0 -11
  166. package/dist/cjs/factory/singletonFactory.js +0 -39
  167. package/dist/cjs/factory/types.d.ts +0 -25
  168. package/dist/cjs/factory/types.js +0 -58
  169. package/dist/cjs/index.d.ts +0 -1
  170. package/dist/cjs/initData/Bridge.d.ts +0 -2
  171. package/dist/cjs/initData/Bridge.js +0 -5
  172. package/dist/cjs/initData/CirculatingSupplyErc20.d.ts +0 -2
  173. package/dist/cjs/initData/CirculatingSupplyErc20.js +0 -5
  174. package/dist/cjs/initData/CirculatingSupplyErc721.d.ts +0 -2
  175. package/dist/cjs/initData/CirculatingSupplyErc721.js +0 -5
  176. package/dist/cjs/initData/Connext.d.ts +0 -2
  177. package/dist/cjs/initData/Connext.js +0 -5
  178. package/dist/cjs/initData/Delay.d.ts +0 -2
  179. package/dist/cjs/initData/Delay.js +0 -5
  180. package/dist/cjs/initData/Erc20Votes.d.ts +0 -2
  181. package/dist/cjs/initData/Erc20Votes.js +0 -5
  182. package/dist/cjs/initData/Erc721Votes.d.ts +0 -2
  183. package/dist/cjs/initData/Erc721Votes.js +0 -5
  184. package/dist/cjs/initData/ExitErc20.d.ts +0 -2
  185. package/dist/cjs/initData/ExitErc20.js +0 -5
  186. package/dist/cjs/initData/ExitErc721.d.ts +0 -2
  187. package/dist/cjs/initData/ExitErc721.js +0 -5
  188. package/dist/cjs/initData/ModuleProxyFactory.d.ts +0 -2
  189. package/dist/cjs/initData/ModuleProxyFactory.js +0 -5
  190. package/dist/cjs/initData/MultisendEncoder.d.ts +0 -2
  191. package/dist/cjs/initData/MultisendEncoder.js +0 -5
  192. package/dist/cjs/initData/OzGovernor.d.ts +0 -2
  193. package/dist/cjs/initData/OzGovernor.js +0 -5
  194. package/dist/cjs/initData/Permissions.d.ts +0 -2
  195. package/dist/cjs/initData/Permissions.js +0 -5
  196. package/dist/cjs/initData/RealityErc20.d.ts +0 -2
  197. package/dist/cjs/initData/RealityErc20.js +0 -5
  198. package/dist/cjs/initData/RealityEth.d.ts +0 -2
  199. package/dist/cjs/initData/RealityEth.js +0 -5
  200. package/dist/cjs/initData/RolesV1.d.ts +0 -2
  201. package/dist/cjs/initData/RolesV1.js +0 -5
  202. package/dist/cjs/initData/RolesV2.d.ts +0 -2
  203. package/dist/cjs/initData/RolesV2.js +0 -5
  204. package/dist/cjs/initData/ScopeGuard.d.ts +0 -2
  205. package/dist/cjs/initData/ScopeGuard.js +0 -5
  206. package/dist/cjs/types/Bridge.d.ts +0 -208
  207. package/dist/cjs/types/Bridge.js +0 -2
  208. package/dist/cjs/types/CirculatingSupplyErc20.d.ts +0 -158
  209. package/dist/cjs/types/CirculatingSupplyErc20.js +0 -2
  210. package/dist/cjs/types/CirculatingSupplyErc721.d.ts +0 -158
  211. package/dist/cjs/types/CirculatingSupplyErc721.js +0 -2
  212. package/dist/cjs/types/Connext.d.ts +0 -289
  213. package/dist/cjs/types/Connext.js +0 -2
  214. package/dist/cjs/types/Delay.d.ts +0 -407
  215. package/dist/cjs/types/Delay.js +0 -2
  216. package/dist/cjs/types/Erc20Votes.d.ts +0 -475
  217. package/dist/cjs/types/Erc20Votes.js +0 -2
  218. package/dist/cjs/types/Erc721Votes.d.ts +0 -455
  219. package/dist/cjs/types/Erc721Votes.js +0 -2
  220. package/dist/cjs/types/ExitErc20.d.ts +0 -238
  221. package/dist/cjs/types/ExitErc20.js +0 -2
  222. package/dist/cjs/types/ExitErc721.d.ts +0 -238
  223. package/dist/cjs/types/ExitErc721.js +0 -2
  224. package/dist/cjs/types/MetaGuard.d.ts +0 -274
  225. package/dist/cjs/types/MetaGuard.js +0 -2
  226. package/dist/cjs/types/ModuleProxyFactory.d.ts +0 -54
  227. package/dist/cjs/types/ModuleProxyFactory.js +0 -2
  228. package/dist/cjs/types/MultisendEncoder.d.ts +0 -59
  229. package/dist/cjs/types/MultisendEncoder.js +0 -2
  230. package/dist/cjs/types/OptimisticGovernor.d.ts +0 -547
  231. package/dist/cjs/types/OptimisticGovernor.js +0 -2
  232. package/dist/cjs/types/OzGovernor.d.ts +0 -645
  233. package/dist/cjs/types/OzGovernor.js +0 -2
  234. package/dist/cjs/types/Permissions.d.ts +0 -341
  235. package/dist/cjs/types/Permissions.js +0 -2
  236. package/dist/cjs/types/RealityErc20.d.ts +0 -471
  237. package/dist/cjs/types/RealityErc20.js +0 -2
  238. package/dist/cjs/types/RealityEth.d.ts +0 -471
  239. package/dist/cjs/types/RealityEth.js +0 -2
  240. package/dist/cjs/types/RolesV1.d.ts +0 -649
  241. package/dist/cjs/types/RolesV1.js +0 -2
  242. package/dist/cjs/types/RolesV2.d.ts +0 -908
  243. package/dist/cjs/types/RolesV2.js +0 -2
  244. package/dist/cjs/types/ScopeGuard.d.ts +0 -405
  245. package/dist/cjs/types/ScopeGuard.js +0 -2
  246. package/dist/cjs/types/Tellor.d.ts +0 -572
  247. package/dist/cjs/types/Tellor.js +0 -2
  248. package/dist/cjs/types/Usul.d.ts +0 -535
  249. package/dist/cjs/types/Usul.js +0 -2
  250. package/dist/cjs/types/common.d.ts +0 -50
  251. package/dist/cjs/types/common.js +0 -2
  252. package/dist/cjs/types/factories/Bridge__factory.d.ts +0 -303
  253. package/dist/cjs/types/factories/Bridge__factory.js +0 -399
  254. package/dist/cjs/types/factories/CirculatingSupplyErc20__factory.d.ts +0 -194
  255. package/dist/cjs/types/factories/CirculatingSupplyErc20__factory.js +0 -262
  256. package/dist/cjs/types/factories/CirculatingSupplyErc721__factory.d.ts +0 -194
  257. package/dist/cjs/types/factories/CirculatingSupplyErc721__factory.js +0 -262
  258. package/dist/cjs/types/factories/Connext__factory.d.ts +0 -389
  259. package/dist/cjs/types/factories/Connext__factory.js +0 -510
  260. package/dist/cjs/types/factories/Delay__factory.d.ts +0 -568
  261. package/dist/cjs/types/factories/Delay__factory.js +0 -745
  262. package/dist/cjs/types/factories/Erc20Votes__factory.d.ts +0 -619
  263. package/dist/cjs/types/factories/Erc20Votes__factory.js +0 -814
  264. package/dist/cjs/types/factories/Erc721Votes__factory.d.ts +0 -616
  265. package/dist/cjs/types/factories/Erc721Votes__factory.js +0 -809
  266. package/dist/cjs/types/factories/ExitErc20__factory.d.ts +0 -329
  267. package/dist/cjs/types/factories/ExitErc20__factory.js +0 -436
  268. package/dist/cjs/types/factories/ExitErc721__factory.d.ts +0 -329
  269. package/dist/cjs/types/factories/ExitErc721__factory.js +0 -436
  270. package/dist/cjs/types/factories/MetaGuard__factory.d.ts +0 -369
  271. package/dist/cjs/types/factories/MetaGuard__factory.js +0 -488
  272. package/dist/cjs/types/factories/ModuleProxyFactory__factory.d.ts +0 -64
  273. package/dist/cjs/types/factories/ModuleProxyFactory__factory.js +0 -94
  274. package/dist/cjs/types/factories/MultisendEncoder__factory.d.ts +0 -53
  275. package/dist/cjs/types/factories/MultisendEncoder__factory.js +0 -78
  276. package/dist/cjs/types/factories/OptimisticGovernor__factory.d.ts +0 -734
  277. package/dist/cjs/types/factories/OptimisticGovernor__factory.js +0 -955
  278. package/dist/cjs/types/factories/OzGovernor__factory.d.ts +0 -827
  279. package/dist/cjs/types/factories/OzGovernor__factory.js +0 -1080
  280. package/dist/cjs/types/factories/Permissions__factory.d.ts +0 -423
  281. package/dist/cjs/types/factories/Permissions__factory.js +0 -537
  282. package/dist/cjs/types/factories/RealityErc20__factory.d.ts +0 -680
  283. package/dist/cjs/types/factories/RealityErc20__factory.js +0 -888
  284. package/dist/cjs/types/factories/RealityEth__factory.d.ts +0 -680
  285. package/dist/cjs/types/factories/RealityEth__factory.js +0 -888
  286. package/dist/cjs/types/factories/RolesV1__factory.d.ts +0 -776
  287. package/dist/cjs/types/factories/RolesV1__factory.js +0 -1007
  288. package/dist/cjs/types/factories/RolesV2__factory.d.ts +0 -1156
  289. package/dist/cjs/types/factories/RolesV2__factory.js +0 -1501
  290. package/dist/cjs/types/factories/ScopeGuard__factory.d.ts +0 -463
  291. package/dist/cjs/types/factories/ScopeGuard__factory.js +0 -609
  292. package/dist/cjs/types/factories/Tellor__factory.d.ts +0 -757
  293. package/dist/cjs/types/factories/Tellor__factory.js +0 -995
  294. package/dist/cjs/types/factories/Usul__factory.d.ts +0 -634
  295. package/dist/cjs/types/factories/Usul__factory.js +0 -829
  296. package/dist/cjs/types/factories/index.d.ts +0 -22
  297. package/dist/cjs/types/factories/index.js +0 -50
  298. package/dist/cjs/types/index.d.ts +0 -45
  299. package/dist/cjs/types/index.js +0 -71
  300. package/dist/esm/abi/OptimisticGovernor.json +0 -938
  301. package/dist/esm/abi/OzGovernor.json +0 -706
  302. package/dist/esm/abi/Permissions.json +0 -520
  303. package/dist/esm/factory/deployModuleFactory.d.ts +0 -9
  304. package/dist/esm/factory/deployModuleFactory.js +0 -46
  305. package/dist/esm/factory/index.d.ts +0 -5
  306. package/dist/esm/factory/index.js +0 -5
  307. package/dist/esm/factory/mastercopyDeployer.d.ts +0 -27
  308. package/dist/esm/factory/mastercopyDeployer.js +0 -100
  309. package/dist/esm/factory/moduleDeployer.d.ts +0 -105
  310. package/dist/esm/factory/moduleDeployer.js +0 -91
  311. package/dist/esm/factory/singletonFactory.d.ts +0 -11
  312. package/dist/esm/factory/singletonFactory.js +0 -44
  313. package/dist/esm/factory/types.d.ts +0 -25
  314. package/dist/esm/factory/types.js +0 -55
  315. package/dist/esm/initData/Bridge.d.ts +0 -2
  316. package/dist/esm/initData/Bridge.js +0 -2
  317. package/dist/esm/initData/CirculatingSupplyErc20.d.ts +0 -2
  318. package/dist/esm/initData/CirculatingSupplyErc20.js +0 -2
  319. package/dist/esm/initData/CirculatingSupplyErc721.d.ts +0 -2
  320. package/dist/esm/initData/CirculatingSupplyErc721.js +0 -2
  321. package/dist/esm/initData/Connext.d.ts +0 -2
  322. package/dist/esm/initData/Connext.js +0 -2
  323. package/dist/esm/initData/Delay.d.ts +0 -2
  324. package/dist/esm/initData/Delay.js +0 -2
  325. package/dist/esm/initData/Erc20Votes.d.ts +0 -2
  326. package/dist/esm/initData/Erc20Votes.js +0 -2
  327. package/dist/esm/initData/Erc721Votes.d.ts +0 -2
  328. package/dist/esm/initData/Erc721Votes.js +0 -2
  329. package/dist/esm/initData/ExitErc20.d.ts +0 -2
  330. package/dist/esm/initData/ExitErc20.js +0 -2
  331. package/dist/esm/initData/ExitErc721.d.ts +0 -2
  332. package/dist/esm/initData/ExitErc721.js +0 -2
  333. package/dist/esm/initData/ModuleProxyFactory.d.ts +0 -2
  334. package/dist/esm/initData/ModuleProxyFactory.js +0 -2
  335. package/dist/esm/initData/MultisendEncoder.d.ts +0 -2
  336. package/dist/esm/initData/MultisendEncoder.js +0 -2
  337. package/dist/esm/initData/OzGovernor.d.ts +0 -2
  338. package/dist/esm/initData/OzGovernor.js +0 -2
  339. package/dist/esm/initData/Permissions.d.ts +0 -2
  340. package/dist/esm/initData/Permissions.js +0 -2
  341. package/dist/esm/initData/RealityErc20.d.ts +0 -2
  342. package/dist/esm/initData/RealityErc20.js +0 -2
  343. package/dist/esm/initData/RealityEth.d.ts +0 -2
  344. package/dist/esm/initData/RealityEth.js +0 -2
  345. package/dist/esm/initData/RolesV1.d.ts +0 -2
  346. package/dist/esm/initData/RolesV1.js +0 -2
  347. package/dist/esm/initData/RolesV2.d.ts +0 -2
  348. package/dist/esm/initData/RolesV2.js +0 -2
  349. package/dist/esm/initData/ScopeGuard.d.ts +0 -2
  350. package/dist/esm/initData/ScopeGuard.js +0 -2
  351. package/dist/esm/types/Bridge.d.ts +0 -208
  352. package/dist/esm/types/Bridge.js +0 -1
  353. package/dist/esm/types/CirculatingSupplyErc20.d.ts +0 -158
  354. package/dist/esm/types/CirculatingSupplyErc20.js +0 -1
  355. package/dist/esm/types/CirculatingSupplyErc721.d.ts +0 -158
  356. package/dist/esm/types/CirculatingSupplyErc721.js +0 -1
  357. package/dist/esm/types/Connext.d.ts +0 -289
  358. package/dist/esm/types/Connext.js +0 -1
  359. package/dist/esm/types/Delay.d.ts +0 -407
  360. package/dist/esm/types/Delay.js +0 -1
  361. package/dist/esm/types/Erc20Votes.d.ts +0 -475
  362. package/dist/esm/types/Erc20Votes.js +0 -1
  363. package/dist/esm/types/Erc721Votes.d.ts +0 -455
  364. package/dist/esm/types/Erc721Votes.js +0 -1
  365. package/dist/esm/types/ExitErc20.d.ts +0 -238
  366. package/dist/esm/types/ExitErc20.js +0 -1
  367. package/dist/esm/types/ExitErc721.d.ts +0 -238
  368. package/dist/esm/types/ExitErc721.js +0 -1
  369. package/dist/esm/types/MetaGuard.d.ts +0 -274
  370. package/dist/esm/types/MetaGuard.js +0 -1
  371. package/dist/esm/types/ModuleProxyFactory.d.ts +0 -54
  372. package/dist/esm/types/ModuleProxyFactory.js +0 -1
  373. package/dist/esm/types/MultisendEncoder.d.ts +0 -59
  374. package/dist/esm/types/MultisendEncoder.js +0 -1
  375. package/dist/esm/types/OptimisticGovernor.d.ts +0 -547
  376. package/dist/esm/types/OptimisticGovernor.js +0 -1
  377. package/dist/esm/types/OzGovernor.d.ts +0 -645
  378. package/dist/esm/types/OzGovernor.js +0 -1
  379. package/dist/esm/types/Permissions.d.ts +0 -341
  380. package/dist/esm/types/Permissions.js +0 -1
  381. package/dist/esm/types/RealityErc20.d.ts +0 -471
  382. package/dist/esm/types/RealityErc20.js +0 -1
  383. package/dist/esm/types/RealityEth.d.ts +0 -471
  384. package/dist/esm/types/RealityEth.js +0 -1
  385. package/dist/esm/types/RolesV1.d.ts +0 -649
  386. package/dist/esm/types/RolesV1.js +0 -1
  387. package/dist/esm/types/RolesV2.d.ts +0 -908
  388. package/dist/esm/types/RolesV2.js +0 -1
  389. package/dist/esm/types/ScopeGuard.d.ts +0 -405
  390. package/dist/esm/types/ScopeGuard.js +0 -1
  391. package/dist/esm/types/Tellor.d.ts +0 -572
  392. package/dist/esm/types/Tellor.js +0 -1
  393. package/dist/esm/types/Usul.d.ts +0 -535
  394. package/dist/esm/types/Usul.js +0 -1
  395. package/dist/esm/types/common.d.ts +0 -50
  396. package/dist/esm/types/common.js +0 -1
  397. package/dist/esm/types/factories/Bridge__factory.d.ts +0 -303
  398. package/dist/esm/types/factories/Bridge__factory.js +0 -395
  399. package/dist/esm/types/factories/CirculatingSupplyErc20__factory.d.ts +0 -194
  400. package/dist/esm/types/factories/CirculatingSupplyErc20__factory.js +0 -258
  401. package/dist/esm/types/factories/CirculatingSupplyErc721__factory.d.ts +0 -194
  402. package/dist/esm/types/factories/CirculatingSupplyErc721__factory.js +0 -258
  403. package/dist/esm/types/factories/Connext__factory.d.ts +0 -389
  404. package/dist/esm/types/factories/Connext__factory.js +0 -506
  405. package/dist/esm/types/factories/Delay__factory.d.ts +0 -568
  406. package/dist/esm/types/factories/Delay__factory.js +0 -741
  407. package/dist/esm/types/factories/Erc20Votes__factory.d.ts +0 -619
  408. package/dist/esm/types/factories/Erc20Votes__factory.js +0 -810
  409. package/dist/esm/types/factories/Erc721Votes__factory.d.ts +0 -616
  410. package/dist/esm/types/factories/Erc721Votes__factory.js +0 -805
  411. package/dist/esm/types/factories/ExitErc20__factory.d.ts +0 -329
  412. package/dist/esm/types/factories/ExitErc20__factory.js +0 -432
  413. package/dist/esm/types/factories/ExitErc721__factory.d.ts +0 -329
  414. package/dist/esm/types/factories/ExitErc721__factory.js +0 -432
  415. package/dist/esm/types/factories/MetaGuard__factory.d.ts +0 -369
  416. package/dist/esm/types/factories/MetaGuard__factory.js +0 -484
  417. package/dist/esm/types/factories/ModuleProxyFactory__factory.d.ts +0 -64
  418. package/dist/esm/types/factories/ModuleProxyFactory__factory.js +0 -90
  419. package/dist/esm/types/factories/MultisendEncoder__factory.d.ts +0 -53
  420. package/dist/esm/types/factories/MultisendEncoder__factory.js +0 -74
  421. package/dist/esm/types/factories/OptimisticGovernor__factory.d.ts +0 -734
  422. package/dist/esm/types/factories/OptimisticGovernor__factory.js +0 -951
  423. package/dist/esm/types/factories/OzGovernor__factory.d.ts +0 -827
  424. package/dist/esm/types/factories/OzGovernor__factory.js +0 -1076
  425. package/dist/esm/types/factories/Permissions__factory.d.ts +0 -423
  426. package/dist/esm/types/factories/Permissions__factory.js +0 -533
  427. package/dist/esm/types/factories/RealityErc20__factory.d.ts +0 -680
  428. package/dist/esm/types/factories/RealityErc20__factory.js +0 -884
  429. package/dist/esm/types/factories/RealityEth__factory.d.ts +0 -680
  430. package/dist/esm/types/factories/RealityEth__factory.js +0 -884
  431. package/dist/esm/types/factories/RolesV1__factory.d.ts +0 -776
  432. package/dist/esm/types/factories/RolesV1__factory.js +0 -1003
  433. package/dist/esm/types/factories/RolesV2__factory.d.ts +0 -1156
  434. package/dist/esm/types/factories/RolesV2__factory.js +0 -1497
  435. package/dist/esm/types/factories/ScopeGuard__factory.d.ts +0 -463
  436. package/dist/esm/types/factories/ScopeGuard__factory.js +0 -605
  437. package/dist/esm/types/factories/Tellor__factory.d.ts +0 -757
  438. package/dist/esm/types/factories/Tellor__factory.js +0 -991
  439. package/dist/esm/types/factories/Usul__factory.d.ts +0 -634
  440. package/dist/esm/types/factories/Usul__factory.js +0 -825
  441. package/dist/esm/types/factories/index.d.ts +0 -22
  442. package/dist/esm/types/factories/index.js +0 -25
  443. package/dist/esm/types/index.d.ts +0 -45
  444. package/dist/esm/types/index.js +0 -24
@@ -1,27 +0,0 @@
1
- import { BytesLike, ContractFactory, JsonRpcSigner } from "ethers";
2
- /**
3
- * Deploy a module's mastercopy via the singleton factory.
4
- *
5
- * To get the same address on any chain.
6
- * @param hre hardhat runtime environment
7
- * @param mastercopyContractFactory mastercopy to deploy
8
- * @param args the arguments to pass to the mastercopy's constructor
9
- * @returns The address of the deployed module mastercopy or the zero address if it was already deployed
10
- */
11
- export declare const deployMastercopy: (signer: JsonRpcSigner, mastercopyContractFactory: ContractFactory, args: Array<any>, salt: string) => Promise<string>;
12
- /**
13
- * Compute a module's mastercopy address. Where it is or will be deployed. And checks if it is already deployed.
14
- *
15
- * @param hre hardhat runtime environment
16
- * @param mastercopyContractFactory mastercopy to get address for
17
- * @param args the arguments passed to the mastercopy's constructor
18
- * @returns {
19
- * address: string; // the address where the module mastercopy will be deployed or was already deployed
20
- * isDeployed: boolean; // true if the module mastercopy was already deployed on this chain
21
- * }
22
- */
23
- export declare const computeTargetAddress: (signer: JsonRpcSigner, mastercopyContractFactory: ContractFactory, args: Array<any>, salt: string) => Promise<{
24
- address: string;
25
- isDeployed: boolean;
26
- }>;
27
- export declare const deployMastercopyWithInitData: (signer: JsonRpcSigner, initCode: BytesLike, salt: string) => Promise<string>;
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deployMastercopyWithInitData = exports.computeTargetAddress = exports.deployMastercopy = void 0;
4
- const ethers_1 = require("ethers");
5
- const singletonFactory_1 = require("./singletonFactory");
6
- const AddressZero = ethers_1.ZeroAddress;
7
- /**
8
- * Deploy a module's mastercopy via the singleton factory.
9
- *
10
- * To get the same address on any chain.
11
- * @param hre hardhat runtime environment
12
- * @param mastercopyContractFactory mastercopy to deploy
13
- * @param args the arguments to pass to the mastercopy's constructor
14
- * @returns The address of the deployed module mastercopy or the zero address if it was already deployed
15
- */
16
- const deployMastercopy = async (signer, mastercopyContractFactory, args, salt) => {
17
- const deploymentTx = await mastercopyContractFactory.getDeployTransaction(...args);
18
- if (!deploymentTx.data) {
19
- throw new Error("Unable to create the deployment data (no init code).");
20
- }
21
- return await (0, exports.deployMastercopyWithInitData)(signer, deploymentTx.data, salt);
22
- };
23
- exports.deployMastercopy = deployMastercopy;
24
- /**
25
- * Compute a module's mastercopy address. Where it is or will be deployed. And checks if it is already deployed.
26
- *
27
- * @param hre hardhat runtime environment
28
- * @param mastercopyContractFactory mastercopy to get address for
29
- * @param args the arguments passed to the mastercopy's constructor
30
- * @returns {
31
- * address: string; // the address where the module mastercopy will be deployed or was already deployed
32
- * isDeployed: boolean; // true if the module mastercopy was already deployed on this chain
33
- * }
34
- */
35
- const computeTargetAddress = async (signer, mastercopyContractFactory, args, salt) => {
36
- const deploymentTx = await mastercopyContractFactory.getDeployTransaction(...args);
37
- const singletonFactory = await (0, singletonFactory_1.getSingletonFactory)(signer);
38
- if (!deploymentTx.data) {
39
- throw new Error("Unable to create the deployment data (no init code).");
40
- }
41
- const initCodeHash = (0, ethers_1.keccak256)(deploymentTx.data);
42
- const computedAddress = (0, ethers_1.getCreate2Address)(await singletonFactory.getAddress(), salt, initCodeHash);
43
- const targetAddress = (0, ethers_1.getAddress)((await singletonFactory.deploy.staticCall(deploymentTx.data, salt)));
44
- // Sanity check
45
- if (computedAddress !== targetAddress && targetAddress !== AddressZero) {
46
- throw new Error("The computed address does not match the target address and the target address is not 0x0.");
47
- }
48
- return {
49
- address: computedAddress,
50
- isDeployed: targetAddress === AddressZero,
51
- };
52
- };
53
- exports.computeTargetAddress = computeTargetAddress;
54
- const deployMastercopyWithInitData = async (signer, initCode, salt) => {
55
- const singletonFactory = await (0, singletonFactory_1.getSingletonFactory)(signer);
56
- // throws if this for some reason is not a valid address
57
- const targetAddress = (0, ethers_1.getAddress)((await singletonFactory.deploy.staticCall(initCode, salt)));
58
- const initCodeHash = (0, ethers_1.keccak256)(initCode);
59
- const computedTargetAddress = (0, ethers_1.getCreate2Address)(await singletonFactory.getAddress(), salt, initCodeHash);
60
- if (targetAddress === AddressZero) {
61
- console.log(` ✔ Mastercopy already deployed to: ${computedTargetAddress}`);
62
- return AddressZero;
63
- }
64
- // Sanity check
65
- if (targetAddress !== computedTargetAddress) {
66
- throw new Error("The computed address does not match the target address.");
67
- }
68
- let gasLimit;
69
- switch ((await signer.provider.getNetwork()).name) {
70
- case "optimism":
71
- gasLimit = 6000000;
72
- break;
73
- case "arbitrum":
74
- gasLimit = 200000000;
75
- break;
76
- case "avalanche":
77
- gasLimit = 8000000;
78
- break;
79
- case "mumbai":
80
- gasLimit = 8000000;
81
- break;
82
- default:
83
- gasLimit = 10000000;
84
- }
85
- const deployTx = await singletonFactory.deploy(initCode, salt, {
86
- gasLimit,
87
- });
88
- await deployTx.wait();
89
- if ((await signer.provider.getCode(targetAddress)).length > 2) {
90
- console.log(` \x1B[32m✔ Mastercopy deployed to: ${targetAddress} 🎉\x1B[0m `);
91
- }
92
- else {
93
- console.log(" \x1B[31m✘ Deployment failed.\x1B[0m");
94
- }
95
- return targetAddress;
96
- };
97
- exports.deployMastercopyWithInitData = deployMastercopyWithInitData;
@@ -1,105 +0,0 @@
1
- import { Contract, Signer, Provider } from "ethers";
2
- import { SupportedNetworks } from "../contracts";
3
- import { ModuleProxyFactory__factory } from "../types";
4
- import { KnownContracts } from "./types";
5
- type ABI = any[] | readonly any[];
6
- type TxAndExpectedAddress = {
7
- transaction: {
8
- data: string;
9
- to: string;
10
- value: bigint;
11
- };
12
- expectedModuleAddress: string;
13
- };
14
- /**
15
- * Get the transaction for deploying a module proxy through the Module Proxy Factory.
16
- * This will also initialize the module proxy by calling the setup function.
17
- *
18
- * @param moduleName Name of the module to deploy (must be present in `KnownContracts`)
19
- * @param setupArgs The arguments for the setup function of the module
20
- * @param provider
21
- * @param chainId
22
- * @param saltNonce
23
- * @returns the transaction and the expected address of the module proxy
24
- */
25
- export declare const deployAndSetUpModule: (moduleName: KnownContracts, setupArgs: {
26
- types: Array<string>;
27
- values: Array<any>;
28
- }, provider: Provider, chainId: number, saltNonce: string) => Promise<{
29
- transaction: {
30
- data: string;
31
- to: string;
32
- value: bigint;
33
- };
34
- expectedModuleAddress: string;
35
- }>;
36
- /**
37
- * Get the transaction for deploying a module proxy through the Module Proxy Factory.
38
- * This will also initialize the module proxy by calling the setup function.
39
- *
40
- * This method is for modules that do not have a mastercopy listed in the `KnownContracts`
41
- * @param mastercopyAddress address of the mastercopy to use
42
- * @param abi abi of the module
43
- * @param setupArgs The arguments for the setup function of the module
44
- * @param provider
45
- * @param chainId
46
- * @param saltNonce
47
- * @returns the transaction and the expected address of the module proxy
48
- */
49
- export declare const deployAndSetUpCustomModule: (mastercopyAddress: string, abi: ABI, setupArgs: {
50
- types: Array<string>;
51
- values: Array<any>;
52
- }, provider: Provider, chainId: number, saltNonce: string) => Promise<TxAndExpectedAddress>;
53
- export declare const calculateProxyAddress: (moduleFactory: Contract, mastercopyAddress: string, initData: string, saltNonce: string) => Promise<string>;
54
- export declare const getModuleInstance: <T extends KnownContracts>(moduleName: T, moduleAddress: string, provider: Provider | Signer) => ReturnType<{
55
- bridge: typeof import("../types").Bridge__factory;
56
- circulatingSupplyERC20: typeof import("../types").CirculatingSupplyErc20__factory;
57
- circulatingSupplyERC721: typeof import("../types").CirculatingSupplyErc721__factory;
58
- delay: typeof import("../types").Delay__factory;
59
- erc20Votes: typeof import("../types").Erc20Votes__factory;
60
- erc721Votes: typeof import("../types").Erc721Votes__factory;
61
- exit: typeof import("../types").ExitErc20__factory;
62
- exitERC721: typeof import("../types").ExitErc721__factory;
63
- factory: typeof ModuleProxyFactory__factory;
64
- metaGuard: typeof import("../types").MetaGuard__factory;
65
- optimisticGovernor: typeof import("../types").OptimisticGovernor__factory;
66
- ozGovernor: typeof import("../types").OzGovernor__factory;
67
- realityERC20: typeof import("../types").RealityErc20__factory;
68
- realityETH: typeof import("../types").RealityEth__factory;
69
- roles: typeof import("../types").RolesV1__factory;
70
- roles_v1: typeof import("../types").RolesV1__factory;
71
- roles_v2: typeof import("../types").RolesV2__factory;
72
- scopeGuard: typeof import("../types").ScopeGuard__factory;
73
- tellor: typeof import("../types").Tellor__factory;
74
- multisendEncoder: typeof import("../types").MultisendEncoder__factory;
75
- permissions: typeof import("../types").Permissions__factory;
76
- connext: typeof import("../types").Connext__factory;
77
- }[T]["connect"]>;
78
- export declare const getModuleFactoryAndMasterCopy: <T extends KnownContracts>(moduleName: T, provider: Provider, chainId: SupportedNetworks) => {
79
- moduleFactory: import("./types").ModuleProxyFactory;
80
- moduleMastercopy: ReturnType<{
81
- bridge: typeof import("../types").Bridge__factory;
82
- circulatingSupplyERC20: typeof import("../types").CirculatingSupplyErc20__factory;
83
- circulatingSupplyERC721: typeof import("../types").CirculatingSupplyErc721__factory;
84
- delay: typeof import("../types").Delay__factory;
85
- erc20Votes: typeof import("../types").Erc20Votes__factory;
86
- erc721Votes: typeof import("../types").Erc721Votes__factory;
87
- exit: typeof import("../types").ExitErc20__factory;
88
- exitERC721: typeof import("../types").ExitErc721__factory;
89
- factory: typeof ModuleProxyFactory__factory;
90
- metaGuard: typeof import("../types").MetaGuard__factory;
91
- optimisticGovernor: typeof import("../types").OptimisticGovernor__factory;
92
- ozGovernor: typeof import("../types").OzGovernor__factory;
93
- realityERC20: typeof import("../types").RealityErc20__factory;
94
- realityETH: typeof import("../types").RealityEth__factory;
95
- roles: typeof import("../types").RolesV1__factory;
96
- roles_v1: typeof import("../types").RolesV1__factory;
97
- roles_v2: typeof import("../types").RolesV2__factory;
98
- scopeGuard: typeof import("../types").ScopeGuard__factory;
99
- tellor: typeof import("../types").Tellor__factory;
100
- multisendEncoder: typeof import("../types").MultisendEncoder__factory;
101
- permissions: typeof import("../types").Permissions__factory;
102
- connext: typeof import("../types").Connext__factory;
103
- }[T]["connect"]>;
104
- };
105
- export {};
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getModuleFactoryAndMasterCopy = exports.getModuleInstance = exports.calculateProxyAddress = exports.deployAndSetUpCustomModule = exports.deployAndSetUpModule = void 0;
4
- const ethers_1 = require("ethers");
5
- const contracts_1 = require("../contracts");
6
- const types_1 = require("../types");
7
- /**
8
- * Get the transaction for deploying a module proxy through the Module Proxy Factory.
9
- * This will also initialize the module proxy by calling the setup function.
10
- *
11
- * @param moduleName Name of the module to deploy (must be present in `KnownContracts`)
12
- * @param setupArgs The arguments for the setup function of the module
13
- * @param provider
14
- * @param chainId
15
- * @param saltNonce
16
- * @returns the transaction and the expected address of the module proxy
17
- */
18
- const deployAndSetUpModule = async (moduleName, setupArgs, provider, chainId, saltNonce) => {
19
- const { moduleFactory, moduleMastercopy } = (0, exports.getModuleFactoryAndMasterCopy)(moduleName, provider, chainId);
20
- return getDeployAndSetupTx(moduleFactory, moduleMastercopy, setupArgs, saltNonce);
21
- };
22
- exports.deployAndSetUpModule = deployAndSetUpModule;
23
- /**
24
- * Get the transaction for deploying a module proxy through the Module Proxy Factory.
25
- * This will also initialize the module proxy by calling the setup function.
26
- *
27
- * This method is for modules that do not have a mastercopy listed in the `KnownContracts`
28
- * @param mastercopyAddress address of the mastercopy to use
29
- * @param abi abi of the module
30
- * @param setupArgs The arguments for the setup function of the module
31
- * @param provider
32
- * @param chainId
33
- * @param saltNonce
34
- * @returns the transaction and the expected address of the module proxy
35
- */
36
- const deployAndSetUpCustomModule = async (mastercopyAddress, abi, setupArgs, provider, chainId, saltNonce) => {
37
- const chainContracts = contracts_1.ContractAddresses[chainId];
38
- const moduleFactoryAddress = chainContracts.factory;
39
- const moduleFactory = new ethers_1.Contract(moduleFactoryAddress, contracts_1.ContractAbis.factory, provider);
40
- const moduleMastercopy = new ethers_1.Contract(mastercopyAddress, abi, provider);
41
- const deployAndSetupTx = await getDeployAndSetupTx(moduleFactory, moduleMastercopy, setupArgs, saltNonce);
42
- return deployAndSetupTx;
43
- };
44
- exports.deployAndSetUpCustomModule = deployAndSetUpCustomModule;
45
- const getDeployAndSetupTx = async (moduleFactory, moduleMastercopy, setupArgs, saltNonce) => {
46
- const encodedInitParams = ethers_1.AbiCoder.defaultAbiCoder().encode(setupArgs.types, setupArgs.values);
47
- const moduleSetupData = moduleMastercopy.interface.encodeFunctionData("setUp", [encodedInitParams]);
48
- const expectedModuleAddress = await (0, exports.calculateProxyAddress)(moduleFactory, await moduleMastercopy.getAddress(), moduleSetupData, saltNonce);
49
- const deployData = moduleFactory.interface.encodeFunctionData("deployModule", [await moduleMastercopy.getAddress(), moduleSetupData, saltNonce]);
50
- const transaction = {
51
- data: deployData,
52
- to: await moduleFactory.getAddress(),
53
- value: BigInt(0),
54
- };
55
- return {
56
- transaction,
57
- expectedModuleAddress,
58
- };
59
- };
60
- const calculateProxyAddress = async (moduleFactory, mastercopyAddress, initData, saltNonce) => {
61
- const mastercopyAddressFormatted = mastercopyAddress
62
- .toLowerCase()
63
- .replace(/^0x/, "");
64
- const byteCode = "0x602d8060093d393df3363d3d373d3d3d363d73" +
65
- mastercopyAddressFormatted +
66
- "5af43d82803e903d91602b57fd5bf3";
67
- const salt = (0, ethers_1.solidityPackedKeccak256)(["bytes32", "uint256"], [(0, ethers_1.solidityPackedKeccak256)(["bytes"], [initData]), saltNonce]);
68
- return (0, ethers_1.getCreate2Address)(await moduleFactory.getAddress(), salt, (0, ethers_1.keccak256)(byteCode));
69
- };
70
- exports.calculateProxyAddress = calculateProxyAddress;
71
- const getModuleInstance = (moduleName, moduleAddress, provider) => {
72
- const moduleIsNotSupported = !Object.keys(contracts_1.ContractFactories).includes(moduleName);
73
- if (moduleIsNotSupported) {
74
- throw new Error("Module " + moduleName + " not supported");
75
- }
76
- return contracts_1.ContractFactories[moduleName].connect(moduleAddress, provider);
77
- };
78
- exports.getModuleInstance = getModuleInstance;
79
- const getModuleFactoryAndMasterCopy = (moduleName, provider, chainId) => {
80
- const chainContracts = contracts_1.ContractAddresses[chainId];
81
- const masterCopyAddress = chainContracts[moduleName];
82
- const factoryAddress = chainContracts.factory;
83
- const moduleMastercopy = (0, exports.getModuleInstance)(moduleName, masterCopyAddress, provider);
84
- const moduleFactory = types_1.ModuleProxyFactory__factory.connect(factoryAddress, provider);
85
- return {
86
- moduleFactory,
87
- moduleMastercopy,
88
- };
89
- };
90
- exports.getModuleFactoryAndMasterCopy = getModuleFactoryAndMasterCopy;
@@ -1,11 +0,0 @@
1
- import { Contract, JsonRpcSigner } from "ethers";
2
- export declare const SingletonFactoryAddress = "0xce0042b868300000d44a59004da54a005ffdcf9f";
3
- /**
4
- * Get the singleton factory contract (ERC-2470).
5
- * If it is not deployed on the newtwork, then also deploy it.
6
- *
7
- * https://eips.ethereum.org/EIPS/eip-2470
8
- * @param hardhat
9
- * @returns Singleton Factory contract
10
- */
11
- export declare const getSingletonFactory: (signer: JsonRpcSigner) => Promise<Contract>;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSingletonFactory = exports.SingletonFactoryAddress = void 0;
4
- const ethers_1 = require("ethers");
5
- const singletonFactoryAbi = [
6
- "function deploy(bytes memory _initCode, bytes32 _salt) public returns (address payable createdContract)",
7
- ];
8
- exports.SingletonFactoryAddress = "0xce0042b868300000d44a59004da54a005ffdcf9f";
9
- /**
10
- * Get the singleton factory contract (ERC-2470).
11
- * If it is not deployed on the newtwork, then also deploy it.
12
- *
13
- * https://eips.ethereum.org/EIPS/eip-2470
14
- * @param hardhat
15
- * @returns Singleton Factory contract
16
- */
17
- const getSingletonFactory = async (signer) => {
18
- const singletonDeployer = "0xBb6e024b9cFFACB947A71991E386681B1Cd1477D";
19
- const singletonFactory = new ethers_1.Contract(exports.SingletonFactoryAddress, singletonFactoryAbi, signer);
20
- // check if singleton factory is deployed.
21
- if ((await signer.provider.getCode(await singletonFactory.getAddress())) ===
22
- "0x") {
23
- console.log("Singleton factory is not deployed on this chain. Deploying singleton factory...");
24
- // fund the singleton factory deployer account
25
- await (await signer.sendTransaction({
26
- to: singletonDeployer,
27
- value: (0, ethers_1.parseEther)("0.0247"),
28
- })).wait();
29
- // deploy the singleton factory
30
- await (await signer.provider.broadcastTransaction("0xf9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470")).wait();
31
- if ((await signer.provider.getCode(await singletonFactory.getAddress())) ==
32
- "0x") {
33
- throw Error("Singleton factory could not be deployed to correct address, deployment haulted.");
34
- }
35
- console.log(` \x1B[32m✔ Singleton factory deployed to: ${singletonFactory.address} 🎉\x1B[0m`);
36
- }
37
- return singletonFactory;
38
- };
39
- exports.getSingletonFactory = getSingletonFactory;
@@ -1,25 +0,0 @@
1
- export type { Bridge, CirculatingSupplyErc20, CirculatingSupplyErc721, Delay, Erc20Votes, Erc721Votes, ExitErc20, ExitErc721, MetaGuard, ModuleProxyFactory, OptimisticGovernor, OzGovernor, Permissions, RealityErc20, RealityEth, RolesV1 as Roles, RolesV1, RolesV2, ScopeGuard, Tellor, Usul, } from "../types";
2
- export declare enum KnownContracts {
3
- META_GUARD = "metaGuard",
4
- OPTIMISTIC_GOVERNOR = "optimisticGovernor",
5
- TELLOR = "tellor",
6
- REALITY_ETH = "realityETH",
7
- REALITY_ERC20 = "realityERC20",
8
- BRIDGE = "bridge",
9
- DELAY = "delay",
10
- EXIT_ERC20 = "exit",
11
- EXIT_ERC721 = "exitERC721",
12
- CIRCULATING_SUPPLY_ERC20 = "circulatingSupplyERC20",
13
- CIRCULATING_SUPPLY_ERC721 = "circulatingSupplyERC721",
14
- SCOPE_GUARD = "scopeGuard",
15
- FACTORY = "factory",
16
- ROLES = "roles",
17
- ROLES_V1 = "roles_v1",
18
- ROLES_V2 = "roles_v2",
19
- OZ_GOVERNOR = "ozGovernor",
20
- ERC20_VOTES = "erc20Votes",
21
- ERC721_VOTES = "erc721Votes",
22
- MULTISEND_ENCODER = "multisendEncoder",
23
- PERMISSIONS = "permissions",
24
- CONNEXT = "connext"
25
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KnownContracts = void 0;
4
- var KnownContracts;
5
- (function (KnownContracts) {
6
- KnownContracts["META_GUARD"] = "metaGuard";
7
- KnownContracts["OPTIMISTIC_GOVERNOR"] = "optimisticGovernor";
8
- KnownContracts["TELLOR"] = "tellor";
9
- KnownContracts["REALITY_ETH"] = "realityETH";
10
- KnownContracts["REALITY_ERC20"] = "realityERC20";
11
- KnownContracts["BRIDGE"] = "bridge";
12
- KnownContracts["DELAY"] = "delay";
13
- KnownContracts["EXIT_ERC20"] = "exit";
14
- KnownContracts["EXIT_ERC721"] = "exitERC721";
15
- KnownContracts["CIRCULATING_SUPPLY_ERC20"] = "circulatingSupplyERC20";
16
- KnownContracts["CIRCULATING_SUPPLY_ERC721"] = "circulatingSupplyERC721";
17
- KnownContracts["SCOPE_GUARD"] = "scopeGuard";
18
- KnownContracts["FACTORY"] = "factory";
19
- KnownContracts["ROLES"] = "roles";
20
- KnownContracts["ROLES_V1"] = "roles_v1";
21
- KnownContracts["ROLES_V2"] = "roles_v2";
22
- KnownContracts["OZ_GOVERNOR"] = "ozGovernor";
23
- KnownContracts["ERC20_VOTES"] = "erc20Votes";
24
- KnownContracts["ERC721_VOTES"] = "erc721Votes";
25
- KnownContracts["MULTISEND_ENCODER"] = "multisendEncoder";
26
- KnownContracts["PERMISSIONS"] = "permissions";
27
- KnownContracts["CONNEXT"] = "connext";
28
- })(KnownContracts || (exports.KnownContracts = KnownContracts = {}));
29
- // type META_GUARD_VERSION = "v1.0.0";
30
- // type OPTIMISTIC_GOVERNOR_VERSION = "v1.0.0";
31
- // type TELLOR_VERSION = "v2.1.0";
32
- // type REALITY_ETH_VERSION = "v1.0.0";
33
- // type BRIDGE_VERSION = "v1.0.0";
34
- // type DELAY_VERSION = "v1.0.0";
35
- // type FACTORY_VERSION = "v1.0.0";
36
- // type SCOPE_GUARD_VERSION = "v1.0.0";
37
- // type EXIT_ERC20_VERSION = "v1.0.0" | "v1.1.0";
38
- // type EXIT_ERC721_VERSION = "v1.1.0";
39
- // type CIRCULATING_SUPPLY_ERC20_VERSION = "v1.0.0" | "v1.1.0";
40
- // type CIRCULATING_SUPPLY_ERC721_VERSION = "v1.1.0";
41
- // type ROLES_MOD_VERSION = "v1.0.0";
42
- // type ContractMasterCopies<V extends string> = Record<V, string>;
43
- // export interface ContractAddresses {
44
- // metaGuard: ContractMasterCopies<META_GUARD_VERSION>;
45
- // optimisticGovernor: ContractMasterCopies<OPTIMISTIC_GOVERNOR_VERSION>;
46
- // tellor: ContractMasterCopies<TELLOR_VERSION>;
47
- // realityETH: ContractMasterCopies<REALITY_ETH_VERSION>;
48
- // realityERC20: ContractMasterCopies<REALITY_ETH_VERSION>;
49
- // bridge: ContractMasterCopies<BRIDGE_VERSION>;
50
- // delay: ContractMasterCopies<DELAY_VERSION>;
51
- // factory: ContractMasterCopies<FACTORY_VERSION>;
52
- // scopeGuard: ContractMasterCopies<SCOPE_GUARD_VERSION>;
53
- // exit: ContractMasterCopies<EXIT_ERC20_VERSION>;
54
- // exitERC721: ContractMasterCopies<EXIT_ERC721_VERSION>;
55
- // circulatingSupplyERC20: ContractMasterCopies<CIRCULATING_SUPPLY_ERC20_VERSION>;
56
- // circulatingSupplyERC721: ContractMasterCopies<CIRCULATING_SUPPLY_ERC721_VERSION>;
57
- // roles: ContractMasterCopies<ROLES_MOD_VERSION>;
58
- // }
@@ -1 +0,0 @@
1
- export * from "./factory";
@@ -1,2 +0,0 @@
1
- export declare const salt = "0x0000000000000000000000000000000000000000000000000000000000000000";
2
- export declare const initCode = "0x60806040523480156200001157600080fd5b506040516200358838038062003588833981810160405281019062000037919062000926565b6000868686868686604051602001620000569695949392919062000ba2565b604051602081830303815290604052905062000078816200008560201b60201c565b5050505050505062000dc0565b60008060008060008086806020019051810190620000a4919062000890565b955095509550955095509550620000c06200034960201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562000133576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200012a9062000c97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415620001a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200019d9062000c31565b60405180910390fd5b84606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081606960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606a81905550620002c2866200044860201b60201c565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f523e377a4bf6c92e5fc7d99462b1d7f983014116ff0c646eba7267d11aba842c8760405162000338919062000b85565b60405180910390a450505050505050565b600060019054906101000a900460ff168062000370575060008054906101000a900460ff16155b620003b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003a99062000c53565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000403576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b620004136200055e60201b60201c565b620004236200063d60201b60201c565b8015620004455760008060016101000a81548160ff0219169083151502179055505b50565b620004586200073c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200047e6200074460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620004d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ce9062000c75565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200054a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005419062000c0f565b60405180910390fd5b6200055b816200076e60201b60201c565b50565b600060019054906101000a900460ff168062000585575060008054906101000a900460ff16155b620005c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005be9062000c53565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000618576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156200063a5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168062000664575060008054906101000a900460ff16155b620006a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200069d9062000c53565b60405180910390fd5b60008060019054906101000a900460ff161590508015620006f7576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b620007176200070b6200073c60201b60201c565b6200076e60201b60201c565b8015620007395760008060016101000a81548160ff0219169083151502179055505b50565b600033905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050620008458162000d58565b92915050565b6000815190506200085c8162000d72565b92915050565b600081519050620008738162000d8c565b92915050565b6000815190506200088a8162000da6565b92915050565b60008060008060008060c08789031215620008aa57600080fd5b6000620008ba89828a016200084b565b9650506020620008cd89828a016200084b565b9550506040620008e089828a016200084b565b9450506060620008f389828a0162000879565b93505060806200090689828a016200084b565b92505060a06200091989828a0162000862565b9150509295509295509295565b60008060008060008060c087890312156200094057600080fd5b60006200095089828a0162000834565b96505060206200096389828a0162000834565b95505060406200097689828a0162000834565b94505060606200098989828a0162000879565b93505060806200099c89828a0162000834565b92505060a0620009af89828a0162000862565b9150509295509295509295565b620009c78162000cca565b82525050565b620009d88162000cf2565b82525050565b620009e98162000d30565b82525050565b6000620009fe60268362000cb9565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600062000a66601e8362000cb9565b91507f5461726765742063616e206e6f74206265207a65726f206164647265737300006000830152602082019050919050565b600062000aa8602e8362000cb9565b91507f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008301527f647920696e697469616c697a65640000000000000000000000000000000000006020830152604082019050919050565b600062000b1060208362000cb9565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600062000b52601e8362000cb9565b91507f4176617461722063616e206e6f74206265207a65726f206164647265737300006000830152602082019050919050565b600060208201905062000b9c6000830184620009bc565b92915050565b600060c08201905062000bb96000830189620009bc565b62000bc86020830188620009bc565b62000bd76040830187620009bc565b62000be66060830186620009de565b62000bf56080830185620009bc565b62000c0460a0830184620009cd565b979650505050505050565b6000602082019050818103600083015262000c2a81620009ef565b9050919050565b6000602082019050818103600083015262000c4c8162000a57565b9050919050565b6000602082019050818103600083015262000c6e8162000a99565b9050919050565b6000602082019050818103600083015262000c908162000b01565b9050919050565b6000602082019050818103600083015262000cb28162000b43565b9050919050565b600082825260208201905092915050565b600062000cd78262000d10565b9050919050565b600062000ceb8262000d10565b9050919050565b6000819050919050565b600062000d098262000cca565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d3d8262000d44565b9050919050565b600062000d518262000d10565b9050919050565b62000d638162000cca565b811462000d6f57600080fd5b50565b62000d7d8162000cde565b811462000d8957600080fd5b50565b62000d978162000cf2565b811462000da357600080fd5b50565b62000db18162000cfc565b811462000dbd57600080fd5b50565b6127b88062000dd06000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806392eefe9b116100a2578063d4b8399211610071578063d4b8399214610281578063e19a9dd91461029f578063e69aa771146102bb578063f2fde38b146102d7578063f77c4791146102f357610116565b806392eefe9b1461020d5780639a8a059214610229578063a4f9edbf14610247578063c91063891461026357610116565b80635aef7de6116100e95780635aef7de61461018d578063715018a6146101ab578063776d1a01146101b55780637ceab3b1146101d15780638da5cb5b146101ef57610116565b8063086cfca81461011b5780631062b39a146101375780634164139f1461015557806356f0cb0114610171575b600080fd5b61013560048036038101906101309190611b00565b610311565b005b61013f610453565b60405161014c91906122dd565b60405180910390f35b61016f600480360381019061016a9190611bdb565b610479565b005b61018b60048036038101906101869190611b00565b61076c565b005b6101956108bd565b6040516101a2919061215e565b60405180910390f35b6101b36108e3565b005b6101cf60048036038101906101ca9190611b00565b61096b565b005b6101d9610aad565b6040516101e6919061215e565b60405180910390f35b6101f7610ad3565b604051610204919061215e565b60405180910390f35b61022760048036038101906102229190611b00565b610afd565b005b610231610c4e565b60405161023e919061227e565b60405180910390f35b610261600480360381019061025c9190611cd1565b610c54565b005b61026b610efe565b604051610278919061215e565b60405180910390f35b610289610f28565b604051610296919061215e565b60405180910390f35b6102b960048036038101906102b49190611b00565b610f4e565b005b6102d560048036038101906102d09190611c7f565b611184565b005b6102f160048036038101906102ec9190611b00565b61124f565b005b6102fb611347565b604051610308919061215e565b60405180910390f35b61031961136d565b73ffffffffffffffffffffffffffffffffffffffff16610337610ad3565b73ffffffffffffffffffffffffffffffffffffffff161461038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038490612398565b60405180910390fd5b6000606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f52ae88b092de36f87fb43fe794eb1381023b9c1bce563a871154022c63dce34260405160405180910390a35050565b606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050090612478565b60405180910390fd5b606a54606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e307dff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac9190611ca8565b146105ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e3906122f8565b60405180910390fd5b606960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d67bdd256040518163ffffffff1660e01b815260040160206040518083038186803b15801561068d57600080fd5b505afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190611b29565b73ffffffffffffffffffffffffffffffffffffffff161461071b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071290612338565b60405180910390fd5b61072784848484611375565b610766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075d90612458565b60405180910390fd5b50505050565b61077461136d565b73ffffffffffffffffffffffffffffffffffffffff16610792610ad3565b73ffffffffffffffffffffffffffffffffffffffff16146107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90612398565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610879576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610870906123f8565b60405180910390fd5b80606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108eb61136d565b73ffffffffffffffffffffffffffffffffffffffff16610909610ad3565b73ffffffffffffffffffffffffffffffffffffffff161461095f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095690612398565b60405180910390fd5b610969600061166a565b565b61097361136d565b73ffffffffffffffffffffffffffffffffffffffff16610991610ad3565b73ffffffffffffffffffffffffffffffffffffffff16146109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de90612398565b60405180910390fd5b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90cc2f570a6eb594b1580ea3e41247d2d73a55281889e86bd4ec2fc29c7e62d660405160405180910390a35050565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b0561136d565b73ffffffffffffffffffffffffffffffffffffffff16610b23610ad3565b73ffffffffffffffffffffffffffffffffffffffff1614610b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7090612398565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16606960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c01906123b8565b60405180910390fd5b80606960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606a5481565b60008060008060008086806020019051810190610c719190611b52565b955095509550955095509550610c85611730565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610cf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cec906123d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5c90612358565b60405180910390fd5b84606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081606960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606a81905550610e798661124f565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f523e377a4bf6c92e5fc7d99462b1d7f983014116ff0c646eba7267d11aba842c87604051610eed919061215e565b60405180910390a450505050505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f5661136d565b73ffffffffffffffffffffffffffffffffffffffff16610f74610ad3565b73ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190612398565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110e7578073ffffffffffffffffffffffffffffffffffffffff166301ffc9a77fe6d7a83a000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161105791906122c2565b60206040518083038186803b15801561106f57600080fd5b505afa158015611083573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a79190611c56565b6110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90612418565b60405180910390fd5b5b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611179919061215e565b60405180910390a150565b61118c61136d565b73ffffffffffffffffffffffffffffffffffffffff166111aa610ad3565b73ffffffffffffffffffffffffffffffffffffffff1614611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f790612398565b60405180910390fd5b80606a541415611245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123c90612438565b60405180910390fd5b80606a8190555050565b61125761136d565b73ffffffffffffffffffffffffffffffffffffffff16611275610ad3565b73ffffffffffffffffffffffffffffffffffffffff16146112cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c290612398565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290612318565b60405180910390fd5b6113448161166a565b50565b606960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a757606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166375f0bb528686868660008060008060006040518060400160405280600281526020017f307800000000000000000000000000000000000000000000000000000000000081525060006040518c63ffffffff1660e01b81526004016114749b9a999897969594939291906121c5565b600060405180830381600087803b15801561148e57600080fd5b505af11580156114a2573d6000803e3d6000fd5b505050505b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a7868686866040518563ffffffff1660e01b81526004016115089493929190612179565b602060405180830381600087803b15801561152257600080fd5b505af1158015611536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155a9190611c56565b9050600073ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461166257606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663932713687f3078000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040161162f929190612299565b600060405180830381600087803b15801561164957600080fd5b505af115801561165d573d6000803e3d6000fd5b505050505b949350505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060019054906101000a900460ff1680611756575060008054906101000a900460ff16155b611795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178c90612378565b60405180910390fd5b60008060019054906101000a900460ff1615905080156117e5576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6117ed611819565b6117f56118f2565b80156118165760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061183f575060008054906101000a900460ff16155b61187e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187590612378565b60405180910390fd5b60008060019054906101000a900460ff1615905080156118ce576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156118ef5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680611918575060008054906101000a900460ff16155b611957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194e90612378565b60405180910390fd5b60008060019054906101000a900460ff1615905080156119a7576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6119b76119b261136d565b61166a565b80156119d85760008060016101000a81548160ff0219169083151502179055505b50565b60006119ee6119e9846124c9565b612498565b905082815260208101848484011115611a0657600080fd5b611a11848285612623565b509392505050565b600081359050611a28816126e8565b92915050565b600081519050611a3d816126e8565b92915050565b600081519050611a52816126ff565b92915050565b600081519050611a6781612716565b92915050565b600081359050611a7c8161272d565b92915050565b600081519050611a918161272d565b92915050565b600082601f830112611aa857600080fd5b8135611ab88482602086016119db565b91505092915050565b600081519050611ad081612744565b92915050565b600081359050611ae58161275b565b92915050565b600081359050611afa8161276b565b92915050565b600060208284031215611b1257600080fd5b6000611b2084828501611a19565b91505092915050565b600060208284031215611b3b57600080fd5b6000611b4984828501611a2e565b91505092915050565b60008060008060008060c08789031215611b6b57600080fd5b6000611b7989828a01611a43565b9650506020611b8a89828a01611a43565b9550506040611b9b89828a01611a43565b9450506060611bac89828a01611ac1565b9350506080611bbd89828a01611a43565b92505060a0611bce89828a01611a82565b9150509295509295509295565b60008060008060808587031215611bf157600080fd5b6000611bff87828801611a19565b9450506020611c1087828801611aeb565b935050604085013567ffffffffffffffff811115611c2d57600080fd5b611c3987828801611a97565b9250506060611c4a87828801611ad6565b91505092959194509250565b600060208284031215611c6857600080fd5b6000611c7684828501611a58565b91505092915050565b600060208284031215611c9157600080fd5b6000611c9f84828501611a6d565b91505092915050565b600060208284031215611cba57600080fd5b6000611cc884828501611a82565b91505092915050565b600060208284031215611ce357600080fd5b600082013567ffffffffffffffff811115611cfd57600080fd5b611d0984828501611a97565b91505092915050565b611d1b81612538565b82525050565b611d2a81612526565b82525050565b611d398161254a565b82525050565b611d4881612556565b82525050565b611d5781612560565b82525050565b6000611d68826124f9565b611d728185612504565b9350611d82818560208601612632565b611d8b816126c3565b840191505092915050565b611d9f816125db565b82525050565b611dae816125ff565b82525050565b611dbd81612611565b82525050565b6000611dd0601483612515565b91507f556e617574686f72697a656420636861696e49640000000000000000000000006000830152602082019050919050565b6000611e10602683612515565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611e76601783612515565b91507f556e617574686f72697a656420636f6e74726f6c6c65720000000000000000006000830152602082019050919050565b6000611eb6601e83612515565b91507f5461726765742063616e206e6f74206265207a65726f206164647265737300006000830152602082019050919050565b6000611ef6602e83612515565b91507f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008301527f647920696e697469616c697a65640000000000000000000000000000000000006020830152604082019050919050565b6000611f5c602083612515565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611f9c601e83612515565b91507f636f6e74726f6c6c657220616c72656164792073657420746f207468697300006000830152602082019050919050565b6000611fdc601e83612515565b91507f4176617461722063616e206e6f74206265207a65726f206164647265737300006000830152602082019050919050565b600061201c601f83612515565b91507f414d42206164647265737320616c72656164792073657420746f2074686973006000830152602082019050919050565b600061205c602083612515565b91507f477561726420646f6573206e6f7420696d706c656d656e7420494552433136356000830152602082019050919050565b600061209c601b83612515565b91507f636861696e496420616c72656164792073657420746f207468697300000000006000830152602082019050919050565b60006120dc601983612515565b91507f4d6f64756c65207472616e73616374696f6e206661696c6564000000000000006000830152602082019050919050565b600061211c601083612515565b91507f556e617574686f72697a656420616d62000000000000000000000000000000006000830152602082019050919050565b612158816125d1565b82525050565b60006020820190506121736000830184611d21565b92915050565b600060808201905061218e6000830187611d21565b61219b602083018661214f565b81810360408301526121ad8185611d5d565b90506121bc6060830184611da5565b95945050505050565b6000610160820190506121db600083018e611d21565b6121e8602083018d61214f565b81810360408301526121fa818c611d5d565b9050612209606083018b611da5565b612216608083018a611db4565b61222360a0830189611db4565b61223060c0830188611db4565b61223d60e0830187611d21565b61224b610100830186611d12565b81810361012083015261225e8185611d5d565b905061226e610140830184611d21565b9c9b505050505050505050505050565b60006020820190506122936000830184611d3f565b92915050565b60006040820190506122ae6000830185611d3f565b6122bb6020830184611d30565b9392505050565b60006020820190506122d76000830184611d4e565b92915050565b60006020820190506122f26000830184611d96565b92915050565b6000602082019050818103600083015261231181611dc3565b9050919050565b6000602082019050818103600083015261233181611e03565b9050919050565b6000602082019050818103600083015261235181611e69565b9050919050565b6000602082019050818103600083015261237181611ea9565b9050919050565b6000602082019050818103600083015261239181611ee9565b9050919050565b600060208201905081810360008301526123b181611f4f565b9050919050565b600060208201905081810360008301526123d181611f8f565b9050919050565b600060208201905081810360008301526123f181611fcf565b9050919050565b600060208201905081810360008301526124118161200f565b9050919050565b600060208201905081810360008301526124318161204f565b9050919050565b600060208201905081810360008301526124518161208f565b9050919050565b60006020820190508181036000830152612471816120cf565b9050919050565b600060208201905081810360008301526124918161210f565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156124bf576124be612694565b5b8060405250919050565b600067ffffffffffffffff8211156124e4576124e3612694565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612531826125b1565b9050919050565b6000612543826125b1565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600061259782612526565b9050919050565b60008190506125ac826126d4565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006125e6826125ed565b9050919050565b60006125f8826125b1565b9050919050565b600061260a8261259e565b9050919050565b600061261c826125d1565b9050919050565b82818337600083830152505050565b60005b83811015612650578082015181840152602081019050612635565b8381111561265f576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b600281106126e5576126e4612665565b5b50565b6126f181612526565b81146126fc57600080fd5b50565b61270881612538565b811461271357600080fd5b50565b61271f8161254a565b811461272a57600080fd5b50565b61273681612556565b811461274157600080fd5b50565b61274d8161258c565b811461275857600080fd5b50565b6002811061276857600080fd5b50565b612774816125d1565b811461277f57600080fd5b5056fea26469706673582212209f506b11875f587db4e491ae90930a30b353fd05e7d4b12082aed6627518267464736f6c63430008000033000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001";
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initCode = exports.salt = void 0;
4
- exports.salt = "0x0000000000000000000000000000000000000000000000000000000000000000";
5
- exports.initCode = "0x60806040523480156200001157600080fd5b506040516200358838038062003588833981810160405281019062000037919062000926565b6000868686868686604051602001620000569695949392919062000ba2565b604051602081830303815290604052905062000078816200008560201b60201c565b5050505050505062000dc0565b60008060008060008086806020019051810190620000a4919062000890565b955095509550955095509550620000c06200034960201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562000133576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200012a9062000c97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415620001a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200019d9062000c31565b60405180910390fd5b84606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081606960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606a81905550620002c2866200044860201b60201c565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f523e377a4bf6c92e5fc7d99462b1d7f983014116ff0c646eba7267d11aba842c8760405162000338919062000b85565b60405180910390a450505050505050565b600060019054906101000a900460ff168062000370575060008054906101000a900460ff16155b620003b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003a99062000c53565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000403576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b620004136200055e60201b60201c565b620004236200063d60201b60201c565b8015620004455760008060016101000a81548160ff0219169083151502179055505b50565b620004586200073c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200047e6200074460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620004d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ce9062000c75565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200054a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005419062000c0f565b60405180910390fd5b6200055b816200076e60201b60201c565b50565b600060019054906101000a900460ff168062000585575060008054906101000a900460ff16155b620005c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005be9062000c53565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000618576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156200063a5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168062000664575060008054906101000a900460ff16155b620006a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200069d9062000c53565b60405180910390fd5b60008060019054906101000a900460ff161590508015620006f7576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b620007176200070b6200073c60201b60201c565b6200076e60201b60201c565b8015620007395760008060016101000a81548160ff0219169083151502179055505b50565b600033905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050620008458162000d58565b92915050565b6000815190506200085c8162000d72565b92915050565b600081519050620008738162000d8c565b92915050565b6000815190506200088a8162000da6565b92915050565b60008060008060008060c08789031215620008aa57600080fd5b6000620008ba89828a016200084b565b9650506020620008cd89828a016200084b565b9550506040620008e089828a016200084b565b9450506060620008f389828a0162000879565b93505060806200090689828a016200084b565b92505060a06200091989828a0162000862565b9150509295509295509295565b60008060008060008060c087890312156200094057600080fd5b60006200095089828a0162000834565b96505060206200096389828a0162000834565b95505060406200097689828a0162000834565b94505060606200098989828a0162000879565b93505060806200099c89828a0162000834565b92505060a0620009af89828a0162000862565b9150509295509295509295565b620009c78162000cca565b82525050565b620009d88162000cf2565b82525050565b620009e98162000d30565b82525050565b6000620009fe60268362000cb9565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600062000a66601e8362000cb9565b91507f5461726765742063616e206e6f74206265207a65726f206164647265737300006000830152602082019050919050565b600062000aa8602e8362000cb9565b91507f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008301527f647920696e697469616c697a65640000000000000000000000000000000000006020830152604082019050919050565b600062000b1060208362000cb9565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600062000b52601e8362000cb9565b91507f4176617461722063616e206e6f74206265207a65726f206164647265737300006000830152602082019050919050565b600060208201905062000b9c6000830184620009bc565b92915050565b600060c08201905062000bb96000830189620009bc565b62000bc86020830188620009bc565b62000bd76040830187620009bc565b62000be66060830186620009de565b62000bf56080830185620009bc565b62000c0460a0830184620009cd565b979650505050505050565b6000602082019050818103600083015262000c2a81620009ef565b9050919050565b6000602082019050818103600083015262000c4c8162000a57565b9050919050565b6000602082019050818103600083015262000c6e8162000a99565b9050919050565b6000602082019050818103600083015262000c908162000b01565b9050919050565b6000602082019050818103600083015262000cb28162000b43565b9050919050565b600082825260208201905092915050565b600062000cd78262000d10565b9050919050565b600062000ceb8262000d10565b9050919050565b6000819050919050565b600062000d098262000cca565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d3d8262000d44565b9050919050565b600062000d518262000d10565b9050919050565b62000d638162000cca565b811462000d6f57600080fd5b50565b62000d7d8162000cde565b811462000d8957600080fd5b50565b62000d978162000cf2565b811462000da357600080fd5b50565b62000db18162000cfc565b811462000dbd57600080fd5b50565b6127b88062000dd06000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806392eefe9b116100a2578063d4b8399211610071578063d4b8399214610281578063e19a9dd91461029f578063e69aa771146102bb578063f2fde38b146102d7578063f77c4791146102f357610116565b806392eefe9b1461020d5780639a8a059214610229578063a4f9edbf14610247578063c91063891461026357610116565b80635aef7de6116100e95780635aef7de61461018d578063715018a6146101ab578063776d1a01146101b55780637ceab3b1146101d15780638da5cb5b146101ef57610116565b8063086cfca81461011b5780631062b39a146101375780634164139f1461015557806356f0cb0114610171575b600080fd5b61013560048036038101906101309190611b00565b610311565b005b61013f610453565b60405161014c91906122dd565b60405180910390f35b61016f600480360381019061016a9190611bdb565b610479565b005b61018b60048036038101906101869190611b00565b61076c565b005b6101956108bd565b6040516101a2919061215e565b60405180910390f35b6101b36108e3565b005b6101cf60048036038101906101ca9190611b00565b61096b565b005b6101d9610aad565b6040516101e6919061215e565b60405180910390f35b6101f7610ad3565b604051610204919061215e565b60405180910390f35b61022760048036038101906102229190611b00565b610afd565b005b610231610c4e565b60405161023e919061227e565b60405180910390f35b610261600480360381019061025c9190611cd1565b610c54565b005b61026b610efe565b604051610278919061215e565b60405180910390f35b610289610f28565b604051610296919061215e565b60405180910390f35b6102b960048036038101906102b49190611b00565b610f4e565b005b6102d560048036038101906102d09190611c7f565b611184565b005b6102f160048036038101906102ec9190611b00565b61124f565b005b6102fb611347565b604051610308919061215e565b60405180910390f35b61031961136d565b73ffffffffffffffffffffffffffffffffffffffff16610337610ad3565b73ffffffffffffffffffffffffffffffffffffffff161461038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038490612398565b60405180910390fd5b6000606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f52ae88b092de36f87fb43fe794eb1381023b9c1bce563a871154022c63dce34260405160405180910390a35050565b606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050090612478565b60405180910390fd5b606a54606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e307dff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac9190611ca8565b146105ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e3906122f8565b60405180910390fd5b606960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d67bdd256040518163ffffffff1660e01b815260040160206040518083038186803b15801561068d57600080fd5b505afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190611b29565b73ffffffffffffffffffffffffffffffffffffffff161461071b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071290612338565b60405180910390fd5b61072784848484611375565b610766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075d90612458565b60405180910390fd5b50505050565b61077461136d565b73ffffffffffffffffffffffffffffffffffffffff16610792610ad3565b73ffffffffffffffffffffffffffffffffffffffff16146107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90612398565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610879576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610870906123f8565b60405180910390fd5b80606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108eb61136d565b73ffffffffffffffffffffffffffffffffffffffff16610909610ad3565b73ffffffffffffffffffffffffffffffffffffffff161461095f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095690612398565b60405180910390fd5b610969600061166a565b565b61097361136d565b73ffffffffffffffffffffffffffffffffffffffff16610991610ad3565b73ffffffffffffffffffffffffffffffffffffffff16146109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de90612398565b60405180910390fd5b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90cc2f570a6eb594b1580ea3e41247d2d73a55281889e86bd4ec2fc29c7e62d660405160405180910390a35050565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b0561136d565b73ffffffffffffffffffffffffffffffffffffffff16610b23610ad3565b73ffffffffffffffffffffffffffffffffffffffff1614610b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7090612398565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16606960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c01906123b8565b60405180910390fd5b80606960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606a5481565b60008060008060008086806020019051810190610c719190611b52565b955095509550955095509550610c85611730565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610cf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cec906123d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5c90612358565b60405180910390fd5b84606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081606960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606a81905550610e798661124f565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f523e377a4bf6c92e5fc7d99462b1d7f983014116ff0c646eba7267d11aba842c87604051610eed919061215e565b60405180910390a450505050505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f5661136d565b73ffffffffffffffffffffffffffffffffffffffff16610f74610ad3565b73ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190612398565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110e7578073ffffffffffffffffffffffffffffffffffffffff166301ffc9a77fe6d7a83a000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161105791906122c2565b60206040518083038186803b15801561106f57600080fd5b505afa158015611083573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a79190611c56565b6110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90612418565b60405180910390fd5b5b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611179919061215e565b60405180910390a150565b61118c61136d565b73ffffffffffffffffffffffffffffffffffffffff166111aa610ad3565b73ffffffffffffffffffffffffffffffffffffffff1614611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f790612398565b60405180910390fd5b80606a541415611245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123c90612438565b60405180910390fd5b80606a8190555050565b61125761136d565b73ffffffffffffffffffffffffffffffffffffffff16611275610ad3565b73ffffffffffffffffffffffffffffffffffffffff16146112cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c290612398565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290612318565b60405180910390fd5b6113448161166a565b50565b606960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a757606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166375f0bb528686868660008060008060006040518060400160405280600281526020017f307800000000000000000000000000000000000000000000000000000000000081525060006040518c63ffffffff1660e01b81526004016114749b9a999897969594939291906121c5565b600060405180830381600087803b15801561148e57600080fd5b505af11580156114a2573d6000803e3d6000fd5b505050505b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a7868686866040518563ffffffff1660e01b81526004016115089493929190612179565b602060405180830381600087803b15801561152257600080fd5b505af1158015611536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155a9190611c56565b9050600073ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461166257606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663932713687f3078000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040161162f929190612299565b600060405180830381600087803b15801561164957600080fd5b505af115801561165d573d6000803e3d6000fd5b505050505b949350505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060019054906101000a900460ff1680611756575060008054906101000a900460ff16155b611795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178c90612378565b60405180910390fd5b60008060019054906101000a900460ff1615905080156117e5576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6117ed611819565b6117f56118f2565b80156118165760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061183f575060008054906101000a900460ff16155b61187e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187590612378565b60405180910390fd5b60008060019054906101000a900460ff1615905080156118ce576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156118ef5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680611918575060008054906101000a900460ff16155b611957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194e90612378565b60405180910390fd5b60008060019054906101000a900460ff1615905080156119a7576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6119b76119b261136d565b61166a565b80156119d85760008060016101000a81548160ff0219169083151502179055505b50565b60006119ee6119e9846124c9565b612498565b905082815260208101848484011115611a0657600080fd5b611a11848285612623565b509392505050565b600081359050611a28816126e8565b92915050565b600081519050611a3d816126e8565b92915050565b600081519050611a52816126ff565b92915050565b600081519050611a6781612716565b92915050565b600081359050611a7c8161272d565b92915050565b600081519050611a918161272d565b92915050565b600082601f830112611aa857600080fd5b8135611ab88482602086016119db565b91505092915050565b600081519050611ad081612744565b92915050565b600081359050611ae58161275b565b92915050565b600081359050611afa8161276b565b92915050565b600060208284031215611b1257600080fd5b6000611b2084828501611a19565b91505092915050565b600060208284031215611b3b57600080fd5b6000611b4984828501611a2e565b91505092915050565b60008060008060008060c08789031215611b6b57600080fd5b6000611b7989828a01611a43565b9650506020611b8a89828a01611a43565b9550506040611b9b89828a01611a43565b9450506060611bac89828a01611ac1565b9350506080611bbd89828a01611a43565b92505060a0611bce89828a01611a82565b9150509295509295509295565b60008060008060808587031215611bf157600080fd5b6000611bff87828801611a19565b9450506020611c1087828801611aeb565b935050604085013567ffffffffffffffff811115611c2d57600080fd5b611c3987828801611a97565b9250506060611c4a87828801611ad6565b91505092959194509250565b600060208284031215611c6857600080fd5b6000611c7684828501611a58565b91505092915050565b600060208284031215611c9157600080fd5b6000611c9f84828501611a6d565b91505092915050565b600060208284031215611cba57600080fd5b6000611cc884828501611a82565b91505092915050565b600060208284031215611ce357600080fd5b600082013567ffffffffffffffff811115611cfd57600080fd5b611d0984828501611a97565b91505092915050565b611d1b81612538565b82525050565b611d2a81612526565b82525050565b611d398161254a565b82525050565b611d4881612556565b82525050565b611d5781612560565b82525050565b6000611d68826124f9565b611d728185612504565b9350611d82818560208601612632565b611d8b816126c3565b840191505092915050565b611d9f816125db565b82525050565b611dae816125ff565b82525050565b611dbd81612611565b82525050565b6000611dd0601483612515565b91507f556e617574686f72697a656420636861696e49640000000000000000000000006000830152602082019050919050565b6000611e10602683612515565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611e76601783612515565b91507f556e617574686f72697a656420636f6e74726f6c6c65720000000000000000006000830152602082019050919050565b6000611eb6601e83612515565b91507f5461726765742063616e206e6f74206265207a65726f206164647265737300006000830152602082019050919050565b6000611ef6602e83612515565b91507f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008301527f647920696e697469616c697a65640000000000000000000000000000000000006020830152604082019050919050565b6000611f5c602083612515565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611f9c601e83612515565b91507f636f6e74726f6c6c657220616c72656164792073657420746f207468697300006000830152602082019050919050565b6000611fdc601e83612515565b91507f4176617461722063616e206e6f74206265207a65726f206164647265737300006000830152602082019050919050565b600061201c601f83612515565b91507f414d42206164647265737320616c72656164792073657420746f2074686973006000830152602082019050919050565b600061205c602083612515565b91507f477561726420646f6573206e6f7420696d706c656d656e7420494552433136356000830152602082019050919050565b600061209c601b83612515565b91507f636861696e496420616c72656164792073657420746f207468697300000000006000830152602082019050919050565b60006120dc601983612515565b91507f4d6f64756c65207472616e73616374696f6e206661696c6564000000000000006000830152602082019050919050565b600061211c601083612515565b91507f556e617574686f72697a656420616d62000000000000000000000000000000006000830152602082019050919050565b612158816125d1565b82525050565b60006020820190506121736000830184611d21565b92915050565b600060808201905061218e6000830187611d21565b61219b602083018661214f565b81810360408301526121ad8185611d5d565b90506121bc6060830184611da5565b95945050505050565b6000610160820190506121db600083018e611d21565b6121e8602083018d61214f565b81810360408301526121fa818c611d5d565b9050612209606083018b611da5565b612216608083018a611db4565b61222360a0830189611db4565b61223060c0830188611db4565b61223d60e0830187611d21565b61224b610100830186611d12565b81810361012083015261225e8185611d5d565b905061226e610140830184611d21565b9c9b505050505050505050505050565b60006020820190506122936000830184611d3f565b92915050565b60006040820190506122ae6000830185611d3f565b6122bb6020830184611d30565b9392505050565b60006020820190506122d76000830184611d4e565b92915050565b60006020820190506122f26000830184611d96565b92915050565b6000602082019050818103600083015261231181611dc3565b9050919050565b6000602082019050818103600083015261233181611e03565b9050919050565b6000602082019050818103600083015261235181611e69565b9050919050565b6000602082019050818103600083015261237181611ea9565b9050919050565b6000602082019050818103600083015261239181611ee9565b9050919050565b600060208201905081810360008301526123b181611f4f565b9050919050565b600060208201905081810360008301526123d181611f8f565b9050919050565b600060208201905081810360008301526123f181611fcf565b9050919050565b600060208201905081810360008301526124118161200f565b9050919050565b600060208201905081810360008301526124318161204f565b9050919050565b600060208201905081810360008301526124518161208f565b9050919050565b60006020820190508181036000830152612471816120cf565b9050919050565b600060208201905081810360008301526124918161210f565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156124bf576124be612694565b5b8060405250919050565b600067ffffffffffffffff8211156124e4576124e3612694565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612531826125b1565b9050919050565b6000612543826125b1565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600061259782612526565b9050919050565b60008190506125ac826126d4565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006125e6826125ed565b9050919050565b60006125f8826125b1565b9050919050565b600061260a8261259e565b9050919050565b600061261c826125d1565b9050919050565b82818337600083830152505050565b60005b83811015612650578082015181840152602081019050612635565b8381111561265f576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b600281106126e5576126e4612665565b5b50565b6126f181612526565b81146126fc57600080fd5b50565b61270881612538565b811461271357600080fd5b50565b61271f8161254a565b811461272a57600080fd5b50565b61273681612556565b811461274157600080fd5b50565b61274d8161258c565b811461275857600080fd5b50565b6002811061276857600080fd5b50565b612774816125d1565b811461277f57600080fd5b5056fea26469706673582212209f506b11875f587db4e491ae90930a30b353fd05e7d4b12082aed6627518267464736f6c63430008000033000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001";