@etherisc/gif-next 0.0.2-917cede-703 → 0.0.2-92c50c2-136

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 (591) hide show
  1. package/README.md +20 -3
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +238 -167
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1378 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +117 -111
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +49 -312
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +36 -105
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +225 -2171
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +177 -41
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +378 -2689
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +643 -345
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +262 -182
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +122 -105
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3597 -0
  32. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  33. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  34. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  35. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
  36. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  38. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  39. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  40. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  41. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
  42. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  44. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  47. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  48. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  49. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  50. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  51. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  52. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
  53. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  54. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  55. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  56. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  57. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  58. package/artifacts/contracts/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +255 -276
  59. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  60. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  61. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  62. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  63. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  64. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  65. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  66. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  67. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  68. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +55 -61
  69. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  70. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +193 -103
  71. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  72. package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +254 -136
  73. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  74. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +298 -109
  75. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  76. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  77. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  78. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  79. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  80. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  81. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  82. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  83. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  84. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  85. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  86. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  87. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  88. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +96 -186
  89. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  90. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IClaimService.sol/IClaimService.json} +93 -258
  91. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  92. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  93. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  94. package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +63 -141
  95. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  96. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +283 -118
  97. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  98. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +11 -61
  99. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  100. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  101. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  102. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  103. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  104. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  105. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  106. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  107. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  108. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  109. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  110. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  111. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  112. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  113. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  114. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  115. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  116. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +179 -29
  117. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  118. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +310 -53
  119. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  120. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  121. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  122. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  123. package/artifacts/contracts/registry/Registry.sol/Registry.json +415 -43
  124. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  125. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
  126. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +367 -73
  128. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
  130. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  131. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  132. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  133. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +709 -91
  134. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  135. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  136. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  137. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +206 -0
  138. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  139. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  140. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -0
  142. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  143. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  144. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  145. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  146. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  147. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  148. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  149. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  150. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  151. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  152. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  153. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +139 -85
  154. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  155. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
  156. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
  158. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  159. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +27 -95
  160. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  161. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  162. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  163. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1189 -0
  164. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  165. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  166. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  167. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  168. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  169. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +110 -84
  170. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  171. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  172. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  173. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  174. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  175. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  176. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  177. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  178. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  180. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  181. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  182. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  183. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  184. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  185. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  186. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  187. package/artifacts/contracts/shared/IService.sol/IService.json +17 -6
  188. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  189. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  190. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  191. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  192. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  193. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  194. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  195. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  196. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
  197. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  198. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  199. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  200. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  201. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  202. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  203. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  204. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
  205. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  206. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
  207. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  208. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  209. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  210. package/artifacts/contracts/shared/Service.sol/Service.json +17 -6
  211. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  212. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  213. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  214. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  215. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  216. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  217. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  218. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  219. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  220. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  222. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  223. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  224. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  225. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  226. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  227. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  228. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  229. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  230. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  231. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  232. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  233. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  234. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  235. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  236. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  237. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  238. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  239. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  240. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  242. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  244. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  245. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  246. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  248. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  250. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  251. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  252. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  254. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  255. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  256. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +186 -0
  258. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  260. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  262. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  264. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  266. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
  268. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  270. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  272. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  274. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  275. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  276. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  278. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  279. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
  280. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/UFixed.sol/MathLib.json +10 -0
  282. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +479 -0
  284. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  286. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  288. package/contracts/{components → distribution}/Distribution.sol +41 -64
  289. package/contracts/distribution/DistributionService.sol +297 -0
  290. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  291. package/contracts/{components → distribution}/IDistributionComponent.sol +11 -16
  292. package/contracts/{instance/service → distribution}/IDistributionService.sol +19 -37
  293. package/contracts/instance/BundleManager.sol +5 -5
  294. package/contracts/instance/IInstance.sol +51 -66
  295. package/contracts/instance/IInstanceService.sol +51 -22
  296. package/contracts/instance/Instance.sol +137 -184
  297. package/contracts/instance/InstanceAdmin.sol +331 -0
  298. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  299. package/contracts/instance/InstanceReader.sol +130 -55
  300. package/contracts/instance/InstanceService.sol +258 -297
  301. package/contracts/instance/InstanceServiceManager.sol +11 -21
  302. package/contracts/instance/InstanceStore.sol +272 -0
  303. package/contracts/instance/base/BalanceStore.sol +123 -0
  304. package/contracts/instance/base/Cloneable.sol +28 -0
  305. package/contracts/instance/base/ObjectCounter.sol +21 -0
  306. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  307. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -9
  308. package/contracts/instance/module/IAccess.sol +4 -12
  309. package/contracts/instance/module/IBundle.sol +6 -9
  310. package/contracts/instance/module/IComponents.sol +21 -10
  311. package/contracts/instance/module/IDistribution.sol +7 -6
  312. package/contracts/instance/module/IPolicy.sol +22 -15
  313. package/contracts/instance/module/IRisk.sol +1 -1
  314. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  315. package/contracts/oracle/IOracle.sol +20 -0
  316. package/contracts/oracle/IOracleComponent.sol +32 -0
  317. package/contracts/oracle/IOracleService.sol +65 -0
  318. package/contracts/oracle/Oracle.sol +145 -0
  319. package/contracts/oracle/OracleService.sol +278 -0
  320. package/contracts/oracle/OracleServiceManager.sol +42 -0
  321. package/contracts/pool/BundleService.sol +296 -0
  322. package/contracts/pool/BundleServiceManager.sol +42 -0
  323. package/contracts/{instance/service → pool}/IBundleService.sol +33 -29
  324. package/contracts/{components → pool}/IPoolComponent.sol +16 -17
  325. package/contracts/{instance/service → pool}/IPoolService.sol +70 -22
  326. package/contracts/{components → pool}/Pool.sol +52 -55
  327. package/contracts/pool/PoolService.sol +452 -0
  328. package/contracts/pool/PoolServiceManager.sol +42 -0
  329. package/contracts/product/ApplicationService.sol +254 -0
  330. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  331. package/contracts/product/ClaimService.sol +442 -0
  332. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  333. package/contracts/{instance/service → product}/IApplicationService.sol +13 -29
  334. package/contracts/product/IClaimService.sol +99 -0
  335. package/contracts/product/IPolicyService.sol +78 -0
  336. package/contracts/product/IPricingService.sol +39 -0
  337. package/contracts/product/IProductComponent.sol +42 -0
  338. package/contracts/product/IProductService.sol +33 -0
  339. package/contracts/product/PolicyService.sol +475 -0
  340. package/contracts/product/PolicyServiceManager.sol +42 -0
  341. package/contracts/product/PricingService.sol +300 -0
  342. package/contracts/product/PricingServiceManager.sol +42 -0
  343. package/contracts/{components → product}/Product.sol +89 -83
  344. package/contracts/product/ProductService.sol +124 -0
  345. package/contracts/product/ProductServiceManager.sol +42 -0
  346. package/contracts/registry/ChainNft.sol +8 -1
  347. package/contracts/registry/IRegistry.sol +44 -21
  348. package/contracts/registry/IRegistryService.sol +37 -36
  349. package/contracts/registry/IServiceAuthorization.sol +38 -0
  350. package/contracts/registry/Registry.sol +198 -83
  351. package/contracts/registry/RegistryAdmin.sol +335 -0
  352. package/contracts/registry/RegistryService.sol +71 -87
  353. package/contracts/registry/RegistryServiceManager.sol +21 -30
  354. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  355. package/contracts/registry/ReleaseManager.sol +370 -191
  356. package/contracts/registry/ServiceAuthorization.sol +90 -0
  357. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  358. package/contracts/registry/TokenRegistry.sol +261 -62
  359. package/contracts/shared/AccessAdmin.sol +759 -0
  360. package/contracts/shared/AccessManagerCustom.sol +741 -0
  361. package/contracts/shared/AccessManagerExtended.sol +481 -0
  362. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  363. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  364. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  365. package/contracts/shared/Component.sol +281 -0
  366. package/contracts/shared/ComponentService.sol +620 -0
  367. package/contracts/shared/ComponentServiceManager.sol +35 -0
  368. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  369. package/contracts/shared/ERC165.sol +1 -1
  370. package/contracts/shared/IAccessAdmin.sol +168 -0
  371. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  372. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  373. package/contracts/{components → shared}/IComponent.sol +23 -29
  374. package/contracts/shared/IComponentService.sol +102 -0
  375. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  376. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  377. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  378. package/contracts/shared/INftOwnable.sol +2 -2
  379. package/contracts/shared/IPolicyHolder.sol +29 -10
  380. package/contracts/shared/IRegistryLinked.sol +0 -1
  381. package/contracts/shared/IService.sol +11 -2
  382. package/contracts/shared/IVersionable.sol +1 -1
  383. package/contracts/shared/InitializableCustom.sol +177 -0
  384. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  385. package/contracts/shared/KeyValueStore.sol +131 -0
  386. package/contracts/shared/Lifecycle.sol +77 -0
  387. package/contracts/shared/NftIdSetManager.sol +65 -0
  388. package/contracts/shared/NftOwnable.sol +3 -16
  389. package/contracts/shared/PolicyHolder.sol +40 -19
  390. package/contracts/shared/ProxyManager.sol +34 -4
  391. package/contracts/shared/Registerable.sol +13 -12
  392. package/contracts/shared/RegistryLinked.sol +0 -5
  393. package/contracts/shared/Service.sol +32 -21
  394. package/contracts/shared/TokenHandler.sol +27 -2
  395. package/contracts/shared/Versionable.sol +1 -1
  396. package/contracts/staking/IStaking.sol +168 -0
  397. package/contracts/staking/IStakingService.sol +153 -0
  398. package/contracts/staking/StakeManagerLib.sol +231 -0
  399. package/contracts/staking/Staking.sol +513 -0
  400. package/contracts/staking/StakingLifecycle.sol +23 -0
  401. package/contracts/staking/StakingManager.sol +54 -0
  402. package/contracts/staking/StakingReader.sol +187 -0
  403. package/contracts/staking/StakingService.sol +411 -0
  404. package/contracts/staking/StakingServiceManager.sol +44 -0
  405. package/contracts/staking/StakingStore.sol +615 -0
  406. package/contracts/staking/TargetManagerLib.sol +207 -0
  407. package/contracts/{types → type}/AddressSet.sol +1 -1
  408. package/contracts/{types → type}/Amount.sol +59 -1
  409. package/contracts/{types → type}/Blocknumber.sol +20 -3
  410. package/contracts/{types → type}/Fee.sol +24 -22
  411. package/contracts/{types → type}/NftId.sol +14 -16
  412. package/contracts/{types → type}/NftIdSet.sol +2 -2
  413. package/contracts/type/ObjectType.sol +241 -0
  414. package/contracts/{types → type}/Referral.sol +1 -1
  415. package/contracts/type/RequestId.sol +75 -0
  416. package/contracts/{types → type}/RiskId.sol +1 -1
  417. package/contracts/type/RoleId.sol +201 -0
  418. package/contracts/{types → type}/Seconds.sol +27 -0
  419. package/contracts/type/Selector.sol +102 -0
  420. package/contracts/{types → type}/StateId.sol +27 -2
  421. package/contracts/type/String.sol +53 -0
  422. package/contracts/{types → type}/Timestamp.sol +6 -2
  423. package/contracts/{types → type}/Version.sol +1 -1
  424. package/package.json +6 -3
  425. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  426. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  427. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  428. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  429. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  430. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  431. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  432. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  433. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  434. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  435. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  436. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  437. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
  438. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  439. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  440. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  441. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  442. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  443. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  444. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  445. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  446. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  447. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  448. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  449. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  450. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  451. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1060
  452. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  453. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -681
  454. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  455. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1289
  456. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  457. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -725
  458. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  459. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1040
  460. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  461. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -685
  462. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  463. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1774
  464. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  465. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -793
  466. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  467. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  468. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  469. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  470. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  471. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  472. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  473. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  474. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1519
  475. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  476. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -745
  477. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  478. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1433
  479. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  480. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -701
  481. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  482. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
  483. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  484. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
  485. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  486. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  487. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  488. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  489. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  490. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  491. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  492. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  493. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  494. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  495. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  496. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
  497. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  498. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  499. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  500. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  501. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  502. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  503. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  504. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  505. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  506. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  507. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  508. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -209
  509. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  510. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  511. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  512. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  513. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  514. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -179
  515. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  516. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  517. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  518. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  519. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  520. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  521. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  522. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  523. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  524. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  525. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  526. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  527. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  528. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  529. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  530. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -209
  531. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  532. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  533. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  534. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  535. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  536. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  537. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  538. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  539. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  540. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  541. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  542. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  543. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  544. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  545. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  546. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  547. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  548. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  549. package/contracts/components/Component.sol +0 -253
  550. package/contracts/components/IProductComponent.sol +0 -40
  551. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  552. package/contracts/instance/Cloneable.sol +0 -51
  553. package/contracts/instance/InstanceAccessManager.sol +0 -527
  554. package/contracts/instance/base/ComponentService.sol +0 -121
  555. package/contracts/instance/base/KeyValueStore.sol +0 -180
  556. package/contracts/instance/base/Lifecycle.sol +0 -117
  557. package/contracts/instance/module/ISetup.sol +0 -33
  558. package/contracts/instance/module/ITreasury.sol +0 -23
  559. package/contracts/instance/service/ApplicationService.sol +0 -355
  560. package/contracts/instance/service/BundleService.sol +0 -443
  561. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  562. package/contracts/instance/service/ClaimService.sol +0 -239
  563. package/contracts/instance/service/DistributionService.sol +0 -431
  564. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  565. package/contracts/instance/service/IClaimService.sol +0 -92
  566. package/contracts/instance/service/IPolicyService.sol +0 -137
  567. package/contracts/instance/service/IProductService.sol +0 -40
  568. package/contracts/instance/service/PolicyService.sol +0 -545
  569. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  570. package/contracts/instance/service/PoolService.sol +0 -336
  571. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  572. package/contracts/instance/service/ProductService.sol +0 -210
  573. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  574. package/contracts/registry/RegistryAccessManager.sol +0 -216
  575. package/contracts/shared/ContractDeployerLib.sol +0 -72
  576. package/contracts/test/TestFee.sol +0 -25
  577. package/contracts/test/TestRegisterable.sol +0 -18
  578. package/contracts/test/TestRoleId.sol +0 -14
  579. package/contracts/test/TestService.sol +0 -25
  580. package/contracts/test/TestVersion.sol +0 -44
  581. package/contracts/test/TestVersionable.sol +0 -17
  582. package/contracts/test/Usdc.sol +0 -26
  583. package/contracts/types/ChainId.sol +0 -38
  584. package/contracts/types/NumberId.sol +0 -52
  585. package/contracts/types/ObjectType.sol +0 -157
  586. package/contracts/types/RoleId.sol +0 -97
  587. /package/contracts/{types → type}/ClaimId.sol +0 -0
  588. /package/contracts/{types → type}/DistributorType.sol +0 -0
  589. /package/contracts/{types → type}/Key32.sol +0 -0
  590. /package/contracts/{types → type}/PayoutId.sol +0 -0
  591. /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -1,443 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IBundle} from "../../instance/module/IBundle.sol";
