@etherisc/gif-next 0.0.2-f626d92-602 → 0.0.2-f634e5c-828

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 (687) hide show
  1. package/README.md +77 -10
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
  4. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  6. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  8. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  10. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  12. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  14. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  18. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1310 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → distribution/Distribution.sol/Distribution.json} +348 -313
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1494 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +903 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +221 -327
  36. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1415 -0
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1965 -0
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1163 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2267 -0
  56. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  57. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
  58. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +350 -1997
  60. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  61. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +189 -113
  62. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/Instance.sol/Instance.json +406 -2791
  64. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1684 -0
  66. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
  68. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1328 -331
  70. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +264 -425
  72. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +156 -151
  74. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3668 -0
  76. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  77. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
  78. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  80. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  81. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
  82. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  84. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  85. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  86. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  88. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  90. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  91. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  92. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  93. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  95. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  96. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  97. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
  99. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  101. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  103. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
  105. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  106. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +282 -179
  107. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  108. package/artifacts/contracts/{components/Component.sol/Component.json → oracle/Oracle.sol/Oracle.json} +274 -253
  109. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +990 -0
  111. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +766 -0
  113. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  114. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +321 -457
  115. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  117. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1360 -0
  119. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
  121. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  122. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +323 -60
  123. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  124. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → pool/IPoolComponent.sol/IPoolComponent.json} +346 -281
  125. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1285 -0
  127. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  128. package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → pool/Pool.sol/Pool.json} +387 -436
  129. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1619 -0
  131. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +794 -0
  133. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +806 -0
  135. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  137. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  138. package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +409 -442
  139. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  141. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1439 -0
  143. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +858 -0
  145. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  146. package/artifacts/contracts/{instance/service → product}/IApplicationService.sol/IApplicationService.json +117 -166
  147. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +942 -0
  149. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  150. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPolicyService.sol/IPolicyService.json} +485 -385
  151. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +578 -0
  153. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +991 -0
  155. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  156. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +41 -62
  157. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1313 -0
  159. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +810 -0
  161. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
  163. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  165. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  166. package/artifacts/contracts/product/Product.sol/Product.json +1092 -0
  167. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  169. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  171. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  172. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  173. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +457 -27
  175. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +263 -110
  177. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  179. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  180. package/artifacts/contracts/registry/Registry.sol/Registry.json +949 -128
  181. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
  183. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +349 -245
  185. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +161 -94
  187. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  188. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  189. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  191. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  193. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  195. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  196. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +292 -204
  197. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1908 -0
  199. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +850 -0
  201. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  202. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +124 -125
  203. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +488 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  206. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  207. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  208. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  209. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  210. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +146 -131
  211. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  212. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1467 -0
  213. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  214. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
  215. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  216. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
  217. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  218. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  219. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  220. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -10
  221. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  222. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
  223. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +28 -6
  225. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  227. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IService.sol/IService.json +46 -6
  229. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  230. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  231. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  232. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +785 -0
  233. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  234. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  235. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  236. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  237. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  238. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  239. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +28 -70
  241. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +35 -85
  243. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +69 -99
  245. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
  247. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  248. package/artifacts/contracts/shared/Service.sol/Service.json +58 -112
  249. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  250. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +734 -8
  251. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  252. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  253. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  254. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  255. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  256. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → staking/IStaking.sol/IStaking.json} +708 -602
  257. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  258. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  259. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  260. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  261. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  262. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  263. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  264. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  265. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  266. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  267. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  268. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  269. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  270. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
  271. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  272. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
  273. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  274. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  275. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  276. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  277. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  278. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  279. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  280. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  281. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  282. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  283. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  284. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  285. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  286. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  287. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  288. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  289. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  290. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  291. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  292. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  293. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  294. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  295. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  296. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  297. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  299. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  301. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  302. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  303. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  304. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  305. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  306. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +180 -0
  307. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  308. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  309. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  310. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  311. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  312. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  313. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  314. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  315. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  316. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  317. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  318. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  319. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  320. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  321. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  322. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  323. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  324. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  325. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  326. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  327. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  328. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  329. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  330. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  331. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  332. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  333. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  334. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  335. package/contracts/authorization/AccessAdmin.sol +615 -0
  336. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  337. package/contracts/authorization/Authorization.sol +289 -0
  338. package/contracts/authorization/IAccess.sol +49 -0
  339. package/contracts/authorization/IAccessAdmin.sol +137 -0
  340. package/contracts/authorization/IAuthorization.sol +60 -0
  341. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  342. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  343. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  344. package/contracts/distribution/BasicDistribution.sol +139 -0
  345. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  346. package/contracts/{components → distribution}/Distribution.sol +166 -162
  347. package/contracts/distribution/DistributionService.sol +354 -0
  348. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  349. package/contracts/distribution/IDistributionComponent.sol +52 -0
  350. package/contracts/{instance/service → distribution}/IDistributionService.sol +35 -34
  351. package/contracts/examples/fire/DamageLevel.sol +59 -0
  352. package/contracts/examples/fire/FirePool.sol +86 -0
  353. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  354. package/contracts/examples/fire/FireProduct.sol +431 -0
  355. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  356. package/contracts/examples/fire/FireUSD.sol +26 -0
  357. package/contracts/examples/unpermissioned/SimpleDistribution.sol +65 -0
  358. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  359. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  360. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  361. package/contracts/instance/BundleSet.sol +130 -0
  362. package/contracts/instance/IInstance.sol +45 -72
  363. package/contracts/instance/IInstanceService.sol +37 -39
  364. package/contracts/instance/Instance.sol +162 -250
  365. package/contracts/instance/InstanceAdmin.sol +288 -0
  366. package/contracts/instance/InstanceAuthorizationV3.sol +218 -0
  367. package/contracts/instance/InstanceReader.sol +351 -61
  368. package/contracts/instance/InstanceService.sol +250 -353
  369. package/contracts/instance/InstanceServiceManager.sol +14 -29
  370. package/contracts/instance/InstanceStore.sol +287 -0
  371. package/contracts/instance/RiskSet.sol +119 -0
  372. package/contracts/instance/base/BalanceStore.sol +123 -0
  373. package/contracts/instance/base/Cloneable.sol +28 -0
  374. package/contracts/instance/base/ObjectCounter.sol +20 -0
  375. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  376. package/contracts/instance/base/ObjectSet.sol +78 -0
  377. package/contracts/instance/module/IAccess.sol +4 -12
  378. package/contracts/instance/module/IBundle.sol +6 -9
  379. package/contracts/instance/module/IComponents.sol +27 -18
  380. package/contracts/instance/module/IDistribution.sol +6 -6
  381. package/contracts/instance/module/IPolicy.sol +48 -35
  382. package/contracts/instance/module/IRisk.sol +2 -1
  383. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  384. package/contracts/oracle/BasicOracle.sol +47 -0
  385. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  386. package/contracts/oracle/IOracle.sol +36 -0
  387. package/contracts/oracle/IOracleComponent.sol +33 -0
  388. package/contracts/oracle/IOracleService.sol +66 -0
  389. package/contracts/oracle/Oracle.sol +156 -0
  390. package/contracts/oracle/OracleService.sol +309 -0
  391. package/contracts/oracle/OracleServiceManager.sol +39 -0
  392. package/contracts/pool/BasicPool.sol +175 -0
  393. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  394. package/contracts/pool/BundleService.sol +423 -0
  395. package/contracts/pool/BundleServiceManager.sol +39 -0
  396. package/contracts/pool/IBundleService.sol +122 -0
  397. package/contracts/pool/IPoolComponent.sol +62 -0
  398. package/contracts/pool/IPoolService.sol +153 -0
  399. package/contracts/pool/Pool.sol +345 -0
  400. package/contracts/pool/PoolService.sol +612 -0
  401. package/contracts/pool/PoolServiceManager.sol +39 -0
  402. package/contracts/product/ApplicationService.sol +259 -0
  403. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
  404. package/contracts/product/BasicProduct.sol +49 -0
  405. package/contracts/product/BasicProductAuthorization.sol +42 -0
  406. package/contracts/product/ClaimService.sol +614 -0
  407. package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
  408. package/contracts/{instance/service → product}/IApplicationService.sol +19 -35
  409. package/contracts/product/IClaimService.sol +123 -0
  410. package/contracts/product/IPolicyService.sol +90 -0
  411. package/contracts/product/IPricingService.sol +39 -0
  412. package/contracts/product/IProductComponent.sol +59 -0
  413. package/contracts/product/IRiskService.sol +33 -0
  414. package/contracts/product/PolicyService.sol +733 -0
  415. package/contracts/product/PolicyServiceManager.sol +39 -0
  416. package/contracts/product/PricingService.sol +300 -0
  417. package/contracts/product/PricingServiceManager.sol +39 -0
  418. package/contracts/product/Product.sol +427 -0
  419. package/contracts/product/RiskService.sol +107 -0
  420. package/contracts/product/RiskServiceManager.sol +39 -0
  421. package/contracts/registry/ChainNft.sol +79 -40
  422. package/contracts/registry/IRegistry.sol +98 -26
  423. package/contracts/registry/IRegistryService.sol +34 -40
  424. package/contracts/registry/ITransferInterceptor.sol +1 -2
  425. package/contracts/registry/Registry.sol +453 -195
  426. package/contracts/registry/RegistryAdmin.sol +451 -0
  427. package/contracts/registry/RegistryService.sol +87 -128
  428. package/contracts/registry/RegistryServiceManager.sol +23 -32
  429. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  430. package/contracts/registry/ReleaseRegistry.sol +486 -0
  431. package/contracts/registry/ServiceAuthorizationV3.sol +176 -0
  432. package/contracts/registry/TokenRegistry.sol +261 -62
  433. package/contracts/shared/Component.sol +222 -0
  434. package/contracts/shared/ComponentService.sol +869 -0
  435. package/contracts/shared/ComponentServiceManager.sol +38 -0
  436. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  437. package/contracts/shared/ContractLib.sol +224 -0
  438. package/contracts/shared/IComponent.sol +67 -0
  439. package/contracts/shared/IComponentService.sol +134 -0
  440. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  441. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  442. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  443. package/contracts/shared/INftOwnable.sol +4 -2
  444. package/contracts/shared/IPolicyHolder.sol +23 -14
  445. package/contracts/shared/IRegisterable.sol +11 -0
  446. package/contracts/shared/IRegistryLinked.sol +0 -1
  447. package/contracts/shared/IService.sol +12 -3
  448. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  449. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  450. package/contracts/shared/KeyValueStore.sol +131 -0
  451. package/contracts/shared/Lifecycle.sol +88 -0
  452. package/contracts/shared/NftIdSet.sol +65 -0
  453. package/contracts/shared/NftOwnable.sol +32 -25
  454. package/contracts/shared/PolicyHolder.sol +22 -41
  455. package/contracts/shared/Registerable.sol +32 -23
  456. package/contracts/shared/RegistryLinked.sol +9 -19
  457. package/contracts/shared/Service.sol +48 -36
  458. package/contracts/shared/TokenHandler.sol +368 -12
  459. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  460. package/contracts/staking/IStaking.sol +173 -0
  461. package/contracts/staking/IStakingService.sol +157 -0
  462. package/contracts/staking/StakeManagerLib.sol +224 -0
  463. package/contracts/staking/Staking.sol +505 -0
  464. package/contracts/staking/StakingLifecycle.sol +23 -0
  465. package/contracts/staking/StakingManager.sol +52 -0
  466. package/contracts/staking/StakingReader.sol +190 -0
  467. package/contracts/staking/StakingService.sol +440 -0
  468. package/contracts/staking/StakingServiceManager.sol +44 -0
  469. package/contracts/staking/StakingStore.sol +605 -0
  470. package/contracts/staking/TargetManagerLib.sol +211 -0
  471. package/contracts/{types → type}/AddressSet.sol +1 -1
  472. package/contracts/type/Amount.sol +150 -0
  473. package/contracts/{types → type}/Blocknumber.sol +26 -3
  474. package/contracts/{types → type}/ClaimId.sol +31 -3
  475. package/contracts/{types → type}/Fee.sol +24 -22
  476. package/contracts/{types → type}/Key32.sol +2 -2
  477. package/contracts/type/Key32Set.sol +62 -0
  478. package/contracts/{types → type}/NftId.sol +21 -16
  479. package/contracts/{types → type}/NftIdSet.sol +2 -2
  480. package/contracts/type/ObjectType.sol +278 -0
  481. package/contracts/type/PayoutId.sol +82 -0
  482. package/contracts/{types → type}/Referral.sol +2 -1
  483. package/contracts/type/RequestId.sol +75 -0
  484. package/contracts/{types → type}/RiskId.sol +31 -5
  485. package/contracts/type/RoleId.sol +162 -0
  486. package/contracts/type/Seconds.sol +101 -0
  487. package/contracts/type/Selector.sol +102 -0
  488. package/contracts/{types → type}/StateId.sol +47 -4
  489. package/contracts/type/String.sol +53 -0
  490. package/contracts/{types → type}/Timestamp.sol +21 -2
  491. package/contracts/{types → type}/UFixed.sol +40 -121
  492. package/contracts/{types → type}/Version.sol +4 -2
  493. package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
  494. package/contracts/{shared → upgradeability}/ProxyManager.sol +93 -30
  495. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  496. package/contracts/{shared → upgradeability}/Versionable.sol +3 -3
  497. package/package.json +11 -7
  498. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  499. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  500. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  501. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  502. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  503. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  504. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  505. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  506. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  507. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  508. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  509. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  510. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  511. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  512. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
  513. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  514. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  515. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  516. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  517. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  518. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  519. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  520. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  521. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  522. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  523. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  524. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  525. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  526. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1039
  527. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  528. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -673
  529. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  530. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1231
  531. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  532. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -721
  533. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  534. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -817
  535. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  536. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -641
  537. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  538. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
  539. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  540. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
  541. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  543. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  545. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  547. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1092
  550. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -697
  552. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  553. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
  554. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  555. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
  556. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  557. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
  558. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  559. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
  560. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  561. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  562. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  563. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
  564. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  565. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  566. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  567. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  568. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  569. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  570. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
  571. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  572. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  573. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  574. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  575. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  576. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  578. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  579. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  580. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
  582. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  584. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  585. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  586. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  587. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  588. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  589. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  590. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  591. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  592. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  593. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
  594. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  595. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  596. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  597. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  598. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  600. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  602. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  604. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  605. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  606. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  607. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  608. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  609. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  610. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  611. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  612. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  614. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  616. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  618. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  620. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  621. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  622. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  624. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  625. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  626. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  627. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -267
  628. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  629. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  630. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  631. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  632. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  633. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  634. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  635. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  636. package/contracts/components/Component.sol +0 -253
  637. package/contracts/components/IComponent.sol +0 -76
  638. package/contracts/components/IDistributionComponent.sol +0 -71
  639. package/contracts/components/IPoolComponent.sol +0 -113
  640. package/contracts/components/IProductComponent.sol +0 -40
  641. package/contracts/components/Pool.sol +0 -303
  642. package/contracts/components/Product.sol +0 -293
  643. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  644. package/contracts/instance/BundleManager.sol +0 -127
  645. package/contracts/instance/Cloneable.sol +0 -51
  646. package/contracts/instance/InstanceAccessManager.sol +0 -527
  647. package/contracts/instance/ObjectManager.sol +0 -82
  648. package/contracts/instance/base/ComponentService.sol +0 -121
  649. package/contracts/instance/base/KeyValueStore.sol +0 -180
  650. package/contracts/instance/base/Lifecycle.sol +0 -109
  651. package/contracts/instance/module/ISetup.sol +0 -33
  652. package/contracts/instance/module/ITreasury.sol +0 -23
  653. package/contracts/instance/service/ApplicationService.sol +0 -350
  654. package/contracts/instance/service/BundleService.sol +0 -431
  655. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  656. package/contracts/instance/service/ClaimService.sol +0 -151
  657. package/contracts/instance/service/DistributionService.sol +0 -435
  658. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  659. package/contracts/instance/service/IBundleService.sol +0 -93
  660. package/contracts/instance/service/IClaimService.sol +0 -61
  661. package/contracts/instance/service/IPolicyService.sol +0 -72
  662. package/contracts/instance/service/IPoolService.sol +0 -99
  663. package/contracts/instance/service/IProductService.sol +0 -40
  664. package/contracts/instance/service/PolicyService.sol +0 -362
  665. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  666. package/contracts/instance/service/PoolService.sol +0 -303
  667. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  668. package/contracts/instance/service/ProductService.sol +0 -210
  669. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  670. package/contracts/registry/RegistryAccessManager.sol +0 -216
  671. package/contracts/registry/ReleaseManager.sol +0 -324
  672. package/contracts/shared/ContractDeployerLib.sol +0 -72
  673. package/contracts/test/TestFee.sol +0 -25
  674. package/contracts/test/TestRegisterable.sol +0 -18
  675. package/contracts/test/TestRoleId.sol +0 -14
  676. package/contracts/test/TestService.sol +0 -25
  677. package/contracts/test/TestToken.sol +0 -26
  678. package/contracts/test/TestVersion.sol +0 -44
  679. package/contracts/test/TestVersionable.sol +0 -17
  680. package/contracts/types/Amount.sol +0 -60
  681. package/contracts/types/ChainId.sol +0 -38
  682. package/contracts/types/NumberId.sol +0 -52
  683. package/contracts/types/ObjectType.sol +0 -157
  684. package/contracts/types/PayoutId.sol +0 -54
  685. package/contracts/types/RoleId.sol +0 -97
  686. package/contracts/types/Seconds.sol +0 -54
  687. /package/contracts/{types → type}/DistributorType.sol +0 -0
