@etherisc/gif-next 0.0.2-e8b06c8-540 → 0.0.2-e8ea17d-715

Sign up to get free protection for your applications and to get access to all the features.
Files changed (344) hide show
  1. package/README.md +13 -1
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +38 -33
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +8 -8
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  14. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +8 -8
  16. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +23 -4
  18. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  19. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +26 -26
  20. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +19 -19
  22. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +74 -74
  25. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +55 -55
  27. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  30. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  31. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  32. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +7 -7
  33. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  34. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +10 -5
  35. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  36. package/artifacts/contracts/instance/Instance.sol/Instance.json +19 -19
  37. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  38. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1208 -290
  39. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  40. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +31 -31
  41. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  42. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +58 -58
  43. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  44. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +44 -39
  45. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  46. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +35 -35
  47. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  48. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +83 -84
  49. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  50. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  51. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  52. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  53. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  54. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  55. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  56. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  58. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  62. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  63. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  64. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  65. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  66. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  67. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +16 -16
  68. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  69. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +21 -21
  70. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  71. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  72. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  73. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  74. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  75. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +32 -32
  76. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  77. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +34 -34
  78. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  79. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  80. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +19 -19
  81. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  82. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +55 -55
  83. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +40 -40
  85. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  86. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  87. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  88. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  89. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  90. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +36 -36
  91. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  92. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +36 -36
  93. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  94. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +32 -32
  95. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  96. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +34 -34
  97. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  98. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  99. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +19 -19
  100. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  101. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +72 -72
  102. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  103. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +54 -54
  104. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  105. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  106. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  107. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  108. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  109. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  110. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  111. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +50 -50
  112. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +43 -43
  114. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  115. package/artifacts/contracts/product/PricingService.sol/PricingService.json +58 -58
  116. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  117. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +47 -47
  118. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  119. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  120. package/artifacts/contracts/product/ProductService.sol/ProductService.json +20 -20
  121. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +28 -28
  123. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  124. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  125. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  126. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +50 -46
  127. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  128. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +0 -183
  129. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  130. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  131. package/artifacts/contracts/registry/Registry.sol/Registry.json +101 -73
  132. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  133. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +100 -95
  134. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  135. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
  136. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +27 -27
  138. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  139. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  140. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  141. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  142. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  143. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +26 -7
  144. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  145. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  146. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  147. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  148. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +62 -62
  149. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +49 -49
  151. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  152. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  153. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  154. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  155. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  156. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  157. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  158. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +11 -5
  159. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  160. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +0 -5
  161. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  162. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  163. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  164. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  165. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  166. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  167. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  168. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  169. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  170. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +15 -89
  171. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  172. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +4 -65
  173. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  174. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  175. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  176. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -6
  177. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  178. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
  179. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  180. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +14 -14
  181. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  182. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -8
  183. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  184. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  185. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  186. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  187. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
  188. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  189. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  190. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  191. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  192. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  193. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  194. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +32 -32
  195. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  196. package/artifacts/contracts/staking/Staking.sol/Staking.json +44 -44
  197. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  198. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  199. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  200. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +40 -40
  201. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  202. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
  203. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  204. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +26 -26
  205. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  206. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +31 -31
  207. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  208. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +145 -169
  209. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  210. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -22
  211. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  212. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  213. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  214. package/artifacts/contracts/type/Amount.sol/AmountLib.json +8 -8
  215. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  216. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  217. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  218. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
  219. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  220. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  221. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  222. package/artifacts/contracts/type/Fee.sol/FeeLib.json +12 -12
  223. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  224. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  225. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  226. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
  227. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  228. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  229. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  230. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  231. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  232. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
  233. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  234. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  235. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  236. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  237. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  238. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
  239. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  240. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +14 -14
  241. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  242. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
  243. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  244. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  245. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  246. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  247. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  248. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  249. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  251. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -4
  253. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  255. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  256. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
  257. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  259. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  261. package/contracts/authorization/AccessAdmin.sol +8 -39
  262. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  263. package/contracts/authorization/IServiceAuthorization.sol +3 -0
  264. package/contracts/authorization/ModuleAuthorization.sol +0 -125
  265. package/contracts/authorization/ServiceAuthorization.sol +4 -0
  266. package/contracts/distribution/DistributionService.sol +0 -1
  267. package/contracts/distribution/IDistributionComponent.sol +0 -30
  268. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  269. package/contracts/instance/IInstance.sol +7 -7
  270. package/contracts/instance/IInstanceService.sol +6 -5
  271. package/contracts/instance/Instance.sol +8 -47
  272. package/contracts/instance/InstanceAdmin.sol +201 -269
  273. package/contracts/instance/InstanceAuthorizationV3.sol +14 -25
  274. package/contracts/instance/InstanceReader.sol +0 -5
  275. package/contracts/instance/InstanceService.sol +30 -103
  276. package/contracts/instance/InstanceStore.sol +6 -3
  277. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  278. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +5 -5
  279. package/contracts/pool/BundleService.sol +8 -8
  280. package/contracts/pool/PoolService.sol +0 -1
  281. package/contracts/registry/IRegistry.sol +26 -16
  282. package/contracts/registry/IRegistryService.sol +6 -6
  283. package/contracts/registry/Registry.sol +80 -86
  284. package/contracts/registry/RegistryAdmin.sol +24 -22
  285. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  286. package/contracts/registry/{ReleaseManager.sol → ReleaseRegistry.sol} +148 -191
  287. package/contracts/registry/ServiceAuthorizationV3.sol +5 -7
  288. package/contracts/registry/TokenRegistry.sol +2 -2
  289. package/contracts/shared/ComponentService.sol +2 -47
  290. package/contracts/shared/IKeyValueStore.sol +1 -0
  291. package/contracts/shared/ILifecycle.sol +1 -2
  292. package/contracts/shared/InstanceLinkedComponent.sol +0 -1
  293. package/contracts/shared/KeyValueStore.sol +6 -2
  294. package/contracts/shared/Lifecycle.sol +16 -69
  295. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  296. package/contracts/staking/IStaking.sol +0 -1
  297. package/contracts/staking/IStakingService.sol +12 -5
  298. package/contracts/staking/Staking.sol +1 -3
  299. package/contracts/staking/StakingLifecycle.sol +23 -0
  300. package/contracts/staking/StakingManager.sol +0 -1
  301. package/contracts/staking/StakingReader.sol +6 -7
  302. package/contracts/staking/StakingStore.sol +10 -8
  303. package/contracts/type/ObjectType.sol +3 -7
  304. package/contracts/type/RoleId.sol +10 -38
  305. package/contracts/type/Version.sol +3 -1
  306. package/package.json +3 -3
  307. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.dbg.json +0 -4
  308. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.json +0 -1385
  309. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  310. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -703
  311. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.dbg.json +0 -4
  312. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.json +0 -1616
  313. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  314. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  315. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  316. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -181
  317. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  318. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1237
  319. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  320. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  321. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  322. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  323. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  324. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  325. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  326. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  327. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  328. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  329. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  330. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  331. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  332. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  333. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  334. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  335. package/contracts/authorization/InstanceAdmin.sol +0 -108
  336. package/contracts/instance/InstanceAdminNew.sol +0 -261
  337. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -422
  338. package/contracts/shared/AccessManagerCustom.sol +0 -741
  339. package/contracts/shared/AccessManagerExtended.sol +0 -481
  340. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  341. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  342. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  343. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  344. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/738273943de8559a18576d572e141a51.json"
3
+ "buildInfo": "../../../build-info/8184b9bf6735d0fabf3de554db2eb1cf.json"
4
4
  }
@@ -85,8 +85,8 @@
85
85
  "type": "function"
86
86
  }
87
87
  ],