5
- import {IComponents} from "../module/IComponents.sol";
6
- import {IRegistry} from "../../registry/IRegistry.sol";
7
- import {IInstance} from "../../instance/IInstance.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 {INftOwnable} from "../../shared/INftOwnable.sol";
14
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
15
- import {ObjectType, POOL, BUNDLE} from "../../types/ObjectType.sol";
16
- import {POOL_OWNER_ROLE, RoleId} from "../../types/RoleId.sol";
17
- import {Pool} from "../../components/Pool.sol";
18
-
19
- import {Amount, AmountLib} from "../../types/Amount.sol";
20
- import {Fee, FeeLib} from "../../types/Fee.sol";
21
- import {StateId, ACTIVE, PAUSED, CLOSED, KEEP_STATE} from "../../types/StateId.sol";
22
- import {Seconds} from "../../types/Seconds.sol";
23
- import {TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
24
- import {Version, VersionLib} from "../../types/Version.sol";
25
- import {Versionable} from "../../shared/Versionable.sol";
26
-
27
- import {IService} from "../../shared/IService.sol";
28
- import {Service} from "../../shared/Service.sol";
29
- import {BundleManager} from "../BundleManager.sol";
30
- import {ComponentService} from "../base/ComponentService.sol";
31
- import {IBundleService} from "./IBundleService.sol";
32
- import {IRegistryService} from "../../registry/IRegistryService.sol";
33
- import {InstanceService} from "../InstanceService.sol";
34
- import {InstanceReader} from "../InstanceReader.sol";
35
-
36
- string constant BUNDLE_SERVICE_NAME = "BundleService";
37
-
38
- contract BundleService is
39
- ComponentService,
40
- IBundleService
41
- {
42
- using NftIdLib for NftId;
43
-
44
- string public constant NAME = "BundleService";
45
-
46
- address internal _registryAddress;
47
-
48
- function _initialize(
49
- address owner,
50
- bytes memory data
51
- )
52
- internal
53
- initializer
54
- virtual override
55
- {
56
- address registryAddress;
57
- address initialOwner;
58
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
59
- // TODO while PoolService is not deployed in PoolServiceManager constructor
60
- // owner is PoolServiceManager deployer
61
- initializeService(registryAddress, address(0), owner);
62
- registerInterface(type(IBundleService).interfaceId);
63
- }
64
-
65
- function getDomain() public pure override returns(ObjectType) {
66
- return BUNDLE();
67
- }
68
-
69
- // TODO staking/unstaking as well as collateralize need to go to pool service
70
- // it will also be the pool service that is updating the pool info data
71
- // collateralize -> potentially accumulate pool fees
72
- // collateralize: additional reason to move to pool, pool might has retential level < 1 ...
73
- // staking -> potentially accumulate staking fees
74
- // unstaking -> potentially accumulate performance fees
75
- function _updatePoolWithStakes(
76
- IInstance instance,
77
- NftId poolNftId,
78
- uint256 stakingAmount
79
- )
80
- internal
81
- returns (
82
- TokenHandler tokenHandler,
83
- address wallet,
84
- uint256 netStakingAmount
85
- )
86
- {
87
- if(stakingAmount > 0) {
88
- InstanceReader instanceReader = instance.getInstanceReader();
89
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
90
-
91
- tokenHandler = componentInfo.tokenHandler;
92
- wallet = componentInfo.wallet;
93
-
94
- IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
95
- uint256 poolFeeAmount;
96
-
97
- // calculate pool fee and net staking amount
98
- (poolFeeAmount, netStakingAmount) = FeeLib.calculateFee(poolInfo.stakingFee, stakingAmount);
99
-
100
- // update pool balance and fee amount
101
- poolInfo.balanceAmount += netStakingAmount;
102
-
103
- if(poolFeeAmount > 0) {
104
- poolInfo.feeAmount += poolFeeAmount;
105
- }
106
-
107
- // save updated pool info
108
- componentInfo.data = abi.encode(poolInfo);
109
- instance.updatePoolSetup(poolNftId, componentInfo, KEEP_STATE());
110
- }
111
- }
112
-
113
-
114
- function create(
115
- IInstance instance,
116
- NftId poolNftId,
117
- address owner,
118
- Fee memory fee,
119
- Amount stakingAmount,
120
- Seconds lifetime,
121
- bytes calldata filter
122
- )
123
- external
124
- override
125
- // TODO add restricted and add authz for pool service
126
- returns(NftId bundleNftId)
127
- {
128
- InstanceReader instanceReader = instance.getInstanceReader();
129
-
130
- // create initial bundle info
131
- IBundle.BundleInfo memory bundleInfo = IBundle.BundleInfo(
132
- poolNftId,
133
- fee,
134
- filter,
135
- stakingAmount,
136
- AmountLib.zero(),
137
- AmountLib.zero(),
138
- lifetime,
139
- TimestampLib.blockTimestamp().addSeconds(lifetime),
140
- zeroTimestamp()
141
- );
142
-
143
- // register bundle with registry
144
- bundleNftId = getRegistryService().registerBundle(
145
- IRegistry.ObjectInfo(
146
- zeroNftId(),
147
- poolNftId,
148
- BUNDLE(),
149
- false, // intercepting property for bundles is defined on pool
150
- address(0),
151
- owner,
152
- "" // bundle data to be stored in registry
153
- )
154
- );
155
-
156
- // create bundle info in instance
157
- instance.createBundle(bundleNftId, bundleInfo);
158
-
159
- // put bundle under bundle managemet
160
- BundleManager bundleManager = instance.getBundleManager();
161
- bundleManager.add(bundleNftId);
162
-
163
- // transfer full staking amount to pool wallet
164
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
165
- componentInfo.tokenHandler.transfer(
166
- owner,
167
- componentInfo.wallet,
168
- stakingAmount.toInt()
169
- );
170
-
171
- // TODO add logging
172
- }
173
-
174
- function setFee(
175
- NftId bundleNftId,
176
- Fee memory fee
177
- )
178
- external
179
- override
180
- {
181
- (NftId poolNftId, IRegistry.ObjectInfo memory info , IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
182
- InstanceReader instanceReader = instance.getInstanceReader();
183
-
184
- IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
185
- if(bundleInfo.poolNftId.eqz()) {
186
- revert ErrorBundleServiceBundleUnknown(bundleNftId);
187
- }
188
-
189
- if(bundleInfo.poolNftId != poolNftId) {
190
- revert ErrorBundleServiceBundlePoolMismatch(poolNftId, bundleInfo.poolNftId );
191
- }
192
-
193
- bundleInfo.fee = fee;
194
-
195
- instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
196
- }
197
-
198
-
199
- // the bundle MUST be unlocked (active) for linking (underwriting) and registered with this instance
200
- function lockCollateral(
201
- IInstance instance,
202
- NftId policyNftId,
203
- NftId bundleNftId,
204
- uint256 collateralAmount, // required amount to collateralize policy
205
- uint256 premiumAmount // premium part that reaches bundle for this policy
206
- )
207
- external
208
- onlyService // TODO replace with restricted + appropriate granting
209
- {
210
- InstanceReader instanceReader = instance.getInstanceReader();
211
- StateId bundleState = instanceReader.getMetadata(bundleNftId.toKey32(BUNDLE())).state;
212
- IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
213
-
214
- // ensure bundle is active and not yet expired
215
- if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.blockTimestamp()) {
216
- revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
217
- }
218
-
219
- // ensure bundle capacity is sufficent to collateralize policy
220
- uint capacity = bundleInfo.capitalAmount.toInt() + premiumAmount - bundleInfo.lockedAmount.toInt();
221
- if(capacity < collateralAmount) {
222
- revert ErrorBundleServiceCapacityInsufficient(bundleNftId, capacity, collateralAmount);
223
- }
224
-
225
- // TODO add more validation
226
-
227
- // updated locked amount
228
- bundleInfo.lockedAmount = AmountLib.toAmount(bundleInfo.lockedAmount.toInt() + collateralAmount);
229
-
230
- // update capital and fees when premiums are involved
231
- _updateBundleWithPremium(instance, bundleNftId, bundleInfo, premiumAmount);
232
-
233
- // link policy to bundle in bundle manger
234
- _linkPolicy(instance, policyNftId);
235
- }
236
-
237
-
238
- function _updateBundleWithPremium(
239
- IInstance instance,
240
- NftId bundleNftId,
241
- IBundle.BundleInfo memory bundleInfo,
242
- uint256 premiumAmount
243
- )
244
- internal
245
- {
246
- // update bundle capital and fee amounts
247
- if(premiumAmount > 0) {
248
- // calculate fees and net premium amounts
249
- (
250
- ,
251
- uint256 netPremiumAmount
252
- ) = FeeLib.calculateFee(bundleInfo.fee, premiumAmount);
253
-
254
- // update bundle info with additional capital
255
- bundleInfo.capitalAmount = AmountLib.toAmount(bundleInfo.capitalAmount.toInt() + netPremiumAmount);
256
- }
257
-
258
- // save updated bundle info
259
- instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
260
- }
261
-
262
- function updateBundleFees(
263
- IInstance instance,
264
- NftId bundleNftId,
265
- Amount feeAmount
266
- )
267
- external
268
- {
269
- IBundle.BundleInfo memory bundleInfo = instance.getInstanceReader().getBundleInfo(bundleNftId);
270
- bundleInfo.feeAmount = bundleInfo.feeAmount.add(feeAmount);
271
- instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
272
- }
273
-
274
-
275
- function lock(NftId bundleNftId)
276
- external
277
- virtual
278
- {
279
- (,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
280
-
281
- // udpate bundle state
282
- instance.updateBundleState(bundleNftId, PAUSED());
283
-
284
- // update set of active bundles
285
- BundleManager bundleManager = instance.getBundleManager();
286
- bundleManager.lock(bundleNftId);
287
-
288
- emit LogBundleServiceBundleLocked(bundleNftId);
289
- }
290
-
291
-
292
- function unlock(NftId bundleNftId)
293
- external
294
- virtual
295
- {
296
- (,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
297
-
298
- // udpate bundle state
299
- instance.updateBundleState(bundleNftId, ACTIVE());
300
-
301
- // update set of active bundles
302
- BundleManager bundleManager = instance.getBundleManager();
303
- bundleManager.unlock(bundleNftId);
304
-
305
- emit LogBundleServiceBundleActivated(bundleNftId);
306
- }
307
-
308
-
309
- function close(
310
- IInstance instance,
311
- NftId bundleNftId
312
- )
313
- external
314
- virtual
315
- // TODO add restricted and autz for pool service
316
- {
317
- // udpate bundle state
318
- instance.updateBundleState(bundleNftId, CLOSED());
319
-
320
- // ensure no open policies attached to bundle
321
- BundleManager bundleManager = instance.getBundleManager();
322
- uint256 openPolicies = bundleManager.activePolicies(bundleNftId);
323
- if(openPolicies > 0) {
324
- revert ErrorBundleServiceBundleWithOpenPolicies(bundleNftId, openPolicies);
325
- }
326
-
327
- // update set of active bundles
328
- bundleManager.lock(bundleNftId);
329
- }
330
-
331
-
332
- function increaseBalance(
333
- IInstance instance,
334
- NftId bundleNftId,
335
- uint256 premiumAmount
336
- )
337
- external
338
- onlyService
339
- {
340
- InstanceReader instanceReader = instance.getInstanceReader();
341
- IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
342
-
343
- // update capital and fees when premiums are involved
344
- _updateBundleWithPremium(instance, bundleNftId, bundleInfo, premiumAmount);
345
-
346
- // TODO add logging (?)
347
- }
348
-
349
- function releaseCollateral(IInstance instance,
350
- NftId policyNftId,
351
- NftId bundleNftId,
352
- uint256 collateralAmount
353
- )
354
- external
355
- onlyService
356
- {
357
- InstanceReader instanceReader = instance.getInstanceReader();
358
- IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
359
-
360
- // reduce locked amount by released collateral amount
361
- bundleInfo.lockedAmount = AmountLib.toAmount(bundleInfo.lockedAmount.toInt() - collateralAmount);
362
-
363
- instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
364
-
365
- _unlinkPolicy(instance, policyNftId);
366
- }
367
-
368
- /// @dev links policy to bundle
369
- function _linkPolicy(IInstance instance, NftId policyNftId)
370
- internal
371
- {
372
- InstanceReader instanceReader = instance.getInstanceReader();
373
- IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
374
-
375
- // ensure policy has not yet been activated in a previous tx already
376
- if (policyInfo.activatedAt.gtz() && policyInfo.activatedAt < TimestampLib.blockTimestamp()) {
377
- revert BundleManager.ErrorBundleManagerPolicyAlreadyActivated(policyNftId);
378
- }
379
-
380
- BundleManager bundleManager = instance.getBundleManager();
381
- bundleManager.linkPolicy(policyNftId);
382
- }
383
-
384
- /// @dev unlinks policy from bundle
385
- function _unlinkPolicy(IInstance instance, NftId policyNftId)
386
- internal
387
- {
388
- InstanceReader instanceReader = instance.getInstanceReader();
389
- IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
390
-
391
- // ensure policy has no open claims
392
- if (policyInfo.openClaimsCount > 0) {
393
- revert BundleManager.ErrorBundleManagerPolicyWithOpenClaims(
394
- policyNftId,
395
- policyInfo.openClaimsCount);
396
- }
397
-
398
- // ensure policy is closeable
399
- if ( TimestampLib.blockTimestamp() < policyInfo.expiredAt
400
- && policyInfo.payoutAmount.toInt() < policyInfo.sumInsuredAmount)
401
- {
402
- revert BundleManager.ErrorBundleManagerPolicyNotCloseable(policyNftId);
403
- }
404
-
405
- BundleManager bundleManager = instance.getBundleManager();
406
- bundleManager.unlinkPolicy(policyNftId);
407
- }
408
-
409
- // TODO move this to pool service
410
- function _processStakingByTreasury(
411
- InstanceReader instanceReader,
412
- NftId poolNftId,
413
- NftId bundleNftId,
414
- Amount stakingAmount
415
- )
416
- internal
417
- {
418
- // process token transfer(s)
419
- if(stakingAmount.gtz()) {
420
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
421
- IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
422
-
423
- TokenHandler tokenHandler = componentInfo.tokenHandler;
424
- address bundleOwner = getRegistry().ownerOf(bundleNftId);
425
- Fee memory stakingFee = poolInfo.stakingFee;
426
-
427
- // pool fee and bundle capital book keeping
428
- if (FeeLib.gtz(stakingFee)) {
429
- (uint256 stakingFeeAmount, uint256 netAmount) = FeeLib.calculateFee(stakingFee, stakingAmount.toInt());
430
-
431
-
432
- // TODO: track staking fees in pool's state (issue #177)
433
- }
434
-
435
- // transfer full staking amount to pool wallet
436
- tokenHandler.transfer(
437
- bundleOwner,
438
- componentInfo.wallet,
439
- stakingAmount.toInt()
440
- );
441
- }
442
- }
443
- }
@@ -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 {BundleService} from "./BundleService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {ObjectType, REGISTRY} from "../../types/ObjectType.sol";
10
-
11
- contract BundleServiceManager is ProxyManager {
12
-
13
- BundleService private _bundleService;
14
-
15
- /// @dev initializes proxy manager with pool service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager(registryAddress)
20
- {
21
- BundleService bundleSrv = new BundleService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(bundleSrv),
25
- data);
26
-
27
- _bundleService = BundleService(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(), _bundleService.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 getBundleService()
44
- external
45
- view
46
- returns (BundleService)
47
- {
48
- return _bundleService;
49
- }
50
-
51
- }