@@ -1,49 +1,26 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {ERC165Checker} from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
5
- // import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
6
-
7
- import {IRegistry} from "./IRegistry.sol";
4
+ import {IComponent} from "../../contracts/shared/IComponent.sol";
5
+ import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
8
6
  import {IInstance} from "../instance/IInstance.sol";
9
-
10
- import {ContractDeployerLib} from "../shared/ContractDeployerLib.sol";
11
- import {IComponent} from "../../contracts/components/IComponent.sol";
12
- import {IPoolComponent} from "../../contracts/components/IPoolComponent.sol";
13
- import {IProductComponent} from "../../contracts/components/IProductComponent.sol";
14
- import {IDistributionComponent} from "../../contracts/components/IDistributionComponent.sol";
15
-
16
- import {IVersionable} from "../../contracts/shared/IVersionable.sol";
17
- import {Versionable} from "../../contracts/shared/Versionable.sol";
7
+ import {IPoolComponent} from "../../contracts/pool/IPoolComponent.sol";
8
+ import {IProductComponent} from "../../contracts/product/IProductComponent.sol";
18
9
  import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
19
- import {Registerable} from "../../contracts/shared/Registerable.sol";
20
-
21
- import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../contracts/types/RoleId.sol";
22
- import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE} from "../../contracts/types/ObjectType.sol";
23
- import {StateId, ACTIVE, PAUSED} from "../../contracts/types/StateId.sol";
24
- import {NftId, NftIdLib, zeroNftId} from "../../contracts/types/NftId.sol";
25
- import {Fee, FeeLib} from "../../contracts/types/Fee.sol";
26
- import {Version, VersionPart, VersionLib} from "../../contracts/types/Version.sol";
10
+ import {IRegistry} from "./IRegistry.sol";
11
+ import {IRegistryService} from "./IRegistryService.sol";
27
12
 
