@etherisc/gif-next 0.0.2-d16f92c-416 → 0.0.2-d1ee1ae-450

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