@etherisc/gif-next 0.0.2-7c515fb-081 → 0.0.2-7c8d286-020

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (753) hide show
  1. package/README.md +146 -22
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1494 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +615 -0
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  19. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1224 -0
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +382 -0
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  27. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1246 -0
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +644 -0
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +951 -0
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1596 -0
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +876 -0
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +850 -0
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1071 -0
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1491 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2048 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  53. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1447 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1671 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2448 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +633 -555
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +481 -159
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +448 -2973
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2036 -0
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +716 -0
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1637 -562
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +519 -362
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +355 -113
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3738 -0
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  93. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +38 -2
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  102. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  104. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  105. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  107. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  108. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  109. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  110. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
  112. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
  114. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  116. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +774 -0
  118. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
  120. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +875 -0
  122. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1013 -0
  124. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +772 -0
  126. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  127. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  128. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
  130. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1277 -0
  132. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +808 -0
  134. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  135. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +880 -0
  136. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +907 -0
  138. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  139. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
  140. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  141. package/artifacts/contracts/pool/Pool.sol/Pool.json +1027 -0
  142. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  143. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +472 -0
  144. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1606 -0
  146. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +824 -0
  148. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  149. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +895 -0
  150. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +748 -0
  152. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
  154. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  155. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
  156. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  157. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1512 -0
  158. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  159. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +856 -0
  160. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  161. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +261 -373
  162. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  163. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
  164. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  165. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
  166. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  167. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +623 -0
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  169. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1018 -0
  170. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  171. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +199 -185
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1341 -0
  174. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  175. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +727 -0
  176. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  177. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +812 -0
  178. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  179. package/artifacts/contracts/product/PricingService.sol/PricingService.json +967 -0
  180. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +792 -0
  182. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  183. package/artifacts/contracts/product/Product.sol/Product.json +1119 -0
  184. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  186. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  188. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  189. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  190. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +628 -171
  192. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  193. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +391 -201
  194. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  195. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  196. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  197. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  198. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  199. package/artifacts/contracts/registry/Registry.sol/Registry.json +958 -202
  200. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  201. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2018 -0
  202. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  203. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  204. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  205. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +355 -323
  206. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  207. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +340 -130
  208. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  209. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  210. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  212. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
  214. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  215. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  216. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  217. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +352 -101
  218. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  219. package/artifacts/contracts/shared/Component.sol/Component.json +707 -0
  220. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1532 -0
  222. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
  224. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  225. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +182 -207
  226. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  233. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  234. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  235. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → shared/IComponent.sol/IComponent.json} +323 -252
  236. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  237. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1180 -0
  238. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +709 -0
  240. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  241. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
  242. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  243. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  244. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
  246. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  247. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  248. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +143 -15
  250. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  251. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  252. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IService.sol/IService.json +137 -159
  254. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  255. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  256. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  257. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +797 -0
  258. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  259. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  260. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  261. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  262. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  263. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  264. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +81 -30
  266. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  267. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  268. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +159 -55
  270. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  271. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  272. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  273. package/artifacts/contracts/shared/Service.sol/Service.json +156 -171
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  277. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  278. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  279. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  280. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  281. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1512 -0
  282. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  283. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1167 -0
  284. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  285. package/artifacts/contracts/staking/Staking.sol/Staking.json +1933 -0
  286. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  288. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  290. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +804 -0
  292. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +560 -0
  294. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1396 -0
  296. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +744 -0
  298. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  299. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2297 -0
  300. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  301. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +617 -0
  302. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  303. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  304. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  306. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  308. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  310. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  312. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  314. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  316. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  317. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  318. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  320. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  321. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  322. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  324. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  326. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  328. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  330. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  332. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +433 -0
  334. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  336. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  338. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  340. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  342. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  344. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  346. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  348. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  350. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  352. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  354. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  356. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  357. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  358. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  359. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  360. package/contracts/accounting/AccountingService.sol +261 -0
  361. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  362. package/contracts/accounting/IAccountingService.sol +45 -0
  363. package/contracts/authorization/AccessAdmin.sol +704 -0
  364. package/contracts/authorization/AccessAdminLib.sol +183 -0
  365. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  366. package/contracts/authorization/Authorization.sol +365 -0
  367. package/contracts/authorization/IAccess.sol +49 -0
  368. package/contracts/authorization/IAccessAdmin.sol +170 -0
  369. package/contracts/authorization/IAuthorization.sol +80 -0
  370. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  371. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  372. package/contracts/distribution/BasicDistribution.sol +143 -0
  373. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  374. package/contracts/distribution/Distribution.sol +246 -0
  375. package/contracts/distribution/DistributionService.sol +389 -0
  376. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  377. package/contracts/distribution/IDistributionComponent.sol +43 -0
  378. package/contracts/distribution/IDistributionService.sol +103 -0
  379. package/contracts/examples/fire/DamageLevel.sol +59 -0
  380. package/contracts/examples/fire/FirePool.sol +90 -0
  381. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  382. package/contracts/examples/fire/FireProduct.sol +437 -0
  383. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  384. package/contracts/examples/fire/FireUSD.sol +26 -0
  385. package/contracts/examples/unpermissioned/SimpleDistribution.sol +85 -0
  386. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  387. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  388. package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
  389. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  390. package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
  391. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  392. package/contracts/instance/BundleSet.sol +130 -0
  393. package/contracts/instance/IInstance.sol +91 -25
  394. package/contracts/instance/IInstanceService.sol +71 -17
  395. package/contracts/instance/Instance.sol +209 -356
  396. package/contracts/instance/InstanceAdmin.sol +450 -0
  397. package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
  398. package/contracts/instance/InstanceReader.sol +422 -78
  399. package/contracts/instance/InstanceService.sol +406 -126
  400. package/contracts/instance/InstanceServiceManager.sol +14 -31
  401. package/contracts/instance/InstanceStore.sol +298 -0
  402. package/contracts/instance/RiskSet.sol +118 -0
  403. package/contracts/instance/base/BalanceStore.sol +123 -0
  404. package/contracts/instance/base/Cloneable.sol +28 -0
  405. package/contracts/instance/base/ObjectCounter.sol +20 -0
  406. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  407. package/contracts/instance/base/ObjectSet.sol +77 -0
  408. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  409. package/contracts/instance/module/IBundle.sol +8 -8
  410. package/contracts/instance/module/IComponents.sol +51 -0
  411. package/contracts/instance/module/IDistribution.sol +11 -6
  412. package/contracts/instance/module/IPolicy.sol +59 -19
  413. package/contracts/instance/module/IRisk.sol +4 -1
  414. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  415. package/contracts/oracle/BasicOracle.sol +47 -0
  416. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  417. package/contracts/oracle/IOracle.sol +36 -0
  418. package/contracts/oracle/IOracleComponent.sol +33 -0
  419. package/contracts/oracle/IOracleService.sol +66 -0
  420. package/contracts/oracle/Oracle.sol +156 -0
  421. package/contracts/oracle/OracleService.sol +310 -0
  422. package/contracts/oracle/OracleServiceManager.sol +39 -0
  423. package/contracts/pool/BasicPool.sol +175 -0
  424. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  425. package/contracts/pool/BundleService.sol +395 -0
  426. package/contracts/pool/BundleServiceManager.sol +39 -0
  427. package/contracts/pool/IBundleService.sol +115 -0
  428. package/contracts/pool/IPoolComponent.sol +62 -0
  429. package/contracts/pool/IPoolService.sol +165 -0
  430. package/contracts/pool/Pool.sol +345 -0
  431. package/contracts/pool/PoolLib.sol +309 -0
  432. package/contracts/pool/PoolService.sol +759 -0
  433. package/contracts/pool/PoolServiceManager.sol +39 -0
  434. package/contracts/product/ApplicationService.sol +278 -0
  435. package/contracts/product/ApplicationServiceManager.sol +38 -0
  436. package/contracts/product/BasicProduct.sol +51 -0
  437. package/contracts/product/BasicProductAuthorization.sol +56 -0
  438. package/contracts/product/ClaimService.sol +640 -0
  439. package/contracts/product/ClaimServiceManager.sol +38 -0
  440. package/contracts/product/IApplicationService.sol +69 -0
  441. package/contracts/product/IClaimService.sol +135 -0
  442. package/contracts/product/IPolicyService.sol +95 -0
  443. package/contracts/product/IPricingService.sol +40 -0
  444. package/contracts/product/IProductComponent.sol +62 -0
  445. package/contracts/product/IRiskService.sol +33 -0
  446. package/contracts/product/PolicyService.sol +664 -0
  447. package/contracts/product/PolicyServiceLib.sol +119 -0
  448. package/contracts/product/PolicyServiceManager.sol +39 -0
  449. package/contracts/product/PricingService.sol +309 -0
  450. package/contracts/product/PricingServiceManager.sol +39 -0
  451. package/contracts/product/Product.sol +469 -0
  452. package/contracts/product/RiskService.sol +154 -0
  453. package/contracts/product/RiskServiceManager.sol +39 -0
  454. package/contracts/registry/ChainNft.sol +82 -35
  455. package/contracts/registry/IRegistry.sol +122 -50
  456. package/contracts/registry/IRegistryService.sol +45 -16
  457. package/contracts/registry/IRelease.sol +26 -0
  458. package/contracts/registry/ITransferInterceptor.sol +1 -1
  459. package/contracts/registry/Registry.sol +545 -304
  460. package/contracts/registry/RegistryAdmin.sol +258 -0
  461. package/contracts/registry/RegistryAuthorization.sol +267 -0
  462. package/contracts/registry/RegistryService.sol +126 -284
  463. package/contracts/registry/RegistryServiceManager.sol +26 -53
  464. package/contracts/registry/ReleaseAdmin.sol +253 -0
  465. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  466. package/contracts/registry/ReleaseRegistry.sol +517 -0
  467. package/contracts/registry/ServiceAuthorizationV3.sol +332 -0
  468. package/contracts/registry/TokenRegistry.sol +261 -59
  469. package/contracts/shared/Component.sol +227 -0
  470. package/contracts/shared/ComponentService.sol +696 -0
  471. package/contracts/shared/ComponentServiceManager.sol +38 -0
  472. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  473. package/contracts/shared/ContractLib.sol +281 -0
  474. package/contracts/shared/IComponent.sol +61 -0
  475. package/contracts/shared/IComponentService.sol +110 -0
  476. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  477. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  478. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  479. package/contracts/shared/INftOwnable.sol +15 -12
  480. package/contracts/shared/IPolicyHolder.sol +35 -0
  481. package/contracts/shared/IRegisterable.sol +25 -5
  482. package/contracts/shared/IRegistryLinked.sol +11 -0
  483. package/contracts/shared/IService.sol +13 -5
  484. package/contracts/shared/InitializableERC165.sol +35 -0
  485. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  486. package/contracts/shared/KeyValueStore.sol +131 -0
  487. package/contracts/shared/Lifecycle.sol +88 -0
  488. package/contracts/shared/NftIdSet.sol +65 -0
  489. package/contracts/shared/NftOwnable.sol +76 -84
  490. package/contracts/shared/PolicyHolder.sol +62 -0
  491. package/contracts/shared/Registerable.sol +54 -38
  492. package/contracts/shared/RegistryLinked.sol +38 -0
  493. package/contracts/shared/Service.sol +44 -33
  494. package/contracts/shared/TokenHandler.sol +327 -12
  495. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  496. package/contracts/staking/IStaking.sol +175 -0
  497. package/contracts/staking/IStakingService.sol +175 -0
  498. package/contracts/staking/Staking.sol +546 -0
  499. package/contracts/staking/StakingLib.sol +281 -0
  500. package/contracts/staking/StakingLifecycle.sol +23 -0
  501. package/contracts/staking/StakingManager.sol +52 -0
  502. package/contracts/staking/StakingReader.sol +180 -0
  503. package/contracts/staking/StakingService.sol +467 -0
  504. package/contracts/staking/StakingServiceManager.sol +45 -0
  505. package/contracts/staking/StakingStore.sol +606 -0
  506. package/contracts/staking/TargetManagerLib.sol +211 -0
  507. package/contracts/{types → type}/AddressSet.sol +1 -1
  508. package/contracts/type/Amount.sol +150 -0
  509. package/contracts/{types → type}/Blocknumber.sol +27 -3
  510. package/contracts/type/ClaimId.sol +80 -0
  511. package/contracts/{types → type}/DistributorType.sol +2 -2
  512. package/contracts/{types → type}/Fee.sol +33 -23
  513. package/contracts/{types → type}/Key32.sol +2 -2
  514. package/contracts/type/Key32Set.sol +62 -0
  515. package/contracts/{types → type}/NftId.sol +28 -15
  516. package/contracts/type/NftIdSet.sol +62 -0
  517. package/contracts/type/ObjectType.sol +294 -0
  518. package/contracts/type/PayoutId.sol +82 -0
  519. package/contracts/{types → type}/Referral.sol +6 -1
  520. package/contracts/type/RequestId.sol +75 -0
  521. package/contracts/type/RiskId.sol +75 -0
  522. package/contracts/type/RoleId.sol +182 -0
  523. package/contracts/type/Seconds.sol +101 -0
  524. package/contracts/type/Selector.sol +107 -0
  525. package/contracts/{types → type}/StateId.sol +48 -4
  526. package/contracts/type/String.sol +53 -0
  527. package/contracts/{types → type}/Timestamp.sol +33 -19
  528. package/contracts/{types → type}/UFixed.sol +41 -121
  529. package/contracts/{types → type}/Version.sol +59 -7
  530. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  531. package/contracts/upgradeability/ProxyManager.sol +232 -0
  532. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  533. package/contracts/upgradeability/Versionable.sol +59 -0
  534. package/package.json +12 -8
  535. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  536. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  537. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  538. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -670
  539. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  540. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  541. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  542. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -204
  543. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  544. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  545. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  546. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  547. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  548. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -873
  549. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  550. package/artifacts/contracts/components/Product.sol/Product.json +0 -775
  551. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  552. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  553. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  554. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  555. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  556. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  557. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  558. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  559. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  560. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  561. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  562. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  563. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  564. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  565. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  566. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  567. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  568. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  569. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  570. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  571. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  572. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  573. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  574. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  575. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  576. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  577. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  578. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  579. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  580. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  581. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  582. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  583. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  584. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  585. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  586. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  587. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  588. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  589. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  590. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  591. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  592. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  593. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  594. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  595. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  596. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  597. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  598. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  599. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  600. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  601. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  602. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  603. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  604. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  605. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  606. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  607. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -211
  608. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  609. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  610. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  611. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  612. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  613. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -681
  614. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  615. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -436
  616. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  617. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  618. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  619. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  620. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  621. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  622. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -820
  623. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  624. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -448
  625. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  626. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  627. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  628. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  629. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  630. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  631. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  632. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  633. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  634. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  635. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  636. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  637. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  638. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  639. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  640. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  641. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  642. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  643. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  644. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  645. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  646. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  647. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  648. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  649. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  650. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  651. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  652. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  653. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  654. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  655. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  656. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  657. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  658. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  659. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  660. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  661. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  662. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  663. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  664. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  665. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  666. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  667. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  668. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  669. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  670. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  671. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  672. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  673. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  674. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  675. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  676. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  677. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  678. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  679. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  680. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  681. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  682. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  683. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  684. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  685. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  686. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  687. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  688. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  689. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  690. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  691. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  692. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  693. package/contracts/components/BaseComponent.sol +0 -91
  694. package/contracts/components/Distribution.sol +0 -166
  695. package/contracts/components/IBaseComponent.sol +0 -25
  696. package/contracts/components/IDistributionComponent.sol +0 -46
  697. package/contracts/components/IPoolComponent.sol +0 -62
  698. package/contracts/components/IProductComponent.sol +0 -35
  699. package/contracts/components/Pool.sol +0 -247
  700. package/contracts/components/Product.sol +0 -297
  701. package/contracts/experiment/cloning/Cloner.sol +0 -47
  702. package/contracts/experiment/errors/Require.sol +0 -38
  703. package/contracts/experiment/errors/Revert.sol +0 -44
  704. package/contracts/experiment/inheritance/A.sol +0 -53
  705. package/contracts/experiment/inheritance/B.sol +0 -28
  706. package/contracts/experiment/inheritance/C.sol +0 -34
  707. package/contracts/experiment/inheritance/IA.sol +0 -13
  708. package/contracts/experiment/inheritance/IB.sol +0 -10
  709. package/contracts/experiment/inheritance/IC.sol +0 -12
  710. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  711. package/contracts/experiment/statemachine/ISM.sol +0 -25
  712. package/contracts/experiment/statemachine/SM.sol +0 -57
  713. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  714. package/contracts/experiment/types/TypeA.sol +0 -47
  715. package/contracts/experiment/types/TypeB.sol +0 -29
  716. package/contracts/instance/AccessManagedSimple.sol +0 -115
  717. package/contracts/instance/AccessManagerSimple.sol +0 -692
  718. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  719. package/contracts/instance/InstanceAccessManager.sol +0 -288
  720. package/contracts/instance/base/ComponentServiceBase.sol +0 -60
  721. package/contracts/instance/base/IInstanceBase.sol +0 -23
  722. package/contracts/instance/base/KeyValueStore.sol +0 -172
  723. package/contracts/instance/base/Lifecycle.sol +0 -100
  724. package/contracts/instance/module/IAccess.sol +0 -38
  725. package/contracts/instance/module/ISetup.sol +0 -44
  726. package/contracts/instance/module/ITreasury.sol +0 -23
  727. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  728. package/contracts/instance/service/DistributionService.sol +0 -99
  729. package/contracts/instance/service/DistributionServiceManager.sol +0 -53
  730. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  731. package/contracts/instance/service/IDistributionService.sol +0 -12
  732. package/contracts/instance/service/IPoolService.sol +0 -37
  733. package/contracts/instance/service/IProductService.sol +0 -107
  734. package/contracts/instance/service/PoolService.sol +0 -205
  735. package/contracts/instance/service/PoolServiceManager.sol +0 -53
  736. package/contracts/shared/ContractDeployerLib.sol +0 -72
  737. package/contracts/shared/ERC165.sol +0 -25
  738. package/contracts/shared/ProxyManager.sol +0 -94
  739. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  740. package/contracts/shared/Versionable.sol +0 -147
  741. package/contracts/test/TestFee.sol +0 -25
  742. package/contracts/test/TestRegisterable.sol +0 -18
  743. package/contracts/test/TestRoleId.sol +0 -14
  744. package/contracts/test/TestService.sol +0 -24
  745. package/contracts/test/TestToken.sol +0 -26
  746. package/contracts/test/TestVersion.sol +0 -44
  747. package/contracts/test/TestVersionable.sol +0 -17
  748. package/contracts/types/ChainId.sol +0 -38
  749. package/contracts/types/NftIdSet.sol +0 -60
  750. package/contracts/types/NumberId.sol +0 -52
  751. package/contracts/types/ObjectType.sol +0 -152
  752. package/contracts/types/RiskId.sol +0 -43
  753. package/contracts/types/RoleId.sol +0 -89