13
+ import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE} from "../../contracts/type/ObjectType.sol";
14
+ import {NftId, NftIdLib} from "../../contracts/type/NftId.sol";
28
15
  import {Service} from "../shared/Service.sol";
29
- import {IService} from "../shared/IService.sol";
30
- import {IRegistryService} from "./IRegistryService.sol";
31
- import {Registry} from "./Registry.sol";
32
16
 
33
17
  contract RegistryService is
34
18
  Service,
35
19
  IRegistryService
36
20
  {
37
- using NftIdLib for NftId;
38
-
39
21
  // TODO update to real hash when registry is stable
40
22
  bytes32 public constant REGISTRY_CREATION_CODE_HASH = bytes32(0);
41
23
 
42
- // From IService
43
- function getDomain() public pure override returns(ObjectType serviceDomain) {
44
- return REGISTRY();
45
- }
46
-
47
24
  // from Versionable
48
25
 
49
26
  /// @dev top level initializer
@@ -60,20 +37,34 @@ contract RegistryService is
60
37
  address initialAuthority
61
38
  ) = abi.decode(data, (address, address));
62
39
 
63
- initializeService(registryAddress, initialAuthority, owner);
40
+ _initializeService(registryAddress, initialAuthority, owner);
41
+ _registerInterface(type(IRegistryService).interfaceId);
42
+ }
43
+
64
44
 
