@etherisc/gif-next 0.0.2-9addcc0-107 → 0.0.2-9b58b75-869

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