@etherisc/gif-next 0.0.2-b5e5146-738 → 0.0.2-b62165c-823

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 (678) hide show
  1. package/README.md +59 -18
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1500 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1170 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1512 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +838 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → distribution/IDistributionComponent.sol/IDistributionComponent.json} +343 -275
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +932 -0
  36. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +237 -1565
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +389 -197
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +442 -2597
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +858 -408
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +549 -338
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +369 -108
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3712 -0
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  59. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  64. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  70. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  71. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  74. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  75. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  76. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  77. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1137 -0
  78. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  79. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  80. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  81. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  82. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  83. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
  84. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  86. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  87. package/artifacts/contracts/{components/Pool.sol/Pool.json → oracle/Oracle.sol/Oracle.json} +452 -439
  88. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  90. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  92. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  93. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1406 -0
  94. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  95. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  96. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  97. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1474 -0
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  101. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +457 -265
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  103. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +417 -312
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1208 -0
  106. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  107. package/artifacts/contracts/pool/Pool.sol/Pool.json +1192 -0
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1591 -0
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +746 -0
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  113. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +852 -0
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  117. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → product/BasicProduct.sol/BasicProduct.json} +736 -230
  118. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  119. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  120. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1331 -0
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  124. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  125. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +216 -230
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  127. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +788 -0
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +337 -308
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +270 -215
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  133. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +371 -361
  134. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  135. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IProductService.sol/IProductService.json} +126 -167
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1239 -0
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  139. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  141. package/artifacts/contracts/product/PricingService.sol/PricingService.json +972 -0
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +766 -0
  144. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  145. package/artifacts/contracts/product/Product.sol/Product.json +1212 -0
  146. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  147. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  148. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  150. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  151. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  152. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  153. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +205 -19
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  155. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +226 -267
  156. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  158. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/Registry.sol/Registry.json +467 -35
  160. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  161. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  162. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +506 -254
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +352 -95
  166. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  168. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  170. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  171. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  172. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +349 -82
  174. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  175. package/artifacts/contracts/shared/Component.sol/Component.json +832 -0
  176. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1680 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +804 -0
  180. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  181. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +178 -242
  182. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  183. package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → shared/IComponent.sol/IComponent.json} +206 -249
  184. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  186. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  187. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +242 -187
  188. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  189. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  190. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  192. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  193. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  194. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  196. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  197. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -30
  198. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  199. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  200. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IService.sol/IService.json +84 -154
  202. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  203. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  204. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  205. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
  206. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +951 -0
  208. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  209. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  210. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  212. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  213. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  214. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +108 -35
  216. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  217. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  218. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +131 -60
  220. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  221. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  222. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Service.sol/Service.json +188 -157
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  225. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +382 -9
  226. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  227. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  228. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  229. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1412 -0
  230. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  231. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  232. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  233. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +387 -0
  234. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  235. package/artifacts/contracts/staking/Staking.sol/Staking.json +1941 -0
  236. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  237. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  238. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  240. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  242. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  244. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  246. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  248. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  249. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -0
  250. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  251. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  252. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  254. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  256. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  258. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  260. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  262. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  264. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  266. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  267. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  268. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  270. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  272. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  274. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  276. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  278. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  280. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +222 -0
  282. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  284. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  286. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  288. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  290. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  292. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  294. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  296. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  298. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  300. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  301. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  302. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  303. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  304. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  305. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  306. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  307. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  308. package/contracts/authorization/AccessAdmin.sol +591 -0
  309. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  310. package/contracts/authorization/Authorization.sol +217 -0
  311. package/contracts/authorization/IAccess.sol +48 -0
  312. package/contracts/authorization/IAccessAdmin.sol +136 -0
  313. package/contracts/authorization/IAuthorization.sol +54 -0
  314. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  315. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  316. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  317. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  318. package/contracts/distribution/BasicDistribution.sol +138 -0
  319. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  320. package/contracts/distribution/Distribution.sol +295 -0
  321. package/contracts/distribution/DistributionService.sol +336 -0
  322. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  323. package/contracts/distribution/IDistributionComponent.sol +52 -0
  324. package/contracts/distribution/IDistributionService.sol +101 -0
  325. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +33 -32
  326. package/contracts/instance/IInstance.sol +61 -47
  327. package/contracts/instance/IInstanceService.sol +73 -21
  328. package/contracts/instance/Instance.sol +178 -193
  329. package/contracts/instance/InstanceAdmin.sol +285 -0
  330. package/contracts/instance/InstanceAuthorizationV3.sol +203 -0
  331. package/contracts/instance/InstanceReader.sol +194 -65
  332. package/contracts/instance/InstanceService.sol +353 -258
  333. package/contracts/instance/InstanceServiceManager.sol +13 -27
  334. package/contracts/instance/InstanceStore.sol +291 -0
  335. package/contracts/instance/base/BalanceStore.sol +123 -0
  336. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  337. package/contracts/instance/base/ObjectCounter.sol +21 -0
  338. package/contracts/instance/base/ObjectLifecycle.sol +110 -0
  339. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +19 -24
  340. package/contracts/instance/module/IAccess.sol +19 -21
  341. package/contracts/instance/module/IBundle.sol +8 -8
  342. package/contracts/instance/module/IComponents.sol +46 -0
  343. package/contracts/instance/module/IDistribution.sol +6 -4
  344. package/contracts/instance/module/IPolicy.sol +56 -17
  345. package/contracts/instance/module/IRisk.sol +1 -1
  346. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  347. package/contracts/oracle/BasicOracle.sol +48 -0
  348. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  349. package/contracts/oracle/IOracle.sol +36 -0
  350. package/contracts/oracle/IOracleComponent.sol +33 -0
  351. package/contracts/oracle/IOracleService.sol +65 -0
  352. package/contracts/oracle/Oracle.sol +166 -0
  353. package/contracts/oracle/OracleService.sol +278 -0
  354. package/contracts/oracle/OracleServiceManager.sol +39 -0
  355. package/contracts/pool/BasicPool.sol +166 -0
  356. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  357. package/contracts/pool/BundleService.sol +438 -0
  358. package/contracts/pool/BundleServiceManager.sol +39 -0
  359. package/contracts/pool/IBundleService.sol +134 -0
  360. package/contracts/pool/IPoolComponent.sol +58 -0
  361. package/contracts/pool/IPoolService.sol +160 -0
  362. package/contracts/pool/Pool.sol +326 -0
  363. package/contracts/pool/PoolService.sol +509 -0
  364. package/contracts/pool/PoolServiceManager.sol +39 -0
  365. package/contracts/product/ApplicationService.sol +249 -0
  366. package/contracts/product/ApplicationServiceManager.sol +38 -0
  367. package/contracts/product/BasicProduct.sol +52 -0
  368. package/contracts/product/BasicProductAuthorization.sol +43 -0
  369. package/contracts/product/ClaimService.sol +416 -0
  370. package/contracts/product/ClaimServiceManager.sol +38 -0
  371. package/contracts/product/IApplicationService.sol +63 -0
  372. package/contracts/product/IClaimService.sol +100 -0
  373. package/contracts/product/IPolicyService.sol +73 -0
  374. package/contracts/product/IPricingService.sol +39 -0
  375. package/contracts/product/IProductComponent.sol +39 -0
  376. package/contracts/product/IProductService.sol +34 -0
  377. package/contracts/product/PolicyService.sol +576 -0
  378. package/contracts/product/PolicyServiceManager.sol +39 -0
  379. package/contracts/product/PricingService.sol +301 -0
  380. package/contracts/product/PricingServiceManager.sol +39 -0
  381. package/contracts/product/Product.sol +406 -0
  382. package/contracts/product/ProductService.sol +99 -0
  383. package/contracts/product/ProductServiceManager.sol +39 -0
  384. package/contracts/registry/ChainNft.sol +16 -1
  385. package/contracts/registry/IRegistry.sol +62 -26
  386. package/contracts/registry/IRegistryService.sol +47 -43
  387. package/contracts/registry/ITransferInterceptor.sol +1 -0
  388. package/contracts/registry/Registry.sol +264 -140
  389. package/contracts/registry/RegistryAdmin.sol +374 -0
  390. package/contracts/registry/RegistryService.sol +105 -115
  391. package/contracts/registry/RegistryServiceManager.sol +24 -33
  392. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  393. package/contracts/registry/ReleaseRegistry.sol +485 -0
  394. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  395. package/contracts/registry/TokenRegistry.sol +263 -60
  396. package/contracts/shared/Component.sol +268 -0
  397. package/contracts/shared/ComponentService.sol +641 -0
  398. package/contracts/shared/ComponentServiceManager.sol +35 -0
  399. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  400. package/contracts/shared/IComponent.sol +70 -0
  401. package/contracts/shared/IComponentService.sol +108 -0
  402. package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
  403. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  404. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  405. package/contracts/shared/INftOwnable.sol +13 -12
  406. package/contracts/shared/IPolicyHolder.sol +45 -0
  407. package/contracts/shared/IRegisterable.sol +3 -3
  408. package/contracts/shared/IRegistryLinked.sol +11 -0
  409. package/contracts/shared/IService.sol +15 -6
  410. package/contracts/shared/InitializableCustom.sol +177 -0
  411. package/contracts/shared/InitializableERC165.sol +27 -0
  412. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  413. package/contracts/shared/KeyValueStore.sol +131 -0
  414. package/contracts/shared/Lifecycle.sol +77 -0
  415. package/contracts/shared/NftIdSet.sol +65 -0
  416. package/contracts/shared/NftOwnable.sol +59 -91
  417. package/contracts/shared/PolicyHolder.sol +99 -0
  418. package/contracts/shared/Registerable.sol +19 -30
  419. package/contracts/shared/RegistryLinked.sol +43 -0
  420. package/contracts/shared/Service.sol +54 -32
  421. package/contracts/shared/TokenHandler.sol +122 -10
  422. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  423. package/contracts/staking/IStaking.sol +167 -0
  424. package/contracts/staking/IStakingService.sol +160 -0
  425. package/contracts/staking/StakeManagerLib.sol +206 -0
  426. package/contracts/staking/Staking.sol +497 -0
  427. package/contracts/staking/StakingLifecycle.sol +23 -0
  428. package/contracts/staking/StakingManager.sol +50 -0
  429. package/contracts/staking/StakingReader.sol +183 -0
  430. package/contracts/staking/StakingService.sol +407 -0
  431. package/contracts/staking/StakingServiceManager.sol +44 -0
  432. package/contracts/staking/StakingStore.sol +605 -0
  433. package/contracts/staking/TargetManagerLib.sol +207 -0
  434. package/contracts/{types → type}/AddressSet.sol +1 -1
  435. package/contracts/type/Amount.sol +135 -0
  436. package/contracts/{types → type}/Blocknumber.sol +27 -3
  437. package/contracts/type/ClaimId.sol +75 -0
  438. package/contracts/{types → type}/DistributorType.sol +2 -2
  439. package/contracts/{types → type}/Fee.sol +33 -23
  440. package/contracts/{types → type}/NftId.sol +21 -15
  441. package/contracts/{types → type}/NftIdSet.sol +2 -2
  442. package/contracts/type/ObjectType.sol +275 -0
  443. package/contracts/type/PayoutId.sol +82 -0
  444. package/contracts/{types → type}/Referral.sol +6 -1
  445. package/contracts/type/RequestId.sol +75 -0
  446. package/contracts/{types → type}/RiskId.sol +1 -1
  447. package/contracts/type/RoleId.sol +174 -0
  448. package/contracts/type/Seconds.sol +93 -0
  449. package/contracts/type/Selector.sol +102 -0
  450. package/contracts/{types → type}/StateId.sol +34 -4
  451. package/contracts/type/String.sol +53 -0
  452. package/contracts/{types → type}/Timestamp.sol +34 -15
  453. package/contracts/{types → type}/UFixed.sol +35 -9
  454. package/contracts/{types → type}/Version.sol +5 -2
  455. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  456. package/contracts/upgradeability/ProxyManager.sol +198 -0
  457. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  458. package/contracts/upgradeability/Versionable.sol +59 -0
  459. package/package.json +10 -7
  460. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  461. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  462. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  463. package/artifacts/contracts/components/IComponent.sol/IComponent.json +0 -455
  464. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  465. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  466. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  467. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  468. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  469. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  470. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  471. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  472. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  473. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  474. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  475. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  476. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  477. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  478. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  479. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  480. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  481. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  482. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  483. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  484. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  485. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  487. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  488. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  489. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  490. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  491. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  492. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  494. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  496. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  498. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  499. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  501. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  503. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  505. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  507. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  508. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
  509. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  510. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  511. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1034
  512. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  513. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  514. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  515. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  516. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  517. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  518. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  519. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  520. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  521. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  522. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  523. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  524. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1102
  525. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  526. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -449
  527. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  528. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -772
  529. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  530. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -437
  531. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  532. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  533. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  534. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  535. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  536. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  537. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1227
  538. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -505
  540. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  541. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -806
  542. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  543. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -437
  544. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  545. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -856
  546. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  547. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -437
  548. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  549. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  550. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  551. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  552. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  553. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  554. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  555. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  556. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  557. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  558. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  559. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -362
  560. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  561. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  562. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  563. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  564. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  565. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  566. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  567. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -313
  568. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  569. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  570. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  571. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -608
  572. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  573. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  574. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  575. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  576. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  578. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  579. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  580. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  581. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  582. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  583. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  584. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  585. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  586. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  587. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  588. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  589. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  590. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  591. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  592. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  593. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  594. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  595. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  596. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  597. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  598. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  600. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  602. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  604. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  605. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  606. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  607. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  608. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  609. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  610. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  611. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  612. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  613. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  614. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  615. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  616. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  617. package/contracts/components/Component.sol +0 -237
  618. package/contracts/components/Distribution.sol +0 -150
  619. package/contracts/components/IComponent.sol +0 -43
  620. package/contracts/components/IDistributionComponent.sol +0 -47
  621. package/contracts/components/IPoolComponent.sol +0 -70
  622. package/contracts/components/IProductComponent.sol +0 -39
  623. package/contracts/components/Pool.sol +0 -248
  624. package/contracts/components/Product.sol +0 -265
  625. package/contracts/experiment/cloning/Cloner.sol +0 -47
  626. package/contracts/experiment/errors/Require.sol +0 -38
  627. package/contracts/experiment/errors/Revert.sol +0 -44
  628. package/contracts/experiment/inheritance/A.sol +0 -53
  629. package/contracts/experiment/inheritance/B.sol +0 -28
  630. package/contracts/experiment/inheritance/C.sol +0 -34
  631. package/contracts/experiment/inheritance/IA.sol +0 -13
  632. package/contracts/experiment/inheritance/IB.sol +0 -10
  633. package/contracts/experiment/inheritance/IC.sol +0 -12
  634. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  635. package/contracts/experiment/statemachine/ISM.sol +0 -25
  636. package/contracts/experiment/statemachine/SM.sol +0 -57
  637. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  638. package/contracts/experiment/types/TypeA.sol +0 -47
  639. package/contracts/experiment/types/TypeB.sol +0 -29
  640. package/contracts/instance/InstanceAccessManager.sol +0 -298
  641. package/contracts/instance/base/ComponentService.sol +0 -134
  642. package/contracts/instance/base/KeyValueStore.sol +0 -172
  643. package/contracts/instance/base/Lifecycle.sol +0 -100
  644. package/contracts/instance/module/ISetup.sol +0 -46
  645. package/contracts/instance/module/ITreasury.sol +0 -23
  646. package/contracts/instance/service/BundleService.sol +0 -293
  647. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  648. package/contracts/instance/service/DistributionService.sol +0 -105
  649. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  650. package/contracts/instance/service/IBundleService.sol +0 -44
  651. package/contracts/instance/service/IDistributionService.sol +0 -12
  652. package/contracts/instance/service/IPolicyService.sol +0 -94
  653. package/contracts/instance/service/IPoolService.sol +0 -20
  654. package/contracts/instance/service/IProductService.sol +0 -40
  655. package/contracts/instance/service/PolicyService.sol +0 -538
  656. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  657. package/contracts/instance/service/PoolService.sol +0 -109
  658. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  659. package/contracts/instance/service/ProductService.sol +0 -232
  660. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  661. package/contracts/registry/RegistryAccessManager.sol +0 -216
  662. package/contracts/registry/ReleaseManager.sol +0 -332
  663. package/contracts/shared/ContractDeployerLib.sol +0 -72
  664. package/contracts/shared/ERC165.sol +0 -25
  665. package/contracts/shared/ProxyManager.sol +0 -94
  666. package/contracts/shared/Versionable.sol +0 -147
  667. package/contracts/test/TestFee.sol +0 -25
  668. package/contracts/test/TestRegisterable.sol +0 -18
  669. package/contracts/test/TestRoleId.sol +0 -14
  670. package/contracts/test/TestService.sol +0 -25
  671. package/contracts/test/TestVersion.sol +0 -44
  672. package/contracts/test/TestVersionable.sol +0 -17
  673. package/contracts/test/Usdc.sol +0 -26
  674. package/contracts/types/ChainId.sol +0 -38
  675. package/contracts/types/NumberId.sol +0 -52
  676. package/contracts/types/ObjectType.sol +0 -152
  677. package/contracts/types/RoleId.sol +0 -90
  678. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,109 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Pool} from "../../components/Pool.sol";