65
- registerInterface(type(IRegistryService).interfaceId);
45
+ function registerStaking(IRegisterable staking, address owner)
46
+ external
47
+ virtual
48
+ restricted()
49
+ returns(
50
+ IRegistry.ObjectInfo memory info
51
+ )
52
+ {
53
+ info = _getAndVerifyContractInfo(staking, STAKING(), owner);
54
+ info.nftId = getRegistry().register(info);
66
55
  }
67
56
 
57
+
68
58
  function registerInstance(IRegisterable instance, address owner)
69
59
  external
70
- restricted
60
+ virtual
61
+ restricted()
71
62
  returns(
72
63
  IRegistry.ObjectInfo memory info
73
64
  )
74
65
  {
75
66
  if(!instance.supportsInterface(type(IInstance).interfaceId)) {
76
- revert NotInstance();
67
+ revert ErrorRegistryServiceNotInstance(address(instance));
77
68
  }
78
69
 
79
70
  info = _getAndVerifyContractInfo(instance, INSTANCE(), owner);
@@ -82,55 +73,54 @@ contract RegistryService is
82
73
  instance.linkToRegisteredNftId(); // asume safe
83
74
  }
84
75
 
85
- function registerProduct(IComponent product, address owner)
76
+ function registerProduct(
77
+ IComponent product,
78
+ address initialOwner
79
+ )
86
80
  external