88
- "bytecode": "0x61018c61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f91962014610083578063ac43d83414610098578063b2466acf146100c9575b600080fd5b61006e610069366004610108565b6100df565b60405190151581526020015b60405180910390f35b61006e61009136600461013b565b60ff161590565b6100ac6100a636600461013b565b60ff1690565b6040516bffffffffffffffffffffffff909116815260200161007a565b61006e6100d736600461013b565b60ff16151590565b600060ff808416908316145b9392505050565b803560ff8116811461010357600080fd5b919050565b6000806040838503121561011b57600080fd5b610124836100f2565b9150610132602084016100f2565b90509250929050565b60006020828403121561014d57600080fd5b6100eb826100f256fea26469706673582212209b02a7562247660663f5dc4b612b01c9854404b7ed5d3c61a3df7ce4e36004bd64736f6c63430008140033",
89
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632c2f8a671461005b5780636f91962014610083578063ac43d83414610098578063b2466acf146100c9575b600080fd5b61006e610069366004610108565b6100df565b60405190151581526020015b60405180910390f35b61006e61009136600461013b565b60ff161590565b6100ac6100a636600461013b565b60ff1690565b6040516bffffffffffffffffffffffff909116815260200161007a565b61006e6100d736600461013b565b60ff16151590565b600060ff808416908316145b9392505050565b803560ff8116811461010357600080fd5b919050565b6000806040838503121561011b57600080fd5b610124836100f2565b9150610132602084016100f2565b90509250929050565b60006020828403121561014d57600080fd5b6100eb826100f256fea26469706673582212209b02a7562247660663f5dc4b612b01c9854404b7ed5d3c61a3df7ce4e36004bd64736f6c63430008140033",
88
+ "bytecode": "0x610184610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c80632c2f8a67146100595780636f91962014610081578063ac43d83414610096578063b2466acf146100c7575b5f80fd5b61006c610067366004610104565b6100dd565b60405190151581526020015b60405180910390f35b61006c61008f366004610135565b60ff161590565b6100aa6100a4366004610135565b60ff1690565b6040516bffffffffffffffffffffffff9091168152602001610078565b61006c6100d5366004610135565b60ff16151590565b5f60ff808416908316145b9392505050565b803560ff811681146100ff575f80fd5b919050565b5f8060408385031215610115575f80fd5b61011e836100ef565b915061012c602084016100ef565b90509250929050565b5f60208284031215610145575f80fd5b6100e8826100ef56fea264697066735822122006b46b33ddb2f4701fd0151c656584e781bb09d86522fc52637fd83aab71fb0464736f6c634300081a0033",
89
+ "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c80632c2f8a67146100595780636f91962014610081578063ac43d83414610096578063b2466acf146100c7575b5f80fd5b61006c610067366004610104565b6100dd565b60405190151581526020015b60405180910390f35b61006c61008f366004610135565b60ff161590565b6100aa6100a4366004610135565b60ff1690565b6040516bffffffffffffffffffffffff9091168152602001610078565b61006c6100d5366004610135565b60ff16151590565b5f60ff808416908316145b9392505050565b803560ff811681146100ff575f80fd5b919050565b5f8060408385031215610115575f80fd5b61011e836100ef565b915061012c602084016100ef565b90509250929050565b5f60208284031215610145575f80fd5b6100e8826100ef56fea264697066735822122006b46b33ddb2f4701fd0151c656584e781bb09d86522fc52637fd83aab71fb0464736f6c634300081a0033",
90
90
  "linkReferences": {},
91
91
  "deployedLinkReferences": {}
92
92
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/738273943de8559a18576d572e141a51.json"
3
+ "buildInfo": "../../../build-info/8184b9bf6735d0fabf3de554db2eb1cf.json"
4
4
  }
@@ -125,8 +125,8 @@
125
125
  "type": "function"
126
126
  }
127
127
  ],
128
- "bytecode": "0x61038861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80633447c0301461006657806354fe3eb71461008d578063a9dbaf25146100a0578063b11a19e8146100c1578063cdc23e69146100e1575b600080fd5b6100786100743660046101c9565b1490565b60405190151581526020015b60405180910390f35b61007861009b3660046101c9565b141590565b6100b36100ae3660046101eb565b6100f4565b604051908152602001610084565b6100d46100cf3660046101eb565b610105565b604051610084919061024a565b6100b36100ef36600461027a565b610110565b60006100ff8261011b565b92915050565b60606100ff82610143565b60006100ff82610182565b600060ff8216601f8111156100ff57604051632cd44ac360e21b815260040160405180910390fd5b606060006101508361011b565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600080829050601f815111156101b6578260405163305a27a960e01b81526004016101ad919061024a565b60405180910390fd5b80516101c18261032b565b179392505050565b600080604083850312156101dc57600080fd5b50508035926020909101359150565b6000602082840312156101fd57600080fd5b5035919050565b6000815180845260005b8181101561022a5760208185018101518683018201520161020e565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061025d6020830184610204565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561028c57600080fd5b813567ffffffffffffffff808211156102a457600080fd5b818401915084601f8301126102b857600080fd5b8135818111156102ca576102ca610264565b604051601f8201601f19908116603f011681019083821181831017156102f2576102f2610264565b8160405282815287602084870101111561030b57600080fd5b826020860160208301376000928101602001929092525095945050505050565b8051602080830151919081101561034c576000198160200360031b1b821691505b5091905056fea26469706673582212203b7c9b71763f7ecf7075da3bb20d8fd860fbf15161f39d191d4ebd87a5e8293264736f6c63430008140033",
129
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80633447c0301461006657806354fe3eb71461008d578063a9dbaf25146100a0578063b11a19e8146100c1578063cdc23e69146100e1575b600080fd5b6100786100743660046101c9565b1490565b60405190151581526020015b60405180910390f35b61007861009b3660046101c9565b141590565b6100b36100ae3660046101eb565b6100f4565b604051908152602001610084565b6100d46100cf3660046101eb565b610105565b604051610084919061024a565b6100b36100ef36600461027a565b610110565b60006100ff8261011b565b92915050565b60606100ff82610143565b60006100ff82610182565b600060ff8216601f8111156100ff57604051632cd44ac360e21b815260040160405180910390fd5b606060006101508361011b565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600080829050601f815111156101b6578260405163305a27a960e01b81526004016101ad919061024a565b60405180910390fd5b80516101c18261032b565b179392505050565b600080604083850312156101dc57600080fd5b50508035926020909101359150565b6000602082840312156101fd57600080fd5b5035919050565b6000815180845260005b8181101561022a5760208185018101518683018201520161020e565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061025d6020830184610204565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561028c57600080fd5b813567ffffffffffffffff808211156102a457600080fd5b818401915084601f8301126102b857600080fd5b8135818111156102ca576102ca610264565b604051601f8201601f19908116603f011681019083821181831017156102f2576102f2610264565b8160405282815287602084870101111561030b57600080fd5b826020860160208301376000928101602001929092525095945050505050565b8051602080830151919081101561034c576000198160200360031b1b821691505b5091905056fea26469706673582212203b7c9b71763f7ecf7075da3bb20d8fd860fbf15161f39d191d4ebd87a5e8293264736f6c63430008140033",
128
+ "bytecode": "0x610362610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c80633447c0301461006457806354fe3eb71461008b578063a9dbaf251461009e578063b11a19e8146100bf578063cdc23e69146100df575b5f80fd5b6100766100723660046101c1565b1490565b60405190151581526020015b60405180910390f35b6100766100993660046101c1565b141590565b6100b16100ac3660046101e1565b6100f2565b604051908152602001610082565b6100d26100cd3660046101e1565b610102565b6040516100829190610226565b6100b16100ed366004610253565b61010d565b5f6100fc82610117565b92915050565b60606100fc8261013e565b5f6100fc8261017b565b5f60ff8216601f8111156100fc57604051632cd44ac360e21b815260040160405180910390fd5b60605f61014a83610117565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f80829050601f815111156101ae578260405163305a27a960e01b81526004016101a59190610226565b60405180910390fd5b80516101b982610306565b179392505050565b5f80604083850312156101d2575f80fd5b50508035926020909101359150565b5f602082840312156101f1575f80fd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61023860208301846101f8565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610263575f80fd5b813567ffffffffffffffff811115610279575f80fd5b8201601f81018413610289575f80fd5b803567ffffffffffffffff8111156102a3576102a361023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102d2576102d261023f565b6040528181528282016020018610156102e9575f80fd5b816020840160208301375f91810160200191909152949350505050565b80516020808301519190811015610326575f198160200360031b1b821691505b5091905056fea264697066735822122045aeab2cdbf10b9735c27f2bbb6569ef5b3a0d949b83b21e258434be954e8b5964736f6c634300081a0033",
129
+ "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c80633447c0301461006457806354fe3eb71461008b578063a9dbaf251461009e578063b11a19e8146100bf578063cdc23e69146100df575b5f80fd5b6100766100723660046101c1565b1490565b60405190151581526020015b60405180910390f35b6100766100993660046101c1565b141590565b6100b16100ac3660046101e1565b6100f2565b604051908152602001610082565b6100d26100cd3660046101e1565b610102565b6040516100829190610226565b6100b16100ed366004610253565b61010d565b5f6100fc82610117565b92915050565b60606100fc8261013e565b5f6100fc8261017b565b5f60ff8216601f8111156100fc57604051632cd44ac360e21b815260040160405180910390fd5b60605f61014a83610117565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f80829050601f815111156101ae578260405163305a27a960e01b81526004016101a59190610226565b60405180910390fd5b80516101b982610306565b179392505050565b5f80604083850312156101d2575f80fd5b50508035926020909101359150565b5f602082840312156101f1575f80fd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61023860208301846101f8565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610263575f80fd5b813567ffffffffffffffff811115610279575f80fd5b8201601f81018413610289575f80fd5b803567ffffffffffffffff8111156102a3576102a361023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102d2576102d261023f565b6040528181528282016020018610156102e9575f80fd5b816020840160208301375f91810160200191909152949350505050565b80516020808301519190811015610326575f198160200360031b1b821691505b5091905056fea264697066735822122045aeab2cdbf10b9735c27f2bbb6569ef5b3a0d949b83b21e258434be954e8b5964736f6c634300081a0033",
130
130
  "linkReferences": {},