5
- import {IRegistry} from "../../registry/IRegistry.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {IBundle} from "../../instance/module/IBundle.sol";
8
- import {TokenHandler} from "../../instance/module/ITreasury.sol";
9
- import {ISetup} from "../module/ISetup.sol";
10
- import {IPolicy} from "../module/IPolicy.sol";
11
-
12
- import {IVersionable} from "../../shared/IVersionable.sol";
13
- import {Versionable} from "../../shared/Versionable.sol";
14
- import {INftOwnable} from "../../shared/INftOwnable.sol";
15
-
16
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
17
- import {ObjectType, POOL, BUNDLE} from "../../types/ObjectType.sol";
18
- import {POOL_OWNER_ROLE, RoleId} from "../../types/RoleId.sol";
19
- import {Fee, FeeLib} from "../../types/Fee.sol";
20
- import {Version, VersionLib} from "../../types/Version.sol";
21
- import {KEEP_STATE, StateId} from "../../types/StateId.sol";
22
- import {TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
23
-
24
- import {IService} from "../../shared/IService.sol";
25
- import {Service} from "../../shared/Service.sol";
26
- import {BundleManager} from "../BundleManager.sol";
27
- import {ComponentService} from "../base/ComponentService.sol";
28
- import {IPoolService} from "./IPoolService.sol";
29
- import {IRegistryService} from "../../registry/IRegistryService.sol";
30
- import {InstanceService} from "../InstanceService.sol";
31
- import {InstanceReader} from "../InstanceReader.sol";
32
- import {IComponent} from "../../components/IComponent.sol";
33
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
34
-
35
- string constant POOL_SERVICE_NAME = "PoolService";
36
-
37
- contract PoolService is
38
- ComponentService,
39
- IPoolService
40
- {
41
- using NftIdLib for NftId;
42
-
43
- address internal _registryAddress;
44
-
45
- function _initialize(
46
- address owner,
47
- bytes memory data
48
- )
49
- internal
50
- initializer
51
- virtual override
52
- {
53
- address registryAddress;
54
- address initialOwner;
55
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
56
- // TODO while PoolService is not deployed in PoolServiceManager constructor
57
- // owner is PoolServiceManager deployer
58
- _initializeService(registryAddress, owner);
59
-
60
- _registerInterface(type(IPoolService).interfaceId);
61
- }
62
-
63
- function getDomain() public pure override(Service, IService) returns(ObjectType) {
64
- return POOL();
65
- }
66
-
67
- function register(address poolAddress)
68
- external
69
- returns(NftId poolNftId)
70
- {
71
- (
72
- IComponent component,
73
- address owner,
74
- IInstance instance,
75
- NftId instanceNftId
76
- ) = _checkComponentForRegistration(
77
- poolAddress,
78
- POOL(),
79
- POOL_OWNER_ROLE());
80
-
81
- IPoolComponent pool = IPoolComponent(poolAddress);
82
- IRegistry.ObjectInfo memory poolInfo = getRegistryService().registerPool(pool, owner);
83
- pool.linkToRegisteredNftId();
84
- poolNftId = poolInfo.nftId;
85
-
86
- instance.createPoolSetup(poolNftId, pool.getSetupInfo());
87
- getInstanceService().createGifTarget(instanceNftId, poolAddress, pool.getName());
88
- }
89
-
90
- function setFees(
91
- Fee memory poolFee,
92
- Fee memory stakingFee,
93
- Fee memory performanceFee
94
- )
95
- external
96
- override
97
- {
98
- (IRegistry.ObjectInfo memory poolInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
99
- InstanceReader instanceReader = instance.getInstanceReader();
100
- NftId poolNftId = poolInfo.nftId;
101
-
102
- ISetup.PoolSetupInfo memory poolSetupInfo = instanceReader.getPoolSetupInfo(poolNftId);
103
- poolSetupInfo.poolFee = poolFee;
104
- poolSetupInfo.stakingFee = stakingFee;
105
- poolSetupInfo.performanceFee = performanceFee;
106
-
107
- instance.updatePoolSetup(poolNftId, poolSetupInfo, KEEP_STATE());
108
- }
109
- }
@@ -1,51 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {PoolService} from "./PoolService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {REGISTRY} from "../../types/ObjectType.sol";
10
-
11
- contract PoolServiceManager is ProxyManager {
12
-
13
- PoolService private _poolService;
14
-
15
- /// @dev initializes proxy manager with pool service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager()
20
- {
21
- PoolService poolSrv = new PoolService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(poolSrv),
25
- data);
26
-
27
- _poolService = PoolService(address(versionable));
28
-
29
- // TODO `this` must have a role or own nft to register service
30
- //Registry registry = Registry(registryAddress);
31
- //address registryServiceAddress = registry.getServiceAddress(REGISTRY(), _poolService.getMajorVersion());
32
- //RegistryService registryService = RegistryService(registryServiceAddress);
33
- //registryService.registerService(_poolService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_poolService));
40
- }
41
-
42
- //--- view functions ----------------------------------------------------//
43
- function getPoolService()
44
- external
45
- view
46
- returns (PoolService poolService)
47
- {
48
- return _poolService;
49
- }
50
-
51
- }
@@ -1,232 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IProductComponent} from "../../components/IProductComponent.sol";
6
- import {Product} from "../../components/Product.sol";
7
- import {IComponent} from "../../components/IComponent.sol";
8
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
9
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
10
- import {IInstance} from "../IInstance.sol";
11
- import {IPolicy} from "../module/IPolicy.sol";
12
- import {IRisk} from "../module/IRisk.sol";
13
- import {IBundle} from "../module/IBundle.sol";
14
- import {IProductService} from "./IProductService.sol";
15
- import {ITreasury} from "../module/ITreasury.sol";
16
- import {ISetup} from "../module/ISetup.sol";
17
-
18
- import {TokenHandler} from "../../shared/TokenHandler.sol";
19
-
20
- import {IVersionable} from "../../shared/IVersionable.sol";
21
- import {Versionable} from "../../shared/Versionable.sol";
22
-
23
- import {Timestamp, zeroTimestamp} from "../../types/Timestamp.sol";
24
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
25
- import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
26
- import {ObjectType, PRODUCT, POOL, POLICY} from "../../types/ObjectType.sol";
27
- import {APPLIED, UNDERWRITTEN, ACTIVE, KEEP_STATE} from "../../types/StateId.sol";
28
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
29
- import {Fee, FeeLib} from "../../types/Fee.sol";
30
- import {ReferralId} from "../../types/Referral.sol";
31
- import {RiskId} from "../../types/RiskId.sol";
32
- import {StateId} from "../../types/StateId.sol";
33
- import {Version, VersionLib} from "../../types/Version.sol";
34
- import {RoleId, PRODUCT_OWNER_ROLE} from "../../types/RoleId.sol";
35
-
36
- import {IService} from "../../shared/IService.sol";
37
- import {Service} from "../../shared/Service.sol";
38
- import {ComponentService} from "../base/ComponentService.sol";
39
- import {IProductService} from "./IProductService.sol";
40
- import {InstanceReader} from "../InstanceReader.sol";
41
- import {IPoolService} from "./PoolService.sol";
42
-
43
- // TODO or name this ProtectionService to have Product be something more generic (loan, savings account, ...)
44
- contract ProductService is ComponentService, IProductService {
45
- using NftIdLib for NftId;
46
-
47
- IPoolService internal _poolService;
48
-
49
- event LogProductServiceSender(address sender);
50
-
51
- function _initialize(
52
- address owner,
53
- bytes memory data
54
- )
55
- internal
56
- initializer
57
- virtual override
58
- {
59
- address registryAddress;
60
- address initialOwner;
61
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
62
-
63
- _initializeService(registryAddress, owner);
64
-
65
- _poolService = IPoolService(_registry.getServiceAddress(POOL(), getMajorVersion()));
66
-
67
- _registerInterface(type(IProductService).interfaceId);
68
- }
69
-
70
-
71
- function register(address productAddress)
72
- external
73
- returns(NftId productNftId)
74
- {
75
- (
76
- IComponent component,
77
- address owner,
78
- IInstance instance,
79
- NftId instanceNftId
80
- ) = _checkComponentForRegistration(
81
- productAddress,
82
- PRODUCT(),
83
- PRODUCT_OWNER_ROLE());
84
-
85
- IProductComponent product = IProductComponent(productAddress);
86
- IRegistry.ObjectInfo memory productInfo = getRegistryService().registerProduct(product, owner);
87
- productNftId = productInfo.nftId;
88
- _createProductSetup(
89
- instance,
90
- product,
91
- productNftId);
92
- }
93
-
94
-
95
- function _createProductSetup(
96
- IInstance instance,
97
- IProductComponent product,
98
- NftId productNftId
99
- )
100
- internal
101
- returns (string memory name)
102
- {
103
- // wire distribution and pool components to product component
104
- ISetup.ProductSetupInfo memory setup = product.getSetupInfo();
105
- IComponent distribution = IComponent(_registry.getObjectInfo(setup.distributionNftId).objectAddress);
106
- IComponent pool = IComponent(_registry.getObjectInfo(setup.poolNftId).objectAddress);
107
-
108
- distribution.setProductNftId(productNftId);
109
- pool.setProductNftId(productNftId);
110
- product.setProductNftId(productNftId);
111
- product.linkToRegisteredNftId();
112
-
113
- // create product setup in instance
114
- instance.createProductSetup(productNftId, product.getSetupInfo());
115
-
116
- // create target for instane access manager
117
- getInstanceService().createGifTarget(
118
- _registry.getNftId(address(instance)),
119
- address(product),
120
- product.getName());
121
- }
122
-
123
- function getDomain() public pure override(IService, Service) returns(ObjectType) {
124
- return PRODUCT();
125
- }
126
-
127
-
128
- function _decodeAndVerifyProductData(bytes memory data)
129
- internal
130
- returns(string memory name, ISetup.ProductSetupInfo memory setup)
131
- {
132
- (name, setup) = abi.decode(
133
- data,
134
- (string, ISetup.ProductSetupInfo)
135
- );
136
-
137
- // TODO add checks
138
- // if(wallet == address(0)) {
139
- // revert WalletIsZero();
140
- // }
141
-
142
- // IRegistry.ObjectInfo memory tokenInfo = _registry.getObjectInfo(address(info.token));
143
-
144
- // if(tokenInfo.objectType != TOKEN()) {
145
- // revert InvalidToken();
146
- // }
147
-
148
- // IRegistry.ObjectInfo memory poolInfo = _registry.getObjectInfo(info.poolNftId);
149
-
150
- // if(poolInfo.objectType != POOL()) {
151
- // revert InvalidPool();
152
- // }
153
-
154
- // if(poolInfo.parentNftId != instanceNftId) {
155
- // revert InvalidPoolsInstance();
156
- // }
157
- // // TODO pool have the same token
158
- // //ITreasury.PoolSetup memory poolSetup = instance.getPoolSetup(info.poolNftId);
159
- // //require(tokenInfo.objectAddress == address(poolSetup.token), "ERROR:COS-018:PRODUCT_POOL_TOKEN_MISMATCH");
160
- // // TODO pool is not linked
161
-
162
- // IRegistry.ObjectInfo memory distributionInfo = _registry.getObjectInfo(info.distributionNftId);
163
-
164
- // if(distributionInfo.objectType != DISTRIBUTION()) {
165
- // revert InvalidDistribution();
166
- // }
167
-
168
- // if(distributionInfo.parentNftId != instanceNftId) {
169
- // revert InvalidDistributionsInstance();
170
- // }
171
- // // TODO distribution have the same token
172
- // // TODO distribution is not linked
173
- }
174
-
175
- function setFees(
176
- Fee memory productFee,
177
- Fee memory processingFee
178
- )
179
- external
180
- {
181
- // TODO check args
182
-
183
- (
184
- IRegistry.ObjectInfo memory productInfo,
185
- IInstance instance
186
- ) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
187
-
188
- InstanceReader instanceReader = instance.getInstanceReader();
189
- NftId productNftId = productInfo.nftId;
190
- ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(productNftId);
191
-
192
- productSetupInfo.productFee = productFee;
193
- productSetupInfo.processingFee = processingFee;
194
-
195
- instance.updateProductSetup(productNftId, productSetupInfo, KEEP_STATE());
196
- }
197
-
198
- function createRisk(
199
- RiskId riskId,
200
- bytes memory data
201
- ) external override {
202
- (
203
- IRegistry.ObjectInfo memory productInfo,
204
- IInstance instance
205
- ) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
206
- NftId productNftId = productInfo.nftId;
207
- IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
208
- instance.createRisk(
209
- riskId,
210
- riskInfo
211
- );
212
- }
213
-
214
- function updateRisk(
215
- RiskId riskId,
216
- bytes memory data
217
- ) external {
218
- (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
219
- InstanceReader instanceReader = instance.getInstanceReader();
220
- IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
221
- riskInfo.data = data;
222
- instance.updateRisk(riskId, riskInfo, KEEP_STATE());
223
- }
224
-
225
- function updateRiskState(
226
- RiskId riskId,
227
- StateId state
228
- ) external {
229
- (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
230
- instance.updateRiskState(riskId, state);
231
- }
232
- }
@@ -1,54 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {ProductService} from "./ProductService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {VersionLib} from "../../types/Version.sol";
10
-
11
- contract ProductServiceManager is ProxyManager {
12
-
13
- ProductService private _productService;
14
-
15
- /// @dev initializes proxy manager with product service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager()
20
- {
21
- ProductService svc = new ProductService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(svc),
25
- data);
26
-
27
- _productService = ProductService(address(versionable));
28
-
29
- // Registry registry = Registry(registryAddress);
30
- // address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
31
- // RegistryService registryService = RegistryService(registryServiceAddress);
32
- // TODO this must have a role or own nft to register service
33
- //registryService.registerService(_productService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_productService));
40
-
41
- // implies that after this constructor call only upgrade functionality is available
42
- _isDeployed = true;
43
- }
44
-
45
- //--- view functions ----------------------------------------------------//
46
- function getProductService()
47
- external
48
- view
49
- returns (ProductService productService)
50
- {
51
- return _productService;
52
- }
53
-
54
- }
@@ -1,216 +0,0 @@
1
- // SPDX-License-Identifier: UNLICENSED
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
5
- import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
6
-
7
- import {RoleId, RoleIdLib,
8
- GIF_MANAGER_ROLE,
9
- GIF_ADMIN_ROLE,
10
- RELEASE_MANAGER_ROLE} from "../types/RoleId.sol";
11
-
12
- import {TokenRegistry} from "./TokenRegistry.sol";
13
- import {ReleaseManager} from "./ReleaseManager.sol";
14
-
15
- /*
16
- 4 types of roles:
17
- 1) RELEASE_MANAGER_ROLE
18
- - has only ReleaseManager as member
19
- - responsible for setting and granting of REGISTRAR roles
20
- 1) REGISTRAR roles
21
- - set and granted by RELEASE_MANAGER_ROLE
22
- - each has 1 unique member (regular service ver.X) (subject to change)
23
- - each set to 1 target (registry service ver.X) and 1 selector (function of registry service ver.X) (subject to change)
24
- 2) GIF_MANAGER_ROLE
25
- - can have arbitrary number of members
26
- - responsible for services registrations
27
- - responsible for token registration and activation
28
- 3) GIF_ADMIN_ROLE
29
- - admin of GIF_MANAGER_ROLE
30
- - MUST have 1 member at any time
31
- - granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
32
- - responsible for creation and activation of releases
33
-
34
- */
35
-
36
- contract RegistryAccessManager is AccessManaged
37
- {
38
- error NotInitialized();
39
- error AlreadyInitialized();
40
-
41
- uint64 public constant UNIQUE_ROLE_ID_MIN = 1000000;
42
-
43
- AccessManager private immutable _accessManager;
44
- address private _releaseManager;
45
- address private _tokenRegistry;
46
-
47
- uint64 private _idNext; // role id
48
- bool private _isInitialized;
49
-
50
- modifier onlyOnce() {
51
- if(_isInitialized) {
52
- revert AlreadyInitialized();
53
- }
54
- _;
55
- _isInitialized = true;
56
- }
57
-
58
- modifier onlyInitialized() {
59
- if(!_isInitialized) {
60
- revert NotInitialized();
61
- }
62
- _;
63
- }
64
-
65
- constructor(address manager)
66
- AccessManaged(msg.sender)
67
- {
68
- _accessManager = new AccessManager(address(this));
69
- setAuthority(address(_accessManager));
70
-
71
- _idNext = UNIQUE_ROLE_ID_MIN;
72
-
73
- _configureAdminRoleInitial();
74
-
75
- address admin = msg.sender;
76
- _grantRole(GIF_ADMIN_ROLE(), admin, 0);
77
- _grantRole(GIF_MANAGER_ROLE(), manager, 0);
78
- }
79
-
80
- function initialize(address releaseManager, address tokenRegistry)
81
- external
82
- restricted // GIF_ADMIN_ROLE
83
- onlyOnce
84
- {
85
- require(
86
- ReleaseManager(releaseManager).authority() == address(_accessManager),
87
- "RegistryAccessManager: release manager authority is invalid");
88
- require(tokenRegistry > address(0), "RegistryAccessManager: token registry is 0");
89
- //require(tokenRegistry.authority() == address(_accessManager));
90
-
91
- _releaseManager = releaseManager;
92
- _tokenRegistry = tokenRegistry;
93
-
94
- _configureAdminRole();
95
- _configureManagerRole();
96
- _configureReleaseManagerRole();
97
-
98
- _grantRole(RELEASE_MANAGER_ROLE(), releaseManager, 0);
99
- }
100
-
101
- // set unique role for target, role forever have 1 member and never revoked
102
- function setAndGrantUniqueRole(
103
- address account,
104
- address target,
105
- bytes4[] memory selector
106
- )
107
- external
108
- restricted // RELEASE_MANAGER_ROLE
109
- onlyInitialized
110
- returns(RoleId)
111
- {
112
- // TODO questionable check...
113
- // target is not part of `runtime`
114
- //if(
115
- // target == address(this) ||
116
- // target == address(_accessManager) ||
117
- // target == _releaseManager ||
118
- // target == _tokenRegistry)
119
- //{ return TargetInvalid(); }
120
-
121
- RoleId roleId = _getNextRoleId();
122
-
123
- _setTargetFunctionRole(target, selector, roleId);
124
- _grantRole(roleId, account, 0);
125
- }
126
-
127
- /*function transferAdmin(address to)
128
- external
129
- restricted // only with GIF_ADMIN_ROLE or nft owner
130
- {
131
- _accessManager.revoke(GIF_ADMIN_ROLE, );
132
- _accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
133
- }*/
134
-
135
- //--- view functions ----------------------------------------------------//
136
-
137
- function getAccessManager()
138
- external
139
- view
140
- returns (AccessManager)
141
- {
142
- return _accessManager;
143
- }
144
-
145
- //--- private functions -------------------------------------------------//
146
-
147
- function _configureAdminRoleInitial() private
148
- {
149
- bytes4[] memory functionSelector = new bytes4[](1);
150
-
151
- functionSelector[0] = RegistryAccessManager.initialize.selector;
152
- _setTargetFunctionRole(address(this), functionSelector, GIF_ADMIN_ROLE());
153
- }
154
-
155
- function _configureAdminRole() private
156
- {
157
- bytes4[] memory functionSelector = new bytes4[](1);
158
-
159
- // for RegistryServiceProxyManager
160
- // TODO upgrading with releaseManager.upgrade()->proxy.upgrade()???
161
- //functionSelector[0] = RegistryServiceManager.upgrade.selector;
162
- //_setTargetFunctionRole(address(this), functionSelector, GIF_ADMIN_ROLE());
163
-
164
- // for TokenRegistry
165
-
166
- // for ReleaseManager
167
- functionSelector[0] = ReleaseManager.createNextRelease.selector;
168
- _setTargetFunctionRole(_releaseManager, functionSelector, GIF_ADMIN_ROLE());
169
-
170
- functionSelector[0] = ReleaseManager.activateNextRelease.selector;
171
- _setTargetFunctionRole(_releaseManager, functionSelector, GIF_ADMIN_ROLE());
172
- }
173
-
174
- function _configureManagerRole() private
175
- {
176
- bytes4[] memory functionSelector = new bytes4[](1);
177
-
178
- // for TokenRegistry
179
- functionSelector[0] = TokenRegistry.setActive.selector;
180
- _setTargetFunctionRole(address(_tokenRegistry), functionSelector, GIF_MANAGER_ROLE());
181
-
182
- // for ReleaseManager
183
- functionSelector[0] = ReleaseManager.registerService.selector;
184
- _setTargetFunctionRole(_releaseManager, functionSelector, GIF_MANAGER_ROLE());
185
-
186
- functionSelector[0] = ReleaseManager.registerRegistryService.selector;
187
- _setTargetFunctionRole(_releaseManager, functionSelector, GIF_MANAGER_ROLE());
188
-
189
- // set admin
190
- _setRoleAdmin(GIF_MANAGER_ROLE(), GIF_ADMIN_ROLE());
191
- }
192
-
193
- function _configureReleaseManagerRole() private
194
- {
195
- bytes4[] memory functionSelector = new bytes4[](1);
196
-
197
- functionSelector[0] = RegistryAccessManager.setAndGrantUniqueRole.selector;
198
- _setTargetFunctionRole(address(this), functionSelector, RELEASE_MANAGER_ROLE());
199
- }
200
-
201
- function _setTargetFunctionRole(address target, bytes4[] memory selectors, RoleId roleId) private {
202
- _accessManager.setTargetFunctionRole(target, selectors, roleId.toInt());
203
- }
204
-
205
- function _setRoleAdmin(RoleId roleId, RoleId adminRoleId) private {
206
- _accessManager.setRoleAdmin(roleId.toInt(), adminRoleId.toInt());
207
- }
208
-
209
- function _grantRole(RoleId roleId, address account, uint32 executionDelay) private {
210
- _accessManager.grantRole(roleId.toInt(), account, executionDelay);
211
- }
212
-
213
- function _getNextRoleId() private returns(RoleId roleId) {
214
- roleId = RoleIdLib.toRoleId(_idNext++);
215
- }
216
- }