87
- restricted
81
+ virtual
82
+ restricted()
88
83
  returns(
89
84
  IRegistry.ObjectInfo memory info
90
85
  )
91
86
  {
92
- // CAN revert if no ERC165 support -> will revert with empty message
93
87
  if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
94
- revert NotProduct();
88
+ revert ErrorRegistryServiceNotProduct(address(product));
95
89
  }
96
90
 
97
- info = _getAndVerifyContractInfo(product, PRODUCT(), owner);
91
+ info = _getAndVerifyContractInfo(product, PRODUCT(), initialOwner);
98
92
  info.nftId = getRegistry().register(info);
99
93
  }
100
94
 
101
- function registerPool(IComponent pool, address owner)
95
+ function registerProductLinkedComponent(
96
+ IComponent component,
97
+ ObjectType objectType,
98
+ address initialOwner
99
+ )
102
100
  external
103
- restricted
101
+ virtual
102
+ restricted()
104
103
  returns(
105
104
  IRegistry.ObjectInfo memory info
106
105
  )
107
106
  {
108
- if(!pool.supportsInterface(type(IPoolComponent).interfaceId)) {
109
- revert NotPool();
107
+ // CAN revert if no ERC165 support -> will revert with empty message
108
+ if(!component.supportsInterface(type(IComponent).interfaceId)) {
109
+ revert ErrorRegistryServiceNotComponent(address(component));
110
110
  }
111
111
 
112
- info = _getAndVerifyContractInfo(pool, POOL(), owner);
113
- info.nftId = getRegistry().register(info);
114
- }
115
-
116
- function registerDistribution(IComponent distribution, address owner)
117
- external
118
- restricted
119
- returns(
120
- IRegistry.ObjectInfo memory info
121
- )
122
- {
123
- if(!distribution.supportsInterface(type(IDistributionComponent).interfaceId)) {
124
- revert NotDistribution();
112
+ if (!(objectType == DISTRIBUTION() || objectType == ORACLE() || objectType == POOL())) {
113
+ revert ErrorRegistryServiceNotProductLinkedComponent(address(component));
125
114
  }
126
115
 
127
- info = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
116
+ info = _getAndVerifyContractInfo(component, objectType, initialOwner);
128
117
  info.nftId = getRegistry().register(info);
129
118
  }
130
119
 
131
120
  function registerDistributor(IRegistry.ObjectInfo memory info)
132
121
  external
133
- restricted
122
+ virtual
123
+ restricted()
134
124
  returns(NftId nftId)
135
125
  {
136
126
  _verifyObjectInfo(info, DISTRIBUTOR());
@@ -139,83 +129,34 @@ contract RegistryService is
139
129
 
140
130
  function registerPolicy(IRegistry.ObjectInfo memory info)
141
131
  external
142
- restricted
132
+ virtual
133
+ restricted()
143
134
  returns(NftId nftId)
144
135
  {
145
136
  _verifyObjectInfo(info, POLICY());
146
-
147
137
  nftId = getRegistry().register(info);
148
138
  }
149
139
 
150
140
  function registerBundle(IRegistry.ObjectInfo memory info)
151
141
  external
152
- restricted
142
+ virtual
143
+ restricted()
153
144
  returns(NftId nftId)
154
145
  {
155
146
  _verifyObjectInfo(info, BUNDLE());
156
-
157
147
  nftId = getRegistry().register(info);
158
148
  }
159
149
 
160
150
  function registerStake(IRegistry.ObjectInfo memory info)
161
151
  external
162
- restricted
152
+ virtual
153
+ restricted()
163
154
  returns(NftId nftId)
164
155
  {
165
156
  _verifyObjectInfo(info, STAKE());
166
-
167
157
  nftId = getRegistry().register(info);
168
158
  }
169
159
 
170
- // from IRegisterable
171
-
172
- function getFunctionConfigs()
173
- external
174
- pure
175
- returns(
176
- FunctionConfig[] memory config
177
- )
178
- {
179
- config = new FunctionConfig[](8);
180
-
181
- // order of service registrations MUST be reverse to this array
182
- /*config[-1].serviceDomain = STAKE();
183
- config[-1].selector = RegistryService.registerStake.selector;*/
184
-
185
- config[0].serviceDomain = POLICY();
186
- config[0].selectors = new bytes4[](0);
187
-
188
- config[1].serviceDomain = APPLICATION();
189
- config[1].selectors = new bytes4[](1);
190
- config[1].selectors[0] = RegistryService.registerPolicy.selector;
191
-
192
- config[2].serviceDomain = CLAIM();
193
- config[2].selectors = new bytes4[](0);
194
-
195
- config[3].serviceDomain = PRODUCT();
196
- config[3].selectors = new bytes4[](1);
197
- config[3].selectors[0] = RegistryService.registerProduct.selector;
198
-
199
- config[4].serviceDomain = POOL();
200
- config[4].selectors = new bytes4[](1);
201
- config[4].selectors[0] = RegistryService.registerPool.selector;
202
-
203
- // registration of bundle service must preceed registration of pool service
204
- config[5].serviceDomain = BUNDLE();
205
- config[5].selectors = new bytes4[](1);
206
- config[5].selectors[0] = RegistryService.registerBundle.selector;
207
-
208
- config[6].serviceDomain = DISTRIBUTION();
209
- config[6].selectors = new bytes4[](2);
210
- config[6].selectors[0] = RegistryService.registerDistribution.selector;
211
- config[6].selectors[1] = RegistryService.registerDistributor.selector;
212
-
213
- // registerInstance() have no restriction
214
- config[7].serviceDomain = INSTANCE();
215
- config[7].selectors = new bytes4[](1);
216
- config[7].selectors[0] = RegistryService.registerInstance.selector;
217
- }
218
-
219
160
  // Internal
220
161
 
221
162
  function _getAndVerifyContractInfo(
@@ -224,34 +165,38 @@ contract RegistryService is
224
165
  address expectedOwner // assume can be 0 when given by other service
225
166
  )
226
167
  internal
227
- // view
168
+ virtual
169
+ view
228
170
  returns(
229
171
  IRegistry.ObjectInfo memory info
230
172
  )
231
173
  {
232
174
  info = registerable.getInitialInfo();
233
- info.objectAddress = address(registerable);
175
+
176
+ if(info.objectAddress != address(registerable)) {
177
+ revert ErrorRegistryServiceRegisterableAddressInvalid(registerable, info.objectAddress);
178
+ }
234
179
 
235
180
  if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
236
- revert UnexpectedRegisterableType(expectedType, info.objectType);
181
+ revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
237
182
  }
238
183
 
239
184
  address owner = info.initialOwner;
240
185
 
241
186
  if(owner != expectedOwner) { // registerable owner protection
242
- revert NotRegisterableOwner(expectedOwner);
187
+ revert ErrorRegistryServiceRegisterableOwnerInvalid(registerable, expectedOwner, owner);
243
188
  }
244
189
 
245
190
  if(owner == address(registerable)) {
246
- revert SelfRegistration();
191
+ revert ErrorRegistryServiceRegisterableSelfRegistration(registerable);
247
192
  }
248
193
 
249
194
  if(owner == address(0)) {
250
- revert RegisterableOwnerIsZero();
195
+ revert ErrorRegistryServiceRegisterableOwnerZero(registerable);
251
196
  }
252
197
 
253
198
  if(getRegistry().isRegistered(owner)) {
254
- revert RegisterableOwnerIsRegistered();
199
+ revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable, owner);
255
200
  }
256
201
  }
257
202
 
@@ -260,23 +205,37 @@ contract RegistryService is
260
205
  ObjectType expectedType
261
206
  )
