@etherisc/gif-next 0.0.2-803a717-124 → 0.0.2-804cdbf-724

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 (688) hide show
  1. package/README.md +40 -16
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -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/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  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 +1505 -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 +1191 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1394 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +900 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +843 -0
  36. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +262 -1347
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +406 -190
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +417 -2548
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +662 -349
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +601 -320
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +376 -86
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3591 -0
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  59. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  64. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -144
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  70. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  71. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  74. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  75. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  76. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  77. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  78. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  79. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  80. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  81. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  82. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  83. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  84. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  86. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1063 -0
  88. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  90. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  92. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  93. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  94. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  95. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  96. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  97. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  101. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +299 -265
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  103. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +959 -0
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  106. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  107. package/artifacts/contracts/pool/Pool.sol/Pool.json +1269 -0
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  113. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  117. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1299 -0
  118. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  119. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  120. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  124. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  125. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +211 -235
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  127. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +333 -277
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +270 -220
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  133. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +966 -0
  134. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  135. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IProductService.sol/IProductService.json} +135 -119
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  139. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  141. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  144. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  145. package/artifacts/contracts/product/Product.sol/Product.json +1257 -0
  146. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  147. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  148. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  150. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  151. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  152. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  153. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +281 -15
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  155. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +224 -260
  156. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  158. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/Registry.sol/Registry.json +539 -35
  160. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  161. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  162. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +538 -281
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +352 -82
  166. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  168. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  170. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  171. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  172. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -96
  174. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  175. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  176. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -0
  180. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  181. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +206 -188
  182. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  183. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  184. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  185. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IComponent.sol/IComponent.json} +277 -115
  186. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  187. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  188. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  189. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +718 -0
  190. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +60 -34
  192. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  194. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  195. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  196. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  197. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  198. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  200. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  201. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  202. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IService.sol/IService.json +84 -159
  204. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  206. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  208. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  209. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +996 -0
  210. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  211. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +88 -20
  212. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  213. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  214. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  215. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  216. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  217. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +115 -29
  218. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  219. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  220. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +330 -62
  222. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
  224. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  225. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  226. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Service.sol/Service.json +189 -150
  228. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  229. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  230. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  231. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  232. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  234. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  235. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  236. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  237. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  238. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  240. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  241. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  242. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  244. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  246. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  248. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  250. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  252. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  254. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  255. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  256. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  257. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  258. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  260. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  262. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  264. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  266. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  268. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  270. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  272. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  273. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  274. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  276. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  278. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  280. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  282. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  284. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  286. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  288. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  290. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  292. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  294. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  296. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  298. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/UFixed.sol/MathLib.json +10 -0
  300. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
  302. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  304. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  306. package/contracts/authorization/AccessAdmin.sol +591 -0
  307. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  308. package/contracts/authorization/Authorization.sol +218 -0
  309. package/contracts/authorization/IAccess.sol +48 -0
  310. package/contracts/authorization/IAccessAdmin.sol +136 -0
  311. package/contracts/authorization/IAuthorization.sol +54 -0
  312. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  313. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  314. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  315. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  316. package/contracts/distribution/BasicDistribution.sol +149 -0
  317. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  318. package/contracts/distribution/Distribution.sol +283 -0
  319. package/contracts/distribution/DistributionService.sol +302 -0
  320. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  321. package/contracts/distribution/IDistributionComponent.sol +48 -0
  322. package/contracts/distribution/IDistributionService.sol +85 -0
  323. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +40 -43
  324. package/contracts/instance/IInstance.sol +78 -54
  325. package/contracts/instance/IInstanceService.sol +75 -21
  326. package/contracts/instance/Instance.sol +187 -209
  327. package/contracts/instance/InstanceAdmin.sol +266 -0
  328. package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
  329. package/contracts/instance/InstanceReader.sol +173 -83
  330. package/contracts/instance/InstanceService.sol +355 -212
  331. package/contracts/instance/InstanceServiceManager.sol +12 -22
  332. package/contracts/instance/InstanceStore.sol +276 -0
  333. package/contracts/instance/base/BalanceStore.sol +123 -0
  334. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  335. package/contracts/instance/base/ObjectCounter.sol +21 -0
  336. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  337. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +20 -42
  338. package/contracts/instance/module/IAccess.sol +20 -22
  339. package/contracts/instance/module/IBundle.sol +8 -8
  340. package/contracts/instance/module/IComponents.sol +52 -0
  341. package/contracts/instance/module/IDistribution.sol +7 -4
  342. package/contracts/instance/module/IPolicy.sol +56 -17
  343. package/contracts/instance/module/IRisk.sol +1 -1
  344. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  345. package/contracts/oracle/BasicOracle.sol +48 -0
  346. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  347. package/contracts/oracle/IOracle.sol +36 -0
  348. package/contracts/oracle/IOracleComponent.sol +32 -0
  349. package/contracts/oracle/IOracleService.sol +65 -0
  350. package/contracts/oracle/Oracle.sol +157 -0
  351. package/contracts/oracle/OracleService.sol +278 -0
  352. package/contracts/oracle/OracleServiceManager.sol +42 -0
  353. package/contracts/pool/BasicPool.sol +164 -0
  354. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  355. package/contracts/pool/BundleService.sol +296 -0
  356. package/contracts/pool/BundleServiceManager.sol +42 -0
  357. package/contracts/pool/IBundleService.sol +106 -0
  358. package/contracts/pool/IPoolComponent.sol +52 -0
  359. package/contracts/pool/IPoolService.sol +150 -0
  360. package/contracts/pool/Pool.sol +311 -0
  361. package/contracts/pool/PoolService.sol +451 -0
  362. package/contracts/pool/PoolServiceManager.sol +42 -0
  363. package/contracts/product/ApplicationService.sol +254 -0
  364. package/contracts/product/ApplicationServiceManager.sol +38 -0
  365. package/contracts/product/BasicProduct.sol +82 -0
  366. package/contracts/product/BasicProductAuthorization.sol +40 -0
  367. package/contracts/product/ClaimService.sol +442 -0
  368. package/contracts/product/ClaimServiceManager.sol +38 -0
  369. package/contracts/product/IApplicationService.sol +62 -0
  370. package/contracts/product/IClaimService.sol +99 -0
  371. package/contracts/product/IPolicyService.sol +78 -0
  372. package/contracts/product/IPricingService.sol +39 -0
  373. package/contracts/product/IProductComponent.sol +39 -0
  374. package/contracts/product/IProductService.sol +33 -0
  375. package/contracts/product/PolicyService.sol +475 -0
  376. package/contracts/product/PolicyServiceManager.sol +42 -0
  377. package/contracts/product/PricingService.sol +300 -0
  378. package/contracts/product/PricingServiceManager.sol +42 -0
  379. package/contracts/product/Product.sol +392 -0
  380. package/contracts/product/ProductService.sol +124 -0
  381. package/contracts/product/ProductServiceManager.sol +42 -0
  382. package/contracts/registry/ChainNft.sol +16 -1
  383. package/contracts/registry/IRegistry.sol +67 -24
  384. package/contracts/registry/IRegistryService.sol +45 -34
  385. package/contracts/registry/ITransferInterceptor.sol +1 -0
  386. package/contracts/registry/Registry.sol +317 -137
  387. package/contracts/registry/RegistryAdmin.sol +365 -0
  388. package/contracts/registry/RegistryService.sol +117 -174
  389. package/contracts/registry/RegistryServiceManager.sol +22 -31
  390. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  391. package/contracts/registry/ReleaseRegistry.sol +487 -0
  392. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  393. package/contracts/registry/TokenRegistry.sol +263 -58
  394. package/contracts/shared/Component.sol +281 -0
  395. package/contracts/shared/ComponentService.sol +581 -0
  396. package/contracts/shared/ComponentServiceManager.sol +35 -0
  397. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  398. package/contracts/shared/ERC165.sol +15 -13
  399. package/contracts/shared/IComponent.sol +70 -0
  400. package/contracts/shared/IComponentService.sol +102 -0
  401. package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
  402. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  403. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  404. package/contracts/shared/INftOwnable.sol +13 -12
  405. package/contracts/shared/IPolicyHolder.sol +45 -0
  406. package/contracts/shared/IRegisterable.sol +4 -6
  407. package/contracts/shared/IRegistryLinked.sol +11 -0
  408. package/contracts/shared/IService.sol +14 -5
  409. package/contracts/shared/IVersionable.sol +5 -48
  410. package/contracts/shared/InitializableCustom.sol +177 -0
  411. package/contracts/shared/InstanceLinkedComponent.sol +151 -0
  412. package/contracts/shared/KeyValueStore.sol +131 -0
  413. package/contracts/shared/Lifecycle.sol +77 -0
  414. package/contracts/shared/NftIdSet.sol +65 -0
  415. package/contracts/shared/NftOwnable.sol +59 -86
  416. package/contracts/shared/PolicyHolder.sol +102 -0
  417. package/contracts/shared/ProxyManager.sol +130 -26
  418. package/contracts/shared/Registerable.sol +26 -41
  419. package/contracts/shared/RegistryLinked.sol +43 -0
  420. package/contracts/shared/Service.sol +57 -32
  421. package/contracts/shared/TokenHandler.sol +37 -6
  422. package/contracts/shared/UpgradableProxyWithAdmin.sol +1 -3
  423. package/contracts/shared/Versionable.sol +4 -92
  424. package/contracts/staking/IStaking.sol +167 -0
  425. package/contracts/staking/IStakingService.sol +160 -0
  426. package/contracts/staking/StakeManagerLib.sol +231 -0
  427. package/contracts/staking/Staking.sol +511 -0
  428. package/contracts/staking/StakingLifecycle.sol +23 -0
  429. package/contracts/staking/StakingManager.sol +53 -0
  430. package/contracts/staking/StakingReader.sol +186 -0
  431. package/contracts/staking/StakingService.sol +411 -0
  432. package/contracts/staking/StakingServiceManager.sol +44 -0
  433. package/contracts/staking/StakingStore.sol +615 -0
  434. package/contracts/staking/TargetManagerLib.sol +207 -0
  435. package/contracts/{types → type}/AddressSet.sol +1 -1
  436. package/contracts/type/Amount.sol +128 -0
  437. package/contracts/{types → type}/Blocknumber.sol +21 -3
  438. package/contracts/type/ClaimId.sol +75 -0
  439. package/contracts/{types → type}/DistributorType.sol +2 -2
  440. package/contracts/{types → type}/Fee.sol +33 -23
  441. package/contracts/{types → type}/NftId.sol +21 -15
  442. package/contracts/{types → type}/NftIdSet.sol +2 -2
  443. package/contracts/type/ObjectType.sol +271 -0
  444. package/contracts/type/PayoutId.sol +82 -0
  445. package/contracts/{types → type}/Referral.sol +5 -1
  446. package/contracts/type/RequestId.sol +75 -0
  447. package/contracts/{types → type}/RiskId.sol +1 -1
  448. package/contracts/type/RoleId.sol +174 -0
  449. package/contracts/type/Seconds.sol +81 -0
  450. package/contracts/type/Selector.sol +102 -0
  451. package/contracts/{types → type}/StateId.sol +34 -4
  452. package/contracts/type/String.sol +53 -0
  453. package/contracts/{types → type}/Timestamp.sol +23 -14
  454. package/contracts/{types → type}/UFixed.sol +7 -0
  455. package/contracts/{types → type}/Version.sol +5 -2
  456. package/package.json +10 -7
  457. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  458. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  459. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -772
  460. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  461. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  462. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  463. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  464. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  465. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  466. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  467. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  468. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -967
  469. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  470. package/artifacts/contracts/components/Product.sol/Product.json +0 -883
  471. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  472. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  473. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  474. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  475. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  476. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  477. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  478. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  479. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  480. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  481. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  482. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  483. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  484. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  485. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  487. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  488. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  489. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  490. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  491. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  492. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  494. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  496. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  498. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  501. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  503. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  505. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  507. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  509. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  510. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  511. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  512. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
  513. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  514. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  515. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  516. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1057
  517. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  518. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  519. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  520. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  521. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  522. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  523. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  524. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  525. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  526. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  527. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  528. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  529. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  530. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  531. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  532. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  533. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -923
  534. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  535. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -432
  536. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  537. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -814
  538. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -671
  540. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  541. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
  542. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  543. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  545. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  547. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  550. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -971
  552. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  553. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
  554. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  555. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -705
  556. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  557. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
  558. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  559. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -755
  560. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  561. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  562. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  563. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  564. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  565. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -546
  566. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  567. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  568. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  569. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  570. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  571. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  572. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  573. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  574. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  575. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  576. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  578. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  579. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  580. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  582. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  584. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  585. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  586. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  587. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  588. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  589. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  590. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  591. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  592. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  593. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  594. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  595. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  596. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  597. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  598. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  600. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  601. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  602. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  604. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  605. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  606. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  607. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  608. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  609. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  610. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  611. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  612. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  614. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  615. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  616. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  617. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  618. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  619. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  620. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  621. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  622. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  623. package/contracts/components/BaseComponent.sol +0 -148
  624. package/contracts/components/Distribution.sol +0 -163
  625. package/contracts/components/IBaseComponent.sol +0 -32
  626. package/contracts/components/IDistributionComponent.sol +0 -44
  627. package/contracts/components/IPoolComponent.sol +0 -66
  628. package/contracts/components/IProductComponent.sol +0 -35
  629. package/contracts/components/Pool.sol +0 -271
  630. package/contracts/components/Product.sol +0 -292
  631. package/contracts/experiment/cloning/Cloner.sol +0 -47
  632. package/contracts/experiment/errors/Require.sol +0 -38
  633. package/contracts/experiment/errors/Revert.sol +0 -44
  634. package/contracts/experiment/inheritance/A.sol +0 -53
  635. package/contracts/experiment/inheritance/B.sol +0 -28
  636. package/contracts/experiment/inheritance/C.sol +0 -34
  637. package/contracts/experiment/inheritance/IA.sol +0 -13
  638. package/contracts/experiment/inheritance/IB.sol +0 -10
  639. package/contracts/experiment/inheritance/IC.sol +0 -12
  640. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  641. package/contracts/experiment/statemachine/ISM.sol +0 -25
  642. package/contracts/experiment/statemachine/SM.sol +0 -57
  643. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  644. package/contracts/experiment/types/TypeA.sol +0 -47
  645. package/contracts/experiment/types/TypeB.sol +0 -29
  646. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  647. package/contracts/instance/IInstanceBase.sol +0 -26
  648. package/contracts/instance/InstanceAccessManager.sol +0 -304
  649. package/contracts/instance/InstanceBase.sol +0 -41
  650. package/contracts/instance/base/ComponentServiceBase.sol +0 -72
  651. package/contracts/instance/base/IInstanceBase.sol +0 -23
  652. package/contracts/instance/base/KeyValueStore.sol +0 -172
  653. package/contracts/instance/base/Lifecycle.sol +0 -100
  654. package/contracts/instance/module/ISetup.sol +0 -46
  655. package/contracts/instance/module/ITreasury.sol +0 -23
  656. package/contracts/instance/service/BundleService.sol +0 -260
  657. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  658. package/contracts/instance/service/ComponentOwnerService.sol +0 -315
  659. package/contracts/instance/service/DistributionService.sol +0 -114
  660. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  661. package/contracts/instance/service/IBundleService.sol +0 -45
  662. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  663. package/contracts/instance/service/IDistributionService.sol +0 -12
  664. package/contracts/instance/service/IPolicyService.sol +0 -87
  665. package/contracts/instance/service/IPoolService.sol +0 -20
  666. package/contracts/instance/service/IProductService.sol +0 -40
  667. package/contracts/instance/service/PolicyService.sol +0 -503
  668. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  669. package/contracts/instance/service/PoolService.sol +0 -122
  670. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  671. package/contracts/instance/service/ProductService.sol +0 -168
  672. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  673. package/contracts/registry/RegistryAccessManager.sol +0 -210
  674. package/contracts/registry/ReleaseManager.sol +0 -348
  675. package/contracts/shared/ContractDeployerLib.sol +0 -72
  676. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  677. package/contracts/test/TestFee.sol +0 -25
  678. package/contracts/test/TestRegisterable.sol +0 -18
  679. package/contracts/test/TestRoleId.sol +0 -14
  680. package/contracts/test/TestService.sol +0 -25
  681. package/contracts/test/TestToken.sol +0 -26
  682. package/contracts/test/TestVersion.sol +0 -44
  683. package/contracts/test/TestVersionable.sol +0 -17
  684. package/contracts/types/ChainId.sol +0 -38
  685. package/contracts/types/NumberId.sol +0 -52
  686. package/contracts/types/ObjectType.sol +0 -152
  687. package/contracts/types/RoleId.sol +0 -90
  688. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,304 +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
