@etherisc/gif-next 0.0.2-82c6d88-499 → 0.0.2-8311e70-020

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 (571) hide show
  1. package/README.md +67 -8
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -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 +1341 -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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -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 → authorization}/IAccessAdmin.sol/IAccessAdmin.json +181 -278
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +48 -10
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +144 -544
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +368 -245
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -109
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +201 -261
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +230 -49
  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 +1475 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -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 +1479 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2408 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -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 +134 -78
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +116 -126
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +162 -215
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1354 -262
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +966 -328
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +135 -330
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +97 -111
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +651 -531
  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/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  99. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  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 +959 -0
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -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 +141 -126
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +127 -398
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +435 -202
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +163 -97
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +270 -27
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +132 -379
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +448 -217
  137. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  138. package/artifacts/contracts/pool/Pool.sol/Pool.json +124 -662
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +569 -396
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -91
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +134 -184
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +91 -93
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +435 -212
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +145 -107
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +94 -9
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +318 -8
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +361 -113
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +136 -83
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +260 -237
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  166. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +57 -4
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +455 -318
  169. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +141 -99
  171. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -312
  173. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  175. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  176. package/artifacts/contracts/product/Product.sol/Product.json +258 -536
  177. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  179. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  181. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  183. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +340 -55
  185. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +72 -152
  187. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  189. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  191. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.json +566 -112
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +396 -436
  195. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  197. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
  199. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  200. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  201. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  202. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  203. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  204. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1325 -0
  205. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +101 -16
  207. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +5 -5
  209. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  210. package/artifacts/contracts/shared/Component.sol/Component.json +76 -265
  211. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  212. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +578 -492
  213. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -113
  215. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  225. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +89 -88
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +550 -209
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +127 -123
  231. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  233. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  235. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  237. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  239. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  241. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  244. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  246. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +112 -351
  248. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  250. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  252. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  254. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  256. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  258. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  260. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  262. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +697 -25
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  268. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  270. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +134 -125
  272. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -23
  274. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  275. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +85 -105
  276. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  277. package/artifacts/contracts/staking/Staking.sol/Staking.json +210 -366
  278. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  279. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  280. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +122 -95
  282. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -12
  284. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +100 -171
  286. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +98 -84
  288. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +186 -164
  290. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  291. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
  292. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  293. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  294. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
  296. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  298. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  300. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  302. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
  304. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  306. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  307. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  308. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  310. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  311. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  312. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +55 -2
  314. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  316. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  318. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  320. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +118 -5
  322. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +117 -14
  324. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  326. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  328. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  330. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  332. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  334. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  336. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  338. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  340. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +66 -2
  342. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  343. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  344. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  346. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  347. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  348. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  349. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  350. package/contracts/accounting/AccountingService.sol +262 -0
  351. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  352. package/contracts/accounting/IAccountingService.sol +45 -0
  353. package/contracts/{shared → authorization}/AccessAdmin.sol +271 -371
  354. package/contracts/authorization/AccessManagerCloneable.sol +149 -0
  355. package/contracts/authorization/Authorization.sol +289 -0
  356. package/contracts/authorization/IAccess.sol +49 -0
  357. package/contracts/{shared → authorization}/IAccessAdmin.sol +31 -59
  358. package/contracts/authorization/IAuthorization.sol +60 -0
  359. package/contracts/{registry → authorization}/IServiceAuthorization.sol +11 -6
  360. package/contracts/{registry → authorization}/ServiceAuthorization.sol +45 -25
  361. package/contracts/distribution/BasicDistribution.sol +139 -0
  362. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  363. package/contracts/distribution/Distribution.sol +147 -121
  364. package/contracts/distribution/DistributionService.sol +160 -100
  365. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  366. package/contracts/distribution/IDistributionComponent.sol +26 -40
  367. package/contracts/distribution/IDistributionService.sol +28 -9
  368. package/contracts/examples/fire/DamageLevel.sol +59 -0
  369. package/contracts/examples/fire/FirePool.sol +90 -0
  370. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  371. package/contracts/examples/fire/FireProduct.sol +438 -0
  372. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  373. package/contracts/examples/fire/FireUSD.sol +26 -0
  374. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  375. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  376. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  377. package/contracts/examples/unpermissioned/SimplePool.sol +107 -0
  378. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  379. package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
  380. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  381. package/contracts/instance/BundleSet.sol +130 -0
  382. package/contracts/instance/IInstance.sol +23 -44
  383. package/contracts/instance/IInstanceService.sol +16 -41
  384. package/contracts/instance/Instance.sol +92 -120
  385. package/contracts/instance/InstanceAdmin.sol +250 -255
  386. package/contracts/instance/InstanceAuthorizationV3.sol +225 -0
  387. package/contracts/instance/InstanceReader.sol +238 -34
  388. package/contracts/instance/InstanceService.sol +145 -180
  389. package/contracts/instance/InstanceServiceManager.sol +8 -13
  390. package/contracts/instance/InstanceStore.sol +35 -6
  391. package/contracts/instance/RiskSet.sol +118 -0
  392. package/contracts/instance/base/ObjectCounter.sol +1 -2
  393. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  394. package/contracts/instance/base/ObjectSet.sol +77 -0
  395. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  396. package/contracts/instance/module/IBundle.sol +1 -1
  397. package/contracts/instance/module/IComponents.sol +14 -15
  398. package/contracts/instance/module/IDistribution.sol +0 -1
  399. package/contracts/instance/module/IPolicy.sol +26 -25
  400. package/contracts/instance/module/IRisk.sol +3 -0
  401. package/contracts/mock/Dip.sol +1 -1
  402. package/contracts/oracle/BasicOracle.sol +47 -0
  403. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  404. package/contracts/oracle/IOracle.sol +16 -0
  405. package/contracts/oracle/IOracleComponent.sol +2 -1
  406. package/contracts/oracle/IOracleService.sol +2 -1
  407. package/contracts/oracle/Oracle.sol +64 -53
  408. package/contracts/oracle/OracleService.sol +113 -81
  409. package/contracts/oracle/OracleServiceManager.sol +8 -11
  410. package/contracts/pool/BasicPool.sol +175 -0
  411. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  412. package/contracts/pool/BundleService.sol +231 -102
  413. package/contracts/pool/BundleServiceManager.sol +8 -11
  414. package/contracts/pool/IBundleService.sol +33 -18
  415. package/contracts/pool/IPoolComponent.sol +20 -70
  416. package/contracts/pool/IPoolService.sol +53 -50
  417. package/contracts/pool/Pool.sol +208 -162
  418. package/contracts/pool/PoolService.sol +343 -180
  419. package/contracts/pool/PoolServiceManager.sol +6 -9
  420. package/contracts/product/ApplicationService.sol +83 -78
  421. package/contracts/product/ApplicationServiceManager.sol +6 -6
  422. package/contracts/product/BasicProduct.sol +51 -0
  423. package/contracts/product/BasicProductAuthorization.sol +41 -0
  424. package/contracts/product/ClaimService.sol +425 -159
  425. package/contracts/product/ClaimServiceManager.sol +6 -6
  426. package/contracts/product/IApplicationService.sol +6 -2
  427. package/contracts/product/IClaimService.sol +44 -7
  428. package/contracts/product/IPolicyService.sol +46 -34
  429. package/contracts/product/IPricingService.sol +10 -10
  430. package/contracts/product/IProductComponent.sol +29 -9
  431. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  432. package/contracts/product/PolicyService.sol +520 -259
  433. package/contracts/product/PolicyServiceManager.sol +6 -9
  434. package/contracts/product/PricingService.sol +66 -62
  435. package/contracts/product/PricingServiceManager.sol +6 -9
  436. package/contracts/product/Product.sol +220 -134
  437. package/contracts/product/RiskService.sol +151 -0
  438. package/contracts/product/RiskServiceManager.sol +39 -0
  439. package/contracts/registry/ChainNft.sol +72 -40
  440. package/contracts/registry/IRegistry.sol +72 -32
  441. package/contracts/registry/IRegistryService.sol +3 -10
  442. package/contracts/registry/IRelease.sol +26 -0
  443. package/contracts/registry/ITransferInterceptor.sol +1 -2
  444. package/contracts/registry/Registry.sol +364 -220
  445. package/contracts/registry/RegistryAdmin.sol +228 -217
  446. package/contracts/registry/RegistryService.sol +41 -66
  447. package/contracts/registry/RegistryServiceManager.sol +5 -5
  448. package/contracts/registry/ReleaseAdmin.sol +245 -0
  449. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  450. package/contracts/registry/ReleaseRegistry.sol +511 -0
  451. package/contracts/registry/ServiceAuthorizationV3.sol +102 -60
  452. package/contracts/registry/TokenRegistry.sol +8 -10
  453. package/contracts/shared/Component.sol +71 -126
  454. package/contracts/shared/ComponentService.sol +463 -380
  455. package/contracts/shared/ComponentServiceManager.sol +10 -7
  456. package/contracts/shared/ComponentVerifyingService.sol +29 -18
  457. package/contracts/shared/ContractLib.sol +252 -0
  458. package/contracts/shared/IComponent.sol +8 -17
  459. package/contracts/shared/IComponentService.sol +53 -39
  460. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  461. package/contracts/shared/IKeyValueStore.sol +1 -0
  462. package/contracts/shared/ILifecycle.sol +3 -2
  463. package/contracts/shared/INftOwnable.sol +2 -0
  464. package/contracts/shared/IPolicyHolder.sol +12 -22
  465. package/contracts/shared/IRegisterable.sol +23 -1
  466. package/contracts/shared/IService.sol +4 -6
  467. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
  468. package/contracts/shared/InstanceLinkedComponent.sol +95 -42
  469. package/contracts/shared/KeyValueStore.sol +7 -3
  470. package/contracts/shared/Lifecycle.sol +30 -72
  471. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  472. package/contracts/shared/NftOwnable.sol +31 -11
  473. package/contracts/shared/PolicyHolder.sol +17 -57
  474. package/contracts/shared/Registerable.sol +55 -21
  475. package/contracts/shared/RegistryLinked.sol +9 -14
  476. package/contracts/shared/Service.sol +18 -36
  477. package/contracts/shared/TokenHandler.sol +357 -26
  478. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  479. package/contracts/staking/IStaking.sol +12 -7
  480. package/contracts/staking/IStakingService.sol +12 -8
  481. package/contracts/staking/StakeManagerLib.sol +18 -25
  482. package/contracts/staking/Staking.sol +86 -73
  483. package/contracts/staking/StakingLifecycle.sol +23 -0
  484. package/contracts/staking/StakingManager.sol +10 -12
  485. package/contracts/staking/StakingReader.sol +23 -20
  486. package/contracts/staking/StakingService.sol +64 -36
  487. package/contracts/staking/StakingServiceManager.sol +4 -4
  488. package/contracts/staking/StakingStore.sol +15 -23
  489. package/contracts/staking/TargetManagerLib.sol +7 -3
  490. package/contracts/type/Amount.sol +27 -5
  491. package/contracts/type/Blocknumber.sol +7 -1
  492. package/contracts/type/ClaimId.sol +6 -1
  493. package/contracts/type/Key32.sol +2 -2
  494. package/contracts/type/Key32Set.sol +62 -0
  495. package/contracts/type/NftId.sol +7 -0
  496. package/contracts/type/ObjectType.sol +73 -24
  497. package/contracts/type/PayoutId.sol +10 -10
  498. package/contracts/type/Referral.sol +1 -0
  499. package/contracts/type/RiskId.sol +35 -4
  500. package/contracts/type/RoleId.sol +57 -93
  501. package/contracts/type/Seconds.sol +21 -1
  502. package/contracts/type/StateId.sol +15 -1
  503. package/contracts/type/Timestamp.sol +10 -5
  504. package/contracts/type/UFixed.sol +40 -121
  505. package/contracts/type/Version.sol +18 -6
  506. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
  507. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  508. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  509. package/package.json +8 -5
  510. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  511. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
  512. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  513. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  514. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  515. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
  516. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  517. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  518. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  519. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  520. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  521. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  522. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  523. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1218
  524. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  525. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -171
  526. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  527. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  528. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  529. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  530. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  531. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  532. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  533. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  534. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  535. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  536. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  537. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  538. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  539. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  540. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  541. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  542. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  543. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  544. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  545. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  546. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  547. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  548. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  549. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  550. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  551. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  552. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  553. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  554. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  555. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  556. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  557. package/contracts/instance/BundleManager.sol +0 -126
  558. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  559. package/contracts/instance/base/ObjectManager.sol +0 -80
  560. package/contracts/product/ProductService.sol +0 -124
  561. package/contracts/product/ProductServiceManager.sol +0 -42
  562. package/contracts/registry/ReleaseManager.sol +0 -527
  563. package/contracts/shared/AccessManagerCustom.sol +0 -741
  564. package/contracts/shared/AccessManagerExtended.sol +0 -481
  565. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  566. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  567. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  568. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  569. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  570. package/contracts/shared/InitializableCustom.sol +0 -177
  571. /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
- }