262
207
  internal
208
+ virtual
263
209
  view
264
210
  {
265
- // enforce instead of check
266
- info.objectAddress = address(0);
211
+ if(info.objectAddress > address(0)) {
212
+ revert ErrorRegistryServiceObjectAddressNotZero(info.objectType);
213
+ }
267
214
 
268
215
  if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
269
- revert UnexpectedRegisterableType(expectedType, info.objectType);
216
+ revert ErrorRegistryServiceObjectTypeInvalid(expectedType, info.objectType);
270
217
  }
271
218
 
272
219
  address owner = info.initialOwner;
273
220
 
274
221
  if(owner == address(0)) {
275
- revert RegisterableOwnerIsZero();
222
+ revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
276
223
  }
277
224
 
278
- if(getRegistry().isRegistered(owner)) {
279
- revert RegisterableOwnerIsRegistered();
225
+ if(owner == msg.sender) {
226
+ revert ErrorRegistryServiceInvalidInitialOwner(owner);
227
+ }
228
+
229
+ if(getRegistry().isRegistered(owner)) {
230
+ ObjectType ownerType = getRegistry().getObjectInfo(owner).objectType;
231
+ if(ownerType == REGISTRY() || ownerType == STAKING() || ownerType == SERVICE() || ownerType == INSTANCE()) {
232
+ revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
233
+ }
280
234
  }
281
235
  }