131
131
  "deployedLinkReferences": {}
132
132
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/738273943de8559a18576d572e141a51.json"
3
+ "buildInfo": "../../../build-info/8184b9bf6735d0fabf3de554db2eb1cf.json"
4
4
  }
@@ -268,14 +268,14 @@
268
268
  "type": "function"
269
269
  }
270
270
  ],
271
- "bytecode": "0x6103f361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d95760003560e01c8063a5798b4e11610096578063bc1b392d11610070578063bc1b392d146101a8578063c24922ce146101af578063da09d484146101c2578063ddf3d631146101e857600080fd5b8063a5798b4e1461017c578063adb618321461018f578063add9ce991461019557600080fd5b80636ac5db19146100de578063790a38ad1461010057806383ffcdef146101295780638d38cd4b1461013c57806394335b1a146101565780639df8763914610169575b600080fd5b64ffffffffff5b60405164ffffffffff90911681526020015b60405180910390f35b61011961010e366004610326565b64ffffffffff161590565b60405190151581526020016100f7565b61011961013736600461034a565b6101fb565b61011961014a366004610326565b64ffffffffff16151590565b61011961016436600461034a565b610214565b61011961017736600461034a565b610229565b6100e561018a36600461034a565b61023d565b426100e5565b6101196101a336600461034a565b6102d2565b60006100e5565b6101196101bd36600461034a565b6102e6565b6101da6101d0366004610326565b64ffffffffff1690565b6040519081526020016100f7565b6101196101f636600461034a565b6102fb565b600064ffffffffff808316908416115b90505b92915050565b600064ffffffffff808316908416111561020b565b600064ffffffffff8084169083161461020b565b604051633682752160e21b815264ffffffffff8216600482015260009061020b9073__$71e292c09eace9601b3e21e68a1278917a$__9063da09d48490602401602060405180830381865af415801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be9190610383565b6102cf9064ffffffffff861661039c565b90565b600064ffffffffff8083169084161061020b565b600064ffffffffff808316908416101561020b565b600064ffffffffff808416908316141561020b565b64ffffffffff8116811461032357600080fd5b50565b60006020828403121561033857600080fd5b813561034381610310565b9392505050565b6000806040838503121561035d57600080fd5b823561036881610310565b9150602083013561037881610310565b809150509250929050565b60006020828403121561039557600080fd5b5051919050565b8082018082111561020e57634e487b7160e01b600052601160045260246000fdfea26469706673582212209890a14bb844121bec36db6b483d0fd433ade54756fd967a580b148c99cfadfc64736f6c63430008140033",
272
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100d95760003560e01c8063a5798b4e11610096578063bc1b392d11610070578063bc1b392d146101a8578063c24922ce146101af578063da09d484146101c2578063ddf3d631146101e857600080fd5b8063a5798b4e1461017c578063adb618321461018f578063add9ce991461019557600080fd5b80636ac5db19146100de578063790a38ad1461010057806383ffcdef146101295780638d38cd4b1461013c57806394335b1a146101565780639df8763914610169575b600080fd5b64ffffffffff5b60405164ffffffffff90911681526020015b60405180910390f35b61011961010e366004610326565b64ffffffffff161590565b60405190151581526020016100f7565b61011961013736600461034a565b6101fb565b61011961014a366004610326565b64ffffffffff16151590565b61011961016436600461034a565b610214565b61011961017736600461034a565b610229565b6100e561018a36600461034a565b61023d565b426100e5565b6101196101a336600461034a565b6102d2565b60006100e5565b6101196101bd36600461034a565b6102e6565b6101da6101d0366004610326565b64ffffffffff1690565b6040519081526020016100f7565b6101196101f636600461034a565b6102fb565b600064ffffffffff808316908416115b90505b92915050565b600064ffffffffff808316908416111561020b565b600064ffffffffff8084169083161461020b565b604051633682752160e21b815264ffffffffff8216600482015260009061020b9073__$71e292c09eace9601b3e21e68a1278917a$__9063da09d48490602401602060405180830381865af415801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be9190610383565b6102cf9064ffffffffff861661039c565b90565b600064ffffffffff8083169084161061020b565b600064ffffffffff808316908416101561020b565b600064ffffffffff808416908316141561020b565b64ffffffffff8116811461032357600080fd5b50565b60006020828403121561033857600080fd5b813561034381610310565b9392505050565b6000806040838503121561035d57600080fd5b823561036881610310565b9150602083013561037881610310565b809150509250929050565b60006020828403121561039557600080fd5b5051919050565b8082018082111561020e57634e487b7160e01b600052601160045260246000fdfea26469706673582212209890a14bb844121bec36db6b483d0fd433ade54756fd967a580b148c99cfadfc64736f6c63430008140033",
271
+ "bytecode": "0x6103dc610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d6575f3560e01c8063a5798b4e11610093578063bc1b392d1161006e578063bc1b392d146101a4578063c24922ce146101aa578063da09d484146101bd578063ddf3d631146101e3575f80fd5b8063a5798b4e14610178578063adb618321461018b578063add9ce9914610191575f80fd5b80636ac5db19146100da578063790a38ad146100fc57806383ffcdef146101255780638d38cd4b1461013857806394335b1a146101525780639df8763914610165575b5f80fd5b64ffffffffff5b60405164ffffffffff90911681526020015b60405180910390f35b61011561010a366004610317565b64ffffffffff161590565b60405190151581526020016100f3565b610115610133366004610339565b6101f6565b610115610146366004610317565b64ffffffffff16151590565b610115610160366004610339565b61020e565b610115610173366004610339565b610222565b6100e1610186366004610339565b610235565b426100e1565b61011561019f366004610339565b6102c7565b5f6100e1565b6101156101b8366004610339565b6102da565b6101d56101cb366004610317565b64ffffffffff1690565b6040519081526020016100f3565b6101156101f1366004610339565b6102ee565b5f64ffffffffff808316908416115b90505b92915050565b5f64ffffffffff8083169084161115610205565b5f64ffffffffff80841690831614610205565b604051633682752160e21b815264ffffffffff821660048201525f906102059073__$71e292c09eace9601b3e21e68a1278917a$__9063da09d48490602401602060405180830381865af415801561028f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b39190610370565b6102c49064ffffffffff8616610387565b90565b5f64ffffffffff80831690841610610205565b5f64ffffffffff8083169084161015610205565b5f64ffffffffff8084169083161415610205565b64ffffffffff81168114610314575f80fd5b50565b5f60208284031215610327575f80fd5b813561033281610302565b9392505050565b5f806040838503121561034a575f80fd5b823561035581610302565b9150602083013561036581610302565b809150509250929050565b5f60208284031215610380575f80fd5b5051919050565b8082018082111561020857634e487b7160e01b5f52601160045260245ffdfea2646970667358221220178c0d987f4f1d3fdb44d3a94a6db5ec1f1270fc65fc8ea13f2e5ad50a0303d164736f6c634300081a0033",
272
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100d6575f3560e01c8063a5798b4e11610093578063bc1b392d1161006e578063bc1b392d146101a4578063c24922ce146101aa578063da09d484146101bd578063ddf3d631146101e3575f80fd5b8063a5798b4e14610178578063adb618321461018b578063add9ce9914610191575f80fd5b80636ac5db19146100da578063790a38ad146100fc57806383ffcdef146101255780638d38cd4b1461013857806394335b1a146101525780639df8763914610165575b5f80fd5b64ffffffffff5b60405164ffffffffff90911681526020015b60405180910390f35b61011561010a366004610317565b64ffffffffff161590565b60405190151581526020016100f3565b610115610133366004610339565b6101f6565b610115610146366004610317565b64ffffffffff16151590565b610115610160366004610339565b61020e565b610115610173366004610339565b610222565b6100e1610186366004610339565b610235565b426100e1565b61011561019f366004610339565b6102c7565b5f6100e1565b6101156101b8366004610339565b6102da565b6101d56101cb366004610317565b64ffffffffff1690565b6040519081526020016100f3565b6101156101f1366004610339565b6102ee565b5f64ffffffffff808316908416115b90505b92915050565b5f64ffffffffff8083169084161115610205565b5f64ffffffffff80841690831614610205565b604051633682752160e21b815264ffffffffff821660048201525f906102059073__$71e292c09eace9601b3e21e68a1278917a$__9063da09d48490602401602060405180830381865af415801561028f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b39190610370565b6102c49064ffffffffff8616610387565b90565b5f64ffffffffff80831690841610610205565b5f64ffffffffff8083169084161015610205565b5f64ffffffffff8084169083161415610205565b64ffffffffff81168114610314575f80fd5b50565b5f60208284031215610327575f80fd5b813561033281610302565b9392505050565b5f806040838503121561034a575f80fd5b823561035581610302565b9150602083013561036581610302565b809150509250929050565b5f60208284031215610380575f80fd5b5051919050565b8082018082111561020857634e487b7160e01b5f52601160045260245ffdfea2646970667358221220178c0d987f4f1d3fdb44d3a94a6db5ec1f1270fc65fc8ea13f2e5ad50a0303d164736f6c634300081a0033",
273
273
  "linkReferences": {
274
274
  "contracts/type/Seconds.sol": {
275
275
  "SecondsLib": [
276
276
  {
277
277
  "length": 20,
278
- "start": 666
278
+ "start": 651
279
279
  }
280
280
  ]
281
281
  }
@@ -285,7 +285,7 @@
285
285
  "SecondsLib": [
286
286
  {
287
287
  "length": 20,
288
- "start": 608
288
+ "start": 599
289
289
  }
290
290
  ]
291
291
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/738273943de8559a18576d572e141a51.json"
3
+ "buildInfo": "../../../build-info/8184b9bf6735d0fabf3de554db2eb1cf.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MathLib",
4
4
  "sourceName": "contracts/type/UFixed.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206d4f579d67da8faed5bbb1279394841dcb03c9c00cc14246433ff863c1495a1664736f6c63430008140033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206d4f579d67da8faed5bbb1279394841dcb03c9c00cc14246433ff863c1495a1664736f6c63430008140033",
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202cc980bf0a430ee2301014388bd392a4e0ea428e49d43fae39937ef0e86afdc464736f6c634300081a0033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202cc980bf0a430ee2301014388bd392a4e0ea428e49d43fae39937ef0e86afdc464736f6c634300081a0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/738273943de8559a18576d572e141a51.json"
3
+ "buildInfo": "../../../build-info/8184b9bf6735d0fabf3de554db2eb1cf.json"
4
4
  }