@@ -1,443 +1,296 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
5
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
6
-
7
- import {AccessManagedSimple} from "./AccessManagedSimple.sol";
8
- import {AccessManagerSimple} from "./AccessManagerSimple.sol";
9
- import {IAccess} from "./module/IAccess.sol";
10
- import {IBundle} from "./module/IBundle.sol";
11
- import {IPolicy} from "./module/IPolicy.sol";
12
- import {IRisk} from "./module/IRisk.sol";
13
- import {ISetup} from "./module/ISetup.sol";
14
- import {Key32, KeyId, Key32Lib} from "../types/Key32.sol";
15
- import {KeyValueStore} from "./base/KeyValueStore.sol";
16
4
  import {IInstance} from "./IInstance.sol";
5
+ import {IComponentService} from "../shared/IComponentService.sol";
6
+ import {IInstanceService} from "./IInstanceService.sol";
7
+ import {IRegistry} from "../registry/IRegistry.sol";
8
+
9
+ import {Amount} from "../type/Amount.sol";
10
+ import {BundleSet} from "./BundleSet.sol";
11
+ import {RiskSet} from "./RiskSet.sol";
12
+ import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
17
13
  import {InstanceReader} from "./InstanceReader.sol";
18
- import {NftId} from "../types/NftId.sol";
19
- import {NumberId} from "../types/NumberId.sol";
20
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET} from "../types/ObjectType.sol";
21
- import {RiskId, RiskIdLib} from "../types/RiskId.sol";
22
- import {RoleId, RoleIdLib} from "../types/RoleId.sol";
23
- import {StateId, ACTIVE} from "../types/StateId.sol";
24
- import {ERC165} from "../shared/ERC165.sol";
14
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
15
+ import {InstanceStore} from "./InstanceStore.sol";
16
+ import {NftId} from "../type/NftId.sol";
25
17
  import {Registerable} from "../shared/Registerable.sol";