282
- }
236
+
237
+ // From IService
238
+ function _getDomain() internal override pure returns(ObjectType serviceDomain) {
239
+ return REGISTRY();
240
+ }
241
+ }
@@ -1,53 +1,44 @@
1
- // SPDX-License-Identifier: UNLICENSED
1
+ // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
5
-
6
- import {ContractDeployerLib} from "../shared/ContractDeployerLib.sol";
7
-
8
- import {Registry} from "./Registry.sol";
9
- import {IVersionable} from "../shared/IVersionable.sol";
10
- import {ProxyManager} from "../shared/ProxyManager.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
11
6
  import {RegistryService} from "./RegistryService.sol";
12
- import {TokenRegistry} from "./TokenRegistry.sol";
13
-
14
7
 
15
8
  contract RegistryServiceManager is
16
9
  ProxyManager
17
10
  {
11
+ error ErrorRegistryAccessManagerAuthorityZero();
12
+ error ErrorRegistryAccessManagerRegistryZero();
13
+
18
14
  bytes32 constant public ACCESS_MANAGER_CREATION_CODE_HASH = 0x0;
19
15
 
20
16
  RegistryService private immutable _registryService;
21
17
 
22
18
  /// @dev initializes proxy manager with registry service implementation and deploys registry
23
19
  constructor(
24
- address initialAuthority, // used by implementation
25
- address registryAddress) // used by implementation
26
- ProxyManager(registryAddress)
20
+ address authority, // used by implementation
21
+ address registry, // used by implementation
22
+ bytes32 salt
23
+ )
27
24
  {
28
- require(initialAuthority > address(0), "RegistryServiceManager: initial authority is 0");
29
- require(registryAddress > address(0), "RegistryServiceManager: registry is 0");
25
+ if(authority == address(0)) {
26
+ revert ErrorRegistryAccessManagerAuthorityZero();
27
+ }
28
+
29
+ if(registry == address(0)) {
30
+ revert ErrorRegistryAccessManagerRegistryZero();
31
+ }
30
32
 
31
- // implementation's initializer func `data` argument
32
- RegistryService srv = new RegistryService();
33
- bytes memory data = abi.encode(registryAddress, initialAuthority);
34
- IVersionable versionable = deploy(
33
+ RegistryService srv = new RegistryService{ salt: salt }();
34
+ bytes memory data = abi.encode(registry, authority);
35
+ IVersionable versionable = initialize(
36
+ registry,
35
37
  address(srv),
36
- data);
38
+ data,
39
+ salt);
37
40
 
38
41
  _registryService = RegistryService(address(versionable));
39
-
40
- // _linkToNftOwnable(address(_registryService));
41
- }
42
-
43
- // // from IRegisterable
44
-
45
- // // IMPORTANT: registry here and in constructor MUST be the same
46
- function linkOwnershipToServiceNft()
47
- public
48
- onlyOwner
49
- {
50
- _linkToNftOwnable(address(_registryService));
51
42
  }