@@ -491,8 +491,8 @@
491
491
  "type": "function"
492
492
  }
493
493
  ],
494
- "bytecode": "0x610a7861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061017d5760003560e01c80637a858b97116100e8578063b67d77c5116100a1578063c8a4ac9c1161007b578063c8a4ac9c14610303578063cc8b7b7314610316578063ea6515c414610329578063eb646d711461033c57600080fd5b8063b67d77c5146102e2578063bc1b392d146102f5578063bdbb4630146102fc57600080fd5b80637a858b971461027a57806389fa8ed71461028d578063916c5c57146102a257806393aa8725146102b5578063a391c15b146102bc578063b4773329146102cf57600080fd5b8063313ce5671161013a578063313ce5671461021457806332148d731461021b57806344aa68361461022e57806345ebb61e14610241578063753b14a514610254578063771602f71461026757600080fd5b8063059f8b161461018257806308c76ec41461019d578063118fc88c146101b05780631488c845146101d35780631a12cd47146101e657806321e5749b14610201575b600080fd5b61018a610344565b6040519081526020015b60405180910390f35b61018a6101ab3660046107e5565b610353565b6101c36101be36600461081b565b6103db565b6040519015158152602001610194565b61018a6101e136600461083d565b6103e8565b6101ee601281565b60405160009190910b8152602001610194565b6101c361020f36600461081b565b6104ca565b601261018a565b6101c361022936600461081b565b6104d4565b61018a61023c366004610868565b6104de565b61018a61024f366004610868565b6104eb565b6101c3610262366004610868565b610503565b61018a61027536600461081b565b61050c565b6101c3610288366004610868565b610518565b60025b60405160ff9091168152602001610194565b61018a6102b0366004610868565b610522565b6000610290565b61018a6102ca36600461081b565b610542565b6101c36102dd36600461081b565b61054e565b61018a6102f036600461081b565b610559565b600061018a565b6001610290565b61018a61031136600461081b565b610565565b61018a61032436600461081b565b610571565b6101c361033736600461081b565b61057d565b61018a610588565b6103506012600a61097b565b81565b600060011960ff8316016103a25761039b60026103726012600a61097b565b61037c919061099d565b61038690856109bf565b60016103946012600a61097b565b60006105a0565b90506103d5565b60ff82166103bc5761039b8360016103946012600a61097b565b61039b8360016103ce6012600a61097b565b60016105a0565b92915050565b60008282115b9392505050565b6000806103f68360126109d2565b60000b121561044c5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b60406104598360126109d2565b60000b13156104aa5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c41524745006044820152606401610443565b6104b58260126109d2565b6104c090600a6109f3565b6103e19084610a02565b60008282106103e1565b60008183146103e1565b60006103d5826002610353565b60006104f96012600a61097b565b6103d59083610a02565b600081156103d5565b60006103e183836105fd565b60008115156103d5565b60006103d561053b6105356103e86104eb565b84610609565b6002610353565b60006103e1838361061e565b6000828211156103e1565b60006103e18383610682565b60006103e18383610609565b60006103e183836106de565b6000828210156103e1565b60026105966012600a61097b565b610350919061099d565b6000806105ae8686866106fc565b905060018360028111156105c4576105c4610a19565b1480156105e15750600084806105dc576105dc610987565b868809115b156105f4576105f16001826109bf565b90505b95945050505050565b60006103e182846109bf565b60006103e18383670de0b6b3a76400006106fc565b600080821161066f5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f0000000000006044820152606401610443565b6103e183670de0b6b3a7640000846106fc565b6000828211156106d45760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c540000006044820152606401610443565b6103e18284610a2f565b6000828210156106f25761039b8383610682565b6103e18284610682565b60008080600019858709858702925082811083820303915050806000036107365783828161072c5761072c610987565b04925050506103e1565b80841161077d5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610443565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156107f857600080fd5b82359150602083013560ff8116811461081057600080fd5b809150509250929050565b6000806040838503121561082e57600080fd5b50508035926020909101359150565b6000806040838503121561085057600080fd5b8235915060208301358060000b811461081057600080fd5b60006020828403121561087a57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156108d25781600019048211156108b8576108b8610881565b808516156108c557918102915b93841c939080029061089c565b509250929050565b6000826108e9575060016103d5565b816108f6575060006103d5565b816001811461090c576002811461091657610932565b60019150506103d5565b60ff84111561092757610927610881565b50506001821b6103d5565b5060208310610133831016604e8410600b8410161715610955575081810a6103d5565b61095f8383610897565b806000190482111561097357610973610881565b029392505050565b60006103e183836108da565b634e487b7160e01b600052601260045260246000fd5b6000826109ba57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156103d5576103d5610881565b600081810b9083900b01607f8113607f19821217156103d5576103d5610881565b60006103e160ff8416836108da565b80820281158282048414176103d5576103d5610881565b634e487b7160e01b600052602160045260246000fd5b818103818111156103d5576103d561088156fea264697066735822122002c61cc5ab750a3d7c4fd44a7b9c8e6156b8ae8f29e4fff7c615a8bc554102cd64736f6c63430008140033",
495
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061017d5760003560e01c80637a858b97116100e8578063b67d77c5116100a1578063c8a4ac9c1161007b578063c8a4ac9c14610303578063cc8b7b7314610316578063ea6515c414610329578063eb646d711461033c57600080fd5b8063b67d77c5146102e2578063bc1b392d146102f5578063bdbb4630146102fc57600080fd5b80637a858b971461027a57806389fa8ed71461028d578063916c5c57146102a257806393aa8725146102b5578063a391c15b146102bc578063b4773329146102cf57600080fd5b8063313ce5671161013a578063313ce5671461021457806332148d731461021b57806344aa68361461022e57806345ebb61e14610241578063753b14a514610254578063771602f71461026757600080fd5b8063059f8b161461018257806308c76ec41461019d578063118fc88c146101b05780631488c845146101d35780631a12cd47146101e657806321e5749b14610201575b600080fd5b61018a610344565b6040519081526020015b60405180910390f35b61018a6101ab3660046107e5565b610353565b6101c36101be36600461081b565b6103db565b6040519015158152602001610194565b61018a6101e136600461083d565b6103e8565b6101ee601281565b60405160009190910b8152602001610194565b6101c361020f36600461081b565b6104ca565b601261018a565b6101c361022936600461081b565b6104d4565b61018a61023c366004610868565b6104de565b61018a61024f366004610868565b6104eb565b6101c3610262366004610868565b610503565b61018a61027536600461081b565b61050c565b6101c3610288366004610868565b610518565b60025b60405160ff9091168152602001610194565b61018a6102b0366004610868565b610522565b6000610290565b61018a6102ca36600461081b565b610542565b6101c36102dd36600461081b565b61054e565b61018a6102f036600461081b565b610559565b600061018a565b6001610290565b61018a61031136600461081b565b610565565b61018a61032436600461081b565b610571565b6101c361033736600461081b565b61057d565b61018a610588565b6103506012600a61097b565b81565b600060011960ff8316016103a25761039b60026103726012600a61097b565b61037c919061099d565b61038690856109bf565b60016103946012600a61097b565b60006105a0565b90506103d5565b60ff82166103bc5761039b8360016103946012600a61097b565b61039b8360016103ce6012600a61097b565b60016105a0565b92915050565b60008282115b9392505050565b6000806103f68360126109d2565b60000b121561044c5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b60406104598360126109d2565b60000b13156104aa5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c41524745006044820152606401610443565b6104b58260126109d2565b6104c090600a6109f3565b6103e19084610a02565b60008282106103e1565b60008183146103e1565b60006103d5826002610353565b60006104f96012600a61097b565b6103d59083610a02565b600081156103d5565b60006103e183836105fd565b60008115156103d5565b60006103d561053b6105356103e86104eb565b84610609565b6002610353565b60006103e1838361061e565b6000828211156103e1565b60006103e18383610682565b60006103e18383610609565b60006103e183836106de565b6000828210156103e1565b60026105966012600a61097b565b610350919061099d565b6000806105ae8686866106fc565b905060018360028111156105c4576105c4610a19565b1480156105e15750600084806105dc576105dc610987565b868809115b156105f4576105f16001826109bf565b90505b95945050505050565b60006103e182846109bf565b60006103e18383670de0b6b3a76400006106fc565b600080821161066f5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f0000000000006044820152606401610443565b6103e183670de0b6b3a7640000846106fc565b6000828211156106d45760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c540000006044820152606401610443565b6103e18284610a2f565b6000828210156106f25761039b8383610682565b6103e18284610682565b60008080600019858709858702925082811083820303915050806000036107365783828161072c5761072c610987565b04925050506103e1565b80841161077d5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610443565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156107f857600080fd5b82359150602083013560ff8116811461081057600080fd5b809150509250929050565b6000806040838503121561082e57600080fd5b50508035926020909101359150565b6000806040838503121561085057600080fd5b8235915060208301358060000b811461081057600080fd5b60006020828403121561087a57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156108d25781600019048211156108b8576108b8610881565b808516156108c557918102915b93841c939080029061089c565b509250929050565b6000826108e9575060016103d5565b816108f6575060006103d5565b816001811461090c576002811461091657610932565b60019150506103d5565b60ff84111561092757610927610881565b50506001821b6103d5565b5060208310610133831016604e8410600b8410161715610955575081810a6103d5565b61095f8383610897565b806000190482111561097357610973610881565b029392505050565b60006103e183836108da565b634e487b7160e01b600052601260045260246000fd5b6000826109ba57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156103d5576103d5610881565b600081810b9083900b01607f8113607f19821217156103d5576103d5610881565b60006103e160ff8416836108da565b80820281158282048414176103d5576103d5610881565b634e487b7160e01b600052602160045260246000fd5b818103818111156103d5576103d561088156fea264697066735822122002c61cc5ab750a3d7c4fd44a7b9c8e6156b8ae8f29e4fff7c615a8bc554102cd64736f6c63430008140033",
494
+ "bytecode": "0x610a38610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046107bc565b61034a565b6101bd6101b83660046107ef565b6103d0565b604051901515815260200161018e565b6101846101db36600461080f565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd6102083660046107ef565b6104bb565b6012610184565b6101bd6102223660046107ef565b6104c4565b610184610235366004610837565b6104cd565b610184610248366004610837565b6104d9565b6101bd61025b366004610837565b6104f0565b61018461026e3660046107ef565b6104f8565b6101bd610281366004610837565b610503565b60025b60405160ff909116815260200161018e565b6101846102a9366004610837565b61050c565b5f610289565b6101846102c23660046107ef565b61052b565b6101bd6102d53660046107ef565b610536565b6101846102e83660046107ef565b610540565b5f610184565b6001610289565b6101846103083660046107ef565b61054b565b61018461031b3660046107ef565b610556565b6101bd61032e3660046107ef565b610561565b61018461056b565b6103476012600a610945565b81565b5f60011960ff8316016103975761039060026103686012600a610945565b6103729190610964565b61037c9085610983565b600161038a6012600a610945565b5f610583565b90506103ca565b60ff82166103b15761039083600161038a6012600a610945565b6103908360016103c36012600a610945565b6001610583565b92915050565b5f8282115b9392505050565b5f806103e9836012610996565b5f0b121561043e5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b604061044b836012610996565b5f0b131561049b5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c41524745006044820152606401610435565b6104a6826012610996565b6104b190600a6109b6565b6103d590846109c4565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104e66012600a610945565b6103ca90836109c4565b5f81156103ca565b5f6103d583836105de565b5f8115156103ca565b5f6103ca61052461051e6103e86104d9565b846105e9565b600261034a565b5f6103d583836105fd565b5f828211156103d5565b5f6103d58383610660565b5f6103d583836105e9565b5f6103d583836106bb565b5f828210156103d5565b60026105796012600a610945565b6103479190610964565b5f806105908686866106d8565b905060018360028111156105a6576105a66109db565b1480156105c257505f84806105bd576105bd610950565b868809115b156105d5576105d2600182610983565b90505b95945050505050565b5f6103d58284610983565b5f6103d58383670de0b6b3a76400006106d8565b5f80821161064d5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f0000000000006044820152606401610435565b6103d583670de0b6b3a7640000846106d8565b5f828211156106b15760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c540000006044820152606401610435565b6103d582846109ef565b5f828210156106ce576103908383610660565b6103d58284610660565b5f80805f19858709858702925082811083820303915050805f0361070f5783828161070557610705610950565b04925050506103d5565b8084116107565760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610435565b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156107cd575f80fd5b82359150602083013560ff811681146107e4575f80fd5b809150509250929050565b5f8060408385031215610800575f80fd5b50508035926020909101359150565b5f8060408385031215610820575f80fd5b8235915060208301355f81900b81146107e4575f80fd5b5f60208284031215610847575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561089d578085048111156108815761088161084e565b600184161561088f57908102905b60019390931c928002610866565b935093915050565b5f826108b3575060016103ca565b816108bf57505f6103ca565b81600181146108d557600281146108df576108fb565b60019150506103ca565b60ff8411156108f0576108f061084e565b50506001821b6103ca565b5060208310610133831016604e8410600b841016171561091e575081810a6103ca565b61092a5f198484610862565b805f190482111561093d5761093d61084e565b029392505050565b5f6103d583836108a5565b634e487b7160e01b5f52601260045260245ffd5b5f8261097e57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca61084e565b5f81810b9083900b01607f8113607f19821217156103ca576103ca61084e565b5f6103d560ff8416836108a5565b80820281158282048414176103ca576103ca61084e565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61084e56fea264697066735822122095b47e326ba6c85a518c73b4494484fdcea7709161e78c343656c1cc40ea3cb764736f6c634300081a0033",
495
+ "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046107bc565b61034a565b6101bd6101b83660046107ef565b6103d0565b604051901515815260200161018e565b6101846101db36600461080f565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd6102083660046107ef565b6104bb565b6012610184565b6101bd6102223660046107ef565b6104c4565b610184610235366004610837565b6104cd565b610184610248366004610837565b6104d9565b6101bd61025b366004610837565b6104f0565b61018461026e3660046107ef565b6104f8565b6101bd610281366004610837565b610503565b60025b60405160ff909116815260200161018e565b6101846102a9366004610837565b61050c565b5f610289565b6101846102c23660046107ef565b61052b565b6101bd6102d53660046107ef565b610536565b6101846102e83660046107ef565b610540565b5f610184565b6001610289565b6101846103083660046107ef565b61054b565b61018461031b3660046107ef565b610556565b6101bd61032e3660046107ef565b610561565b61018461056b565b6103476012600a610945565b81565b5f60011960ff8316016103975761039060026103686012600a610945565b6103729190610964565b61037c9085610983565b600161038a6012600a610945565b5f610583565b90506103ca565b60ff82166103b15761039083600161038a6012600a610945565b6103908360016103c36012600a610945565b6001610583565b92915050565b5f8282115b9392505050565b5f806103e9836012610996565b5f0b121561043e5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b604061044b836012610996565b5f0b131561049b5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c41524745006044820152606401610435565b6104a6826012610996565b6104b190600a6109b6565b6103d590846109c4565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104e66012600a610945565b6103ca90836109c4565b5f81156103ca565b5f6103d583836105de565b5f8115156103ca565b5f6103ca61052461051e6103e86104d9565b846105e9565b600261034a565b5f6103d583836105fd565b5f828211156103d5565b5f6103d58383610660565b5f6103d583836105e9565b5f6103d583836106bb565b5f828210156103d5565b60026105796012600a610945565b6103479190610964565b5f806105908686866106d8565b905060018360028111156105a6576105a66109db565b1480156105c257505f84806105bd576105bd610950565b868809115b156105d5576105d2600182610983565b90505b95945050505050565b5f6103d58284610983565b5f6103d58383670de0b6b3a76400006106d8565b5f80821161064d5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f0000000000006044820152606401610435565b6103d583670de0b6b3a7640000846106d8565b5f828211156106b15760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c540000006044820152606401610435565b6103d582846109ef565b5f828210156106ce576103908383610660565b6103d58284610660565b5f80805f19858709858702925082811083820303915050805f0361070f5783828161070557610705610950565b04925050506103d5565b8084116107565760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610435565b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156107cd575f80fd5b82359150602083013560ff811681146107e4575f80fd5b809150509250929050565b5f8060408385031215610800575f80fd5b50508035926020909101359150565b5f8060408385031215610820575f80fd5b8235915060208301355f81900b81146107e4575f80fd5b5f60208284031215610847575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561089d578085048111156108815761088161084e565b600184161561088f57908102905b60019390931c928002610866565b935093915050565b5f826108b3575060016103ca565b816108bf57505f6103ca565b81600181146108d557600281146108df576108fb565b60019150506103ca565b60ff8411156108f0576108f061084e565b50506001821b6103ca565b5060208310610133831016604e8410600b841016171561091e575081810a6103ca565b61092a5f198484610862565b805f190482111561093d5761093d61084e565b029392505050565b5f6103d583836108a5565b634e487b7160e01b5f52601260045260245ffd5b5f8261097e57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca61084e565b5f81810b9083900b01607f8113607f19821217156103ca576103ca61084e565b5f6103d560ff8416836108a5565b80820281158282048414176103ca576103ca61084e565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61084e56fea264697066735822122095b47e326ba6c85a518c73b4494484fdcea7709161e78c343656c1cc40ea3cb764736f6c634300081a0033",
496
496
  "linkReferences": {},