26
- import {ComponentOwnerService} from "./service/ComponentOwnerService.sol";
27
- import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
28
- import {IDistributionService} from "./service/IDistributionService.sol";
29
- import {IPoolService} from "./service/IPoolService.sol";
30
- import {VersionPart} from "../types/Version.sol";
18
+ import {RoleId} from "../type/RoleId.sol";
19
+ import {Seconds} from "../type/Seconds.sol";
20
+ import {UFixed} from "../type/UFixed.sol";
21
+ import {VersionPart} from "../type/Version.sol";
31
22
 
32
23
  contract Instance is
33
- AccessManagedSimple,
34
- KeyValueStore,
35
24
  IInstance,
36
- ERC165,
37
25
  Registerable
38
26
  {
39
-
40
- uint64 public constant ADMIN_ROLE = type(uint64).min;
41
- uint64 public constant PUBLIC_ROLE = type(uint64).max;
42
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
43
-
44
- uint32 public constant EXECUTION_DELAY = 0;
45
-
46
27
  bool private _initialized;
47
28
 
48
- mapping(ShortString name => RoleId roleId) internal _role;
49
- mapping(RoleId roleId => EnumerableSet.AddressSet roleMembers) internal _roleMembers;
50
- RoleId [] internal _roles;
51
-
52
- mapping(ShortString name => address target) internal _target;
29
+ IComponentService internal _componentService;
30
+ IInstanceService internal _instanceService;
53
31
 
54
- AccessManagerSimple internal _accessManager;
32
+ InstanceAdmin internal _instanceAdmin;
55
33
  InstanceReader internal _instanceReader;
56
-
57
- constructor(address accessManagerAddress, address registryAddress, NftId registryNftId)
58
- {
59
- initialize(accessManagerAddress, registryAddress, registryNftId, msg.sender);
60
- }
61
-
62
- function initialize(address accessManagerAddress, address registryAddress, NftId registryNftId, address initialOwner) public {
63
- require(!_initialized, "Contract instance has already been initialized");
64
-
65
- initializeAccessManagedSimple(accessManagerAddress);
66
-
67
- _accessManager = AccessManagerSimple(accessManagerAddress);
68
- _createRole(RoleIdLib.toRoleId(ADMIN_ROLE), "AdminRole", false, false);
69
- _createRole(RoleIdLib.toRoleId(PUBLIC_ROLE), "PublicRole", false, false);
70
-
71
- _initializeRegisterable(registryAddress, registryNftId, INSTANCE(), false, initialOwner, "");
72
-
73
- _registerInterface(type(IInstance).interfaceId);
74
- _initialized = true;
75
- }
76
-
77
- //--- Role ------------------------------------------------------//
78
- function createStandardRole(RoleId roleId, string memory name) external restricted() {
79
- _createRole(roleId, name, false, true);
80
- }
81
-
82
- function createCustomRole(RoleId roleId, string memory name) external restricted() {
83
- _createRole(roleId, name, true, true);
84
- }
85
-
86
- function updateRole(RoleId roleId, string memory name, StateId newState) external restricted() {
87
- (bool isCustom,) = _validateRoleParameters(roleId, name, false);
88
- IAccess.RoleInfo memory role = _toRole(roleId, name, isCustom);
89
- update(toRoleKey32(roleId), abi.encode(role), newState);
90
- }
91
-
92
- function updateRoleState(RoleId roleId, StateId newState) external restricted() {
93
- updateState(toRoleKey32(roleId), newState);
94
- }
95
-
96
- function grantRole(RoleId roleId, address member) external restricted() returns (bool granted) {
97
- Key32 roleKey = toRoleKey32(roleId);
98
-
99
- if (!exists(roleKey)) {
100
- revert IAccess.ErrorGrantNonexstentRole(roleId);
101
- }
102
-
103
- if (getState(roleKey) != ACTIVE()) {
104
- revert IAccess.ErrorRoleIdNotActive(roleId);
105
- }
106
-
107
- if (!EnumerableSet.contains(_roleMembers[roleId], member)) {
108
- _accessManager.grantRole(roleId.toInt(), member, EXECUTION_DELAY);
109
- EnumerableSet.add(_roleMembers[roleId], member);
110
- return true;
111
- }
112
-
113
- return false;
114
- }
115
-
116
- function revokeRole(RoleId roleId, address member) external restricted() returns (bool revoked) {
117
- Key32 roleKey = toRoleKey32(roleId);
118
-
119
- if (!exists(roleKey)) {
120
- revert IAccess.ErrorRevokeNonexstentRole(roleId);
121
- }
122
-
123
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
124
- _accessManager.revokeRole(roleId.toInt(), member);
125
- EnumerableSet.remove(_roleMembers[roleId], member);
126
- return true;
127
- }
128
-
129
- return false;
130
- }
131
-
132
- /// @dev not restricted function by intention
133
- /// the restriction to role members is already enforced by the call to the access manger
134
- function renounceRole(RoleId roleId) external returns (bool revoked) {
135
- address member = msg.sender;
136
- Key32 roleKey = toRoleKey32(roleId);
137
-
138
- if (!exists(roleKey)) {
139
- revert IAccess.ErrorRenounceNonexstentRole(roleId);
34
+ BundleSet internal _bundleSet;
35
+ RiskSet internal _riskSet;
36
+ InstanceStore internal _instanceStore;
37
+ NftId [] internal _products;
38
+
39
+ modifier onlyChainNft() {
40
+ if(msg.sender != getRegistry().getChainNftAddress()) {
41
+ revert();
140
42
  }
141
-
142
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
143
- _accessManager.renounceRole(roleId.toInt(), member);
144
- EnumerableSet.remove(_roleMembers[roleId], member);
145
- return true;
146
- }
147
-
148
- return false;
149
- }
150
-
151
- function roles() external view returns (uint256 numberOfRoles) {
152
- return _roles.length;
153
- }
154
-
155
- function getRoleId(uint256 idx) external view returns (RoleId roleId) {
156
- return _roles[idx];
157
- }
158
-
159
- function getRole(RoleId roleId) external view returns (IAccess.RoleInfo memory role) {
160
- return abi.decode(getData(roleId.toKey32()), (IAccess.RoleInfo));
161
- }
162
-
163
- function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers) {
164
- return EnumerableSet.length(_roleMembers[roleId]);
165
- }
166
-
167
- function getRoleMember(RoleId roleId, uint256 idx) external view returns (address roleMember) {
168
- return EnumerableSet.at(_roleMembers[roleId], idx);
169
- }
170
-
171
- function _createRole(RoleId roleId, string memory name, bool isCustom, bool validateParameters) internal {
172
- if (validateParameters) {
173
- _validateRoleParameters(roleId, name, isCustom);
174
- }
175
-
176
- IAccess.RoleInfo memory role = _toRole(roleId, name, isCustom);
177
- _role[role.name] = roleId;
178
- _roles.push(roleId);
179
-
180
- create(toRoleKey32(roleId), abi.encode(role));
181
- }
182
-
183
- //--- Target ------------------------------------------------------//
184
- function createTarget(address target, IAccess.TargetInfo memory targetInfo) external restricted() {
185
- _validateTargetParameters(target, targetInfo);
186
- create(toTargetKey32(target), abi.encode(targetInfo));
187
- }
188
-
189
- function setTargetClosed(address target, bool closed) external restricted() {
190
- if (!exists(toTargetKey32(target))) {
191
- revert IAccess.ErrorTargetDoesNotExist(target);
43
+ _;
44
+ }
45
+
46
+ function initialize(
47
+ InstanceAdmin instanceAdmin,
48
+ InstanceStore instanceStore,
49
+ BundleSet bundleSet,
50
+ RiskSet riskSet,
51
+ InstanceReader instanceReader,
52
+ IRegistry registry,
53
+ VersionPart release,
54
+ address initialOwner
55
+ )
56
+ external
57
+ initializer()
58
+ {
59
+ if(address(instanceAdmin) == address(0)) {
60
+ revert ErrorInstanceInstanceAdminZero();
192
61
  }
193
62
 
194
- _accessManager.setTargetClosed(target, closed);
195
- }
196
-
197
- //--- ProductSetup ------------------------------------------------------//
198
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external restricted() {
199
- create(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup));
200
- }
201
-
202
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external restricted() {
203
- update(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup), newState);
204
- }
205
-
206
- function updateProductSetupState(NftId productNftId, StateId newState) external restricted() {
207
- updateState(_toNftKey32(productNftId, PRODUCT()), newState);
208
- }
209
-
210
- //--- DistributionSetup ------------------------------------------------------//
211
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external restricted() {
212
- create(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup));
213
- }
63
+ _instanceAdmin = instanceAdmin;
64
+
65
+ // setup instance object info
66
+ __Registerable_init(
67
+ instanceAdmin.authority(),
68
+ address(registry),
69
+ registry.getNftId(),
70
+ INSTANCE(),
71
+ true,
72
+ initialOwner,
73
+ "");
74
+
75
+ // store instance supporting contracts
76
+ _instanceStore = instanceStore;
77
+ _bundleSet = bundleSet;
78
+ _riskSet = riskSet;
79
+ _instanceReader = instanceReader;
214
80
 
