@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,22 +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
- interface IGuard {
7
- function checkTransaction(
8
- address to,
9
- uint256 value,
10
- bytes memory data,
11
- Enum.Operation operation,
12
- uint256 safeTxGas,
13
- uint256 baseGas,
14
- uint256 gasPrice,
15
- address gasToken,
16
- address payable refundReceiver,
17
- bytes memory signatures,
18
- address msgSender
19
- ) external;
20
-
21
- function checkAfterExecution(bytes32 txHash, bool success) external;
22
- }
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.8.0 <0.9.0;
3
-
4
- /// @title ExecutionTracker - A contract that keeps track of executed and invalidated hashes
5
- contract ExecutionTracker {
6
- error HashAlreadyConsumed(bytes32);
7
-
8
- event HashExecuted(bytes32);
9
- event HashInvalidated(bytes32);
10
-
11
- mapping(address => mapping(bytes32 => bool)) public consumed;
12
-
13
- function invalidate(bytes32 hash) external {
14
- consumed[msg.sender][hash] = true;
15
- emit HashInvalidated(hash);
16
- }
17
- }
@@ -1,19 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- /* solhint-disable one-contract-per-file */
3
- pragma solidity >=0.7.0 <0.9.0;
4
-
5
- interface IERC1271 {
6
- /**
7
- * @notice EIP1271 method to validate a signature.
8
- * @param hash Hash of the data signed on the behalf of address(this).
9
- * @param signature Signature byte array associated with _data.
10
- *
11
- * MUST return the bytes4 magic value 0x1626ba7e when function passes.
12
- * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)
13
- * MUST allow external calls
14
- */
15
- function isValidSignature(
16
- bytes32 hash,
17
- bytes memory signature
18
- ) external view returns (bytes4);
19
- }
@@ -1,154 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.8.0 <0.9.0;
3
-
4
- import {IERC1271} from "./IERC1271.sol";
5
-
6
- /// @title SignatureChecker - A contract that retrieves and validates signatures appended to transaction calldata.
7
- /// @dev currently supports eip-712 and eip-1271 signatures
8
- abstract contract SignatureChecker {
9
- /**
10
- * @notice Searches for a signature, validates it, and returns the signer's address.
11
- * @dev When signature not found or invalid, zero address is returned
12
- * @return The address of the signer.
13
- */
14
- function moduleTxSignedBy() internal view returns (bytes32, address) {
15
- bytes calldata data = msg.data;
16
-
17
- /*
18
- * The idea is to extend `onlyModule` and provide signature checking
19
- * without code changes to inheriting contracts (Modifiers).
20
- *
21
- * Since it's a generic mechanism, there is no way to conclusively
22
- * identify the trailing bytes as a signature. We simply slice those
23
- * and recover signer.
24
- *
25
- * As a result, we impose a minimum calldata length equal to a function
26
- * selector plus salt, plus a signature (i.e., 4 + 32 + 65 bytes), any
27
- * shorter and calldata it guaranteed to not contain a signature.
28
- */
29
- if (data.length < 4 + 32 + 65) {
30
- return (bytes32(0), address(0));
31
- }
32
-
33
- (uint8 v, bytes32 r, bytes32 s) = _splitSignature(data);
34
-
35
- uint256 end = data.length - (32 + 65);
36
- bytes32 salt = bytes32(data[end:]);
37
-
38
- /*
39
- * When handling contract signatures:
40
- * v - is zero
41
- * r - contains the signer
42
- * s - contains the offset within calldata where the signer specific
43
- * signature is located
44
- *
45
- * We detect contract signatures by checking:
46
- * 1- `v` is zero
47
- * 2- `s` points within the buffer, is after selector, is before
48
- * salt and delimits a non-zero length buffer
49
- */
50
- if (v == 0) {
51
- uint256 start = uint256(s);
52
- if (start < 4 || start > end) {
53
- return (bytes32(0), address(0));
54
- }
55
- address signer = address(uint160(uint256(r)));
56
-
57
- bytes32 hash = moduleTxHash(data[:start], salt);
58
- return
59
- _isValidContractSignature(signer, hash, data[start:end])
60
- ? (hash, signer)
61
- : (bytes32(0), address(0));
62
- } else {
63
- bytes32 hash = moduleTxHash(data[:end], salt);
64
- return (hash, ecrecover(hash, v, r, s));
65
- }
66
- }
67
-
68
- /**
69
- * @notice Hashes the transaction EIP-712 data structure.
70
- * @dev The produced hash is intended to be signed.
71
- * @param data The current transaction's calldata.
72
- * @param salt The salt value.
73
- * @return The 32-byte hash that is to be signed.
74
- */
75
- function moduleTxHash(
76
- bytes calldata data,
77
- bytes32 salt
78
- ) public view returns (bytes32) {
79
- bytes32 domainSeparator = keccak256(
80
- abi.encode(DOMAIN_SEPARATOR_TYPEHASH, block.chainid, this)
81
- );
82
- bytes memory moduleTxData = abi.encodePacked(
83
- bytes1(0x19),
84
- bytes1(0x01),
85
- domainSeparator,
86
- keccak256(abi.encode(MODULE_TX_TYPEHASH, keccak256(data), salt))
87
- );
88
- return keccak256(moduleTxData);
89
- }
90
-
91
- /**
92
- * @dev Extracts signature from calldata, and divides it into `uint8 v, bytes32 r, bytes32 s`.
93
- * @param data The current transaction's calldata.
94
- * @return v The ECDSA v value
95
- * @return r The ECDSA r value
96
- * @return s The ECDSA s value
97
- */
98
- function _splitSignature(
99
- bytes calldata data
100
- ) private pure returns (uint8 v, bytes32 r, bytes32 s) {
101
- v = uint8(bytes1(data[data.length - 1:]));
102
- r = bytes32(data[data.length - 65:]);
103
- s = bytes32(data[data.length - 33:]);
104
- }
105
-
106
- /**
107
- * @dev Calls the signer contract, and validates the contract signature.
108
- * @param signer The address of the signer contract.
109
- * @param hash Hash of the data signed
110
- * @param signature The contract signature.
111
- * @return result Indicates whether the signature is valid.
112
- */
113
- function _isValidContractSignature(
114
- address signer,
115
- bytes32 hash,
116
- bytes calldata signature
117
- ) internal view returns (bool result) {
118
- uint256 size;
119
- // eslint-disable-line no-inline-assembly
120
- assembly {
121
- size := extcodesize(signer)
122
- }
123
- if (size == 0) {
124
- return false;
125
- }
126
-
127
- (, bytes memory returnData) = signer.staticcall(
128
- abi.encodeWithSelector(
129
- IERC1271.isValidSignature.selector,
130
- hash,
131
- signature
132
- )
133
- );
134
-
135
- return bytes4(returnData) == EIP1271_MAGIC_VALUE;
136
- }
137
-
138
- // keccak256(
139
- // "EIP712Domain(uint256 chainId,address verifyingContract)"
140
- // );
141
- bytes32 private constant DOMAIN_SEPARATOR_TYPEHASH =
142
- 0x47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218;
143
-
144
- // keccak256(
145
- // "ModuleTx(bytes data,bytes32 salt)"
146
- // );
147
- bytes32 private constant MODULE_TX_TYPEHASH =
148
- 0x2939aeeda3ca260200c9f7b436b19e13207547ccc65cfedc857751c5ea6d91d4;
149
-
150
- // bytes4(keccak256(
151
- // "isValidSignature(bytes32,bytes)"
152
- // ));
153
- bytes4 private constant EIP1271_MAGIC_VALUE = 0x1626ba7e;
154
- }
@@ -1,64 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.8.0;
3
-
4
- contract Enum {
5
- enum Operation {
6
- Call,
7
- DelegateCall
8
- }
9
- }
10
-
11
- contract TestAvatar {
12
- address public module;
13
-
14
- receive() external payable {}
15
-
16
- function enableModule(address _module) external {
17
- module = _module;
18
- }
19
-
20
- function disableModule(address, address) external {
21
- module = address(0);
22
- }
23
-
24
- function isModuleEnabled(address _module) external view returns (bool) {
25
- if (module == _module) {
26
- return true;
27
- } else {
28
- return false;
29
- }
30
- }
31
-
32
- function execTransactionFromModule(
33
- address payable to,
34
- uint256 value,
35
- bytes calldata data,
36
- uint8 operation
37
- ) external returns (bool success) {
38
- require(msg.sender == module, "Not authorized");
39
- if (operation == 1) (success, ) = to.delegatecall(data);
40
- else (success, ) = to.call{value: value}(data);
41
- }
42
-
43
- function execTransactionFromModuleReturnData(
44
- address payable to,
45
- uint256 value,
46
- bytes calldata data,
47
- uint8 operation
48
- ) external returns (bool success, bytes memory returnData) {
49
- require(msg.sender == module, "Not authorized");
50
- if (operation == 1) (success, ) = to.delegatecall(data);
51
- else (success, returnData) = to.call{value: value}(data);
52
- }
53
-
54
- function getModulesPaginated(
55
- address,
56
- uint256 pageSize
57
- ) external view returns (address[] memory array, address next) {
58
- // Init array with max page size
59
- array = new address[](pageSize);
60
-
61
- array[0] = module;
62
- next = module;
63
- }
64
- }
@@ -1,82 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.7.0 <0.9.0;
3
-
4
- import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
-
6
- import {BaseGuard} from "../guard/BaseGuard.sol";
7
- import {Enum} from "@gnosis.pm/safe-contracts/contracts/common/Enum.sol";
8
- import {FactoryFriendly} from "../factory/FactoryFriendly.sol";
9
- import {GuardableModule} from "../core/GuardableModule.sol";
10
-
11
- /* solhint-disable */
12
-
13
- contract TestGuard is FactoryFriendly, BaseGuard {
14
- event PreChecked(address sender);
15
- event PostChecked(bool checked);
16
-
17
- address public module;
18
-
19
- constructor(address _module) {
20
- bytes memory initParams = abi.encode(_module);
21
- setUp(initParams);
22
- }
23
-
24
- function setModule(address _module) public {
25
- module = _module;
26
- }
27
-
28
- function checkTransaction(
29
- address to,
30
- uint256 value,
31
- bytes memory data,
32
- Enum.Operation operation,
33
- uint256,
34
- uint256,
35
- uint256,
36
- address,
37
- address payable,
38
- bytes memory,
39
- address sender
40
- ) public override {
41
- require(to != address(0), "Cannot send to zero address");
42
- require(value != 1337, "Cannot send 1337");
43
- require(bytes3(data) != bytes3(0xbaddad), "Cannot call 0xbaddad");
44
- require(operation != Enum.Operation(1), "No delegate calls");
45
- emit PreChecked(sender);
46
- }
47
-
48
- function checkAfterExecution(bytes32, bool) public override {
49
- require(
50
- GuardableModule(module).guard() == address(this),
51
- "Module cannot remove its own guard."
52
- );
53
- emit PostChecked(true);
54
- }
55
-
56
- function setUp(bytes memory initializeParams) public override initializer {
57
- address _module = abi.decode(initializeParams, (address));
58
- module = _module;
59
- }
60
- }
61
-
62
- contract TestNonCompliantGuard is IERC165 {
63
- function supportsInterface(bytes4) external pure returns (bool) {
64
- return false;
65
- }
66
-
67
- function checkTransaction(
68
- address,
69
- uint256,
70
- bytes memory,
71
- Enum.Operation,
72
- uint256,
73
- uint256,
74
- uint256,
75
- address,
76
- address,
77
- bytes memory,
78
- address
79
- ) public {}
80
-
81
- function checkAfterExecution(bytes32, bool) public {}
82
- }
@@ -1,82 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.7.0 <0.9.0;
3
-
4
- import "../core/GuardableModifier.sol";
5
-
6
- contract TestGuardableModifier is GuardableModifier {
7
- event Executed(
8
- address to,
9
- uint256 value,
10
- bytes data,
11
- Enum.Operation operation,
12
- bool success
13
- );
14
-
15
- event ExecutedAndReturnedData(
16
- address to,
17
- uint256 value,
18
- bytes data,
19
- Enum.Operation operation,
20
- bytes returnData,
21
- bool success
22
- );
23
-
24
- constructor(address _avatar, address _target) {
25
- bytes memory initParams = abi.encode(_avatar, _target);
26
- setUp(initParams);
27
- }
28
-
29
- /// @dev Passes a transaction to the modifier.
30
- /// @param to Destination address of module transaction
31
- /// @param value Ether value of module transaction
32
- /// @param data Data payload of module transaction
33
- /// @param operation Operation type of module transaction
34
- /// @notice Can only be called by enabled modules
35
- function execTransactionFromModule(
36
- address to,
37
- uint256 value,
38
- bytes calldata data,
39
- Enum.Operation operation
40
- ) public override moduleOnly returns (bool success) {
41
- success = exec(to, value, data, operation);
42
- emit Executed(to, value, data, operation, success);
43
- }
44
-
45
- /// @dev Passes a transaction to the modifier, expects return data.
46
- /// @param to Destination address of module transaction
47
- /// @param value Ether value of module transaction
48
- /// @param data Data payload of module transaction
49
- /// @param operation Operation type of module transaction
50
- /// @notice Can only be called by enabled modules
51
- function execTransactionFromModuleReturnData(
52
- address to,
53
- uint256 value,
54
- bytes calldata data,
55
- Enum.Operation operation
56
- ) public override moduleOnly returns (bool success, bytes memory returnData) {
57
- (success, returnData) = execAndReturnData(to, value, data, operation);
58
- emit ExecutedAndReturnedData(
59
- to,
60
- value,
61
- data,
62
- operation,
63
- returnData,
64
- success
65
- );
66
- }
67
-
68
- function setUp(bytes memory initializeParams) public override initializer {
69
- setupModules();
70
- __Ownable_init(msg.sender);
71
- (address _avatar, address _target) = abi.decode(
72
- initializeParams,
73
- (address, address)
74
- );
75
- avatar = _avatar;
76
- target = _target;
77
- }
78
-
79
- function attemptToSetupModules() public {
80
- setupModules();
81
- }
82
- }
@@ -1,88 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
-
3
- /// @title Modifier Interface - A contract that sits between a Module and an Avatar and enforce some additional logic.
4
- pragma solidity >=0.7.0 <0.9.0;
5
-
6
- import "../core/Modifier.sol";
7
-
8
- contract TestModifier is Modifier {
9
- event Executed(
10
- address to,
11
- uint256 value,
12
- bytes data,
13
- Enum.Operation operation,
14
- bool success
15
- );
16
-
17
- event ExecutedAndReturnedData(
18
- address to,
19
- uint256 value,
20
- bytes data,
21
- Enum.Operation operation,
22
- bytes returnData,
23
- bool success
24
- );
25
-
26
- constructor(address _avatar, address _target) {
27
- bytes memory initParams = abi.encode(_avatar, _target);
28
- setUp(initParams);
29
- }
30
-
31
- /// @dev Passes a transaction to the modifier.
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
36
- /// @notice Can only be called by enabled modules
37
- function execTransactionFromModule(
38
- address to,
39
- uint256 value,
40
- bytes calldata data,
41
- Enum.Operation operation
42
- ) public override moduleOnly returns (bool success) {
43
- success = exec(to, value, data, operation);
44
- emit Executed(to, value, data, operation, success);
45
- }
46
-
47
- /// @dev Passes a transaction to the modifier, expects return data.
48
- /// @param to Destination address of module transaction
49
- /// @param value Ether value of module transaction
50
- /// @param data Data payload of module transaction
51
- /// @param operation Operation type of module transaction
52
- /// @notice Can only be called by enabled modules
53
- function execTransactionFromModuleReturnData(
54
- address to,
55
- uint256 value,
56
- bytes calldata data,
57
- Enum.Operation operation
58
- ) public override moduleOnly returns (bool success, bytes memory returnData) {
59
- (success, returnData) = execAndReturnData(to, value, data, operation);
60
- emit ExecutedAndReturnedData(
61
- to,
62
- value,
63
- data,
64
- operation,
65
- returnData,
66
- success
67
- );
68
- }
69
-
70
- function setUp(bytes memory initializeParams) public override initializer {
71
- (address _avatar, address _target) = abi.decode(
72
- initializeParams,
73
- (address, address)
74
- );
75
- setupModules();
76
- _transferOwnership(msg.sender);
77
- avatar = _avatar;
78
- target = _target;
79
- }
80
-
81
- function exposeSentOrSignedByModule() external view returns (address) {
82
- return sentOrSignedByModule();
83
- }
84
-
85
- function attemptToSetupModules() public {
86
- setupModules();
87
- }
88
- }
@@ -1,66 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
-
3
- /// @title Modifier Interface - A contract that sits between a Module and an Avatar and enforce some additional logic.
4
- pragma solidity >=0.7.0 <0.9.0;
5
-
6
- import "../core/GuardableModule.sol";
7
-
8
- contract TestModule is GuardableModule {
9
- constructor(address _avatar, address _target) {
10
- bytes memory initParams = abi.encode(_avatar, _target);
11
- setUp(initParams);
12
- }
13
-
14
- event executed(
15
- address to,
16
- uint256 value,
17
- bytes data,
18
- Enum.Operation operation,
19
- bool success
20
- );
21
- event executedAndReturnedData(
22
- address to,
23
- uint256 value,
24
- bytes data,
25
- Enum.Operation operation,
26
- bytes returnData,
27
- bool success
28
- );
29
-
30
- function executeTransaction(
31
- address to,
32
- uint256 value,
33
- bytes memory data,
34
- Enum.Operation operation
35
- ) public returns (bool success) {
36
- success = exec(to, value, data, operation);
37
- emit executed(to, value, data, operation, success);
38
- }
39
-
40
- function executeTransactionReturnData(
41
- address to,
42
- uint256 value,
43
- bytes memory data,
44
- Enum.Operation operation
45
- ) public returns (bool success, bytes memory returnData) {
46
- (success, returnData) = execAndReturnData(to, value, data, operation);
47
- emit executedAndReturnedData(
48
- to,
49
- value,
50
- data,
51
- operation,
52
- returnData,
53
- success
54
- );
55
- }
56
-
57
- function setUp(bytes memory initializeParams) public override initializer {
58
- __Ownable_init(msg.sender);
59
- (address _avatar, address _target) = abi.decode(
60
- initializeParams,
61
- (address, address)
62
- );
63
- avatar = _avatar;
64
- target = _target;
65
- }
66
- }
@@ -1,71 +0,0 @@
1
- // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity >=0.8.0;
3
-
4
- import "../signature/SignatureChecker.sol";
5
-
6
- contract ContractSignerYes is IERC1271 {
7
- function isValidSignature(
8
- bytes32,
9
- bytes memory
10
- ) external pure override returns (bytes4) {
11
- return 0x1626ba7e;
12
- }
13
- }
14
-
15
- contract ContractSignerNo is IERC1271 {
16
- function isValidSignature(
17
- bytes32,
18
- bytes memory
19
- ) external pure override returns (bytes4) {
20
- return 0x33333333;
21
- }
22
- }
23
-
24
- contract ContractSignerMaybe is IERC1271 {
25
- function isValidSignature(
26
- bytes32,
27
- bytes memory contractSpecificSignature
28
- ) external pure override returns (bytes4) {
29
- bool isValid = contractSpecificSignature.length == 6 &&
30
- bytes6(contractSpecificSignature) == 0x001122334455;
31
-
32
- return isValid ? bytes4(0x1626ba7e) : bytes4(0x33333333);
33
- }
34
- }
35
-
36
- contract ContractSignerOnlyEmpty is IERC1271 {
37
- function isValidSignature(
38
- bytes32,
39
- bytes memory contractSpecificSignature
40
- ) external pure override returns (bytes4) {
41
- bool isValid = contractSpecificSignature.length == 0;
42
- return isValid ? bytes4(0x1626ba7e) : bytes4(0x33333333);
43
- }
44
- }
45
-
46
- contract ContractSignerFaulty {}
47
-
48
- contract ContractSignerReturnSize {
49
- function isValidSignature(
50
- bytes32,
51
- bytes memory
52
- ) external pure returns (bytes2) {
53
- return 0x1626;
54
- }
55
- }
56
-
57
- contract TestSignature is SignatureChecker {
58
- event Hello(address signer);
59
-
60
- event Goodbye(address signer);
61
-
62
- function hello() public {
63
- (, address signer) = moduleTxSignedBy();
64
- emit Hello(signer);
65
- }
66
-
67
- function goodbye(uint256, bytes memory) public {
68
- (, address signer) = moduleTxSignedBy();
69
- emit Goodbye(signer);
70
- }
71
- }