497
497
  "deployedLinkReferences": {}
498
498
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/738273943de8559a18576d572e141a51.json"
3
+ "buildInfo": "../../../build-info/8184b9bf6735d0fabf3de554db2eb1cf.json"
4
4
  }
@@ -170,8 +170,8 @@
170
170
  "type": "function"
171
171
  }
172
172
  ],
173
- "bytecode": "0x61039161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c80638e4ad86c116100655780638e4ad86c1461012157806394aa449c14610144578063a123b37c14610152578063c9e66e291461017957600080fd5b806304b8f6c5146100975780632efe0113146100b357806349a7111a146100c657806355601007146100fd575b600080fd5b60005b60405162ffffff90911681526020015b60405180910390f35b61009a6100c136600461026e565b610190565b6100d96100d436600461029a565b610231565b6040805160ff948516815292841660208401529216918101919091526060016100aa565b61011361010b36600461029a565b62ffffff1690565b6040519081526020016100aa565b61013261012f3660046102c6565b90565b60405160ff90911681526020016100aa565b61009a61012f3660046102df565b61016061010b36600461029a565b60405167ffffffffffffffff90911681526020016100aa565b61013261018736600461029a565b60101c60ff1690565b6000610100841080156101a4575061010083105b80156101b1575061010082105b61020c5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5652532d3031303a56455253494f4e5f504152545f544f4f5f42604482015261494760f01b606482015260840160405180910390fd5b8161021f600885901b601087901b61031f565b610229919061031f565b949350505050565b600080808360ff601082901c166102488383610338565b915061ffff600883901c16600061025f8185610338565b92989197509195509350505050565b60008060006060848603121561028357600080fd5b505081359360208301359350604090920135919050565b6000602082840312156102ac57600080fd5b813562ffffff811681146102bf57600080fd5b9392505050565b6000602082840312156102d857600080fd5b5035919050565b6000602082840312156102f157600080fd5b813567ffffffffffffffff811681146102bf57600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561033257610332610309565b92915050565b62ffffff82811682821603908082111561035457610354610309565b509291505056fea2646970667358221220eb37260908a3d8439e91e2cbdc02081f9145e9e198f585235c075e7f68458bfb64736f6c63430008140033",
174
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c80638e4ad86c116100655780638e4ad86c1461012157806394aa449c14610144578063a123b37c14610152578063c9e66e291461017957600080fd5b806304b8f6c5146100975780632efe0113146100b357806349a7111a146100c657806355601007146100fd575b600080fd5b60005b60405162ffffff90911681526020015b60405180910390f35b61009a6100c136600461026e565b610190565b6100d96100d436600461029a565b610231565b6040805160ff948516815292841660208401529216918101919091526060016100aa565b61011361010b36600461029a565b62ffffff1690565b6040519081526020016100aa565b61013261012f3660046102c6565b90565b60405160ff90911681526020016100aa565b61009a61012f3660046102df565b61016061010b36600461029a565b60405167ffffffffffffffff90911681526020016100aa565b61013261018736600461029a565b60101c60ff1690565b6000610100841080156101a4575061010083105b80156101b1575061010082105b61020c5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5652532d3031303a56455253494f4e5f504152545f544f4f5f42604482015261494760f01b606482015260840160405180910390fd5b8161021f600885901b601087901b61031f565b610229919061031f565b949350505050565b600080808360ff601082901c166102488383610338565b915061ffff600883901c16600061025f8185610338565b92989197509195509350505050565b60008060006060848603121561028357600080fd5b505081359360208301359350604090920135919050565b6000602082840312156102ac57600080fd5b813562ffffff811681146102bf57600080fd5b9392505050565b6000602082840312156102d857600080fd5b5035919050565b6000602082840312156102f157600080fd5b813567ffffffffffffffff811681146102bf57600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561033257610332610309565b92915050565b62ffffff82811682821603908082111561035457610354610309565b509291505056fea2646970667358221220eb37260908a3d8439e91e2cbdc02081f9145e9e198f585235c075e7f68458bfb64736f6c63430008140033",
173
+ "bytecode": "0x610375610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610090575f3560e01c80638e4ad86c116100635780638e4ad86c1461011d57806394aa449c14610140578063a123b37c1461014e578063c9e66e2914610175575f80fd5b806304b8f6c5146100945780632efe0113146100af57806349a7111a146100c257806355601007146100f9575b5f80fd5b5f5b60405162ffffff90911681526020015b60405180910390f35b6100966100bd366004610267565b61018c565b6100d56100d0366004610290565b61022c565b6040805160ff948516815292841660208401529216918101919091526060016100a6565b61010f610107366004610290565b62ffffff1690565b6040519081526020016100a6565b61012e61012b3660046102b9565b90565b60405160ff90911681526020016100a6565b61009661012b3660046102d0565b61015c610107366004610290565b60405167ffffffffffffffff90911681526020016100a6565b61012e610183366004610290565b60101c60ff1690565b5f6101008410801561019f575061010083105b80156101ac575061010082105b6102075760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5652532d3031303a56455253494f4e5f504152545f544f4f5f42604482015261494760f01b606482015260840160405180910390fd5b8161021a600885901b601087901b61030b565b610224919061030b565b949350505050565b5f80808360ff601082901c166102428383610324565b915061ffff600883901c165f6102588185610324565b92989197509195509350505050565b5f805f60608486031215610279575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156102a0575f80fd5b813562ffffff811681146102b2575f80fd5b9392505050565b5f602082840312156102c9575f80fd5b5035919050565b5f602082840312156102e0575f80fd5b813567ffffffffffffffff811681146102b2575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561031e5761031e6102f7565b92915050565b62ffffff828116828216039081111561031e5761031e6102f756fea2646970667358221220b7b280d4d79eb682a642e02ab59edfb5583f4fd4184dbddb14f1f65201cf09d264736f6c634300081a0033",
174
+ "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610090575f3560e01c80638e4ad86c116100635780638e4ad86c1461011d57806394aa449c14610140578063a123b37c1461014e578063c9e66e2914610175575f80fd5b806304b8f6c5146100945780632efe0113146100af57806349a7111a146100c257806355601007146100f9575b5f80fd5b5f5b60405162ffffff90911681526020015b60405180910390f35b6100966100bd366004610267565b61018c565b6100d56100d0366004610290565b61022c565b6040805160ff948516815292841660208401529216918101919091526060016100a6565b61010f610107366004610290565b62ffffff1690565b6040519081526020016100a6565b61012e61012b3660046102b9565b90565b60405160ff90911681526020016100a6565b61009661012b3660046102d0565b61015c610107366004610290565b60405167ffffffffffffffff90911681526020016100a6565b61012e610183366004610290565b60101c60ff1690565b5f6101008410801561019f575061010083105b80156101ac575061010082105b6102075760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5652532d3031303a56455253494f4e5f504152545f544f4f5f42604482015261494760f01b606482015260840160405180910390fd5b8161021a600885901b601087901b61030b565b610224919061030b565b949350505050565b5f80808360ff601082901c166102428383610324565b915061ffff600883901c165f6102588185610324565b92989197509195509350505050565b5f805f60608486031215610279575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156102a0575f80fd5b813562ffffff811681146102b2575f80fd5b9392505050565b5f602082840312156102c9575f80fd5b5035919050565b5f602082840312156102e0575f80fd5b813567ffffffffffffffff811681146102b2575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561031e5761031e6102f7565b92915050565b62ffffff828116828216039081111561031e5761031e6102f756fea2646970667358221220b7b280d4d79eb682a642e02ab59edfb5583f4fd4184dbddb14f1f65201cf09d264736f6c634300081a0033",
175
175
  "linkReferences": {},