52
43
 
53
44
  //--- view functions ----------------------------------------------------//
@@ -0,0 +1,30 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {RELEASE} from "../type/ObjectType.sol";
5
+ import {SCHEDULED, DEPLOYING, DEPLOYED, SKIPPED, ACTIVE, PAUSED, CLOSED} from "../type/StateId.sol";
6
+ import {Lifecycle} from "../shared/Lifecycle.sol";
7
+
8
+ contract ReleaseLifecycle is
9
+ Lifecycle
10
+ {
11
+ constructor() {
12
+ _setupLifecycle();
13
+ }
14
+
15
+ function _setupLifecycle()
16
+ internal
17
+ override
18
+ {
19
+ setInitialState(RELEASE(), SCHEDULED());
20
+
21
+ setStateTransition(RELEASE(), SCHEDULED(), SKIPPED());
22
+ setStateTransition(RELEASE(), SCHEDULED(), DEPLOYING());
23
+ setStateTransition(RELEASE(), DEPLOYING(), SKIPPED());
24
+ setStateTransition(RELEASE(), DEPLOYING(), DEPLOYED());
25
+ setStateTransition(RELEASE(), DEPLOYED(), SKIPPED());
26
+ setStateTransition(RELEASE(), DEPLOYED(), ACTIVE());
27
+ setStateTransition(RELEASE(), ACTIVE(), PAUSED());
28
+ setStateTransition(RELEASE(), PAUSED(), ACTIVE());
29
+ }
30
+ }