@etherisc/gif-next 0.0.2-e2d8c7d-942 → 0.0.2-e31e2fd-778

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 (714) hide show
  1. package/README.md +59 -18
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1234 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +483 -552
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1342 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1012 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1405 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +818 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +906 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +932 -0
  36. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  37. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  38. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  39. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  40. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  41. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  42. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  44. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  45. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  46. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +265 -1337
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +436 -175
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +320 -3074
  52. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1623 -0
  54. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  56. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +842 -414
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +501 -527
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +325 -171
  62. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3587 -0
  64. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  66. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  68. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  69. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  70. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  71. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  72. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -112
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  78. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  79. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  80. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  81. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  82. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  83. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  84. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  86. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  88. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  90. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +765 -0
  92. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  93. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +316 -305
  94. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  96. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +927 -0
  98. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +710 -0
  100. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  101. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  102. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  103. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  104. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1367 -0
  106. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +802 -0
  108. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +907 -0
  110. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  111. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  112. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  113. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  114. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  116. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  117. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1474 -0
  118. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  119. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +726 -0
  120. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +737 -0
  122. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +698 -0
  124. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  125. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  126. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  128. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  129. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1346 -0
  130. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +814 -0
  132. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  133. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +229 -248
  134. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  135. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  136. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +835 -0
  138. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +283 -233
  140. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  141. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +948 -0
  142. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  143. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IRiskService.sol/IRiskService.json} +144 -112
  144. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  145. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1191 -0
  146. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +762 -0
  148. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  149. package/artifacts/contracts/product/PricingService.sol/PricingService.json +865 -0
  150. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +746 -0
  152. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  153. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  154. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  155. package/artifacts/contracts/product/RiskService.sol/RiskService.json +588 -0
  156. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +682 -0
  158. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  159. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  160. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  161. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +592 -127
  162. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +290 -297
  164. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  165. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  166. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  167. package/artifacts/contracts/registry/Registry.sol/Registry.json +924 -165
  168. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  169. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1858 -0
  170. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +400 -348
  172. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +315 -131
  174. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  176. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  177. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  178. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  180. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +351 -100
  182. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  183. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/Component.sol/Component.json} +340 -108
  184. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1573 -0
  186. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +794 -0
  188. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  189. package/artifacts/contracts/shared/{RegisterableUpgradable.sol/RegisterableUpgradable.json → ComponentVerifyingService.sol/ComponentVerifyingService.json} +149 -159
  190. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  191. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  192. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +274 -190
  194. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  196. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +356 -325
  198. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  199. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +60 -34
  200. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  201. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  202. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  203. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  204. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  205. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  206. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  207. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  208. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  209. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  210. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  211. package/artifacts/contracts/shared/IService.sol/IService.json +97 -172
  212. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  213. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  214. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  215. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  216. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  217. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  218. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  219. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +88 -20
  220. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  221. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  222. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  223. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  224. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  225. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +65 -30
  226. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  227. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  228. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  229. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +44 -54
  230. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  231. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  232. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  233. package/artifacts/contracts/shared/Service.sol/Service.json +115 -183
  234. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  235. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +382 -9
  236. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  237. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  238. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  239. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  240. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  241. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  242. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  244. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  245. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  246. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  248. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +750 -0
  250. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  252. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1236 -0
  254. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +698 -0
  256. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  258. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  259. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  260. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  261. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  262. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  264. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  266. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  268. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  270. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  272. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  273. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  274. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  276. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  277. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  278. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  280. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  282. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  284. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  286. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  288. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  290. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  292. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  294. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  296. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  297. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  298. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  300. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  302. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  304. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  306. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  308. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  310. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  311. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  312. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  313. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +586 -0
  314. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  315. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  316. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  317. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  318. package/contracts/authorization/AccessAdmin.sol +592 -0
  319. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  320. package/contracts/authorization/Authorization.sol +217 -0
  321. package/contracts/authorization/IAccess.sol +48 -0
  322. package/contracts/authorization/IAccessAdmin.sol +135 -0
  323. package/contracts/authorization/IAuthorization.sol +54 -0
  324. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  325. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  326. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  327. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  328. package/contracts/distribution/BasicDistribution.sol +138 -0
  329. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  330. package/contracts/distribution/Distribution.sol +295 -0
  331. package/contracts/distribution/DistributionService.sol +336 -0
  332. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  333. package/contracts/distribution/IDistributionComponent.sol +52 -0
  334. package/contracts/distribution/IDistributionService.sol +101 -0
  335. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  336. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  337. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  338. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  339. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +40 -43
  340. package/contracts/instance/IInstance.sol +56 -53
  341. package/contracts/instance/IInstanceService.sol +77 -19
  342. package/contracts/instance/Instance.sol +157 -392
  343. package/contracts/instance/InstanceAdmin.sol +285 -0
  344. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  345. package/contracts/instance/InstanceReader.sol +202 -87
  346. package/contracts/instance/InstanceService.sol +383 -216
  347. package/contracts/instance/InstanceServiceManager.sol +14 -32
  348. package/contracts/instance/InstanceStore.sol +287 -0
  349. package/contracts/instance/base/BalanceStore.sol +123 -0
  350. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  351. package/contracts/instance/base/ObjectCounter.sol +21 -0
  352. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  353. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +20 -42
  354. package/contracts/instance/module/IAccess.sol +29 -21
  355. package/contracts/instance/module/IBundle.sol +8 -8
  356. package/contracts/instance/module/IComponents.sol +46 -0
  357. package/contracts/instance/module/IDistribution.sol +6 -4
  358. package/contracts/instance/module/IPolicy.sol +58 -19
  359. package/contracts/instance/module/IRisk.sol +1 -1
  360. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  361. package/contracts/oracle/BasicOracle.sol +48 -0
  362. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  363. package/contracts/oracle/IOracle.sol +36 -0
  364. package/contracts/oracle/IOracleComponent.sol +33 -0
  365. package/contracts/oracle/IOracleService.sol +65 -0
  366. package/contracts/oracle/Oracle.sol +167 -0
  367. package/contracts/oracle/OracleService.sol +281 -0
  368. package/contracts/oracle/OracleServiceManager.sol +39 -0
  369. package/contracts/pool/BasicPool.sol +166 -0
  370. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  371. package/contracts/pool/BundleService.sol +438 -0
  372. package/contracts/pool/BundleServiceManager.sol +39 -0
  373. package/contracts/pool/IBundleService.sol +134 -0
  374. package/contracts/pool/IPoolComponent.sol +58 -0
  375. package/contracts/pool/IPoolService.sol +160 -0
  376. package/contracts/pool/Pool.sol +326 -0
  377. package/contracts/pool/PoolService.sol +508 -0
  378. package/contracts/pool/PoolServiceManager.sol +39 -0
  379. package/contracts/product/ApplicationService.sol +247 -0
  380. package/contracts/product/ApplicationServiceManager.sol +38 -0
  381. package/contracts/product/BasicProduct.sol +53 -0
  382. package/contracts/product/BasicProductAuthorization.sol +43 -0
  383. package/contracts/product/ClaimService.sol +536 -0
  384. package/contracts/product/ClaimServiceManager.sol +38 -0
  385. package/contracts/product/IApplicationService.sol +63 -0
  386. package/contracts/product/IClaimService.sol +122 -0
  387. package/contracts/product/IPolicyService.sol +75 -0
  388. package/contracts/product/IPricingService.sol +39 -0
  389. package/contracts/product/IProductComponent.sol +39 -0
  390. package/contracts/product/IRiskService.sol +33 -0
  391. package/contracts/product/PolicyService.sol +637 -0
  392. package/contracts/product/PolicyServiceManager.sol +39 -0
  393. package/contracts/product/PricingService.sol +300 -0
  394. package/contracts/product/PricingServiceManager.sol +39 -0
  395. package/contracts/product/Product.sol +425 -0
  396. package/contracts/product/RiskService.sol +96 -0
  397. package/contracts/product/RiskServiceManager.sol +39 -0
  398. package/contracts/registry/ChainNft.sol +79 -31
  399. package/contracts/registry/IRegistry.sol +122 -35
  400. package/contracts/registry/IRegistryService.sol +47 -28
  401. package/contracts/registry/ITransferInterceptor.sol +1 -0
  402. package/contracts/registry/Registry.sol +527 -273
  403. package/contracts/registry/RegistryAdmin.sol +464 -0
  404. package/contracts/registry/RegistryService.sol +111 -217
  405. package/contracts/registry/RegistryServiceManager.sol +26 -53
  406. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  407. package/contracts/registry/ReleaseRegistry.sol +491 -0
  408. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  409. package/contracts/registry/TokenRegistry.sol +261 -57
  410. package/contracts/shared/Component.sol +268 -0
  411. package/contracts/shared/ComponentService.sol +641 -0
  412. package/contracts/shared/ComponentServiceManager.sol +38 -0
  413. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  414. package/contracts/shared/ContractLib.sol +38 -0
  415. package/contracts/shared/IComponent.sol +70 -0
  416. package/contracts/shared/IComponentService.sol +108 -0
  417. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  418. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  419. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  420. package/contracts/shared/INftOwnable.sol +13 -12
  421. package/contracts/shared/IPolicyHolder.sol +35 -0
  422. package/contracts/shared/IRegisterable.sol +4 -6
  423. package/contracts/shared/IRegistryLinked.sol +11 -0
  424. package/contracts/shared/IService.sol +16 -6
  425. package/contracts/shared/InitializableCustom.sol +177 -0
  426. package/contracts/shared/InitializableERC165.sol +27 -0
  427. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  428. package/contracts/shared/KeyValueStore.sol +131 -0
  429. package/contracts/shared/Lifecycle.sol +77 -0
  430. package/contracts/shared/NftIdSet.sol +65 -0
  431. package/contracts/shared/NftOwnable.sol +59 -86
  432. package/contracts/shared/PolicyHolder.sol +58 -0
  433. package/contracts/shared/Registerable.sol +23 -38
  434. package/contracts/shared/RegistryLinked.sol +44 -0
  435. package/contracts/shared/Service.sol +62 -30
  436. package/contracts/shared/TokenHandler.sol +122 -10
  437. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  438. package/contracts/staking/IStaking.sol +168 -0
  439. package/contracts/staking/IStakingService.sol +160 -0
  440. package/contracts/staking/StakeManagerLib.sol +224 -0
  441. package/contracts/staking/Staking.sol +498 -0
  442. package/contracts/staking/StakingLifecycle.sol +23 -0
  443. package/contracts/staking/StakingManager.sol +52 -0
  444. package/contracts/staking/StakingReader.sol +183 -0
  445. package/contracts/staking/StakingService.sol +407 -0
  446. package/contracts/staking/StakingServiceManager.sol +44 -0
  447. package/contracts/staking/StakingStore.sol +605 -0
  448. package/contracts/staking/TargetManagerLib.sol +211 -0
  449. package/contracts/{types → type}/AddressSet.sol +1 -1
  450. package/contracts/type/Amount.sol +135 -0
  451. package/contracts/{types → type}/Blocknumber.sol +27 -3
  452. package/contracts/type/ClaimId.sol +75 -0
  453. package/contracts/{types → type}/DistributorType.sol +2 -2
  454. package/contracts/{types → type}/Fee.sol +33 -23
  455. package/contracts/{types → type}/NftId.sol +21 -15
  456. package/contracts/{types → type}/NftIdSet.sol +2 -2
  457. package/contracts/type/ObjectType.sol +275 -0
  458. package/contracts/type/PayoutId.sol +82 -0
  459. package/contracts/{types → type}/Referral.sol +6 -1
  460. package/contracts/type/RequestId.sol +75 -0
  461. package/contracts/{types → type}/RiskId.sol +1 -1
  462. package/contracts/type/RoleId.sol +174 -0
  463. package/contracts/type/Seconds.sol +101 -0
  464. package/contracts/type/Selector.sol +102 -0
  465. package/contracts/{types → type}/StateId.sol +35 -4
  466. package/contracts/type/String.sol +53 -0
  467. package/contracts/{types → type}/Timestamp.sol +34 -15
  468. package/contracts/{types → type}/UFixed.sol +35 -9
  469. package/contracts/{types → type}/Version.sol +5 -2
  470. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  471. package/contracts/upgradeability/ProxyManager.sol +231 -0
  472. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  473. package/contracts/upgradeability/Versionable.sol +59 -0
  474. package/package.json +10 -7
  475. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  476. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  477. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -744
  478. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  479. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  480. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  481. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  482. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  483. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  484. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  485. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  486. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -939
  487. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  488. package/artifacts/contracts/components/Product.sol/Product.json +0 -855
  489. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  490. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  491. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  492. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  493. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  494. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  495. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  496. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  497. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  498. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  499. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  501. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  503. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  505. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  507. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  509. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  512. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  514. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  515. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  516. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  517. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  519. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  521. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  523. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  525. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  527. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  528. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  529. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  530. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
  531. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  532. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  533. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  534. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  535. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -940
  536. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  537. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  538. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  539. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  540. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  541. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  542. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  543. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  544. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  545. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  546. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  547. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  548. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  549. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  550. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  552. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -923
  553. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  554. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -440
  555. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  556. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  557. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  558. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -684
  559. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  560. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -428
  561. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  562. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  563. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  564. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  565. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  566. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  567. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  568. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  569. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  570. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -984
  571. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  572. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
  573. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  574. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -718
  575. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  576. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -428
  577. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  578. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -768
  579. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  580. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  581. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  582. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  583. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  584. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  585. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  586. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  587. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  588. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  589. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  590. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  591. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  592. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  593. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  594. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  595. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  596. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  597. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  598. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  599. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  600. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  601. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  602. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  603. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  604. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  605. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  606. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  607. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  608. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  609. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  610. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  611. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  612. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  614. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  616. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  618. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  620. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  621. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  622. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  624. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  625. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  626. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  627. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  628. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  629. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  630. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  631. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  632. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  633. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  634. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  635. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  636. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  637. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  638. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  639. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  640. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  641. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  642. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  643. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  644. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  645. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  646. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  647. package/contracts/components/BaseComponent.sol +0 -132
  648. package/contracts/components/Distribution.sol +0 -163
  649. package/contracts/components/IBaseComponent.sol +0 -31
  650. package/contracts/components/IDistributionComponent.sol +0 -44
  651. package/contracts/components/IPoolComponent.sol +0 -66
  652. package/contracts/components/IProductComponent.sol +0 -35
  653. package/contracts/components/Pool.sol +0 -271
  654. package/contracts/components/Product.sol +0 -292
  655. package/contracts/experiment/cloning/Cloner.sol +0 -47
  656. package/contracts/experiment/errors/Require.sol +0 -38
  657. package/contracts/experiment/errors/Revert.sol +0 -44
  658. package/contracts/experiment/inheritance/A.sol +0 -53
  659. package/contracts/experiment/inheritance/B.sol +0 -28
  660. package/contracts/experiment/inheritance/C.sol +0 -34
  661. package/contracts/experiment/inheritance/IA.sol +0 -13
  662. package/contracts/experiment/inheritance/IB.sol +0 -10
  663. package/contracts/experiment/inheritance/IC.sol +0 -12
  664. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  665. package/contracts/experiment/statemachine/ISM.sol +0 -25
  666. package/contracts/experiment/statemachine/SM.sol +0 -57
  667. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  668. package/contracts/experiment/types/TypeA.sol +0 -47
  669. package/contracts/experiment/types/TypeB.sol +0 -29
  670. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  671. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  672. package/contracts/instance/IInstanceBase.sol +0 -26
  673. package/contracts/instance/InstanceAccessManager.sol +0 -288
  674. package/contracts/instance/InstanceBase.sol +0 -41
  675. package/contracts/instance/base/ComponentServiceBase.sol +0 -72
  676. package/contracts/instance/base/IInstanceBase.sol +0 -23
  677. package/contracts/instance/base/KeyValueStore.sol +0 -172
  678. package/contracts/instance/base/Lifecycle.sol +0 -100
  679. package/contracts/instance/module/ISetup.sol +0 -46
  680. package/contracts/instance/module/ITreasury.sol +0 -23
  681. package/contracts/instance/service/BundleService.sol +0 -260
  682. package/contracts/instance/service/BundleServiceManager.sol +0 -54
  683. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  684. package/contracts/instance/service/DistributionService.sol +0 -118
  685. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  686. package/contracts/instance/service/IBundleService.sol +0 -45
  687. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  688. package/contracts/instance/service/IDistributionService.sol +0 -12
  689. package/contracts/instance/service/IPolicyService.sol +0 -87
  690. package/contracts/instance/service/IPoolService.sol +0 -20
  691. package/contracts/instance/service/IProductService.sol +0 -40
  692. package/contracts/instance/service/PolicyService.sol +0 -508
  693. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  694. package/contracts/instance/service/PoolService.sol +0 -124
  695. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  696. package/contracts/instance/service/ProductService.sol +0 -173
  697. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  698. package/contracts/shared/ContractDeployerLib.sol +0 -72
  699. package/contracts/shared/ERC165.sol +0 -25
  700. package/contracts/shared/ProxyManager.sol +0 -94
  701. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  702. package/contracts/shared/Versionable.sol +0 -147
  703. package/contracts/test/TestFee.sol +0 -25
  704. package/contracts/test/TestRegisterable.sol +0 -18
  705. package/contracts/test/TestRoleId.sol +0 -14
  706. package/contracts/test/TestService.sol +0 -24
  707. package/contracts/test/TestToken.sol +0 -26
  708. package/contracts/test/TestVersion.sol +0 -44
  709. package/contracts/test/TestVersionable.sol +0 -17
  710. package/contracts/types/ChainId.sol +0 -38
  711. package/contracts/types/NumberId.sol +0 -52
  712. package/contracts/types/ObjectType.sol +0 -152
  713. package/contracts/types/RoleId.sol +0 -92
  714. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,288 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