176
176
  "deployedLinkReferences": {}
177
177
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/738273943de8559a18576d572e141a51.json"
3
+ "buildInfo": "../../../build-info/8184b9bf6735d0fabf3de554db2eb1cf.json"
4
4
  }
@@ -3,6 +3,25 @@
3
3
  "contractName": "VersionPartLib",
4
4
  "sourceName": "contracts/type/Version.sol",
5
5
  "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "VersionPart",
10
+ "name": "a",
11
+ "type": "uint8"
12
+ }
13
+ ],
14
+ "name": "eqz",
15
+ "outputs": [
16
+ {
17
+ "internalType": "bool",
18
+ "name": "",
19
+ "type": "bool"
20
+ }
21
+ ],
22
+ "stateMutability": "pure",
23
+ "type": "function"
24
+ },
6
25
  {
7
26
  "inputs": [
8
27
  {
@@ -42,8 +61,8 @@
42
61
  "type": "function"
43
62
  }
44
63
  ],
45
- "bytecode": "0x60fb610039600b82828239805160001a60731461002c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80638e4ad86c146042578063ac43d834146067575b600080fd5b6050604d3660046085565b90565b60405160ff90911681526020015b60405180910390f35b60786072366004609d565b60ff1690565b604051908152602001605e565b600060208284031215609657600080fd5b5035919050565b60006020828403121560ae57600080fd5b813560ff8116811460be57600080fd5b939250505056fea2646970667358221220742e3ab5a296d15998aa86746aaa2f0482bcf0402212cee58404b09b0c2b6c4264736f6c63430008140033",
46
- "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80638e4ad86c146042578063ac43d834146067575b600080fd5b6050604d3660046085565b90565b60405160ff90911681526020015b60405180910390f35b60786072366004609d565b60ff1690565b604051908152602001605e565b600060208284031215609657600080fd5b5035919050565b60006020828403121560ae57600080fd5b813560ff8116811460be57600080fd5b939250505056fea2646970667358221220742e3ab5a296d15998aa86746aaa2f0482bcf0402212cee58404b09b0c2b6c4264736f6c63430008140033",
64
+ "bytecode": "0x61011f610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106046575f3560e01c80636f91962014604a5780638e4ad86c146071578063ac43d834146090575b5f80fd5b605c605536600460ae565b60ff161590565b60405190151581526020015b60405180910390f35b607f607c36600460d3565b90565b60405160ff90911681526020016068565b60a1609b36600460ae565b60ff1690565b6040519081526020016068565b5f6020828403121560bd575f80fd5b813560ff8116811460cc575f80fd5b9392505050565b5f6020828403121560e2575f80fd5b503591905056fea2646970667358221220109b2d4519c6e03de0613938014ee99eeb1ac3eda338f45205aa2c8d80684d1464736f6c634300081a0033",
65
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106046575f3560e01c80636f91962014604a5780638e4ad86c146071578063ac43d834146090575b5f80fd5b605c605536600460ae565b60ff161590565b60405190151581526020015b60405180910390f35b607f607c36600460d3565b90565b60405160ff90911681526020016068565b60a1609b36600460ae565b60ff1690565b6040519081526020016068565b5f6020828403121560bd575f80fd5b813560ff8116811460cc575f80fd5b9392505050565b5f6020828403121560e2575f80fd5b503591905056fea2646970667358221220109b2d4519c6e03de0613938014ee99eeb1ac3eda338f45205aa2c8d80684d1464736f6c634300081a0033",
47
66
  "linkReferences": {},
48
67
  "deployedLinkReferences": {}
49
68
  }