215
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external restricted() {
216
- update(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup), newState);
217
- }
81
+ // initialize instance supporting contracts
82
+ _instanceStore.initialize();
83
+ _bundleSet.initialize(instanceAdmin.authority(), address(registry));
84
+ _riskSet.initialize(instanceAdmin.authority(), address(registry));
85
+ _instanceReader.initialize();
218
86
 
219
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external restricted() {
220
- updateState(_toNftKey32(distributionNftId, DISTRIBUTION()), newState);
221
- }
87
+ _componentService = IComponentService(
88
+ getRegistry().getServiceAddress(
89
+ COMPONENT(),
90
+ release));
222
91
 
223
- //--- PoolSetup ------------------------------------------------------//
224
- function createPoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup) external restricted() {
225
- create(_toNftKey32(poolNftId, POOL()), abi.encode(setup));
226
- }
92
+ _instanceService = IInstanceService(
93
+ getRegistry().getServiceAddress(
94
+ INSTANCE(),
95
+ release));
227
96
 
228
- function updatePoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup, StateId newState) external restricted() {
229
- update(_toNftKey32(poolNftId, POOL()), abi.encode(setup), newState);
97
+ _registerInterface(type(IInstance).interfaceId);
230
98
  }
231
99
 
232
- function updatePoolSetupState(NftId poolNftId, StateId newState) external restricted() {
233
- updateState(_toNftKey32(poolNftId, POOL()), newState);
234
- }
235
100
 