5
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
6
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
7
- import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
8
-
9
- import {IBundle} from "./module/IBundle.sol";
10
- import {IPolicy} from "./module/IPolicy.sol";
11
- import {IRisk} from "./module/IRisk.sol";
12
- import {ISetup} from "./module/ISetup.sol";
13
- import {Key32, KeyId, Key32Lib} from "../types/Key32.sol";
14
- import {KeyValueStore} from "./base/KeyValueStore.sol";
15
- import {NftId} from "../types/NftId.sol";
16
- import {NumberId} from "../types/NumberId.sol";
17
- import {ObjectType, BUNDLE, DISTRIBUTION, POLICY, POOL, ROLE, PRODUCT, TARGET} from "../types/ObjectType.sol";
18
- import {RiskId, RiskIdLib} from "../types/RiskId.sol";
19
- import {RoleId, RoleIdLib} from "../types/RoleId.sol";
20
- import {StateId, ACTIVE} from "../types/StateId.sol";
21
- import {Timestamp, TimestampLib} from "../types/Timestamp.sol";
22
-
23
- contract InstanceAccessManager is
24
- AccessManagedUpgradeable
25
- {
26
- string public constant ADMIN_ROLE_NAME = "AdminRole";
27
- string public constant PUBLIC_ROLE_NAME = "PublicRole";
28
-
29
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
30
- uint32 public constant EXECUTION_DELAY = 0;
31
-
32
- struct RoleInfo {
33
- ShortString name;
34
- bool isCustom;
35
- bool isLocked;
36
- Timestamp createdAt;
37
- Timestamp updatedAt;
38
- }
39
-
40
- struct TargetInfo {
41
- ShortString name;
42
- bool isCustom;
43
- bool isLocked;
44
- Timestamp createdAt;
45
- Timestamp updatedAt;
46
- }
47
-
48
- error ErrorRoleIdInvalid(RoleId roleId);
49
- error ErrorRoleIdTooBig(RoleId roleId);
50
- error ErrorRoleIdTooSmall(RoleId roleId);
51
- error ErrorRoleIdAlreadyExists(RoleId roleId, ShortString name);
52
- error ErrorRoleIdNotActive(RoleId roleId);
53
- error ErrorRoleNameEmpty(RoleId roleId);
54
- error ErrorRoleNameNotUnique(RoleId roleId, ShortString name);
55
- error ErrorRoleInvalidUpdate(RoleId roleId, bool isCustom);
56
- error ErrorRoleIsCustomIsImmutable(RoleId roleId, bool isCustom, bool isCustomExisting);
57
- error ErrorSetLockedForNonexstentRole(RoleId roleId);
58
- error ErrorGrantNonexstentRole(RoleId roleId);
59
- error ErrorRevokeNonexstentRole(RoleId roleId);
60
- error ErrorRenounceNonexstentRole(RoleId roleId);
61
-
62
- error ErrorTargetAddressZero();
63
- error ErrorTargetAlreadyExists(address target, ShortString name);
64
- error ErrorTargetNameEmpty(address target);
65
- error ErrorTargetNameExists(address target, address existingTarget, ShortString name);
66
- error ErrorSetLockedForNonexstentTarget(address target);
67
-
68
- // role specific state
69
- mapping(RoleId roleId => RoleInfo info) internal _role;
70
- mapping(RoleId roleId => EnumerableSet.AddressSet roleMembers) internal _roleMembers;
71
- mapping(ShortString name => RoleId roleId) internal _roleForName;
72
- RoleId [] internal _roles;
73
-
74
- // target specific state
75
- mapping(address target => TargetInfo info) internal _target;
76
- mapping(ShortString name => address target) internal _targetForName;
77
- address [] internal _targets;
78
-
79
- AccessManagerUpgradeable internal _accessManager;
80
-
81
- constructor(address accessManager)
82
- {
83
- _accessManager = AccessManagerUpgradeable(accessManager);
84
- __AccessManaged_init(accessManager);
85
-
86
- _createRole(RoleIdLib.toRoleId(_accessManager.ADMIN_ROLE()), ADMIN_ROLE_NAME, false, false);
87
- _createRole(RoleIdLib.toRoleId(_accessManager.PUBLIC_ROLE()), PUBLIC_ROLE_NAME, false, false);
88
- }
89
-
90
- //--- Role ------------------------------------------------------//
91
-
92
- function createDefaultRole(RoleId roleId, string memory name) external restricted() {
93
- _createRole(roleId, name, false, true);
94
- }
95
-
96
- function createRole(RoleId roleId, string memory name) external restricted() {
97
- _createRole(roleId, name, true, true);
98
- }
99
-
100
- function setRoleLocked(RoleId roleId, bool locked) external restricted() {
101
- if (!roleExists(roleId)) {
102
- revert ErrorSetLockedForNonexstentRole(roleId);
103
- }
104
-
105
- _role[roleId].isLocked = locked;
106
- _role[roleId].updatedAt = TimestampLib.blockTimestamp();
107
- }
108
-
109
- function roleExists(RoleId roleId) public view returns (bool exists) {
110
- return _role[roleId].createdAt.gtz();
111
- }
112
-
113
- function grantRole(RoleId roleId, address member) external restricted() returns (bool granted) {
114
- if (!roleExists(roleId)) {
115
- revert ErrorGrantNonexstentRole(roleId);
116
- }
117
-
118
- if (_role[roleId].isLocked) {
119
- revert ErrorRoleIdNotActive(roleId);
120
- }
121
-
122
- if (!EnumerableSet.contains(_roleMembers[roleId], member)) {
123
- _accessManager.grantRole(roleId.toInt(), member, EXECUTION_DELAY);
124
- EnumerableSet.add(_roleMembers[roleId], member);
125
- return true;
126
- }
127
-
128
- return false;
129
- }
130
-
131
- function revokeRole(RoleId roleId, address member) external restricted() returns (bool revoked) {
132
- if (!roleExists(roleId)) {
133
- revert ErrorRevokeNonexstentRole(roleId);
134
- }
135
-
136
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
137
- _accessManager.revokeRole(roleId.toInt(), member);
138
- EnumerableSet.remove(_roleMembers[roleId], member);
139
- return true;
140
- }
141
-
142
- return false;
143
- }
144
-
145
- /// @dev not restricted function by intention
146
- /// the restriction to role members is already enforced by the call to the access manger
147
- function renounceRole(RoleId roleId) external returns (bool revoked) {
148
- address member = msg.sender;
149
-
150
- if (!roleExists(roleId)) {
151
- revert ErrorRenounceNonexstentRole(roleId);
152
- }
153
-
154
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
155
- // cannot use accessManger.renounce as it directly checks against msg.sender
156
- _accessManager.revokeRole(roleId.toInt(), member);
157
- EnumerableSet.remove(_roleMembers[roleId], member);
158
- return true;
159
- }
160
-
161
- return false;
162
- }
163
-
164
- function roles() external view returns (uint256 numberOfRoles) {
165
- return _roles.length;
166
- }
167
-
168
- function getRoleId(uint256 idx) external view returns (RoleId roleId) {
169
- return _roles[idx];
170
- }
171
-
172
- function getRoleIdForName(string memory name) external view returns (RoleId roleId) {
173
- return _roleForName[ShortStrings.toShortString(name)];
174
- }
175
-
176
- function getRole(RoleId roleId) external view returns (RoleInfo memory role) {
177
- return _role[roleId];
178
- }
179
-
180
- function hasRole(RoleId roleId, address account) external view returns (bool accountHasRole) {
181
- (accountHasRole, ) = _accessManager.hasRole(roleId.toInt(), account);
182
- }
183
-
184
- function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers) {
185
- return EnumerableSet.length(_roleMembers[roleId]);
186
- }
187
-
188
- function getRoleMember(RoleId roleId, uint256 idx) external view returns (address roleMember) {
189
- return EnumerableSet.at(_roleMembers[roleId], idx);
190
- }
191
-
192
- //--- Target ------------------------------------------------------//
193
- function createTarget(address target, string memory name) external restricted() {
194
- _createTarget(target, name, true, true);
195
- }
196
-
197
- function setTargetLocked(address target, bool locked) external restricted() {
198
- if (!targetExists(target)) {
199
- revert ErrorSetLockedForNonexstentTarget(target);
200
- }
201
-
202
- _target[target].isLocked = locked;
203
- _accessManager.setTargetClosed(target, locked);
204
- }
205
-
206
- function targetExists(address target) public view returns (bool exists) {
207
- return _target[target].createdAt.gtz();
208
- }
209
-
210
- //--- internal view/pure functions --------------------------------------//
211
-
212
- function _createRole(RoleId roleId, string memory name, bool isCustom, bool validateParameters) internal {
213
- if (validateParameters) {
214
- _validateRoleParameters(roleId, name, isCustom);
215
- }
216
-
217
- RoleInfo memory role = RoleInfo(
218
- ShortStrings.toShortString(name),
219
- isCustom,
220
- false, // role un-locked,
221
- TimestampLib.blockTimestamp(),
222
- TimestampLib.blockTimestamp());
223
-
224
- _role[roleId] = role;
225
- _roleForName[role.name] = roleId;
226
- _roles.push(roleId);
227
- }
228
-
229
- function _validateRoleParameters(
230
- RoleId roleId,
231
- string memory name,
232
- bool isCustom
233
- )
234
- internal
235
- view
236
- returns (RoleInfo memory existingRole)
237
- {
238
- // check role id
239
- uint64 roleIdInt = RoleId.unwrap(roleId);
240
- if(roleIdInt == _accessManager.ADMIN_ROLE() || roleIdInt == _accessManager.PUBLIC_ROLE()) {
241
- revert ErrorRoleIdInvalid(roleId);
242
- }
243
-
244
- // prevent changing isCustom for existing roles
245
- existingRole = _role[roleId];
246
-
247
- if (existingRole.createdAt.gtz() && isCustom != existingRole.isCustom) {
248
- revert ErrorRoleIsCustomIsImmutable(roleId, isCustom, existingRole.isCustom);
249
- }
250
-
251
- if (isCustom && roleIdInt < CUSTOM_ROLE_ID_MIN) {
252
- revert ErrorRoleIdTooSmall(roleId);
253
- } else if (!isCustom && roleIdInt >= CUSTOM_ROLE_ID_MIN) {
254
- revert ErrorRoleIdTooBig(roleId);
255
- }
256
-
257
- // role name checks
258
- ShortString nameShort = ShortStrings.toShortString(name);
259
- if (ShortStrings.byteLength(nameShort) == 0) {
260
- revert ErrorRoleNameEmpty(roleId);
261
- }
262
-
263
- if (_roleForName[nameShort] != RoleIdLib.zero() && _roleForName[nameShort] != roleId) {
264
- revert ErrorRoleNameNotUnique(_roleForName[nameShort], nameShort);
265
- }
266
- }
267
-
268
- function _createTarget(address target, string memory name, bool isCustom, bool validateParameters) internal {
269
- if (validateParameters) {
270
- _validateTargetParameters(target, name, isCustom);
271
- }
272
-
273
- TargetInfo memory info = TargetInfo(
274
- ShortStrings.toShortString(name),
275
- isCustom,
276
- _accessManager.isTargetClosed(target), // sync with state in access manager
277
- TimestampLib.blockTimestamp(),
278
- TimestampLib.blockTimestamp());
279
-
280
- _target[target] = info;
281
- _targetForName[info.name] = target;
282
- _targets.push(target);
283
- }
284
-
285
- function _validateTargetParameters(address target, string memory name, bool isCustom) internal view {
286
-
287
- }
288
- }
@@ -1,41 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
5
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
6
-
7
- import {IAccess} from "./module/IAccess.sol";
8
- import {IBundle} from "./module/IBundle.sol";
9
- import {IPolicy} from "./module/IPolicy.sol";
10
- import {IRisk} from "./module/IRisk.sol";
11
- import {ISetup} from "./module/ISetup.sol";
12
- import {Key32, KeyId, Key32Lib} from "../types/Key32.sol";
13
- import {KeyValueStore} from "./base/KeyValueStore.sol";
14
- import {IInstance} from "./IInstance.sol";
15
- import {InstanceReader} from "./InstanceReader.sol";
16
- import {BundleManager} from "./BundleManager.sol";
17
- import {NftId} from "../types/NftId.sol";
18
- import {NumberId} from "../types/NumberId.sol";
19
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET} from "../types/ObjectType.sol";
20
- import {RiskId, RiskIdLib} from "../types/RiskId.sol";
21
- import {RoleId, RoleIdLib} from "../types/RoleId.sol";
22
- import {StateId, ACTIVE} from "../types/StateId.sol";
23
- import {ERC165} from "../shared/ERC165.sol";
24
- import {Registerable} from "../shared/Registerable.sol";
25
- import {ComponentOwnerService} from "./service/ComponentOwnerService.sol";
26
- import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
27
- import {IDistributionService} from "./service/IDistributionService.sol";
28
- import {IPoolService} from "./service/IPoolService.sol";
29
- import {IProductService} from "./service/IProductService.sol";
30
- import {VersionPart} from "../types/Version.sol";
31
- import {IInstanceBase} from "./IInstanceBase.sol";
32
-
33
- contract InstanceBase is
34
- IInstanceBase,
35
- KeyValueStore,
36
- ERC165,
37
- Registerable
38
- {
39
-
40
-
41
- }
@@ -1,72 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IRegistryService} from "../../registry/IRegistryService.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {ObjectType, INSTANCE, PRODUCT, POOL, DISTRIBUTION, ORACLE} from "../../types/ObjectType.sol";
8
- import {NftId, NftIdLib} from "../../types/NftId.sol";
9
- import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../types/RoleId.sol";
10
-
11
- import {BaseComponent} from "../../components/BaseComponent.sol";
12
- import {Product} from "../../components/Product.sol";
13
- import {INftOwnable} from "../../shared/INftOwnable.sol";
14
- import {Service} from "../../shared/Service.sol";
15
- import {InstanceService} from "../InstanceService.sol";
16
- import {Version, VersionPart, VersionLib} from "../../types/Version.sol";
17
-
18
- abstract contract ComponentServiceBase is Service {
19
-
20
- error ExpectedRoleMissing(RoleId expected, address caller);
21
- error ComponentTypeInvalid(ObjectType componentType);
22
-
23
-
24
- /// @dev modifier to check if caller is a registered service
25
- modifier onlyService() {
26
- address caller = msg.sender;
27
- require(getRegistry().isRegisteredService(caller), "ERROR_NOT_SERVICE");
28
- _;
29
- }
30
-
31
- // view functions
32
-
33
- function getRegistryService() public view virtual returns (IRegistryService) {
34
- address service = getRegistry().getServiceAddress("RegistryService", getMajorVersion());
35
- return IRegistryService(service);
36
- }
37
-
38
- function getInstanceService() public view returns (InstanceService) {
39
- return InstanceService(getRegistry().getServiceAddress("InstanceService", getMajorVersion()));
40
- }
41
-
42
- // internal view functions
43
-
44
- function _getInstance(IRegistry.ObjectInfo memory compObjInfo) internal view returns (IInstance) {
45
- IRegistry registry = getRegistry();
46
- IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(compObjInfo.parentNftId);
47
- return IInstance(instanceInfo.objectAddress);
48
- }
49
-
50
- function _getAndVerifyComponentInfoAndInstance(
51
- //address component,
52
- ObjectType expectedType
53
- )
54
- internal
55
- view
56
- returns(
57
- IRegistry.ObjectInfo memory info,
58
- IInstance instance
59
- )
60
- {
61
- IRegistry registry = getRegistry();
62
- //TODO redundant check -> just check type
63
- //NftId componentNftId = registry.getNftId(component);
64
- //require(componentNftId.gtz(), "ERROR_COMPONENT_UNKNOWN");
65
-
66
- info = registry.getObjectInfo(msg.sender);
67
- require(info.objectType == expectedType, "OBJECT_TYPE_INVALID");
68
-
69
- address instanceAddress = registry.getObjectInfo(info.parentNftId).objectAddress;
70
- instance = IInstance(instanceAddress);
71
- }
72
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Key32} from "../../types/Key32.sol";
5
- import {StateId} from "../../types/StateId.sol";
6
-
7
- import {IKeyValueStore} from "./IKeyValueStore.sol";
8
-
9
- import {IComponentOwnerService} from "../service/IComponentOwnerService.sol";
10
- import {IDistributionService} from "../service/IDistributionService.sol";
11
- import {IProductService} from "../service/IProductService.sol";
12
- import {IPoolService} from "../service/IPoolService.sol";
13
-
14
- interface IInstanceBase {
15
- function getKeyValueStore() external view returns (IKeyValueStore keyValueStore);
16
- function updateState(Key32 key, StateId state) external;
17
- function getState(Key32 key) external view returns (StateId state);
18
-
19
- function getComponentOwnerService() external view returns(IComponentOwnerService);
20
- function getDistributionService() external view returns(IDistributionService);
21
- function getProductService() external view returns(IProductService service);
22
- function getPoolService() external view returns(IPoolService service);
23
- }
@@ -1,172 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
5
- import {Key32, KeyId, Key32Lib} from "../../types/Key32.sol";
6
- import {NftId} from "../../types/NftId.sol";
7
- import {ObjectType} from "../../types/ObjectType.sol";
8
- import {StateId, ACTIVE} from "../../types/StateId.sol";
9
- import {Timestamp, TimestampLib} from "../../types/Timestamp.sol";
10
-
11
- import {Lifecycle} from "./Lifecycle.sol";
12
- import {IKeyValueStore} from "./IKeyValueStore.sol";
13
-
14
- contract KeyValueStore is Lifecycle, IKeyValueStore {
15
-
16
- mapping(Key32 key32 => Value value) private _value;
17
-
18
- function create(
19
- Key32 key32,
20
- bytes memory data
21
- )
22
- internal
23
- {
24
- _create(key32, data);
25
- }
26
-
27
- function _create(
28
- Key32 key32,
29
- bytes memory data
30
- )
31
- internal
32
- {
33
- ObjectType objectType = key32.toObjectType();
34
- require(objectType.gtz(), "ERROR:KVS-010:TYPE_UNDEFINED");
35
-
36
- Metadata storage metadata = _value[key32].metadata;
37
- require(metadata.state.eqz(), "ERROR:KVS-012:ALREADY_CREATED");
38
-
39
- address createdBy = msg.sender;
40
- Blocknumber blocknumber = blockBlocknumber();
41
- StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
42
-
43
- // set metadata
44
- metadata.objectType = objectType;
45
- metadata.state = initialState;
46
- metadata.updatedBy = createdBy;
47
- metadata.updatedIn = blocknumber;
48
- metadata.createdIn = blocknumber;
49
-
50
- // set data
51
- _value[key32].data = data;
52
-
53
- // solhint-disable-next-line avoid-tx-origin
54
- emit LogInfoCreated(key32.toObjectType(), key32.toKeyId(), initialState, createdBy, tx.origin);
55
- }
56
-
57
- function update(
58
- Key32 key32,
59
- bytes memory data,
60
- StateId state
61
- )
62
- internal
63
- {
64
- _update(key32, data, state);
65
- }
66
-
67
- function _update(
68
- Key32 key32,
69
- bytes memory data,
70
- StateId state
71
- )
72
- internal
73
- {
74
- require(state.gtz(), "ERROR:KVS-020:STATE_UNDEFINED");
75
- Metadata storage metadata = _value[key32].metadata;
76
- StateId stateOld = metadata.state;
77
- require(stateOld.gtz(), "ERROR:KVS-021:NOT_EXISTING");
78
-
79
- // update data
80
- _value[key32].data = data;
81
-
82
- // update metadata (and state)
83
- address updatedBy = msg.sender;
84
- Blocknumber lastUpdatedIn = metadata.updatedIn;
85
- metadata.state = state;
86
- metadata.updatedBy = updatedBy;
87
- metadata.updatedIn = blockBlocknumber();
88
-
89
- // create log entries
90
- // solhint-disable avoid-tx-origin
91
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
92
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
93
- // solhing-enable
94
- }
95
-
96
- function updateData(Key32 key32, bytes memory data)
97
- internal
98
- {
99
- _updateData(key32, data);
100
- }
101
-
102
- function _updateData(Key32 key32, bytes memory data)
103
- internal
104
- {
105
- Metadata storage metadata = _value[key32].metadata;
106
- StateId state = metadata.state;
107
- require(state.gtz(), "ERROR:KVS-030:NOT_EXISTING");
108
-
109
- // update data
110
- _value[key32].data = data;
111
-
112
- // update metadata
113
- address updatedBy = msg.sender;
114
- Blocknumber lastUpdatedIn = metadata.updatedIn;
115
- metadata.updatedBy = updatedBy;
116
- metadata.updatedIn = blockBlocknumber();
117
-
118
- // create log entry
119
- // solhint-disable-next-line avoid-tx-origin
120
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
121
- }
122
-
123
- function updateState(Key32 key32, StateId state)
124
- internal
125
- {
126
- _updateState(key32, state);
127
- }
128
-
129
- function _updateState(Key32 key32, StateId state)
130
- internal
131
- {
132
- require(state.gtz(), "ERROR:KVS-040:STATE_UNDEFINED");
133
- Metadata storage metadata = _value[key32].metadata;
134
- StateId stateOld = metadata.state;
135
- require(stateOld.gtz(), "ERROR:KVS-041:NOT_EXISTING");
136
-
137
- // update metadata (and state)
138
- address updatedBy = msg.sender;
139
- Blocknumber lastUpdatedIn = metadata.updatedIn;
140
- metadata.state = state;
141
- metadata.updatedBy = updatedBy;
142
- metadata.updatedIn = blockBlocknumber();
143
-
144
- // create log entry
145
- // solhint-disable-next-line avoid-tx-origin
146
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
147
- }
148
-
149
- function exists(Key32 key32) public view returns (bool) {
150
- return _value[key32].metadata.state.gtz();
151
- }
152
-
153
- function get(Key32 key32) public view returns (Value memory value) {
154
- return _value[key32];
155
- }
156
-
157
- function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
158
- return _value[key32].metadata;
159
- }
160
-
161
- function getData(Key32 key32) public view returns (bytes memory data) {
162
- return _value[key32].data;
163
- }
164
-
165
- function getState(Key32 key32) public view returns (StateId state) {
166
- return _value[key32].metadata.state;
167
- }
168
-
169
- function toKey32(ObjectType objectType, KeyId id) external pure override returns(Key32) {
170
- return Key32Lib.toKey32(objectType, id);
171
- }
172
- }
@@ -1,100 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {ObjectType, COMPONENT, BUNDLE, POLICY, RISK} from "../../types/ObjectType.sol";
6
- import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, UNDERWRITTEN, REVOKED, DECLINED} from "../../types/StateId.sol";
7
- import {ILifecycle} from "./ILifecycle.sol";
8
-
9
- contract Lifecycle is ILifecycle {
10
- mapping(ObjectType objectType => StateId initialState)
11
- private _initialState;
12
-
13
- mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
14
- private _isValidTransition;
15
-
16
- constructor() {
17
- _setupBundleLifecycle();
18
- _setupComponentLifecycle();
19
- _setupPolicyLifecycle();
20
- _setupRiskLifecycle();
21
- }
22
-
23
- function hasLifecycle(
24
- ObjectType objectType
25
- )
26
- public
27
- view
28
- override
29
- returns (bool)
30
- {
31
- return _initialState[objectType].gtz();
32
- }
33
-
34
- function getInitialState(
35
- ObjectType objectType
36
- )
37
- public
38
- view
39
- returns (StateId)
40
- {
41
- return _initialState[objectType];
42
- }
43
-
44
- function checkTransition(
45
- ObjectType objectType,
46
- StateId fromId,
47
- StateId toId
48
- )
49
- public
50
- view
51
- {
52
- // return if no life cycle support
53
- if (_initialState[objectType].eqz()) {
54
- return;
55
- }
56
-
57
- // enforce valid state transition
58
- if (!_isValidTransition[objectType][fromId][toId]) {
59
- revert ErrorInvalidStateTransition(objectType, fromId, toId);
60
- }
61
- }
62
-
63
- function isValidTransition(
64
- ObjectType objectType,
65
- StateId fromId,
66
- StateId toId
67
- ) public view returns (bool) {
68
- return _isValidTransition[objectType][fromId][toId];
69
- }
70
-
71
- function _setupComponentLifecycle() internal {
72
- _initialState[COMPONENT()] = ACTIVE();
73
- _isValidTransition[COMPONENT()][ACTIVE()][PAUSED()] = true;
74
- _isValidTransition[COMPONENT()][PAUSED()][ACTIVE()] = true;
75
- _isValidTransition[COMPONENT()][PAUSED()][ARCHIVED()] = true;
76
- }
77
-
78
- function _setupBundleLifecycle() internal {
79
- _initialState[BUNDLE()] = ACTIVE();
80
- _isValidTransition[BUNDLE()][ACTIVE()][PAUSED()] = true;
81
- _isValidTransition[BUNDLE()][PAUSED()][ACTIVE()] = true;
82
- _isValidTransition[BUNDLE()][PAUSED()][CLOSED()] = true;
83
- }
84
-
85
- function _setupPolicyLifecycle() internal {
86
- _initialState[POLICY()] = APPLIED();
87
- _isValidTransition[POLICY()][APPLIED()][REVOKED()] = true;
88
- _isValidTransition[POLICY()][APPLIED()][DECLINED()] = true;
89
- _isValidTransition[POLICY()][APPLIED()][UNDERWRITTEN()] = true;
90
- _isValidTransition[POLICY()][UNDERWRITTEN()][ACTIVE()] = true;
91
- _isValidTransition[POLICY()][ACTIVE()][CLOSED()] = true;
92
- }
93
-
94
- function _setupRiskLifecycle() internal {
95
- _initialState[RISK()] = ACTIVE();
96
- _isValidTransition[RISK()][ACTIVE()][PAUSED()] = true;
97
- _isValidTransition[RISK()][PAUSED()][ACTIVE()] = true;
98
- _isValidTransition[RISK()][PAUSED()][ARCHIVED()] = true;
99
- }
100
- }