@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,96 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.7.0 <0.9.0;
3
-
4
- import {Enum} from "@gnosis.pm/safe-contracts/contracts/common/Enum.sol";
5
-
6
- import {Guardable} from "../guard/Guardable.sol";
7
- import {IAvatar} from "../interfaces/IAvatar.sol";
8
- import {IGuard} from "../interfaces/IGuard.sol";
9
- import {Modifier} from "./Modifier.sol";
10
- import {Module} from "./Module.sol";
11
-
12
- abstract contract GuardableModifier is Module, Guardable, Modifier {
13
- /// @dev Passes a transaction to be executed by the avatar.
14
- /// @notice Can only be called by this contract.
15
- /// @param to Destination address of module transaction.
16
- /// @param value Ether value of module transaction.
17
- /// @param data Data payload of module transaction.
18
- /// @param operation Operation type of module transaction: 0 == call, 1 == delegate call.
19
- function exec(
20
- address to,
21
- uint256 value,
22
- bytes memory data,
23
- Enum.Operation operation
24
- ) internal virtual override returns (bool success) {
25
- address currentGuard = guard;
26
- if (currentGuard != address(0)) {
27
- IGuard(currentGuard).checkTransaction(
28
- /// Transaction info used by module transactions.
29
- to,
30
- value,
31
- data,
32
- operation,
33
- /// Zero out the redundant transaction information only used for Safe multisig transctions.
34
- 0,
35
- 0,
36
- 0,
37
- address(0),
38
- payable(0),
39
- "",
40
- sentOrSignedByModule()
41
- );
42
- }
43
- success = IAvatar(target).execTransactionFromModule(
44
- to,
45
- value,
46
- data,
47
- operation
48
- );
49
- if (currentGuard != address(0)) {
50
- IGuard(currentGuard).checkAfterExecution(bytes32(0), success);
51
- }
52
- }
53
-
54
- /// @dev Passes a transaction to be executed by the target and returns data.
55
- /// @notice Can only be called by this contract.
56
- /// @param to Destination address of module transaction.
57
- /// @param value Ether value of module transaction.
58
- /// @param data Data payload of module transaction.
59
- /// @param operation Operation type of module transaction: 0 == call, 1 == delegate call.
60
- function execAndReturnData(
61
- address to,
62
- uint256 value,
63
- bytes memory data,
64
- Enum.Operation operation
65
- ) internal virtual override returns (bool success, bytes memory returnData) {
66
- address currentGuard = guard;
67
- if (currentGuard != address(0)) {
68
- IGuard(currentGuard).checkTransaction(
69
- /// Transaction info used by module transactions.
70
- to,
71
- value,
72
- data,
73
- operation,
74
- /// Zero out the redundant transaction information only used for Safe multisig transctions.
75
- 0,
76
- 0,
77
- 0,
78
- address(0),
79
- payable(0),
80
- "",
81
- sentOrSignedByModule()
82
- );
83
- }
84
-
85
- (success, returnData) = IAvatar(target).execTransactionFromModuleReturnData(
86
- to,
87
- value,
88
- data,
89
- operation
90
- );
91
-
92
- if (currentGuard != address(0)) {
93
- IGuard(currentGuard).checkAfterExecution(bytes32(0), success);
94
- }
95
- }
96
- }
@@ -1,95 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.7.0 <0.9.0;
3
-
4
- import {Enum} from "@gnosis.pm/safe-contracts/contracts/common/Enum.sol";
5
- import {IGuard} from "../interfaces/IGuard.sol";
6
- import {Guardable} from "../guard/Guardable.sol";
7
- import {Module} from "./Module.sol";
8
- import {IAvatar} from "../interfaces/IAvatar.sol";
9
-
10
- /// @title GuardableModule - A contract that can pass messages to a Module Manager contract if enabled by that contract.
11
- abstract contract GuardableModule is Module, Guardable {
12
- /// @dev Passes a transaction to be executed by the avatar.
13
- /// @notice Can only be called by this contract.
14
- /// @param to Destination address of module transaction.
15
- /// @param value Ether value of module transaction.
16
- /// @param data Data payload of module transaction.
17
- /// @param operation Operation type of module transaction: 0 == call, 1 == delegate call.
18
- function exec(
19
- address to,
20
- uint256 value,
21
- bytes memory data,
22
- Enum.Operation operation
23
- ) internal override returns (bool success) {
24
- address currentGuard = guard;
25
- if (currentGuard != address(0)) {
26
- IGuard(currentGuard).checkTransaction(
27
- /// Transaction info used by module transactions.
28
- to,
29
- value,
30
- data,
31
- operation,
32
- /// Zero out the redundant transaction information only used for Safe multisig transctions.
33
- 0,
34
- 0,
35
- 0,
36
- address(0),
37
- payable(0),
38
- "",
39
- msg.sender
40
- );
41
- }
42
- success = IAvatar(target).execTransactionFromModule(
43
- to,
44
- value,
45
- data,
46
- operation
47
- );
48
- if (currentGuard != address(0)) {
49
- IGuard(currentGuard).checkAfterExecution(bytes32(0), success);
50
- }
51
- }
52
-
53
- /// @dev Passes a transaction to be executed by the target and returns data.
54
- /// @notice Can only be called by this contract.
55
- /// @param to Destination address of module transaction.
56
- /// @param value Ether value of module transaction.
57
- /// @param data Data payload of module transaction.
58
- /// @param operation Operation type of module transaction: 0 == call, 1 == delegate call.
59
- function execAndReturnData(
60
- address to,
61
- uint256 value,
62
- bytes memory data,
63
- Enum.Operation operation
64
- ) internal virtual override returns (bool success, bytes memory returnData) {
65
- address currentGuard = guard;
66
- if (currentGuard != address(0)) {
67
- IGuard(currentGuard).checkTransaction(
68
- /// Transaction info used by module transactions.
69
- to,
70
- value,
71
- data,
72
- operation,
73
- /// Zero out the redundant transaction information only used for Safe multisig transctions.
74
- 0,
75
- 0,
76
- 0,
77
- address(0),
78
- payable(0),
79
- "",
80
- msg.sender
81
- );
82
- }
83
-
84
- (success, returnData) = IAvatar(target).execTransactionFromModuleReturnData(
85
- to,
86
- value,
87
- data,
88
- operation
89
- );
90
-
91
- if (currentGuard != address(0)) {
92
- IGuard(currentGuard).checkAfterExecution(bytes32(0), success);
93
- }
94
- }
95
- }
@@ -1,204 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.7.0 <0.9.0;
3
-
4
- import {Enum} from "@gnosis.pm/safe-contracts/contracts/common/Enum.sol";
5
- import {ExecutionTracker} from "../signature/ExecutionTracker.sol";
6
- import {IAvatar} from "../interfaces/IAvatar.sol";
7
- import {Module} from "./Module.sol";
8
- import {SignatureChecker} from "../signature/SignatureChecker.sol";
9
-
10
- /// @title Modifier Interface - A contract that sits between a Module and an Avatar and enforce some additional logic.
11
- abstract contract Modifier is
12
- Module,
13
- ExecutionTracker,
14
- SignatureChecker,
15
- IAvatar
16
- {
17
- address internal constant SENTINEL_MODULES = address(0x1);
18
- /// Mapping of modules.
19
- mapping(address => address) internal modules;
20
-
21
- /// `sender` is not an authorized module.
22
- /// @param sender The address of the sender.
23
- error NotAuthorized(address sender);
24
-
25
- /// `module` is invalid.
26
- error InvalidModule(address module);
27
-
28
- /// `pageSize` is invalid.
29
- error InvalidPageSize();
30
-
31
- /// `module` is already disabled.
32
- error AlreadyDisabledModule(address module);
33
-
34
- /// `module` is already enabled.
35
- error AlreadyEnabledModule(address module);
36
-
37
- /// @dev `setModules()` was already called.
38
- error SetupModulesAlreadyCalled();
39
-
40
- /*
41
- --------------------------------------------------
42
- You must override both of the following virtual functions,
43
- execTransactionFromModule() and execTransactionFromModuleReturnData().
44
- It is recommended that implementations of both functions make use the
45
- onlyModule modifier.
46
- */
47
-
48
- /// @dev Passes a transaction to the modifier.
49
- /// @notice Can only be called by enabled modules.
50
- /// @param to Destination address of module transaction.
51
- /// @param value Ether value of module transaction.
52
- /// @param data Data payload of module transaction.
53
- /// @param operation Operation type of module transaction.
54
- function execTransactionFromModule(
55
- address to,
56
- uint256 value,
57
- bytes calldata data,
58
- Enum.Operation operation
59
- ) public virtual returns (bool success);
60
-
61
- /// @dev Passes a transaction to the modifier, expects return data.
62
- /// @notice Can only be called by enabled modules.
63
- /// @param to Destination address of module transaction.
64
- /// @param value Ether value of module transaction.
65
- /// @param data Data payload of module transaction.
66
- /// @param operation Operation type of module transaction.
67
- function execTransactionFromModuleReturnData(
68
- address to,
69
- uint256 value,
70
- bytes calldata data,
71
- Enum.Operation operation
72
- ) public virtual returns (bool success, bytes memory returnData);
73
-
74
- /*
75
- --------------------------------------------------
76
- */
77
-
78
- modifier moduleOnly() {
79
- if (modules[msg.sender] == address(0)) {
80
- (bytes32 hash, address signer) = moduleTxSignedBy();
81
-
82
- // is the signer a module?
83
- if (modules[signer] == address(0)) {
84
- revert NotAuthorized(msg.sender);
85
- }
86
-
87
- // is the provided signature fresh?
88
- if (consumed[signer][hash]) {
89
- revert HashAlreadyConsumed(hash);
90
- }
91
-
92
- consumed[signer][hash] = true;
93
- emit HashExecuted(hash);
94
- }
95
-
96
- _;
97
- }
98
-
99
- function sentOrSignedByModule() internal view returns (address) {
100
- if (modules[msg.sender] != address(0)) {
101
- return msg.sender;
102
- }
103
-
104
- (, address signer) = moduleTxSignedBy();
105
- if (modules[signer] != address(0)) {
106
- return signer;
107
- }
108
-
109
- return address(0);
110
- }
111
-
112
- /// @dev Disables a module on the modifier.
113
- /// @notice This can only be called by the owner.
114
- /// @param prevModule Module that pointed to the module to be removed in the linked list.
115
- /// @param module Module to be removed.
116
- function disableModule(
117
- address prevModule,
118
- address module
119
- ) public override onlyOwner {
120
- if (module == address(0) || module == SENTINEL_MODULES)
121
- revert InvalidModule(module);
122
- if (modules[prevModule] != module) revert AlreadyDisabledModule(module);
123
- modules[prevModule] = modules[module];
124
- modules[module] = address(0);
125
- emit DisabledModule(module);
126
- }
127
-
128
- /// @dev Enables a module that can add transactions to the queue
129
- /// @param module Address of the module to be enabled
130
- /// @notice This can only be called by the owner
131
- function enableModule(address module) public override onlyOwner {
132
- if (module == address(0) || module == SENTINEL_MODULES)
133
- revert InvalidModule(module);
134
- if (modules[module] != address(0)) revert AlreadyEnabledModule(module);
135
- modules[module] = modules[SENTINEL_MODULES];
136
- modules[SENTINEL_MODULES] = module;
137
- emit EnabledModule(module);
138
- }
139
-
140
- /// @dev Returns if an module is enabled
141
- /// @return True if the module is enabled
142
- function isModuleEnabled(
143
- address _module
144
- ) public view override returns (bool) {
145
- return SENTINEL_MODULES != _module && modules[_module] != address(0);
146
- }
147
-
148
- /// @dev Returns array of modules.
149
- /// If all entries fit into a single page, the next pointer will be 0x1.
150
- /// If another page is present, next will be the last element of the returned array.
151
- /// @param start Start of the page. Has to be a module or start pointer (0x1 address)
152
- /// @param pageSize Maximum number of modules that should be returned. Has to be > 0
153
- /// @return array Array of modules.
154
- /// @return next Start of the next page.
155
- function getModulesPaginated(
156
- address start,
157
- uint256 pageSize
158
- ) external view override returns (address[] memory array, address next) {
159
- if (start != SENTINEL_MODULES && !isModuleEnabled(start)) {
160
- revert InvalidModule(start);
161
- }
162
- if (pageSize == 0) {
163
- revert InvalidPageSize();
164
- }
165
-
166
- // Init array with max page size
167
- array = new address[](pageSize);
168
-
169
- // Populate return array
170
- uint256 moduleCount = 0;
171
- next = modules[start];
172
- while (
173
- next != address(0) && next != SENTINEL_MODULES && moduleCount < pageSize
174
- ) {
175
- array[moduleCount] = next;
176
- next = modules[next];
177
- moduleCount++;
178
- }
179
-
180
- // Because of the argument validation we can assume that
181
- // the `currentModule` will always be either a module address
182
- // or sentinel address (aka the end). If we haven't reached the end
183
- // inside the loop, we need to set the next pointer to the last element
184
- // because it skipped over to the next module which is neither included
185
- // in the current page nor won't be included in the next one
186
- // if you pass it as a start.
187
- if (next != SENTINEL_MODULES) {
188
- next = array[moduleCount - 1];
189
- }
190
- // Set correct size of returned array
191
- // solhint-disable-next-line no-inline-assembly
192
- assembly {
193
- mstore(array, moduleCount)
194
- }
195
- }
196
-
197
- /// @dev Initializes the modules linked list.
198
- /// @notice Should be called as part of the `setUp` / initializing function and can only be called once.
199
- function setupModules() internal {
200
- if (modules[SENTINEL_MODULES] != address(0))
201
- revert SetupModulesAlreadyCalled();
202
- modules[SENTINEL_MODULES] = SENTINEL_MODULES;
203
- }
204
- }
@@ -1,73 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.7.0 <0.9.0;
3
-
4
- import {Enum} from "@gnosis.pm/safe-contracts/contracts/common/Enum.sol";
5
-
6
- import {FactoryFriendly} from "../factory/FactoryFriendly.sol";
7
- import {IAvatar} from "../interfaces/IAvatar.sol";
8
-
9
- /// @title Module Interface - A contract that can pass messages to a Module Manager contract if enabled by that contract.
10
- abstract contract Module is FactoryFriendly {
11
- /// @dev Address that will ultimately execute function calls.
12
- address public avatar;
13
- /// @dev Address that this module will pass transactions to.
14
- address public target;
15
-
16
- /// @dev Emitted each time the avatar is set.
17
- event AvatarSet(address indexed previousAvatar, address indexed newAvatar);
18
- /// @dev Emitted each time the Target is set.
19
- event TargetSet(address indexed previousTarget, address indexed newTarget);
20
-
21
- /// @dev Sets the avatar to a new avatar (`newAvatar`).
22
- /// @notice Can only be called by the current owner.
23
- function setAvatar(address _avatar) public onlyOwner {
24
- address previousAvatar = avatar;
25
- avatar = _avatar;
26
- emit AvatarSet(previousAvatar, _avatar);
27
- }
28
-
29
- /// @dev Sets the target to a new target (`newTarget`).
30
- /// @notice Can only be called by the current owner.
31
- function setTarget(address _target) public onlyOwner {
32
- address previousTarget = target;
33
- target = _target;
34
- emit TargetSet(previousTarget, _target);
35
- }
36
-
37
- /// @dev Passes a transaction to be executed by the avatar.
38
- /// @notice Can only be called by this contract.
39
- /// @param to Destination address of module transaction.
40
- /// @param value Ether value of module transaction.
41
- /// @param data Data payload of module transaction.
42
- /// @param operation Operation type of module transaction: 0 == call, 1 == delegate call.
43
- function exec(
44
- address to,
45
- uint256 value,
46
- bytes memory data,
47
- Enum.Operation operation
48
- ) internal virtual returns (bool success) {
49
- return
50
- IAvatar(target).execTransactionFromModule(to, value, data, operation);
51
- }
52
-
53
- /// @dev Passes a transaction to be executed by the target and returns data.
54
- /// @notice Can only be called by this contract.
55
- /// @param to Destination address of module transaction.
56
- /// @param value Ether value of module transaction.
57
- /// @param data Data payload of module transaction.
58
- /// @param operation Operation type of module transaction: 0 == call, 1 == delegate call.
59
- function execAndReturnData(
60
- address to,
61
- uint256 value,
62
- bytes memory data,
63
- Enum.Operation operation
64
- ) internal virtual returns (bool success, bytes memory returnData) {
65
- return
66
- IAvatar(target).execTransactionFromModuleReturnData(
67
- to,
68
- value,
69
- data,
70
- operation
71
- );
72
- }
73
- }
@@ -1,10 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
-
3
- /// @title Zodiac FactoryFriendly - A contract that allows other contracts to be initializable and pass bytes as arguments to define contract state
4
- pragma solidity >=0.7.0 <0.9.0;
5
-
6
- import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
7
-
8
- abstract contract FactoryFriendly is OwnableUpgradeable {
9
- function setUp(bytes memory initializeParams) public virtual;
10
- }
@@ -1,51 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.8.0;
3
-
4
- contract ModuleProxyFactory {
5
- event ModuleProxyCreation(address indexed proxy, address indexed masterCopy);
6
-
7
- /// `target` can not be zero.
8
- error ZeroAddress(address target);
9
-
10
- /// `target` has no code deployed.
11
- error TargetHasNoCode(address target);
12
-
13
- /// `address_` is already taken.
14
- error TakenAddress(address address_);
15
-
16
- /// @notice Initialization failed.
17
- error FailedInitialization();
18
-
19
- function createProxy(
20
- address target,
21
- bytes32 salt
22
- ) internal returns (address result) {
23
- if (address(target) == address(0)) revert ZeroAddress(target);
24
- if (address(target).code.length == 0) revert TargetHasNoCode(target);
25
- bytes memory deployment = abi.encodePacked(
26
- hex"602d8060093d393df3363d3d373d3d3d363d73",
27
- target,
28
- hex"5af43d82803e903d91602b57fd5bf3"
29
- );
30
- // solhint-disable-next-line no-inline-assembly
31
- assembly {
32
- result := create2(0, add(deployment, 0x20), mload(deployment), salt)
33
- }
34
- if (result == address(0)) revert TakenAddress(result);
35
- }
36
-
37
- function deployModule(
38
- address masterCopy,
39
- bytes memory initializer,
40
- uint256 saltNonce
41
- ) public returns (address proxy) {
42
- proxy = createProxy(
43
- masterCopy,
44
- keccak256(abi.encodePacked(keccak256(initializer), saltNonce))
45
- );
46
- (bool success, ) = proxy.call(initializer);
47
- if (!success) revert FailedInitialization();
48
-
49
- emit ModuleProxyCreation(proxy, masterCopy);
50
- }
51
- }
@@ -1,36 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.7.0 <0.9.0;
3
-
4
- import {Enum} from "@gnosis.pm/safe-contracts/contracts/common/Enum.sol";
5
- import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
6
-
7
- import {IGuard} from "../interfaces/IGuard.sol";
8
-
9
- abstract contract BaseGuard is IERC165 {
10
- function supportsInterface(
11
- bytes4 interfaceId
12
- ) external pure override returns (bool) {
13
- return
14
- interfaceId == type(IGuard).interfaceId || // 0xe6d7a83a
15
- interfaceId == type(IERC165).interfaceId; // 0x01ffc9a7
16
- }
17
-
18
- /// @dev Module transactions only use the first four parameters: to, value, data, and operation.
19
- /// Module.sol hardcodes the remaining parameters as 0 since they are not used for module transactions.
20
- /// @notice This interface is used to maintain compatibilty with Gnosis Safe transaction guards.
21
- function checkTransaction(
22
- address to,
23
- uint256 value,
24
- bytes memory data,
25
- Enum.Operation operation,
26
- uint256 safeTxGas,
27
- uint256 baseGas,
28
- uint256 gasPrice,
29
- address gasToken,
30
- address payable refundReceiver,
31
- bytes memory signatures,
32
- address msgSender
33
- ) external virtual;
34
-
35
- function checkAfterExecution(bytes32 txHash, bool success) external virtual;
36
- }
@@ -1,32 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.7.0 <0.9.0;
3
-
4
- import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
5
-
6
- import {BaseGuard} from "../guard/BaseGuard.sol";
7
- import {IGuard} from "../interfaces/IGuard.sol";
8
-
9
- /// @title Guardable - A contract that manages fallback calls made to this contract
10
- contract Guardable is OwnableUpgradeable {
11
- address public guard;
12
-
13
- event ChangedGuard(address guard);
14
-
15
- /// `guard_` does not implement IERC165.
16
- error NotIERC165Compliant(address guard_);
17
-
18
- /// @dev Set a guard that checks transactions before execution.
19
- /// @param _guard The address of the guard to be used or the 0 address to disable the guard.
20
- function setGuard(address _guard) external onlyOwner {
21
- if (_guard != address(0)) {
22
- if (!BaseGuard(_guard).supportsInterface(type(IGuard).interfaceId))
23
- revert NotIERC165Compliant(_guard);
24
- }
25
- guard = _guard;
26
- emit ChangedGuard(guard);
27
- }
28
-
29
- function getGuard() external view returns (address _guard) {
30
- return guard;
31
- }
32
- }
@@ -1,71 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
-
3
- /// @title Zodiac Avatar - A contract that manages modules that can execute transactions via this contract.
4
- pragma solidity >=0.7.0 <0.9.0;
5
-
6
- import {Enum} from "@gnosis.pm/safe-contracts/contracts/common/Enum.sol";
7
-
8
- interface IAvatar {
9
- event EnabledModule(address module);
10
- event DisabledModule(address module);
11
- event ExecutionFromModuleSuccess(address indexed module);
12
- event ExecutionFromModuleFailure(address indexed module);
13
-
14
- /// @dev Enables a module on the avatar.
15
- /// @notice Can only be called by the avatar.
16
- /// @notice Modules should be stored as a linked list.
17
- /// @notice Must emit EnabledModule(address module) if successful.
18
- /// @param module Module to be enabled.
19
- function enableModule(address module) external;
20
-
21
- /// @dev Disables a module on the avatar.
22
- /// @notice Can only be called by the avatar.
23
- /// @notice Must emit DisabledModule(address module) if successful.
24
- /// @param prevModule Address that pointed to the module to be removed in the linked list
25
- /// @param module Module to be removed.
26
- function disableModule(address prevModule, address module) external;
27
-
28
- /// @dev Allows a Module to execute a transaction.
29
- /// @notice Can only be called by an enabled module.
30
- /// @notice Must emit ExecutionFromModuleSuccess(address module) if successful.
31
- /// @notice Must emit ExecutionFromModuleFailure(address module) if unsuccessful.
32
- /// @param to Destination address of module transaction.
33
- /// @param value Ether value of module transaction.
34
- /// @param data Data payload of module transaction.
35
- /// @param operation Operation type of module transaction: 0 == call, 1 == delegate call.
36
- function execTransactionFromModule(
37
- address to,
38
- uint256 value,
39
- bytes memory data,
40
- Enum.Operation operation
41
- ) external returns (bool success);
42
-
43
- /// @dev Allows a Module to execute a transaction and return data
44
- /// @notice Can only be called by an enabled module.
45
- /// @notice Must emit ExecutionFromModuleSuccess(address module) if successful.
46
- /// @notice Must emit ExecutionFromModuleFailure(address module) if unsuccessful.
47
- /// @param to Destination address of module transaction.
48
- /// @param value Ether value of module transaction.
49
- /// @param data Data payload of module transaction.
50
- /// @param operation Operation type of module transaction: 0 == call, 1 == delegate call.
51
- function execTransactionFromModuleReturnData(
52
- address to,
53
- uint256 value,
54
- bytes memory data,
55
- Enum.Operation operation
56
- ) external returns (bool success, bytes memory returnData);
57
-
58
- /// @dev Returns if an module is enabled
59
- /// @return True if the module is enabled
60
- function isModuleEnabled(address module) external view returns (bool);
61
-
62
- /// @dev Returns array of modules.
63
- /// @param start Start of the page.
64
- /// @param pageSize Maximum number of modules that should be returned.
65
- /// @return array Array of modules.
66
- /// @return next Start of the next page.
67
- function getModulesPaginated(
68
- address start,
69
- uint256 pageSize
70
- ) external view returns (address[] memory array, address next);
71
- }