236
- //--- DistributorType ---------------------------------------------------//
237
- function createDistributorType(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
238
- create(toPolicyKey32(policyNftId), abi.encode(payout));
239
- }
240
-
241
- function updateDistributorType(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
242
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
101
+ function setInstanceLocked(bool locked)
102
+ external
103
+ // not restricted(): need to be able to unlock a locked instance
104
+ onlyOwner()
105
+ {
106
+ _instanceService.setInstanceLocked(locked);
243
107
  }
244
108
 
245
- function updateDistributorTypeState(NftId policyNftId, StateId newState) external restricted() {
246
- updateState(toPolicyKey32(policyNftId), newState);
247
- }
248
109
 
249
- //--- Distributor -------------------------------------------------------//
250
- function createDistributor(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
251
- create(toPolicyKey32(policyNftId), abi.encode(payout));
110
+ function upgradeInstanceReader()
111
+ external
112
+ restricted()
113
+ onlyOwner()
114
+ {
115
+ _instanceService.upgradeInstanceReader();
252
116
  }
253
117
 
254
- function updateDistributor(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
255
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
256
- }
257
118
 
258
- function updateDistributorState(NftId policyNftId, StateId newState) external restricted() {
259
- updateState(toPolicyKey32(policyNftId), newState);
260
- }
119
+ //--- ProductRegistration ----------------------------------------------//
261
120
 
262
- //--- Referral ----------------------------------------------------------//
263
- function createReferral(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
264
- create(toPolicyKey32(policyNftId), abi.encode(payout));
121
+ function registerProduct(address product)
122
+ external
123
+ restricted()
124
+ onlyOwner()
125
+ returns (NftId productNftId)
126
+ {
127
+ productNftId = _componentService.registerProduct(product);
128
+ _products.push(productNftId);
265
129
  }
266
130
 
267
- function updateReferral(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
268
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
269
- }
131
+ //--- Staking ----------------------------------------------------------//
270
132
 
271
- function updateReferralState(NftId policyNftId, StateId newState) external restricted() {
272
- updateState(toPolicyKey32(policyNftId), newState);
133
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod)
134
+ external
135
+ restricted()
136
+ onlyOwner()
137
+ {
138
+ _instanceService.setStakingLockingPeriod(stakeLockingPeriod);
273
139
  }
274
140
 
275
- //--- Bundle ------------------------------------------------------------//
276
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external restricted() {
277
- create(toBundleKey32(bundleNftId), abi.encode(bundle));
141
+ function setStakingRewardRate(UFixed rewardRate)
142
+ external
143
+ restricted()
144
+ onlyOwner()
145
+ {
146
+ _instanceService.setStakingRewardRate(rewardRate);
278
147
  }
279
148
 
280
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external restricted() {
281
- update(toBundleKey32(bundleNftId), abi.encode(bundle), newState);
149
+ function setStakingMaxAmount(Amount maxStakedAmount)
150
+ external
151
+ onlyOwner()
152
+ {
153
+ _instanceService.setStakingMaxAmount(maxStakedAmount);
282
154
  }
283
155
 
284
- function updateBundleState(NftId bundleNftId, StateId newState) external restricted() {
285
- updateState(toBundleKey32(bundleNftId), newState);
156
+ function refillStakingRewardReserves(Amount dipAmount)
157
+ external
158
+ restricted()
159
+ onlyOwner()
160
+ {
161
+ address instanceOwner = msg.sender;
162
+ _instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
286
163
  }
287
164
 
288
- //--- Risk --------------------------------------------------------------//
289
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external restricted() {
290
- create(riskId.toKey32(), abi.encode(risk));
165
+ function withdrawStakingRewardReserves(Amount dipAmount)
166
+ external
167
+ restricted()
168
+ onlyOwner()
169
+ returns (Amount newBalance)
170
+ {
171
+ return _instanceService.withdrawStakingRewardReserves(dipAmount);
291
172
  }
292
173
 
293
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external restricted() {
294
- update(riskId.toKey32(), abi.encode(risk), newState);
295
- }
174
+ //--- Roles ------------------------------------------------------------//
296
175
 
297
- function updateRiskState(RiskId riskId, StateId newState) external restricted() {
298
- updateState(riskId.toKey32(), newState);
176
+ function createRole(string memory roleName, string memory adminName)
177
+ external
178
+ restricted()
179
+ onlyOwner()
180
+ returns (RoleId roleId, RoleId admin)
181
+ {
182
+ // TODO refactor
183
+ // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
299
184
  }
300
185
 
301
- //--- Policy ------------------------------------------------------------//
302
- function createPolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy) external restricted() {
303
- create(toPolicyKey32(policyNftId), abi.encode(policy));
186
+ function grantRole(RoleId roleId, address account)
187
+ external
188
+ restricted()
189
+ onlyOwner()
190
+ {
191
+ _instanceAdmin.grantRole(roleId, account);
304
192
  }
305
193
 
306
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
307
- update(toPolicyKey32(policyNftId), abi.encode(policy), newState);
194
+ function revokeRole(RoleId roleId, address account)
195
+ external
196
+ restricted()
197
+ onlyOwner()
198
+ {
199
+ // TODO refactor
200
+ // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
308
201
  }
309
202
 
310
- function updatePolicyState(NftId policyNftId, StateId newState) external restricted() {
311
- updateState(toPolicyKey32(policyNftId), newState);
312
- }
203
+ //--- Targets ------------------------------------------------------------//
313
204
 
314
- //--- Claim -------------------------------------------------------------//
315
- function createClaim(NftId policyNftId, NumberId claimId, IPolicy.ClaimInfo memory claim) external restricted() {
316
- create(toPolicyKey32(policyNftId), abi.encode(claim));
317
- }
318
205
 
319
- function updateClaim(NftId policyNftId, NumberId claimId, IPolicy.ClaimInfo memory claim, StateId newState) external restricted() {
320
- update(toPolicyKey32(policyNftId), abi.encode(claim), newState);
206
+ function setTargetLocked(address target, bool locked)
207
+ external
208
+ // not restricted(): instance owner may need to be able to unlock targets on an locked instance
209
+ onlyOwner()
210
+ {
211
+ _instanceService.setTargetLocked(target, locked);
321
212
  }
322
213
 
323
- function updateClaimState(NftId policyNftId, StateId newState) external restricted() {
324
- updateState(toPolicyKey32(policyNftId), newState);
214
+ function createTarget(address target, string memory name)
215
+ external
216
+ restricted()
217
+ onlyOwner()
218
+ {
219
+ // TODO refactor
220
+ // _instanceAdmin.createTarget(target, name);
221
+ }
222
+
223
+ function setTargetFunctionRole(
224
+ string memory targetName,
225
+ bytes4[] calldata selectors,
226
+ RoleId roleId
227
+ )
228
+ external
229
+ restricted()
230
+ onlyOwner()
231
+ {
232
+ // TODO refactor
233
+ // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
325
234
  }
326
235
 
327
- //--- Payout ------------------------------------------------------------//
328
- function createPayout(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
329
- create(toPolicyKey32(policyNftId), abi.encode(payout));
330
- }
236
+ //--- ITransferInterceptor ----------------------------------------------//
331
237
 
332
- function updateClaim(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
333
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
238
+ function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
239
+ // TODO refactor
240
+ // _instanceAdmin.transferInstanceOwnerRole(from, to);
334
241
  }
335
242
 
336
- function updatePayoutState(NftId policyNftId, StateId newState) external restricted() {
337
- updateState(toPolicyKey32(policyNftId), newState);
338
- }
243
+ //--- initial setup functions -------------------------------------------//
339
244
 
340
- //--- internal view/pure functions --------------------------------------//
341
- function _toRole(RoleId roleId, string memory name, bool isCustom)
342
- internal
343
- pure
344
- returns (IAccess.RoleInfo memory role)
345
- {
346
- return IAccess.RoleInfo(
347
- ShortStrings.toShortString(name),
348
- isCustom);
349
- }
350
245
 
351
- function _validateRoleParameters(
352
- RoleId roleId,
353
- string memory name,
354
- bool isCustom
355
- )
356
- internal
357
- view
358
- returns (
359
- bool roleExists,
360
- bool roleIsCustom
361
- )
246
+ function setInstanceReader(InstanceReader instanceReader)
247
+ external
248
+ restricted()
362
249
  {
363
- Key32 roleKey = toRoleKey32(roleId);
364
- roleExists = exists(roleKey);
365
- if (roleExists) {
366
- roleIsCustom = abi.decode(getData(roleKey), (IAccess.RoleInfo)).isCustom;
367
- } else {
368
- roleIsCustom = isCustom;
369
- }
370
-
371
- // check role id
372
- uint64 roleIdInt = RoleId.unwrap(roleId);
373
- if(roleIdInt == ADMIN_ROLE || roleIdInt == PUBLIC_ROLE) {
374
- revert IAccess.ErrorRoleIdInvalid(roleId);
375
- }
376
-
377
- if (roleIsCustom && roleIdInt < CUSTOM_ROLE_ID_MIN) {
378
- revert IAccess.ErrorRoleIdTooSmall(roleId);
379
- } else if (roleIsCustom && roleIdInt >= CUSTOM_ROLE_ID_MIN) {
380
- revert IAccess.ErrorRoleIdTooBig(roleId);
381
- }
382
-
383
- // role name checks
384
- ShortString nameShort = ShortStrings.toShortString(name);
385
- if (ShortStrings.byteLength(nameShort) == 0) {
386
- revert IAccess.ErrorRoleNameEmpty(roleId);
250
+ if(instanceReader.getInstance() != Instance(this)) {
251
+ revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
387
252
  }
388
253
 
389
- if (_role[nameShort] != RoleIdLib.zero() && _role[nameShort] != roleId) {
390
- revert IAccess.ErrorRoleNameNotUnique(_role[nameShort], nameShort);
391
- }
254
+ _instanceReader = instanceReader;
392
255
  }
393
256
 
394
- function _validateTargetParameters(address target, IAccess.TargetInfo memory targetInfo) internal view {
395
-
396
- }
257
+ //--- external view functions -------------------------------------------//
397
258
 
398
- function toRoleKey32(RoleId roleId) public pure returns (Key32) {
399
- return roleId.toKey32();
259
+ function isInstanceLocked() external view returns (bool) {
260
+ return _instanceAdmin.isLocked();
400
261
  }
401
262
 
402
- function toTargetKey32(address target) public pure returns (Key32) {
403
- return Key32Lib.toKey32(TARGET(), KeyId.wrap(bytes20(target)));
263
+ function isTargetLocked(address target) external view returns (bool) {
264
+ return _instanceAdmin.isTargetLocked(target);
404
265
  }
405
266
 
406
- function _toNftKey32(NftId nftId, ObjectType objectType) internal pure returns (Key32) {
407
- return nftId.toKey32(objectType);
267
+ function products() external view returns (uint256 productCount) {
268
+ return _products.length;
408
269
  }
409
270
 
410
- function toBundleKey32(NftId bundleNftId) public pure returns (Key32) {
411
- return bundleNftId.toKey32(BUNDLE());
271
+ function getProductNftId(uint256 idx) external view returns (NftId productNftId) {
272
+ return _products[idx];
412
273
  }
413
274
 
414
- function toPolicyKey32(NftId policyNftId) public pure returns (Key32) {
415
- return policyNftId.toKey32(POLICY());
275
+ function getInstanceReader() external view returns (InstanceReader) {
276
+ return _instanceReader;
416
277
  }
417
278
 
418
- function getComponentOwnerService() external view returns (IComponentOwnerService) {
419
- return ComponentOwnerService(_registry.getServiceAddress("ComponentOwnerService", VersionPart.wrap(3)));
279
+ function getBundleSet() external view returns (BundleSet) {
280
+ return _bundleSet;
420
281
  }
421
282
 
422
- function getDistributionService() external view returns (IDistributionService) {
423
- return IDistributionService(_registry.getServiceAddress("DistributionService", VersionPart.wrap(3)));
283
+ function getRiskSet() external view returns (RiskSet) {
284
+ return _riskSet;
424
285
  }
425
286
 
426
- // TODO reactivate when services are available
427
- // function getProductService() external view returns (IProductService) {
428
- // return ProductService(_registry.getServiceAddress("ProductService", VersionPart.wrap(3)));
429
- // }
430
-
431
- function getPoolService() external view returns (IPoolService) {
432
- return IPoolService(_registry.getServiceAddress("PoolService", VersionPart.wrap(3)));
287
+ function getInstanceAdmin() external view returns (InstanceAdmin) {
288
+ return _instanceAdmin;
433
289
  }
434
290
 
435
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
436
- require(address(_instanceReader) == address(0), "InstanceReader is set");
437
- _instanceReader = instanceReader;
291
+ function getInstanceStore() external view returns (InstanceStore) {
292
+ return _instanceStore;
438
293
  }
439
294
 
440
- function getInstanceReader() external view returns (InstanceReader) {
441
- return _instanceReader;
442
- }
443
- }
295
+ //--- internal view/pure functions --------------------------------------//
296
+ }