@etherisc/gif-next 0.0.2-bdb55c6-577 → 0.0.2-bdbfee9-660

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/README.md +128 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1056 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +771 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → accounting/IAccountingService.sol/IAccountingService.json} +401 -103
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1664 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +790 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/{shared/IAccessManagerExtended.sol/IAccessManagerExtended.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +605 -795
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +646 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1225 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +805 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +120 -606
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +608 -282
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +229 -116
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +133 -279
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +362 -66
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2026 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2452 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +551 -96
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +436 -86
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +550 -235
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1954 -313
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +902 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1704 -759
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +423 -230
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +121 -102
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +916 -774
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +938 -0
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +810 -0
  111. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +130 -136
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +91 -10
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +121 -413
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +203 -177
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +164 -91
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +418 -220
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +207 -102
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +234 -34
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +128 -396
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +494 -308
  137. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  138. package/artifacts/contracts/pool/Pool.sol/Pool.json +125 -684
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +546 -0
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +733 -530
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +210 -101
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +217 -170
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +146 -97
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +476 -221
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +183 -118
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +158 -8
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +341 -15
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +410 -100
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +176 -79
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -268
  167. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  168. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +110 -7
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +548 -309
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +183 -102
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.json +239 -309
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +145 -128
  179. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  180. package/artifacts/contracts/product/Product.sol/Product.json +268 -567
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.json +698 -0
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +755 -0
  185. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  187. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +379 -64
  189. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +90 -147
  191. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  193. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  195. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  196. package/artifacts/contracts/registry/Registry.sol/Registry.json +612 -128
  197. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1895 -155
  199. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +140 -276
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +128 -83
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  208. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  210. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  212. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  215. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  216. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +539 -532
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +169 -126
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  229. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +519 -249
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -133
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  245. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.json +77 -1
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +106 -366
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  266. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Service.sol/Service.json +73 -104
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +322 -133
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +213 -29
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +405 -415
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +158 -112
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +91 -67
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +269 -187
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +134 -97
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +273 -165
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +95 -49
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  302. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  304. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  306. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  308. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  310. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  311. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  312. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  314. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  315. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  316. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +140 -4
  318. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  320. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  322. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  324. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  326. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +121 -23
  328. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  332. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  334. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  336. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  338. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  340. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +126 -33
  342. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  344. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  346. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  347. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  348. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  349. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +637 -0
  350. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  352. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  353. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  354. package/contracts/accounting/AccountingService.sol +274 -0
  355. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  356. package/contracts/accounting/IAccountingService.sol +47 -0
  357. package/contracts/authorization/AccessAdmin.sol +780 -0
  358. package/contracts/authorization/AccessAdminLib.sol +396 -0
  359. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  360. package/contracts/authorization/Authorization.sol +172 -0
  361. package/contracts/authorization/IAccess.sol +67 -0
  362. package/contracts/authorization/IAccessAdmin.sol +144 -0
  363. package/contracts/authorization/IAuthorization.sol +27 -0
  364. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  365. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  366. package/contracts/distribution/BasicDistribution.sol +141 -0
  367. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  368. package/contracts/distribution/Distribution.sol +125 -139
  369. package/contracts/distribution/DistributionService.sol +273 -136
  370. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  371. package/contracts/distribution/IDistributionComponent.sol +21 -42
  372. package/contracts/distribution/IDistributionService.sol +54 -26
  373. package/contracts/examples/fire/DamageLevel.sol +59 -0
  374. package/contracts/examples/fire/FirePool.sol +86 -0
  375. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  376. package/contracts/examples/fire/FireProduct.sol +433 -0
  377. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  378. package/contracts/examples/fire/FireUSD.sol +26 -0
  379. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  380. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  381. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  382. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  383. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  384. package/contracts/examples/unpermissioned/SimpleProduct.sol +385 -0
  385. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  386. package/contracts/instance/BundleSet.sol +130 -0
  387. package/contracts/instance/IInstance.sol +110 -47
  388. package/contracts/instance/IInstanceService.sol +74 -42
  389. package/contracts/instance/Instance.sol +248 -138
  390. package/contracts/instance/InstanceAdmin.sol +301 -249
  391. package/contracts/instance/InstanceAuthorizationV3.sol +266 -0
  392. package/contracts/instance/InstanceReader.sol +494 -252
  393. package/contracts/instance/InstanceService.sol +358 -208
  394. package/contracts/instance/InstanceServiceManager.sol +8 -13
  395. package/contracts/instance/InstanceStore.sol +35 -18
  396. package/contracts/instance/RiskSet.sol +118 -0
  397. package/contracts/instance/base/BalanceStore.sol +14 -11
  398. package/contracts/instance/base/Cloneable.sol +2 -25
  399. package/contracts/instance/base/ObjectCounter.sol +1 -2
  400. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  401. package/contracts/instance/base/ObjectSet.sol +77 -0
  402. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  403. package/contracts/instance/module/IBundle.sol +6 -5
  404. package/contracts/instance/module/IComponents.sol +30 -20
  405. package/contracts/instance/module/IDistribution.sol +21 -9
  406. package/contracts/instance/module/IPolicy.sol +50 -29
  407. package/contracts/instance/module/IRisk.sol +5 -0
  408. package/contracts/mock/Dip.sol +1 -1
  409. package/contracts/oracle/BasicOracle.sol +45 -0
  410. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  411. package/contracts/oracle/IOracle.sol +25 -4
  412. package/contracts/oracle/IOracleComponent.sol +2 -1
  413. package/contracts/oracle/IOracleService.sol +2 -1
  414. package/contracts/oracle/Oracle.sol +62 -53
  415. package/contracts/oracle/OracleService.sol +118 -85
  416. package/contracts/oracle/OracleServiceManager.sol +8 -11
  417. package/contracts/pool/BasicPool.sol +173 -0
  418. package/contracts/pool/BasicPoolAuthorization.sol +82 -0
  419. package/contracts/pool/BundleService.sol +212 -114
  420. package/contracts/pool/BundleServiceManager.sol +8 -11
  421. package/contracts/pool/IBundleService.sol +31 -22
  422. package/contracts/pool/IPoolComponent.sol +20 -70
  423. package/contracts/pool/IPoolService.sol +91 -77
  424. package/contracts/pool/Pool.sol +207 -163
  425. package/contracts/pool/PoolLib.sol +359 -0
  426. package/contracts/pool/PoolService.sol +404 -264
  427. package/contracts/pool/PoolServiceManager.sol +6 -9
  428. package/contracts/product/ApplicationService.sol +132 -87
  429. package/contracts/product/ApplicationServiceManager.sol +6 -6
  430. package/contracts/product/BasicProduct.sol +49 -0
  431. package/contracts/product/BasicProductAuthorization.sol +63 -0
  432. package/contracts/product/ClaimService.sol +385 -188
  433. package/contracts/product/ClaimServiceManager.sol +6 -6
  434. package/contracts/product/IApplicationService.sol +9 -2
  435. package/contracts/product/IClaimService.sol +44 -8
  436. package/contracts/product/IPolicyService.sol +61 -37
  437. package/contracts/product/IPricingService.sol +11 -10
  438. package/contracts/product/IProductComponent.sol +29 -9
  439. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  440. package/contracts/product/PolicyService.sol +448 -278
  441. package/contracts/product/PolicyServiceLib.sol +139 -0
  442. package/contracts/product/PolicyServiceManager.sol +6 -9
  443. package/contracts/product/PricingService.sol +93 -88
  444. package/contracts/product/PricingServiceManager.sol +6 -9
  445. package/contracts/product/Product.sol +237 -142
  446. package/contracts/product/RiskService.sol +157 -0
  447. package/contracts/product/RiskServiceManager.sol +39 -0
  448. package/contracts/registry/ChainNft.sol +72 -40
  449. package/contracts/registry/IRegistry.sol +82 -31
  450. package/contracts/registry/IRegistryService.sol +3 -10
  451. package/contracts/registry/IRelease.sol +29 -0
  452. package/contracts/registry/ITransferInterceptor.sol +1 -2
  453. package/contracts/registry/Registry.sol +374 -214
  454. package/contracts/registry/RegistryAdmin.sol +122 -171
  455. package/contracts/registry/RegistryAuthorization.sol +284 -0
  456. package/contracts/registry/RegistryService.sol +47 -72
  457. package/contracts/registry/RegistryServiceManager.sol +5 -10
  458. package/contracts/registry/ReleaseAdmin.sol +195 -0
  459. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  460. package/contracts/registry/ReleaseRegistry.sol +520 -0
  461. package/contracts/registry/ServiceAuthorizationV3.sol +345 -0
  462. package/contracts/registry/TokenRegistry.sol +14 -15
  463. package/contracts/shared/Component.sol +65 -136
  464. package/contracts/shared/ComponentService.sol +445 -385
  465. package/contracts/shared/ComponentServiceManager.sol +10 -7
  466. package/contracts/shared/ContractLib.sol +311 -0
  467. package/contracts/shared/IComponent.sol +6 -18
  468. package/contracts/shared/IComponentService.sol +49 -41
  469. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  470. package/contracts/shared/IKeyValueStore.sol +1 -0
  471. package/contracts/shared/ILifecycle.sol +3 -2
  472. package/contracts/shared/INftOwnable.sol +2 -0
  473. package/contracts/shared/IPolicyHolder.sol +12 -22
  474. package/contracts/shared/IRegisterable.sol +22 -1
  475. package/contracts/shared/IService.sol +10 -5
  476. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  477. package/contracts/shared/InstanceLinkedComponent.sol +95 -45
  478. package/contracts/shared/KeyValueStore.sol +7 -3
  479. package/contracts/shared/Lifecycle.sol +30 -72
  480. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  481. package/contracts/shared/NftOwnable.sol +31 -11
  482. package/contracts/shared/PolicyHolder.sol +20 -59
  483. package/contracts/shared/Registerable.sol +52 -21
  484. package/contracts/shared/RegistryLinked.sol +9 -14
  485. package/contracts/shared/Service.sol +31 -41
  486. package/contracts/shared/TokenHandler.sol +310 -26
  487. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  488. package/contracts/staking/IStaking.sol +49 -22
  489. package/contracts/staking/IStakingService.sol +37 -16
  490. package/contracts/staking/Staking.sol +244 -190
  491. package/contracts/staking/StakingLib.sol +281 -0
  492. package/contracts/staking/StakingLifecycle.sol +23 -0
  493. package/contracts/staking/StakingManager.sol +10 -12
  494. package/contracts/staking/StakingReader.sol +46 -34
  495. package/contracts/staking/StakingService.sol +146 -84
  496. package/contracts/staking/StakingServiceManager.sol +8 -8
  497. package/contracts/staking/StakingStore.sol +95 -61
  498. package/contracts/staking/TargetManagerLib.sol +8 -4
  499. package/contracts/type/Amount.sol +27 -5
  500. package/contracts/type/Blocknumber.sol +7 -1
  501. package/contracts/type/ClaimId.sol +6 -1
  502. package/contracts/type/Fee.sol +8 -8
  503. package/contracts/type/Key32.sol +2 -2
  504. package/contracts/type/Key32Set.sol +62 -0
  505. package/contracts/type/NftId.sol +7 -0
  506. package/contracts/type/ObjectType.sol +200 -61
  507. package/contracts/type/PayoutId.sol +10 -10
  508. package/contracts/type/Referral.sol +1 -0
  509. package/contracts/type/RiskId.sol +38 -6
  510. package/contracts/type/RoleId.sol +121 -87
  511. package/contracts/type/Seconds.sol +25 -1
  512. package/contracts/type/Selector.sol +107 -0
  513. package/contracts/type/StateId.sol +15 -1
  514. package/contracts/type/String.sol +65 -0
  515. package/contracts/type/Timestamp.sol +10 -5
  516. package/contracts/type/UFixed.sol +61 -125
  517. package/contracts/type/Version.sol +57 -6
  518. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  519. package/contracts/{shared → upgradeability}/ProxyManager.sol +96 -49
  520. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +8 -4
  521. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  522. package/package.json +10 -7
  523. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  524. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  525. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  526. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  527. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  528. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  529. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  530. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  531. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  532. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  533. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
  534. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  535. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
  536. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  537. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
  538. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  539. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  540. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  541. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  542. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  543. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  544. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  545. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  546. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  547. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  548. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  549. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  550. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  551. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  552. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  553. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  554. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  555. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  556. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  557. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  558. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  559. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  560. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  561. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  562. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  563. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  564. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  565. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  566. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  567. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -444
  568. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  569. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  570. package/contracts/instance/BundleManager.sol +0 -126
  571. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  572. package/contracts/instance/base/ObjectManager.sol +0 -82
  573. package/contracts/instance/module/IAccess.sol +0 -46
  574. package/contracts/product/ProductService.sol +0 -124
  575. package/contracts/product/ProductServiceManager.sol +0 -42
  576. package/contracts/registry/ReleaseManager.sol +0 -600
  577. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  578. package/contracts/shared/AccessManagerCustom.sol +0 -736
  579. package/contracts/shared/AccessManagerExtended.sol +0 -470
  580. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  581. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  582. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  583. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  584. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  585. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  586. package/contracts/shared/InitializableCustom.sol +0 -177
  587. package/contracts/staking/StakeManagerLib.sol +0 -179
@@ -1,470 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
-
5
- import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
6
- import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
7
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
8
-
9
- import {IAccessManagerExtended} from "./IAccessManagerExtended.sol";
10
- import {AccessManagerCustom} from "./AccessManagerCustom.sol";
11
-
12
- import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
13
-
14
-
15
- // IMPORTANT: check role/target for existance before using return value of getter
16
- contract AccessManagerExtended is AccessManagerCustom, IAccessManagerExtended {
17
- using EnumerableSet for EnumerableSet.AddressSet;
18
-
19
- string constant private ADMIN_ROLE_NAME = "Admin";
20
- string constant private PUBLIC_ROLE_NAME = "Public";
21
-
22
- /// @custom:storage-location erc7201:etherisc.storage.AccessManagerExtended
23
- struct AccessManagerExtendedStorage {
24
- mapping(address target => TargetInfo info) _targetInfo;
25
- mapping(string name => address target) _targetAddressForName;
26
- address[] _targetAddresses;
27
-
28
- mapping(uint64 roleId => RoleInfo) _roleInfo;
29
- mapping(uint64 roleId => EnumerableSet.AddressSet roleMembers) _roleMembers;
30
- mapping(string => uint64) _roleIdForName;
31
- uint64[] _roleIds;
32
- }
33
-
34
- // keccak256(abi.encode(uint256(keccak256("etherisc.storage.AccessManagerExtended")) - 1)) & ~bytes32(uint256(0xff));
35
- bytes32 private constant AccessManagerExtendedStorageLocation = 0x5bf600af9ae77c7c374fa7aa6d8057fe6114c74f945a04f4a14ca05a62876900;
36
-
37
- function _getAccessManagerExtendedStorage() private pure returns (AccessManagerExtendedStorage storage $) {
38
- assembly {
39
- $.slot := AccessManagerExtendedStorageLocation
40
- }
41
- }
42
-
43
- modifier roleExists(uint64 roleId) {
44
- if(!isRoleExists(roleId)) {
45
- revert AccessManagerRoleIdNotExists(roleId);
46
- }
47
- _;
48
- }
49
-
50
- modifier targetExists(address target) {
51
- if(!isTargetExists(target)) {
52
- revert AccessManagerTargetNotExists(target);
53
- }
54
- _;
55
- }
56
-
57
- function __AccessManagerExtended_init(address initialAdmin) internal onlyInitializing {
58
-
59
- _createRole(ADMIN_ROLE, ADMIN_ROLE_NAME);//, IAccess.Type.Core);
60
- _createRole(PUBLIC_ROLE, PUBLIC_ROLE_NAME);//, IAccess.Type.Core);
61
-
62
-
63
- // grants ADMIN role to initialAdmin
64
- __AccessManagerCustom_init(initialAdmin);
65
- }
66
-
67
- // =================================================== GETTERS ====================================================
68
-
69
- function isTargetExists(address target) public view returns (bool) {
70
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
71
- return $._targetInfo[target].createdAt.gtz();
72
- }
73
-
74
- function isTargetNameExists(string memory name) public view returns (bool) {
75
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
76
- return $._targetAddressForName[name] != address(0);
77
- }
78
-
79
- function getTargetAddress(string memory name) public view returns(address targetAddress) {
80
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
81
- return $._targetAddressForName[name];
82
- }
83
-
84
- function getTargetInfo(address target) public view returns (TargetInfo memory) {
85
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
86
- return $._targetInfo[target];
87
- }
88
-
89
- function getRoleInfo(uint64 roleId) public view returns (RoleInfo memory) {
90
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
91
- return $._roleInfo[roleId];
92
- }
93
-
94
- function getRoleMembers(uint64 roleId) public view returns (uint256 numberOfMembers) {
95
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
96
- return EnumerableSet.length($._roleMembers[roleId]);
97
- }
98
-
99
- function getRoleMember(uint64 roleId, uint256 idx) public view returns (address member) {
100
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
101
- return EnumerableSet.at($._roleMembers[roleId], idx);
102
- }
103
-
104
- function getRoleId(uint256 idx) public view returns (uint64 roleId) {
105
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
106
- return $._roleIds[idx];
107
- }
108
-
109
- // TODO returns ADMIN_ROLE id for non existent name
110
- function getRoleId(string memory name) public view returns (uint64 roleId) {
111
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
112
- return $._roleIdForName[name];
113
- }
114
-
115
- function getRoles() public view returns (uint256 numberOfRoles) {
116
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
117
- return $._roleIds.length;
118
- }
119
-
120
- function isRoleExists(uint64 roleId) public view returns (bool exists) {
121
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
122
- return $._roleInfo[roleId].createdAt.gtz();
123
- }
124
-
125
- function isRoleNameExists(string memory name) public view returns (bool exists) {
126
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
127
- return $._roleIdForName[name] != 0;
128
- }
129
-
130
- // =============================================== ROLE MANAGEMENT ===============================================
131
-
132
- /// inheritdoc IAccessManagerExtended
133
- function createRole(uint64 roleId, string memory name)//, IAccess.Type rtype)
134
- public
135
- onlyAuthorized
136
- {
137
- name = _validateRole(roleId, name);//, rtype);
138
- _createRole(roleId, name);//, rtype);
139
- }
140
-
141
- function _validateRole(uint64 roleId, string memory name)//, IAccess.Type rtype)
142
- internal
143
- virtual
144
- view
145
- returns(string memory)
146
- {
147
- /*
148
- if(rtype == IAccess.Type.Custom && roleId < CUSTOM_ROLE_ID_MIN) {
149
- revert IAccess.ErrorIAccessRoleIdTooSmall(roleId);
150
- }
151
-
152
- if(
153
- rtype != IAccess.Type.Custom &&
154
- roleId >= CUSTOM_ROLE_ID_MIN &&
155
- roleId != PUBLIC_ROLE().toInt())
156
- {
157
- revert AccessManagerRoleIdTooBig(roleId);
158
- }
159
- */
160
-
161
- if(roleId == 0) {
162
- revert AccessManagerRoleIdZero();
163
- }
164
-
165
- if(bytes(name).length == 0) {
166
- revert AccessManagerRoleNameEmpty(roleId);
167
- }
168
-
169
- return name;
170
- }
171
-
172
- function _createRole(uint64 roleId, string memory name/*, IAccess.Type rtype*/) private
173
- {
174
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
175
-
176
- if(isRoleExists(roleId)) {
177
- revert AccessManagerRoleIdAlreadyExists(roleId);
178
- }
179
-
180
- if(isRoleNameExists(name)) {
181
- revert AccessManagerRoleNameAlreadyExists(
182
- roleId,
183
- getRoleId(name),
184
- name);
185
- }
186
-
187
- $._roleInfo[roleId] = RoleInfo({
188
- id: roleId,
189
- name: name,
190
- //rtype: rtype,
191
- createdAt: TimestampLib.blockTimestamp()
192
- // disableAt: 0;
193
- });
194
-
195
- $._roleIdForName[name] = roleId;
196
- $._roleIds.push(roleId);
197
-
198
- emit LogRoleCreation(roleId, name);//, rtype);
199
- }
200
-
201
- /// inheritdoc IAccessManager
202
- function labelRole(uint64 roleId, string calldata label)
203
- public
204
- override (AccessManagerCustom, IAccessManager)
205
- roleExists(roleId)
206
- {
207
- super.labelRole(roleId, label);
208
- }
209
-
210
- /// inheritdoc IAccessManager
211
- function grantRole(uint64 roleId, address account, uint32 executionDelay)
212
- public
213
- override (AccessManagerCustom, IAccessManager)
214
- roleExists(roleId)
215
- {
216
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
217
- $._roleMembers[roleId].add(account);
218
- super.grantRole(roleId, account, executionDelay);
219
- }
220
-
221
- /// inheritdoc IAccessManager
222
- function revokeRole(uint64 roleId, address account)
223
- public
224
- override (AccessManagerCustom, IAccessManager)
225
- roleExists(roleId)
226
- {
227
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
228
- $._roleMembers[roleId].remove(account);
229
- super.revokeRole(roleId, account);
230
- }
231
-
232
- /// inheritdoc IAccessManager
233
- function renounceRole(uint64 roleId, address callerConfirmation)
234
- public
235
- override (AccessManagerCustom, IAccessManager)
236
- roleExists(roleId)
237
- {
238
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
239
- $._roleMembers[roleId].remove(_msgSender());
240
- super.renounceRole(roleId, callerConfirmation);
241
- }
242
-
243
- /// inheritdoc IAccessManager
244
- function setRoleAdmin(uint64 roleId, uint64 admin)
245
- public
246
- override (AccessManagerCustom, IAccessManager)
247
- roleExists(roleId)
248
- roleExists(admin)
249
- {
250
- super.setRoleAdmin(roleId, admin);
251
- }
252
-
253
- /// inheritdoc IAccessManager
254
- function setRoleGuardian(uint64 roleId, uint64 guardian)
255
- public
256
- override (AccessManagerCustom, IAccessManager)
257
- roleExists(roleId)
258
- {
259
- super.setRoleGuardian(roleId, guardian);
260
- }
261
-
262
- /// inheritdoc IAccessManager
263
- function setGrantDelay(uint64 roleId, uint32 newDelay)
264
- public
265
- override (AccessManagerCustom, IAccessManager)
266
- roleExists(roleId)
267
- {
268
- super.setGrantDelay(roleId, newDelay);
269
- }
270
-
271
- // ============================================= TARGET MANAGEMENT ==============================================
272
- /// inheritdoc IAccessManagerExtended
273
- function createTarget(address target, string memory name)//, IAccess.Type.Custom)
274
- public
275
- onlyAuthorized
276
- {
277
- name = _validateTarget(target, name);
278
- _createTarget(target, name);//, IAccess.Type.Custom);
279
- }
280
-
281
- /// inheritdoc IAccessManager
282
- // TODO must not allow "target = this" -> access manager as target created at the begining
283
- function _createTarget(address target, string memory name) private//, IAccess.Type ttype) private
284
- {
285
- AccessManagerExtendedStorage storage $ = _getAccessManagerExtendedStorage();
286
-
287
- if(isTargetExists(target)) {
288
- revert AccessManagerTargetAlreadyExists(target);
289
- }
290
-
291
- if(isTargetNameExists(name)) {
292
- revert AccessManagerTargetNameAlreadyExists(
293
- target,
294
- $._targetAddressForName[name],
295
- name);
296
- }
297
-
298
- $._targetInfo[target] = TargetInfo ({
299
- taddress: target,
300
- //ttype: ttype,
301
- name: name,
302
- createdAt: TimestampLib.blockTimestamp()
303
- // disableAt: 0;
304
- });
305
-
306
- $._targetAddressForName[name] = target;
307
- // must revert / panic on duplicate address -> -1 check then
308
- $._targetAddresses.push(target);
309
-
310
- emit LogTargetCreation(target, name);//, ttype);
311
- }
312
-
313
- /// inheritdoc IAccessManagerExtended
314
- // panics in case interface is not supported, 0 address included
315
- function _validateTarget(address target, string memory name)
316
- internal
317
- virtual
318
- returns (string memory)
319
- {
320
- if(target == address(0)) {
321
- revert AccessManagerTargetAddressZero();
322
- }
323
- // panic if not contract
324
- //address authority = IAccessManaged(target).authority();
325
-
326
- //if(authority != address(this)) {
327
- // revert AccessManagerTargetAuthorityInvalid(target, authority);
328
- //}
329
-
330
- if(bytes(name).length == 0) {
331
- revert AccessManagerTargetNameEmpty(target);
332
- }
333
-
334
- return name;
335
- }
336
-
337
- // ============================================= FUNCTION MANAGEMENT ==============================================
338
-
339
- /// inheritdoc IAccessManager
340
- function setTargetFunctionRole(
341
- address target,
342
- bytes4[] calldata selectors,
343
- uint64 roleId
344
- )
345
- public
346
- override (AccessManagerCustom, IAccessManager)
347
- targetExists(target)
348
- roleExists(roleId)
349
- {
350
- super.setTargetFunctionRole(target, selectors, roleId);
351
- }
352
- /// inheritdoc IAccessManager
353
- function setTargetAdminDelay(address target, uint32 newDelay)
354
- public
355
- override (AccessManagerCustom, IAccessManager)
356
- targetExists(target)
357
- {
358
- super.setTargetAdminDelay(target, newDelay);
359
- }
360
-
361
- // =============================================== MODE MANAGEMENT ================================================
362
- /// inheritdoc IAccessManager
363
- function setTargetClosed(address target, bool closed)
364
- public
365
- override (AccessManagerCustom, IAccessManager)
366
- targetExists(target)
367
- {
368
- super.setTargetClosed(target, closed);
369
- }
370
-
371
- // ============================================== DELAYED OPERATIONS ==============================================
372
- /// inheritdoc IAccessManager
373
- function schedule(
374
- address target,
375
- bytes calldata data,
376
- uint48 when
377
- )
378
- public
379
- override (AccessManagerCustom, IAccessManager)
380
- targetExists(target)
381
- returns (bytes32 operationId, uint32 nonce)
382
- {
383
- (operationId, nonce) = super.schedule(target, data, when);
384
- }
385
-
386
- /// inheritdoc IAccessManager
387
- function execute(address target, bytes calldata data)
388
- public
389
- payable
390
- override (AccessManagerCustom, IAccessManager)
391
- targetExists(target) returns (uint32)
392
- {
393
- return super.execute(target, data);
394
- }
395
-
396
- /// inheritdoc IAccessManager
397
- function cancel(address caller, address target, bytes calldata data)
398
- public
399
- override (AccessManagerCustom, IAccessManager)
400
- targetExists(target) returns (uint32)
401
- {
402
- return super.cancel(caller, target, data);
403
- }
404
-
405
- /// inheritdoc IAccessManager
406
- function consumeScheduledOp(address caller, bytes calldata data)
407
- public
408
- override (AccessManagerCustom, IAccessManager)
409
- targetExists(_msgSender())
410
- {
411
- super.consumeScheduledOp(caller, data);
412
- }
413
-
414
- // ==================================================== OTHERS ====================================================
415
- /// inheritdoc IAccessManager
416
- function updateAuthority(address target, address newAuthority)
417
- public
418
- override (AccessManagerCustom, IAccessManager)
419
- targetExists(target)
420
- {
421
- super.updateAuthority(target, newAuthority);
422
- }
423
-
424
- // ================================================= ADMIN LOGIC ==================================================
425
-
426
- function _getAdminRestrictions(
427
- bytes calldata data
428
- ) internal virtual override view returns (bool restricted, uint64 roleAdminId, uint32 executionDelay) {
429
- if (data.length < 4) {
430
- return (false, 0, 0);
431
- }
432
-
433
- bytes4 selector = _checkSelector(data);
434
-
435
- // Restricted to ADMIN with no delay beside any execution delay the caller may have
436
- if (
437
- selector == this.labelRole.selector ||
438
- selector == this.setRoleAdmin.selector ||
439
- selector == this.setRoleGuardian.selector ||
440
- selector == this.setGrantDelay.selector ||
441
- selector == this.setTargetAdminDelay.selector ||
442
- selector == this.createRole.selector ||
443
- selector == this.createTarget.selector
444
- ) {
445
- return (true, ADMIN_ROLE, 0);
446
- }
447
-
448
- // Restricted to ADMIN with the admin delay corresponding to the target
449
- if (
450
- selector == this.updateAuthority.selector ||
451
- selector == this.setTargetClosed.selector ||
452
- selector == this.setTargetFunctionRole.selector
453
- ) {
454
- // First argument is a target.
455
- address target = abi.decode(data[0x04:0x24], (address));// who is target???
456
- uint32 delay = getTargetAdminDelay(target);
457
- return (true, ADMIN_ROLE, delay);
458
- }
459
-
460
- // Restricted to that role's admin with no delay beside any execution delay the caller may have.
461
- if (selector == this.grantRole.selector || selector == this.revokeRole.selector) {
462
- // First argument is a roleId.
463
- uint64 roleId = abi.decode(data[0x04:0x24], (uint64));
464
- return (true, getRoleAdmin(roleId), 0);
465
- }
466
-
467
- return (false, 0, 0);
468
- }
469
-
470
- }
@@ -1,13 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessManagerExtended} from "./AccessManagerExtended.sol";
5
-
6
-
7
- contract AccessManagerExtendedInitializeable is AccessManagerExtended {
8
-
9
- function initialize(address initialAdmin) initializer public {
10
- __AccessManagerExtended_init(initialAdmin);
11
- }
12
-
13
- }
@@ -1,137 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- // OpenZeppelin Contracts (last updated v5.0.0) (access/manager/AccessManager.sol)
3
-
4
- pragma solidity ^0.8.20;
5
-
6
- import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
7
-
8
- import {VersionPart} from "../type/Version.sol";
9
- import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
10
- import {Seconds, SecondsLib} from "../type/Seconds.sol";
11
-
12
- import {IAccessManagerExtendedWithDisable} from "./IAccessManagerExtendedWithDisable.sol";
13
- import {AccessManagerExtended} from "./AccessManagerExtended.sol";
14
- import {AccessManagerCustom} from "./AccessManagerCustom.sol";
15
-
16
-
17
- contract AccessManagerExtendedWithDisable is AccessManagerExtended, IAccessManagerExtendedWithDisable {
18
-
19
- /// @custom:storage-location erc7201:etherisc.storage.ReleaseAccessManager
20
- struct AccessManagerExtendedWithDisableStorage {
21
- VersionPart _version;
22
- Timestamp _disabledAt;
23
- }
24
-
25
- // keccak256(abi.encode(uint256(keccak256("etherisc.storage.AccessManagerExtendedWithDisable")) - 1)) & ~bytes32(uint256(0xff));
26
- bytes32 private constant AccessManagerExtendedWithDisableStorageLocation = 0x6eab09faeebddf4f4430139353ec193aaa0bd7382b47d6e52082f5add274e600;
27
-
28
- function _getAccessManagerExtendedWithDisableStorage() private pure returns (AccessManagerExtendedWithDisableStorage storage $) {
29
- assembly {
30
- $.slot := AccessManagerExtendedWithDisableStorageLocation
31
- }
32
- }
33
-
34
- // TODO add version
35
- function __AccessManagerExtendedWithDisable_init(address initialAdmin, VersionPart version) internal onlyInitializing {
36
- AccessManagerExtendedWithDisableStorage storage $ = _getAccessManagerExtendedWithDisableStorage();
37
- $._version = version;
38
-
39
- __AccessManagerExtended_init(initialAdmin);
40
- }
41
-
42
- // =================================================== GETTERS ====================================================
43
-
44
- function canCall(
45
- address caller,
46
- address target,
47
- bytes4 selector
48
- )
49
- public view
50
- virtual override (AccessManagerCustom, IAccessManager)
51
- returns (bool immediate, uint32 delay)
52
- {
53
- AccessManagerExtendedWithDisableStorage storage $ = _getAccessManagerExtendedWithDisableStorage();
54
- if(isDisabled()) {
55
- revert AccessManagerDisabled();
56
- }
57
- return super.canCall(caller, target, selector);
58
- }
59
-
60
- function getVersion() public view returns (VersionPart) {
61
- AccessManagerExtendedWithDisableStorage storage $ = _getAccessManagerExtendedWithDisableStorage();
62
- return $._version;
63
- }
64
-
65
- function isDisabled() public view returns (bool) {
66
- AccessManagerExtendedWithDisableStorage storage $ = _getAccessManagerExtendedWithDisableStorage();
67
- return $._disabledAt.gtz() && TimestampLib.blockTimestamp() > $._disabledAt;
68
- }
69
-
70
- // ===================================== ACCESS MANAGER MODE MANAGEMENT ============================================
71
-
72
- /// inheritdoc IAccessManagerExtended
73
- function disable(Seconds delay) external onlyAuthorized {
74
- AccessManagerExtendedWithDisableStorage storage $ = _getAccessManagerExtendedWithDisableStorage();
75
- if($._disabledAt.gtz()) {
76
- revert AccessManagerDisabled();
77
- }
78
- $._disabledAt = TimestampLib.blockTimestamp().addSeconds(delay);
79
- }
80
- /// inheritdoc IAccessManagerExtended
81
- function enable() external onlyAuthorized {
82
- AccessManagerExtendedWithDisableStorage storage $ = _getAccessManagerExtendedWithDisableStorage();
83
- if(isDisabled()) {
84
- revert AccessManagerDisabled();
85
- }
86
- $._disabledAt = zeroTimestamp();
87
- }
88
-
89
-
90
- // ========================= INTERNAL ==============================
91
-
92
- function _getAdminRestrictions(
93
- bytes calldata data
94
- ) internal virtual override view returns (bool restricted, uint64 roleAdminId, uint32 executionDelay) {
95
- if (data.length < 4) {
96
- return (false, 0, 0);
97
- }
98
-
99
- bytes4 selector = _checkSelector(data);
100
-
101
- // Restricted to ADMIN with no delay beside any execution delay the caller may have
102
- if (
103
- selector == this.labelRole.selector ||
104
- selector == this.setRoleAdmin.selector ||
105
- selector == this.setRoleGuardian.selector ||
106
- selector == this.setGrantDelay.selector ||
107
- selector == this.setTargetAdminDelay.selector ||
108
- selector == this.createRole.selector ||
109
- selector == this.createTarget.selector ||
110
- selector == this.enable.selector ||
111
- selector == this.disable.selector
112
- ) {
113
- return (true, ADMIN_ROLE, 0);
114
- }
115
-
116
- // Restricted to ADMIN with the admin delay corresponding to the target
117
- if (
118
- selector == this.updateAuthority.selector ||
119
- selector == this.setTargetClosed.selector ||
120
- selector == this.setTargetFunctionRole.selector
121
- ) {
122
- // First argument is a target.
123
- address target = abi.decode(data[0x04:0x24], (address));// who is target???
124
- uint32 delay = getTargetAdminDelay(target);
125
- return (true, ADMIN_ROLE, delay);
126
- }
127
-
128
- // Restricted to that role's admin with no delay beside any execution delay the caller may have.
129
- if (selector == this.grantRole.selector || selector == this.revokeRole.selector) {
130
- // First argument is a roleId.
131
- uint64 roleId = abi.decode(data[0x04:0x24], (uint64));
132
- return (true, getRoleAdmin(roleId), 0);
133
- }
134
-
135
- return (false, 0, 0);
136
- }
137
- }
@@ -1,14 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {VersionPart} from "../type/Version.sol";
5
-
6
- import {AccessManagerExtendedWithDisable} from "./AccessManagerExtendedWithDisable.sol";
7
-
8
- contract AccessManagerExtendedWithDisableInitializeable is AccessManagerExtendedWithDisable {
9
-
10
- function initialize(address initialAdmin, VersionPart version) initializer public {
11
- __AccessManagerExtendedWithDisable_init(initialAdmin, version);
12
- }
13
-
14
- }