@@ -1,10 +1,11 @@
1
1
  // SPDX-License-Identifier: UNLICENSED
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
5
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
6
5
  import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
6
+ import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
7
7
 
8
+ import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
8
9
  import {IAccessAdmin} from "./IAccessAdmin.sol";
9
10
  import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
10
11
  import {Selector, SelectorLib, SelectorSetLib} from "../type/Selector.sol";
@@ -19,6 +20,7 @@ import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
19
20
  */
20
21
  contract AccessAdmin is
21
22
  AccessManagedUpgradeable,
23
+ ReentrancyGuardUpgradeable,
22
24
  IAccessAdmin
23
25
  {
24
26
  using EnumerableSet for EnumerableSet.AddressSet;
@@ -27,7 +29,7 @@ contract AccessAdmin is
27
29
  string public constant PUBLIC_ROLE_NAME = "PublicRole";
28
30
 
29
31
  /// @dev the OpenZeppelin access manager driving the access admin contract
30
- AccessManager internal _authority;
32
+ AccessManagerCloneable internal _authority;
31
33
 
32
34
  /// @dev stores the deployer address and allows to create initializers
33
35
  /// that are restricted to the deployer address.
@@ -106,7 +108,8 @@ contract AccessAdmin is
106
108
 
107
109
  constructor() {
108
110
  _deployer = msg.sender;
109
- _authority = new AccessManager(address(this));
111
+ _authority = new AccessManagerCloneable();
112
+ _authority.initialize(address(this));
110
113
 
111
114
  _setAuthority(address(_authority)); // set authority for oz access managed
112
115
  _createAdminAndPublicRoles();
@@ -327,13 +330,7 @@ contract AccessAdmin is
327
330
  revert ErrorAuthorityAlreadySet();
328
331
  }
329
332
 
330
- _authority = AccessManager(authorityAddress);
331
-
332
- // TODO check if we really need this
333
- // if(!hasRole(address(this), RoleId.wrap(_authority.ADMIN_ROLE()))) {
334
- // revert ErrorAdminRoleMissing();
335
- // }
336
-
333
+ _authority = AccessManagerCloneable(authorityAddress);
337
334
  __AccessManaged_init(address(_authority));
338
335
  }
339
336
 
@@ -374,35 +371,6 @@ contract AccessAdmin is
374
371
  roleType: RoleType.Gif,
375
372
  maxMemberCount: type(uint32).max,
376
373
  name: PUBLIC_ROLE_NAME}));
377
-
378
- // TODO cleanup
379
- // // setup manager role
380
- // _managerRoleId = RoleIdLib.toRoleId(MANAGER_ROLE);
381
- // _createRole(
382
- // _managerRoleId,
383
- // adminRoleId,
384
- // MANAGER_ROLE_NAME,
385
- // isCustom,
386
- // 3, // TODO think about max member count
387
- // false);
388
-
389
- // // grant public role access to grant and revoke, renounce
390
- // functions = new FunctionInfo[](3);
391
- // functions[0] = toFunction(IAccessAdmin.grantRole.selector, "grantRole");
392
- // functions[1] = toFunction(IAccessAdmin.revokeRole.selector, "revokeRole");
393
- // functions[2] = toFunction(IAccessAdmin.renounceRole.selector, "renounceRole");
394
- // _authorizeTargetFunctions(address(this), getPublicRole(), functions);
395
-
396
- // // grant manager role access to the specified functions
397
- // functions = new FunctionInfo[](4);
398
- // // TODO cleanup
399
- // // functions[0] = toFunction(IAccessAdmin.createRole.selector, "createRole");
400
- // functions[0] = toFunction(IAccessAdmin.setRoleDisabled.selector, "setRoleDisabled");
401
- // // functions[1] = toFunction(IAccessAdmin.createTarget.selector, "createTarget");
402
- // functions[1] = toFunction(IAccessAdmin.setTargetLocked.selector, "setTargetLocked");
403
- // functions[2] = toFunction(IAccessAdmin.authorizeFunctions.selector, "authorizeFunctions");
404
- // functions[3] = toFunction(IAccessAdmin.unauthorizeFunctions.selector, "unauthorizeFunctions");
405
- // _authorizeTargetFunctions(address(this), getManagerRole(), functions);
406
374
  }
407
375
 
408
376
  /// @dev check if target exists and reverts if it doesn't
@@ -556,6 +524,7 @@ contract AccessAdmin is
556
524
  bool custom
557
525
  )
558
526
  internal
