@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
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSourceCode = getSourceCode;
4
+ exports.getContractCreation = getContractCreation;
5
+ exports.getTransaction = getTransaction;
6
+ exports.getCode = getCode;
7
+ exports.verifySourceCode = verifySourceCode;
8
+ exports.checkVerificationStatus = checkVerificationStatus;
9
+ const networks_js_1 = require("./networks.js");
10
+ function isOk(status) {
11
+ return String(status) === "1";
12
+ }
13
+ /**
14
+ * Etherscan double-wraps the standard-JSON source in extra braces. Parse
15
+ * tolerantly so both `{{...}}` and `{...}` payloads succeed.
16
+ */
17
+ function safeJsonParse(input) {
18
+ const trimmed = input.trim();
19
+ try {
20
+ return JSON.parse(trimmed);
21
+ }
22
+ catch {
23
+ return JSON.parse(trimmed.replace(/^\{|\}$/g, "").trim());
24
+ }
25
+ }
26
+ function parseLibraries(input) {
27
+ const libraries = {};
28
+ for (const entry of (input || "").split(/[;,]/)) {
29
+ const match = entry.trim().match(/^(.+?)(?::|\s)+(0x[0-9a-fA-F]{40})$/);
30
+ if (match)
31
+ libraries[match[1].trim()] = match[2];
32
+ }
33
+ return libraries;
34
+ }
35
+ function compilerInputFromExplorerEntry(entry) {
36
+ const sourceCode = entry.SourceCode.trim();
37
+ const contractName = entry.ContractName;
38
+ if (sourceCode.startsWith("{")) {
39
+ const compilerInput = safeJsonParse(sourceCode);
40
+ return {
41
+ compilerInput,
42
+ sourceName: sourceNameFor(compilerInput, contractName),
43
+ };
44
+ }
45
+ const sourceName = entry.ContractFileName || `${contractName}.sol`;
46
+ const settings = {};
47
+ if (entry.OptimizationUsed !== "") {
48
+ settings.optimizer = {
49
+ enabled: String(entry.OptimizationUsed) === "1",
50
+ runs: Number(entry.Runs) || 200,
51
+ };
52
+ }
53
+ if (entry.EVMVersion && entry.EVMVersion !== "Default") {
54
+ settings.evmVersion = entry.EVMVersion;
55
+ }
56
+ const libraries = parseLibraries(entry.Library);
57
+ if (Object.keys(libraries).length > 0) {
58
+ settings.libraries = { [sourceName]: libraries };
59
+ }
60
+ return {
61
+ sourceName,
62
+ compilerInput: {
63
+ language: "Solidity",
64
+ sources: {
65
+ [sourceName]: { content: sourceCode },
66
+ },
67
+ settings,
68
+ },
69
+ };
70
+ }
71
+ function resolveApiKey(network, explicit) {
72
+ return (explicit ||
73
+ process.env[`ETHERSCAN_API_KEY_${network.toUpperCase()}`] ||
74
+ process.env.ETHERSCAN_API_KEY ||
75
+ "");
76
+ }
77
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
78
+ function isRateLimited(body) {
79
+ const text = `${body?.message ?? ""} ${body?.result ?? ""}`.toLowerCase();
80
+ return text.includes("rate limit");
81
+ }
82
+ /**
83
+ * Internal helper to perform a GET against the explorer API.
84
+ * Resolves network, API key, and handles rate-limiting retries.
85
+ */
86
+ async function explorerGet(networkOrChainId, params, apiKey, attempt = 0) {
87
+ const network = (0, networks_js_1.resolveNetwork)(networkOrChainId);
88
+ if (!network.etherscanApiUrl) {
89
+ throw new Error(`${network.name} (chain ${network.chainId}) is not supported by Etherscan V2.`);
90
+ }
91
+ const url = new URL(network.etherscanApiUrl);
92
+ url.searchParams.set("apikey", resolveApiKey(network.name, apiKey));
93
+ for (const [key, value] of Object.entries(params)) {
94
+ url.searchParams.set(key, value);
95
+ }
96
+ const response = await fetch(url);
97
+ if (!response.ok) {
98
+ throw new Error(`Explorer request failed: ${response.status}`);
99
+ }
100
+ const body = (await response.json());
101
+ if (isRateLimited(body) && attempt < 5) {
102
+ await sleep(1000 * (attempt + 1));
103
+ return explorerGet(networkOrChainId, params, apiKey, attempt + 1);
104
+ }
105
+ return body;
106
+ }
107
+ async function explorerPost(networkOrChainId, params, apiKey, attempt = 0) {
108
+ const network = (0, networks_js_1.resolveNetwork)(networkOrChainId);
109
+ if (!network.etherscanApiUrl) {
110
+ throw new Error(`${network.name} (chain ${network.chainId}) is not supported by Etherscan V2.`);
111
+ }
112
+ const body = new URLSearchParams();
113
+ body.set("apikey", resolveApiKey(network.name, apiKey));
114
+ for (const [key, value] of new URL(network.etherscanApiUrl).searchParams) {
115
+ body.set(key, value);
116
+ }
117
+ for (const [key, value] of Object.entries(params)) {
118
+ body.set(key, value);
119
+ }
120
+ const response = await fetch(network.etherscanApiUrl, {
121
+ method: "POST",
122
+ headers: {
123
+ "content-type": "application/x-www-form-urlencoded",
124
+ },
125
+ body,
126
+ });
127
+ if (!response.ok) {
128
+ throw new Error(`Explorer request failed: ${response.status}`);
129
+ }
130
+ const responseBody = (await response.json());
131
+ if (isRateLimited(responseBody) && attempt < 5) {
132
+ await sleep(1000 * (attempt + 1));
133
+ return explorerPost(networkOrChainId, params, apiKey, attempt + 1);
134
+ }
135
+ return responseBody;
136
+ }
137
+ /**
138
+ * Fetch verified source, ABI and compiler input for a deployed contract.
139
+ */
140
+ async function getSourceCode({ address, network, apiKey, }) {
141
+ const { status, message, result } = await explorerGet(network, {
142
+ module: "contract",
143
+ action: "getsourcecode",
144
+ address,
145
+ }, apiKey);
146
+ if (!isOk(status)) {
147
+ throw new Error(`getsourcecode failed for ${address}: ${message}${result ? ` (${result})` : ""}`);
148
+ }
149
+ const entry = result[0];
150
+ if (!entry?.SourceCode) {
151
+ throw new Error(`Contract ${address} is not verified on ${network}`);
152
+ }
153
+ const { compilerInput, sourceName } = compilerInputFromExplorerEntry(entry);
154
+ return {
155
+ contractName: entry.ContractName,
156
+ sourceName,
157
+ compilerVersion: entry.CompilerVersion,
158
+ compilerInput,
159
+ abi: entry.ABI ? safeJsonParse(entry.ABI) : undefined,
160
+ constructorArguments: entry.ConstructorArguments || "",
161
+ };
162
+ }
163
+ /**
164
+ * Resolve the full source path for a contract name within a standard-JSON input.
165
+ */
166
+ function sourceNameFor(compilerInput, contractName) {
167
+ const sources = compilerInput?.sources || {};
168
+ // Prefer a source file whose path basename matches the contract name.
169
+ const match = Object.keys(sources).find((path) => path
170
+ .split("/")
171
+ .pop()
172
+ ?.replace(/\.sol$/, "") === contractName);
173
+ if (match)
174
+ return match;
175
+ const [only] = Object.keys(sources);
176
+ if (only)
177
+ return only;
178
+ throw new Error(`Could not resolve sourceName for ${contractName}`);
179
+ }
180
+ /**
181
+ * Get creation metadata (tx hash and bytecode) for a contract.
182
+ */
183
+ async function getContractCreation({ address, network, apiKey, }) {
184
+ const { status, result } = await explorerGet(network, {
185
+ module: "contract",
186
+ action: "getcontractcreation",
187
+ contractaddresses: address,
188
+ }, apiKey);
189
+ if (!isOk(status) || !Array.isArray(result) || result.length === 0) {
190
+ return undefined;
191
+ }
192
+ return {
193
+ txHash: result[0].txHash,
194
+ creationBytecode: result[0].creationBytecode,
195
+ };
196
+ }
197
+ /**
198
+ * Fetch a transaction (input + to) via the explorer's proxy module.
199
+ */
200
+ async function getTransaction({ txHash, network, apiKey, }) {
201
+ const { result } = await explorerGet(network, {
202
+ module: "proxy",
203
+ action: "eth_getTransactionByHash",
204
+ txhash: txHash,
205
+ }, apiKey);
206
+ if (!result?.input)
207
+ return undefined;
208
+ return { to: result.to ?? null, input: result.input };
209
+ }
210
+ /**
211
+ * Fetch the deployed (runtime) bytecode at an address via the proxy module.
212
+ */
213
+ async function getCode({ address, network, apiKey, }) {
214
+ const { result } = await explorerGet(network, {
215
+ module: "proxy",
216
+ action: "eth_getCode",
217
+ address,
218
+ tag: "latest",
219
+ }, apiKey);
220
+ return result ?? "0x";
221
+ }
222
+ /**
223
+ * Submit standard-JSON Solidity source for verification.
224
+ */
225
+ async function verifySourceCode({ address, network, sourceCode, contractName, compilerVersion, constructorArguments = "", evmVersion = "default", licenseType = "1", apiKey, }) {
226
+ const { status, message, result } = await explorerPost(network, {
227
+ module: "contract",
228
+ action: "verifysourcecode",
229
+ contractaddress: address,
230
+ sourceCode,
231
+ codeformat: "solidity-standard-json-input",
232
+ contractname: contractName,
233
+ compilerversion: compilerVersion,
234
+ optimizationUsed: "0",
235
+ runs: "200",
236
+ constructorArguments,
237
+ evmVersion,
238
+ licenseType,
239
+ }, apiKey);
240
+ if (!isOk(status)) {
241
+ if (typeof result === "string" &&
242
+ result.toLowerCase().includes("already")) {
243
+ return result;
244
+ }
245
+ throw new Error(`${message}${result ? ` (${result})` : ""}`);
246
+ }
247
+ return result;
248
+ }
249
+ /**
250
+ * Check the async source verification status for a submitted GUID.
251
+ */
252
+ async function checkVerificationStatus({ guid, network, apiKey, }) {
253
+ const { status, message, result } = await explorerPost(network, {
254
+ module: "contract",
255
+ action: "checkverifystatus",
256
+ guid,
257
+ }, apiKey);
258
+ if (!isOk(status)) {
259
+ if (typeof result === "string" && result)
260
+ return result;
261
+ throw new Error(`${message}${result ? ` (${result})` : ""}`);
262
+ }
263
+ return result;
264
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extract = extract;
4
+ const ethers_1 = require("ethers");
5
+ const zodiac_core_1 = require("@gnosis-guild/zodiac-core");
6
+ const networks_js_1 = require("./networks.js");
7
+ const explorer_js_1 = require("./explorer.js");
8
+ const singleton_js_1 = require("./singleton.js");
9
+ /**
10
+ * Enumerate the libraries a contract links, from its standard-JSON compiler
11
+ * input. Shape: `settings.libraries = { [sourceName]: { [libName]: address } }`.
12
+ */
13
+ function enumerateLibraries(input) {
14
+ const libraries = input?.settings?.libraries || {};
15
+ const out = [];
16
+ for (const sourceName of Object.keys(libraries)) {
17
+ for (const libraryName of Object.keys(libraries[sourceName] || {})) {
18
+ const address = libraries[sourceName][libraryName];
19
+ if (address)
20
+ out.push({ sourceName, libraryName, address });
21
+ }
22
+ }
23
+ return out;
24
+ }
25
+ /**
26
+ * Extract an asset (and, recursively, every library it links) from a block
27
+ * explorer.
28
+ *
29
+ * Recursion is depth-first and deduplicated by address, so a library shared by
30
+ * several contracts is fetched once.
31
+ *
32
+ * @returns every asset produced, keyed by lower-cased address.
33
+ */
34
+ async function extract({ network, address, apiKey, }) {
35
+ const net = (0, networks_js_1.resolveNetwork)(network);
36
+ const visited = new Map();
37
+ await extractOne({
38
+ address,
39
+ networkName: net.name,
40
+ apiKey,
41
+ visited,
42
+ });
43
+ return visited;
44
+ }
45
+ async function extractOne({ address, nameHint, networkName, apiKey, visited, }) {
46
+ const key = (0, ethers_1.getAddress)(address).toLowerCase();
47
+ const existing = visited.get(key);
48
+ if (existing)
49
+ return existing;
50
+ const source = await (0, explorer_js_1.getSourceCode)({ address, network: networkName, apiKey });
51
+ const name = nameHint || source.contractName;
52
+ const creation = await (0, explorer_js_1.getContractCreation)({
53
+ address,
54
+ network: networkName,
55
+ apiKey,
56
+ });
57
+ const tx = creation?.txHash
58
+ ? await (0, explorer_js_1.getTransaction)({
59
+ txHash: creation.txHash,
60
+ network: networkName,
61
+ apiKey,
62
+ })
63
+ : undefined;
64
+ const recovered = tx && (0, singleton_js_1.recoverDeployment)(tx);
65
+ if (!recovered) {
66
+ throw new Error(`${name} @ ${address} was not deployed via a known singleton factory.`);
67
+ }
68
+ const { factory, initCode: creationBytecode, salt } = recovered;
69
+ // Sanity: the recovered creation bytecode must reproduce the on-chain address
70
+ // via CREATE2. By construction it always does — a failure means a parsing bug.
71
+ // zodiac-core's helper concatenates bytecode + encoded constructor args; we
72
+ // already hold the full creation bytecode, so pass it as `bytecode` with empty
73
+ // args (the concat is then a no-op).
74
+ const predicted = (0, zodiac_core_1.predictSingletonAddress)({
75
+ factory,
76
+ bytecode: creationBytecode,
77
+ constructorArgs: { types: [], values: [] },
78
+ salt,
79
+ });
80
+ if (predicted.toLowerCase() !== key) {
81
+ throw new Error(`${name} @ ${address}: recovered creation bytecode reproduces ` +
82
+ `${predicted}, not the on-chain address. Refusing to write.`);
83
+ }
84
+ // Deployed (runtime) bytecode actually stored at the address.
85
+ const bytecode = await (0, explorer_js_1.getCode)({ address, network: networkName, apiKey });
86
+ // Record this asset before recursing so shared libraries dedupe correctly.
87
+ const asset = {
88
+ name,
89
+ abi: source.abi,
90
+ sourceCode: {
91
+ contractName: source.contractName,
92
+ sourceName: source.sourceName,
93
+ compilerVersion: source.compilerVersion,
94
+ constructorArguments: source.constructorArguments,
95
+ input: source.compilerInput,
96
+ },
97
+ bytecode: {
98
+ address: predicted,
99
+ factory,
100
+ salt,
101
+ creationBytecode,
102
+ bytecode,
103
+ },
104
+ };
105
+ visited.set(key, asset);
106
+ // Recurse into linked libraries.
107
+ for (const lib of enumerateLibraries(source.compilerInput)) {
108
+ await extractOne({
109
+ address: lib.address,
110
+ nameHint: lib.libraryName,
111
+ networkName,
112
+ apiKey,
113
+ visited,
114
+ });
115
+ }
116
+ return asset;
117
+ }
package/dist/cjs/index.js CHANGED
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./factory"), exports);
3
+ exports.sanityCheckZodiacModuleAddress = exports.getZodiacModuleAddress = exports.getZodiacModuleAbi = exports.SupportedNetworks = exports.KnownContracts = exports.CanonicalAddresses = exports.predictSingletonAddress = exports.predictProxyAddress = exports.encodeDeploySingleton = exports.encodeDeployProxy = void 0;
4
+ var zodiac_core_1 = require("@gnosis-guild/zodiac-core");
5
+ Object.defineProperty(exports, "encodeDeployProxy", { enumerable: true, get: function () { return zodiac_core_1.encodeDeployProxy; } });
6
+ Object.defineProperty(exports, "encodeDeploySingleton", { enumerable: true, get: function () { return zodiac_core_1.encodeDeploySingleton; } });
7
+ Object.defineProperty(exports, "predictProxyAddress", { enumerable: true, get: function () { return zodiac_core_1.predictProxyAddress; } });
8
+ Object.defineProperty(exports, "predictSingletonAddress", { enumerable: true, get: function () { return zodiac_core_1.predictSingletonAddress; } });
9
+ var contracts_js_1 = require("./contracts.js");
10
+ Object.defineProperty(exports, "CanonicalAddresses", { enumerable: true, get: function () { return contracts_js_1.CanonicalAddresses; } });
11
+ Object.defineProperty(exports, "KnownContracts", { enumerable: true, get: function () { return contracts_js_1.KnownContracts; } });
12
+ Object.defineProperty(exports, "SupportedNetworks", { enumerable: true, get: function () { return contracts_js_1.SupportedNetworks; } });
13
+ var zodiacModule_js_1 = require("./zodiacModule.js");
14
+ Object.defineProperty(exports, "getZodiacModuleAbi", { enumerable: true, get: function () { return zodiacModule_js_1.getZodiacModuleAbi; } });
15
+ Object.defineProperty(exports, "getZodiacModuleAddress", { enumerable: true, get: function () { return zodiacModule_js_1.getZodiacModuleAddress; } });
16
+ Object.defineProperty(exports, "sanityCheckZodiacModuleAddress", { enumerable: true, get: function () { return zodiacModule_js_1.sanityCheckZodiacModuleAddress; } });
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.defaultMastercopiesDir = defaultMastercopiesDir;
7
+ exports.writeAsset = writeAsset;
8
+ const fs_1 = require("fs");
9
+ const path_1 = __importDefault(require("path"));
10
+ const process_1 = require("process");
11
+ /**
12
+ * The on-disk layout:
13
+ *
14
+ * mastercopies/<module>/<version>/<asset>/abi.json
15
+ * mastercopies/<module>/<version>/<asset>/sourcecode.json
16
+ * mastercopies/<module>/<version>/<asset>/bytecode.json
17
+ *
18
+ * where <asset> is the main contract name or a linked-library name.
19
+ */
20
+ function defaultMastercopiesDir() {
21
+ return path_1.default.join((0, process_1.cwd)(), "mastercopies");
22
+ }
23
+ /**
24
+ * Write one asset's three files, creating directories as needed.
25
+ * Returns the asset directory.
26
+ */
27
+ function writeAsset({ module, version, asset, mastercopiesDir = defaultMastercopiesDir(), }) {
28
+ const dir = path_1.default.join(mastercopiesDir, module, version, asset.name);
29
+ (0, fs_1.mkdirSync)(dir, { recursive: true });
30
+ (0, fs_1.writeFileSync)(path_1.default.join(dir, "abi.json"), JSON.stringify(asset.abi, null, 2), "utf8");
31
+ (0, fs_1.writeFileSync)(path_1.default.join(dir, "sourcecode.json"), JSON.stringify(asset.sourceCode, null, 2), "utf8");
32
+ (0, fs_1.writeFileSync)(path_1.default.join(dir, "bytecode.json"), JSON.stringify(asset.bytecode, null, 2), "utf8");
33
+ return dir;
34
+ }
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ /**
3
+ * Source-of-truth network registry.
4
+ *
5
+ * One entry per chain referenced across the Zodiac repos (the in-repo chain
6
+ * list plus the chains served by `ser` and `rolesSubgraph`). Each entry carries:
7
+ *
8
+ * - `chainId` the canonical chain id
9
+ * - `alchemyRpcUrl` Alchemy JSON-RPC endpoint, or null when Alchemy does
10
+ * not serve the chain. The key is read from `ALCHEMY_KEY`.
11
+ * - `publicRpc` public JSON-RPC endpoint, or null when no public
12
+ * fallback is configured.
13
+ * - `etherscanApiUrl` Etherscan V2 multichain explorer API endpoint (with
14
+ * `?chainid=`), or null when the chain is not supported
15
+ * by Etherscan V2. V2 support was checked against
16
+ * api.etherscan.io/v2/chainlist.
17
+ *
18
+ * Entries are sorted by `chainId`.
19
+ *
20
+ * Not wired into anything yet — this is a config drop, intentionally standalone.
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.networks = void 0;
24
+ exports.resolveNetwork = resolveNetwork;
25
+ const ETHERSCAN_V2_API = "https://api.etherscan.io/v2/api";
26
+ const alchemyKey = typeof process !== "undefined" ? process.env.ALCHEMY_KEY ?? "" : "";
27
+ const ETHERSCAN_V2_CHAIN_IDS = new Set([
28
+ 1, 10, 50, 51, 56, 100, 130, 143, 146, 199, 204, 252, 480, 988, 999, 1029,
29
+ 1284, 1285, 1287, 1328, 1329, 2201, 2523, 2741, 4326, 4352, 5000, 5611, 6343,
30
+ 8453, 9745, 9746, 10143, 11124, 33111, 33139, 42161, 42220, 43114, 43522,
31
+ 59144, 80069, 80094, 81457, 167000, 167013, 560048, 737373, 747474, 11155111,
32
+ 168587773,
33
+ ]);
34
+ /** Build an Alchemy RPC URL from its endpoint subdomain. */
35
+ const alchemy = (subdomain) => `https://${subdomain}.g.alchemy.com/v2/${alchemyKey}`;
36
+ /** Build the Etherscan V2 multichain API URL for a chain. */
37
+ const etherscanV2 = (chainId) => ETHERSCAN_V2_CHAIN_IDS.has(chainId)
38
+ ? `${ETHERSCAN_V2_API}?chainid=${chainId}`
39
+ : null;
40
+ exports.networks = [
41
+ {
42
+ name: "mainnet",
43
+ chainId: 1,
44
+ alchemyRpcUrl: alchemy("eth-mainnet"),
45
+ publicRpc: null,
46
+ etherscanApiUrl: etherscanV2(1),
47
+ },
48
+ {
49
+ name: "optimism",
50
+ chainId: 10,
51
+ alchemyRpcUrl: alchemy("opt-mainnet"),
52
+ publicRpc: null,
53
+ etherscanApiUrl: etherscanV2(10),
54
+ },
55
+ {
56
+ name: "flare",
57
+ chainId: 14,
58
+ alchemyRpcUrl: null,
59
+ publicRpc: "https://flare-api.flare.network/ext/C/rpc",
60
+ etherscanApiUrl: null,
61
+ },
62
+ {
63
+ name: "bnb",
64
+ chainId: 56,
65
+ alchemyRpcUrl: alchemy("bnb-mainnet"),
66
+ publicRpc: "https://bsc-dataseed.bnbchain.org",
67
+ etherscanApiUrl: etherscanV2(56),
68
+ },
69
+ {
70
+ name: "gnosis",
71
+ chainId: 100,
72
+ alchemyRpcUrl: null,
73
+ publicRpc: "https://rpc.gnosischain.com",
74
+ etherscanApiUrl: etherscanV2(100),
75
+ },
76
+ {
77
+ name: "unichain",
78
+ chainId: 130,
79
+ alchemyRpcUrl: alchemy("unichain-mainnet"),
80
+ publicRpc: "https://mainnet.unichain.org",
81
+ etherscanApiUrl: etherscanV2(130),
82
+ },
83
+ {
84
+ name: "polygon",
85
+ chainId: 137,
86
+ alchemyRpcUrl: alchemy("polygon-mainnet"),
87
+ publicRpc: null,
88
+ etherscanApiUrl: etherscanV2(137),
89
+ },
90
+ {
91
+ name: "sonic",
92
+ chainId: 146,
93
+ alchemyRpcUrl: null,
94
+ publicRpc: "https://rpc.soniclabs.com",
95
+ etherscanApiUrl: etherscanV2(146),
96
+ },
97
+ {
98
+ name: "worldchain",
99
+ chainId: 480,
100
+ alchemyRpcUrl: null,
101
+ publicRpc: "https://worldchain-mainnet.g.alchemy.com/public",
102
+ etherscanApiUrl: etherscanV2(480),
103
+ },
104
+ {
105
+ name: "hyperevm",
106
+ chainId: 999,
107
+ alchemyRpcUrl: null, //alchemy("hyperliquid-mainnet"),
108
+ publicRpc: null,
109
+ etherscanApiUrl: etherscanV2(999),
110
+ },
111
+ {
112
+ name: "megaeth",
113
+ chainId: 4326,
114
+ alchemyRpcUrl: alchemy("megaeth-mainnet"),
115
+ publicRpc: null,
116
+ etherscanApiUrl: etherscanV2(4326),
117
+ },
118
+ {
119
+ name: "mantle",
120
+ chainId: 5000,
121
+ alchemyRpcUrl: alchemy("mantle-mainnet"),
122
+ publicRpc: null,
123
+ etherscanApiUrl: etherscanV2(5000),
124
+ },
125
+ {
126
+ name: "base",
127
+ chainId: 8453,
128
+ alchemyRpcUrl: alchemy("base-mainnet"),
129
+ publicRpc: null,
130
+ etherscanApiUrl: etherscanV2(8453),
131
+ },
132
+ {
133
+ name: "plasma",
134
+ chainId: 9745,
135
+ alchemyRpcUrl: null,
136
+ publicRpc: "https://rpc.plasma.to",
137
+ etherscanApiUrl: etherscanV2(9745),
138
+ },
139
+ {
140
+ name: "arbitrum",
141
+ chainId: 42161,
142
+ alchemyRpcUrl: alchemy("arb-mainnet"),
143
+ publicRpc: null,
144
+ etherscanApiUrl: etherscanV2(42161),
145
+ },
146
+ {
147
+ name: "celo",
148
+ chainId: 42220,
149
+ alchemyRpcUrl: alchemy("celo-mainnet"),
150
+ publicRpc: null,
151
+ etherscanApiUrl: etherscanV2(42220),
152
+ },
153
+ {
154
+ name: "avalanche",
155
+ chainId: 43114,
156
+ alchemyRpcUrl: alchemy("avax-mainnet"),
157
+ publicRpc: null,
158
+ etherscanApiUrl: etherscanV2(43114),
159
+ },
160
+ {
161
+ name: "ink",
162
+ chainId: 57073,
163
+ alchemyRpcUrl: alchemy("ink-mainnet"),
164
+ publicRpc: "https://rpc-gel.inkonchain.com",
165
+ etherscanApiUrl: null,
166
+ },
167
+ {
168
+ name: "linea",
169
+ chainId: 59144,
170
+ alchemyRpcUrl: alchemy("linea-mainnet"),
171
+ publicRpc: null,
172
+ etherscanApiUrl: etherscanV2(59144),
173
+ },
174
+ {
175
+ name: "bob",
176
+ chainId: 60808,
177
+ alchemyRpcUrl: null,
178
+ publicRpc: "https://rpc.gobob.xyz",
179
+ etherscanApiUrl: null,
180
+ },
181
+ {
182
+ name: "berachain",
183
+ chainId: 80094,
184
+ alchemyRpcUrl: null,
185
+ publicRpc: "https://rpc.berachain.com",
186
+ etherscanApiUrl: etherscanV2(80094),
187
+ },
188
+ {
189
+ name: "scroll",
190
+ chainId: 534352,
191
+ alchemyRpcUrl: alchemy("scroll-mainnet"),
192
+ publicRpc: null,
193
+ etherscanApiUrl: null,
194
+ },
195
+ {
196
+ name: "katana",
197
+ chainId: 747474,
198
+ alchemyRpcUrl: null,
199
+ publicRpc: "https://rpc.katana.network",
200
+ etherscanApiUrl: etherscanV2(747474),
201
+ },
202
+ {
203
+ name: "sepolia",
204
+ chainId: 11155111,
205
+ alchemyRpcUrl: alchemy("eth-sepolia"),
206
+ publicRpc: null,
207
+ etherscanApiUrl: etherscanV2(11155111),
208
+ },
209
+ ];
210
+ /**
211
+ * Resolve a network name or chain id (string or number) to its config. An
212
+ * unknown name throws; an unknown numeric chain id resolves to an Etherscan V2
213
+ * entry only when that chain is listed by Etherscan V2.
214
+ */
215
+ function resolveNetwork(networkOrChainId) {
216
+ const key = String(networkOrChainId).toLowerCase();
217
+ const found = exports.networks.find((n) => n.name.toLowerCase() === key || String(n.chainId) === key);
218
+ if (found)
219
+ return found;
220
+ if (/^\d+$/.test(key)) {
221
+ const chainId = Number(key);
222
+ return {
223
+ name: key,
224
+ chainId,
225
+ alchemyRpcUrl: null,
226
+ publicRpc: null,
227
+ etherscanApiUrl: etherscanV2(chainId),
228
+ };
229
+ }
230
+ throw new Error(`Unknown network "${networkOrChainId}". Known networks: ${exports.networks
231
+ .map((n) => n.name)
232
+ .join(", ")} (or pass a numeric chain id).`);
233
+ }
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}