-
8
- import {AccessManagerUpgradeableInitializeable} from "../../contracts/instance/AccessManagerUpgradeableInitializeable.sol";
9
- import {RoleId, RoleIdLib, DISTRIBUTION_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, POLICY_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, INSTANCE_SERVICE_ROLE } from "../types/RoleId.sol";
10
- import {TimestampLib} from "../types/Timestamp.sol";
11
- import {IAccess} from "./module/IAccess.sol";
12
-
13
- contract InstanceAccessManager is
14
- AccessManagedUpgradeable
15
- {
16
- using RoleIdLib for RoleId;
17
-
18
- string public constant ADMIN_ROLE_NAME = "AdminRole";
19
- string public constant PUBLIC_ROLE_NAME = "PublicRole";
20
-
21
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
22
- uint32 public constant EXECUTION_DELAY = 0;
23
-
24
- // role specific state
25
- mapping(RoleId roleId => IAccess.RoleInfo info) internal _role;
26
- mapping(RoleId roleId => EnumerableSet.AddressSet roleMembers) internal _roleMembers;
27
- mapping(ShortString name => RoleId roleId) internal _roleForName;
28
- RoleId [] internal _roles;
29
-
30
- // target specific state
31
- mapping(address target => IAccess.TargetInfo info) internal _target;
32
- mapping(ShortString name => address target) internal _targetForName;
33
- address [] internal _targets;
34
-
35
- AccessManagerUpgradeableInitializeable internal _accessManager;
36
-
37
- function __InstanceAccessManager_initialize(address initialAdmin) external initializer
38
- {
39
- // if size of the contract gets too large, this can be externalized which will reduce the contract size considerably
40
- _accessManager = new AccessManagerUpgradeableInitializeable();
41
- // this service required adin rights to access manager to be able to grant/revoke roles
42
- _accessManager.__AccessManagerUpgradeableInitializeable_init(address(this));
43
- _accessManager.grantRole(_accessManager.ADMIN_ROLE(), initialAdmin, 0);
44
-
45
- __AccessManaged_init(address(_accessManager));
46
-
47
- _createRole(RoleIdLib.toRoleId(_accessManager.ADMIN_ROLE()), ADMIN_ROLE_NAME, false, false);
48
- _createRole(RoleIdLib.toRoleId(_accessManager.PUBLIC_ROLE()), PUBLIC_ROLE_NAME, false, false);
49
-
50
- createDefaultGifRoles();
51
- }
52
-
53
- function createDefaultGifRoles() public restricted() {
54
- _createRole(DISTRIBUTION_OWNER_ROLE(), "DistributionOwnerRole", false, true);
55
- _createRole(POOL_OWNER_ROLE(), "PoolOwnerRole", false, true);
56
- _createRole(PRODUCT_OWNER_ROLE(), "ProductOwnerRole", false, true);
57
-
58
- _createRole(DISTRIBUTION_SERVICE_ROLE(), "DistributionServiceRole", false, true);
59
- _createRole(POOL_SERVICE_ROLE(), "PoolServiceRole", false, true);
60
- _createRole(PRODUCT_SERVICE_ROLE(), "ProductServiceRole", false, true);
61
- _createRole(POLICY_SERVICE_ROLE(), "PolicyServiceRole", false, true);
62
- _createRole(BUNDLE_SERVICE_ROLE(), "BundleServiceRole", false, true);
63
- _createRole(INSTANCE_SERVICE_ROLE(), "InstanceServiceRole", false, true);
64
- }
65
-
66
- //--- Role ------------------------------------------------------//
67
- function createGifRole(RoleId roleId, string memory name) external restricted() {
68
- _createRole(roleId, name, false, true);
69
- }
70
-
71
- function createRole(RoleId roleId, string memory name) external restricted() {
72
- _createRole(roleId, name, true, true);
73
- }
74
-
75
- function setRoleLocked(RoleId roleId, bool locked) external restricted() {
76
- if (!roleExists(roleId)) {
77
- revert IAccess.ErrorIAccessSetLockedForNonexstentRole(roleId);
78
- }
79
-
80
- _role[roleId].isLocked = locked;
81
- _role[roleId].updatedAt = TimestampLib.blockTimestamp();
82
- }
83
-
84
- function roleExists(RoleId roleId) public view returns (bool exists) {
85
- return _role[roleId].createdAt.gtz();
86
- }
87
-
88
- function grantRole(RoleId roleId, address member) external restricted() returns (bool granted) {
89
- if (!roleExists(roleId)) {
90
- revert IAccess.ErrorIAccessGrantNonexstentRole(roleId);
91
- }
92
-
93
- if (_role[roleId].isLocked) {
94
- revert IAccess.ErrorIAccessRoleIdNotActive(roleId);
95
- }
96
-
97
- if (!EnumerableSet.contains(_roleMembers[roleId], member)) {
98
- _accessManager.grantRole(roleId.toInt(), member, EXECUTION_DELAY);
99
- EnumerableSet.add(_roleMembers[roleId], member);
100
- return true;
101
- }
102
-
103
- return false;
104
- }
105
-
106
- function revokeRole(RoleId roleId, address member) external restricted() returns (bool revoked) {
107
- if (!roleExists(roleId)) {
108
- revert IAccess.ErrorIAccessRevokeNonexstentRole(roleId);
109
- }
110
-
111
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
112
- _accessManager.revokeRole(roleId.toInt(), member);
113
- EnumerableSet.remove(_roleMembers[roleId], member);
114
- return true;
115
- }
116
-
117
- return false;
118
- }
119
-
120
- /// @dev not restricted function by intention
121
- /// the restriction to role members is already enforced by the call to the access manger
122
- function renounceRole(RoleId roleId) external returns (bool revoked) {
123
- address member = msg.sender;
124
-
125
- if (!roleExists(roleId)) {
126
- revert IAccess.ErrorIAccessRenounceNonexstentRole(roleId);
127
- }
128
-
129
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
130
- // cannot use accessManger.renounce as it directly checks against msg.sender
131
- _accessManager.revokeRole(roleId.toInt(), member);
132
- EnumerableSet.remove(_roleMembers[roleId], member);
133
- return true;
134
- }
135
-
136
- return false;
137
- }
138
-
139
- function roles() external view returns (uint256 numberOfRoles) {
140
- return _roles.length;
141
- }
142
-
143
- function getRoleId(uint256 idx) external view returns (RoleId roleId) {
144
- return _roles[idx];
145
- }
146
-
147
- function getRoleIdForName(string memory name) external view returns (RoleId roleId) {
148
- return _roleForName[ShortStrings.toShortString(name)];
149
- }
150
-
151
- function getRole(RoleId roleId) external view returns (IAccess.RoleInfo memory role) {
152
- return _role[roleId];
153
- }
154
-
155
- function hasRole(RoleId roleId, address account) external view returns (bool accountHasRole) {
156
- (accountHasRole, ) = _accessManager.hasRole(roleId.toInt(), account);
157
- }
158
-
159
- function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers) {
160
- return EnumerableSet.length(_roleMembers[roleId]);
161
- }
162
-
163
- function getRoleMember(RoleId roleId, uint256 idx) external view returns (address roleMember) {
164
- return EnumerableSet.at(_roleMembers[roleId], idx);
165
- }
166
-
167
- //--- Target ------------------------------------------------------//
168
- function createGifTarget(address target, string memory name) external restricted() {
169
- _createTarget(target, name, false, true);
170
- }
171
-
172
- function createTarget(address target, string memory name) external restricted() {
173
- _createTarget(target, name, true, true);
174
- }
175
-
176
- function setTargetLocked(string memory targetName, bool locked) external restricted() {
177
- address target = _targetForName[ShortStrings.toShortString(targetName)];
178
-
179
- if (target == address(0)) {
180
- revert IAccess.ErrorIAccessSetLockedForNonexstentTarget(target);
181
- }
182
-
183
- _target[target].isLocked = locked;
184
- _accessManager.setTargetClosed(target, locked);
185
- }
186
-
187
- function targetExists(address target) public view returns (bool exists) {
188
- return _target[target].createdAt.gtz();
189
- }
190
-
191
- //--- internal view/pure functions --------------------------------------//
192
-
193
- function _createRole(RoleId roleId, string memory name, bool isCustom, bool validateParameters) internal {
194
- if (validateParameters) {
195
- _validateRoleParameters(roleId, name, isCustom);
196
- }
197
-
198
- IAccess.RoleInfo memory role = IAccess.RoleInfo(
199
- ShortStrings.toShortString(name),
200
- isCustom,
201
- false, // role un-locked,
202
- TimestampLib.blockTimestamp(),
203
- TimestampLib.blockTimestamp());
204
-
205
- _role[roleId] = role;
206
- _roleForName[role.name] = roleId;
207
- _roles.push(roleId);
208
- }
209
-
210
- function _validateRoleParameters(
211
- RoleId roleId,
212
- string memory name,
213
- bool isCustom
214
- )
215
- internal
216
- view
217
- returns (IAccess.RoleInfo memory existingRole)
218
- {
219
- // check role id
220
- uint64 roleIdInt = RoleId.unwrap(roleId);
221
- if(roleIdInt == _accessManager.ADMIN_ROLE() || roleIdInt == _accessManager.PUBLIC_ROLE()) {
222
- revert IAccess.ErrorIAccessRoleIdInvalid(roleId);
223
- }
224
-
225
- // prevent changing isCustom for existing roles
226
- existingRole = _role[roleId];
227
-
228
- if (existingRole.createdAt.gtz() && isCustom != existingRole.isCustom) {
229
- revert IAccess.ErrorIAccessRoleIsCustomIsImmutable(roleId, isCustom, existingRole.isCustom);
230
- }
231
-
232
- if (isCustom && roleIdInt < CUSTOM_ROLE_ID_MIN) {
233
- revert IAccess.ErrorIAccessRoleIdTooSmall(roleId);
234
- } else if (!isCustom && roleIdInt >= CUSTOM_ROLE_ID_MIN) {
235
- revert IAccess.ErrorIAccessRoleIdTooBig(roleId);
236
- }
237
-
238
- // role name checks
239
- ShortString nameShort = ShortStrings.toShortString(name);
240
- if (ShortStrings.byteLength(nameShort) == 0) {
241
- revert IAccess.ErrorIAccessRoleNameEmpty(roleId);
242
- }
243
-
244
- if (_roleForName[nameShort] != RoleIdLib.zero() && _roleForName[nameShort] != roleId) {
245
- revert IAccess.ErrorIAccessRoleNameNotUnique(_roleForName[nameShort], nameShort);
246
- }
247
- }
248
-
249
- function _createTarget(address target, string memory name, bool isCustom, bool validateParameters) internal {
250
- if (validateParameters) {
251
- _validateTargetParameters(target, name, isCustom);
252
- }
253
-
254
- IAccess.TargetInfo memory info = IAccess.TargetInfo(
255
- ShortStrings.toShortString(name),
256
- isCustom,
257
- _accessManager.isTargetClosed(target), // sync with state in access manager
258
- TimestampLib.blockTimestamp(),
259
- TimestampLib.blockTimestamp());
260
-
261
- _target[target] = info;
262
- _targetForName[info.name] = target;
263
- _targets.push(target);
264
- }
265
-
266
- function _validateTargetParameters(address target, string memory name, bool isCustom) internal view {
267
- // TODO: implement
268
- }
269
-
270
- function setTargetFunctionRole(
271
- address target,
272
- bytes4[] calldata selectors,
273
- uint64 roleId
274
- ) public virtual restricted() {
275
- _accessManager.setTargetFunctionRole(target, selectors, roleId);
276
- }
277
-
278
- function setTargetFunctionRole(
279
- string memory targetName,
280
- bytes4[] calldata selectors,
281
- RoleId roleId
282
- ) public virtual restricted() {
283
- address target = _targetForName[ShortStrings.toShortString(targetName)];
284
- uint64 roleIdInt = RoleId.unwrap(roleId);
285
- _accessManager.setTargetFunctionRole(target, selectors, roleIdInt);
286
- }
287
-
288
- function getAccessManager() public restricted() returns (AccessManagerUpgradeableInitializeable) {
289
- return _accessManager;
290
- }
291
-
292
- function setTargetClosed(string memory targetName, bool closed) public restricted() {
293
- address target = _targetForName[ShortStrings.toShortString(targetName)];
294
- _accessManager.setTargetClosed(target, closed);
295
- }
296
-
297
- function canCall(
298
- address caller,
299
- address target,
300
- bytes4 selector
301
- ) public view virtual returns (bool immediate, uint32 delay) {
302
- return _accessManager.canCall(caller, target, selector);
303
- }
304
- }
@@ -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, REGISTRY, 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(REGISTRY(), getMajorVersion());
35
- return IRegistryService(service);
36
- }
37
-
38
- function getInstanceService() public view returns (InstanceService) {
39
- address service = getRegistry().getServiceAddress(INSTANCE(), getMajorVersion());
40
- return InstanceService(service);
41
- }
42
-
43
- // internal view functions
44
-
45
- function _getInstance(NftId instanceNftId) internal view returns (IInstance) {
46
- IRegistry.ObjectInfo memory instanceInfo = getRegistry().getObjectInfo(instanceNftId);
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
- }