527
+ nonReentrant()
559
528
  {
560
529
  // check target does not yet exist
561
530
  if(targetExists(target)) {
@@ -0,0 +1,16 @@
1
+ // SPDX-License-Identifier: UNLICENSED
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
5
+
6
+ contract AccessManagerCloneable is
7
+ AccessManagerUpgradeable
8
+ {
9
+
10
+ function initialize(address initialAdmin)
11
+ external
12
+ initializer()
13
+ {
14
+ __AccessManager_init(initialAdmin);
15
+ }
16
+ }
@@ -19,6 +19,9 @@ interface IServiceAuthorization {
19
19
  view
20
20
  returns(VersionPart release);
21
21
 
22
+ /// @dev Returns the service domain for the provided index.
23
+ function getServiceDomain(uint idx) external view returns(ObjectType serviceDomain);
24
+
22
25
  /// @dev Returns the full list of service domains for this release.
23
26
  /// Services need to be registered for the release in revers order of this list.
24
27
  function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
@@ -16,40 +16,13 @@ contract ModuleAuthorization is
16
16
  IModuleAuthorization
17
17
  {
18
18
 
19
- // TODO cleanup
20
- // Str[] internal _targets;
21
19
  ObjectType[] internal _serviceDomains;
22
-
23
20
  mapping(ObjectType domain => Str target) internal _serviceTarget;
24
- // mapping(Str target => RoleId roleid) internal _targetRole;
25
- // mapping(Str target => bool exists) internal _targetExists;
26
-
27
- // RoleId[] internal _roles;
28
- // mapping(RoleId role => RoleInfo info) internal _roleInfo;
29
-
30
- // mapping(Str target => RoleId[] authorizedRoles) internal _authorizedRoles;
31
- // mapping(Str target => mapping(RoleId authorizedRole => IAccess.FunctionInfo[] functions)) internal _authorizedFunctions;
32
21
 
33
22
  constructor(string memory moduleName)
34
23
  Authorization(moduleName)
35
24
  { }
36
25
 
37
- // function getRoles() external view returns(RoleId[] memory roles) {
38
- // return _roles;
39
- // }
40
-
41
- // function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory info) {
42
- // return _roleInfo[roleId];
43
- // }
44
-
45
- // function roleExists(RoleId roleId) public view returns(bool exists) {
46
- // return _roleInfo[roleId].roleType != RoleType.Undefined;
47
- // }
48
-
49
- // function getTargets() external view returns(Str[] memory targets) {
50
- // return _targets;
51
- // }
52
-
53
26
  function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
54
27
  return _serviceDomains;
55
28
  }
@@ -58,33 +31,6 @@ contract ModuleAuthorization is
58
31
  return _serviceTarget[serviceDomain];
59
32
  }
60
33
 
61
- // function getTargetRole(Str target) external view returns(RoleId roleId) {
62
- // return _targetRole[target];
63
- // }
64
-
65
- // function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds) {
66
- // return _authorizedRoles[target];
67
- // }
68
-
69
- // function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(IAccess.FunctionInfo[] memory authorizatedFunctions) {
70
- // return _authorizedFunctions[target][roleId];
71
- // }
72
-
73
- // /// @dev Overwrite this function for a specific realease.
74
- // function _setupTargets() internal virtual {}
75
-
76
- // /// @dev Overwrite this function for a specific realease.
77
- // function _setupRoles() internal virtual {}
78
-
79
- // /// @dev Overwrite this function for a specific realease.
80
- // function _setupTargetAuthorizations() internal virtual {}
81
-
82
- // /// @dev Use this method to to add an authorized role.
83
- // function _addRole(RoleId roleId, RoleInfo memory info) internal {
84
- // _roles.push(roleId);
85
- // _roleInfo[roleId] = info;
86
- // }
87
-
88
34
  /// @dev Add a GIF role for the provided role id and name.
89
35
  function _addGifRole(RoleId roleId, string memory name) internal returns (RoleInfo memory info) {
90
36
  _addRole(
@@ -96,17 +42,6 @@ contract ModuleAuthorization is
96
42
  name));
97
43
  }
98
44
 
99
- // /// @dev Add a contract role for the provided role id and name.
100
- // function _addContractRole(RoleId roleId, string memory name) internal {
101
- // _addRole(
102
- // roleId,
103
- // _toRoleInfo(
104
- // ADMIN_ROLE(),
105
- // RoleType.Contract,
106
- // 1,
107
- // name));
108
- // }
109
-
110
45
  /// @dev Add the service target role for the specified service domain
111
46
  function _addServiceTargetWithRole(ObjectType serviceDomain) internal {
112
47
  // add service domain
@@ -132,66 +67,6 @@ contract ModuleAuthorization is
132
67
  serviceRoleName);
133
68
  }
134
69
 
135
- // /// @dev Use this method to to add an authorized target together with its target role.
136
- // function _addTargetWithRole(
137
- // string memory targetName,
138
- // RoleId roleId,
139
- // string memory roleName
140
- // )
141
- // internal
142
- // {
143
- // // add target
144
- // Str target = StrLib.toStr(targetName);
145
- // _targets.push(target);
146
-
147
- // _targetExists[target] = true;
148
-
149
- // // link role to target if defined
150
- // if (roleId != RoleIdLib.zero()) {
151
- // // add role if new
152
- // if (!roleExists(roleId)) {
153
- // _addContractRole(roleId, roleName);
154
- // }
155
-
156
- // // link target to role
157
- // _targetRole[target] = roleId;
158
- // }
159
- // }
160
-
161
- // /// @dev creates a role info object from the provided parameters
162
- // function _toRoleInfo(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) internal view returns (RoleInfo memory info) {
163
- // return RoleInfo({
164
- // name: StrLib.toStr(name),
165
- // adminRoleId: adminRoleId,
166
- // roleType: roleType,
167
- // maxMemberCount: maxMemberCount,
168
- // createdAt: TimestampLib.blockTimestamp()});
169
- // }
170
-
171
- // /// @dev Use this method to to add an authorized target.
172
- // function _addTarget(string memory name) internal {
173
- // _addTargetWithRole(name, RoleIdLib.zero(), "");
174
- // }
175
-
176
- // /// @dev Use this method to authorize the specified role to access the target.
177
- // function _authorizeForTarget(string memory target, RoleId authorizedRoleId)
178
- // internal
179
- // returns (IAccess.FunctionInfo[] storage authorizatedFunctions)
180
- // {
181
- // Str targetStr = StrLib.toStr(target);
182
- // _authorizedRoles[targetStr].push(authorizedRoleId);
183
- // return _authorizedFunctions[targetStr][authorizedRoleId];
184
- // }
185
-
186
- // /// @dev Use this method to authorize a specific function authorization
187
- // function _authorize(IAccess.FunctionInfo[] storage functions, bytes4 selector, string memory name) internal {
188
- // functions.push(
189
- // IAccess.FunctionInfo({
190
- // selector: SelectorLib.toSelector(selector),
191
- // name: StrLib.toStr(name),
192
- // createdAt: TimestampLib.blockTimestamp()}));
193
- // }
194
-
195
70
  /// @dev role id for targets registry, staking and instance
196
71
  function _getTargetRoleId(ObjectType targetDomain)
197
72
  internal
@@ -40,6 +40,10 @@ contract ServiceAuthorization
40
40
  return _serviceDomains;
41
41
  }
42
42
 
43
+ function getServiceDomain(uint idx) external view returns(ObjectType serviceDomain) {
44
+ return _serviceDomains[idx];
45
+ }
46
+
43
47
  function getServiceAddress(ObjectType serviceDomain) external view returns(address service) {
44
48
  return _serviceAddress[serviceDomain];
45
49
  }
@@ -3,7 +3,6 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IRegistry} from "../registry/IRegistry.sol";
5
5
  import {IInstance} from "../instance/IInstance.sol";
6
- import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
7
6
  import {IComponentService} from "../shared/IComponentService.sol";
8
7
  import {IInstanceService} from "../instance/IInstanceService.sol";
9
8
  import {IRegistryService} from "../registry/IRegistryService.sol";
@@ -16,36 +16,6 @@ interface IDistributionComponent is IInstanceLinkedComponent {
16
16
 
17
17
  event LogDistributorUpdated(address to, address caller);
18
18
 
19
- // TODO cleanup
20
- // function setFees(
21
- // Fee memory distributionFee,
22
- // Fee memory minDistributionOwnerFee
23
- // ) external;
24
-
25
- // function createDistributorType(
26
- // string memory name,
27
- // UFixed minDiscountPercentage,
28
- // UFixed maxDiscountPercentage,
29
- // UFixed commissionPercentage,
30
- // uint32 maxReferralCount,
31
- // uint32 maxReferralLifetime,
32
- // bool allowSelfReferrals,
33
- // bool allowRenewals,
34
- // bytes memory data
35
- // ) external returns (DistributorType distributorType);
36
-
37
- // function createDistributor(
38
- // address distributor,
39
- // DistributorType distributorType,
40
- // bytes memory data
41
- // ) external returns(NftId distributorNftId);
42
-
43
- // function updateDistributorType(
44
- // NftId distributorNftId,
45
- // DistributorType distributorType,
46
- // bytes memory data
47
- // ) external;
48
-
49
19
  /// @dev Returns true iff the provided address is registered as a distributor with this distribution component.
50
20
  function isDistributor(address candidate) external view returns (bool);
51
21