@etherisc/gif-next 0.0.2-f2df3e2-873 → 0.0.2-f347f00-614

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 (571) hide show
  1. package/README.md +2 -1
  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 +3598 -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/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  39. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  47. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  48. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  49. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  50. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
  51. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  52. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  53. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  54. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  55. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  56. package/artifacts/contracts/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +255 -276
  57. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  58. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  59. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  60. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  61. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  62. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  63. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  64. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  65. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  66. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +65 -48
  67. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  68. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +193 -103
  69. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  70. package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +290 -56
  71. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  72. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +298 -109
  73. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  74. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  75. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  76. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  77. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  78. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  79. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  80. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  81. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  82. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  83. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  84. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  85. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  86. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +96 -186
  87. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  88. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IClaimService.sol/IClaimService.json} +93 -258
  89. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  90. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  91. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  92. package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +63 -141
  93. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  94. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +283 -118
  95. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  96. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +11 -61
  97. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  98. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  99. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  100. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  101. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  102. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  103. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  104. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  105. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  106. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  107. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  108. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  109. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  110. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  112. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  114. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +179 -29
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  116. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +310 -53
  117. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  118. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +124 -0
  119. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  120. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  121. package/artifacts/contracts/registry/Registry.sol/Registry.json +415 -43
  122. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  123. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1896 -0
  124. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +367 -73
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
  128. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  129. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +762 -103
  130. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  131. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +166 -0
  132. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  133. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +182 -0
  134. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  135. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  136. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  137. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1554 -0
  138. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  139. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  140. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  142. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  144. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  145. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  146. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  147. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  148. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  149. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +139 -85
  150. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  151. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
  152. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  153. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
  154. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  155. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +27 -95
  156. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  157. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  158. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  159. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1184 -0
  160. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  161. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  162. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  163. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  164. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  165. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +110 -84
  166. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  167. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  168. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  169. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  170. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  171. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
  172. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  173. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  174. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  175. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  176. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  178. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  180. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  181. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  182. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  183. package/artifacts/contracts/shared/IService.sol/IService.json +17 -6
  184. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  185. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  186. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  187. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  188. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  189. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  190. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  191. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  192. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  193. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  194. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  195. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  196. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  197. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  198. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  199. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  200. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
  201. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  202. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
  203. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  204. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  205. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  206. package/artifacts/contracts/shared/Service.sol/Service.json +17 -6
  207. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  208. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  209. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  210. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  211. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  212. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  213. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  214. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  215. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  216. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  217. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  218. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  219. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  220. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  222. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  223. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  224. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  225. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  226. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  227. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  228. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  229. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
  230. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  231. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  232. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  233. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  234. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  236. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  237. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  238. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/ClaimId.sol/ClaimIdLib.json +5 -5
  240. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  241. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  242. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  244. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  245. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  246. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  248. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  249. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  250. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +186 -0
  252. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/PayoutId.sol/PayoutIdLib.json +5 -5
  254. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  256. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  258. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  259. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  260. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
  262. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  264. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  266. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  268. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  269. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  270. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  272. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  273. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
  274. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  275. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  276. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  277. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  278. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  279. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  280. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  281. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  282. package/contracts/{components → distribution}/Distribution.sol +41 -64
  283. package/contracts/distribution/DistributionService.sol +297 -0
  284. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  285. package/contracts/{components → distribution}/IDistributionComponent.sol +11 -16
  286. package/contracts/{instance/service → distribution}/IDistributionService.sol +19 -37
  287. package/contracts/instance/BundleManager.sol +5 -5
  288. package/contracts/instance/IInstance.sol +51 -66
  289. package/contracts/instance/IInstanceService.sol +51 -22
  290. package/contracts/instance/Instance.sol +137 -184
  291. package/contracts/instance/InstanceAdmin.sol +331 -0
  292. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  293. package/contracts/instance/InstanceReader.sol +130 -55
  294. package/contracts/instance/InstanceService.sol +258 -297
  295. package/contracts/instance/InstanceServiceManager.sol +11 -21
  296. package/contracts/instance/InstanceStore.sol +269 -0
  297. package/contracts/instance/base/BalanceStore.sol +123 -0
  298. package/contracts/instance/base/Cloneable.sol +28 -0
  299. package/contracts/instance/base/ObjectCounter.sol +21 -0
  300. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -9
  301. package/contracts/instance/module/IAccess.sol +4 -12
  302. package/contracts/instance/module/IBundle.sol +6 -9
  303. package/contracts/instance/module/IComponents.sol +21 -10
  304. package/contracts/instance/module/IDistribution.sol +7 -6
  305. package/contracts/instance/module/IPolicy.sol +22 -15
  306. package/contracts/instance/module/IRisk.sol +1 -1
  307. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  308. package/contracts/oracle/IOracle.sol +20 -0
  309. package/contracts/oracle/IOracleComponent.sol +32 -0
  310. package/contracts/oracle/IOracleService.sol +65 -0
  311. package/contracts/oracle/Oracle.sol +145 -0
  312. package/contracts/oracle/OracleService.sol +278 -0
  313. package/contracts/oracle/OracleServiceManager.sol +42 -0
  314. package/contracts/pool/BundleService.sol +296 -0
  315. package/contracts/pool/BundleServiceManager.sol +42 -0
  316. package/contracts/{instance/service → pool}/IBundleService.sol +33 -23
  317. package/contracts/{components → pool}/IPoolComponent.sol +16 -17
  318. package/contracts/{instance/service → pool}/IPoolService.sol +72 -21
  319. package/contracts/{components → pool}/Pool.sol +52 -55
  320. package/contracts/pool/PoolService.sol +452 -0
  321. package/contracts/pool/PoolServiceManager.sol +42 -0
  322. package/contracts/product/ApplicationService.sol +254 -0
  323. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  324. package/contracts/product/ClaimService.sol +442 -0
  325. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  326. package/contracts/{instance/service → product}/IApplicationService.sol +13 -29
  327. package/contracts/product/IClaimService.sol +99 -0
  328. package/contracts/product/IPolicyService.sol +78 -0
  329. package/contracts/product/IPricingService.sol +39 -0
  330. package/contracts/product/IProductComponent.sol +42 -0
  331. package/contracts/product/IProductService.sol +33 -0
  332. package/contracts/product/PolicyService.sol +475 -0
  333. package/contracts/product/PolicyServiceManager.sol +42 -0
  334. package/contracts/product/PricingService.sol +300 -0
  335. package/contracts/product/PricingServiceManager.sol +42 -0
  336. package/contracts/{components → product}/Product.sol +89 -83
  337. package/contracts/product/ProductService.sol +124 -0
  338. package/contracts/product/ProductServiceManager.sol +42 -0
  339. package/contracts/registry/ChainNft.sol +8 -1
  340. package/contracts/registry/IRegistry.sol +44 -21
  341. package/contracts/registry/IRegistryService.sol +37 -36
  342. package/contracts/registry/IServiceAuthorization.sol +35 -0
  343. package/contracts/registry/Registry.sol +192 -83
  344. package/contracts/registry/RegistryAdmin.sol +333 -0
  345. package/contracts/registry/RegistryService.sol +71 -87
  346. package/contracts/registry/RegistryServiceManager.sol +21 -30
  347. package/contracts/registry/ReleaseManager.sol +394 -197
  348. package/contracts/registry/ServiceAuthorization.sol +83 -0
  349. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  350. package/contracts/registry/TokenRegistry.sol +261 -62
  351. package/contracts/shared/AccessAdmin.sol +750 -0
  352. package/contracts/shared/AccessManagerCustom.sol +741 -0
  353. package/contracts/shared/AccessManagerExtended.sol +481 -0
  354. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  355. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  356. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  357. package/contracts/shared/Component.sol +281 -0
  358. package/contracts/shared/ComponentService.sol +617 -0
  359. package/contracts/shared/ComponentServiceManager.sol +35 -0
  360. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  361. package/contracts/shared/ERC165.sol +1 -1
  362. package/contracts/shared/IAccessAdmin.sol +162 -0
  363. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  364. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  365. package/contracts/{components → shared}/IComponent.sol +23 -29
  366. package/contracts/shared/IComponentService.sol +102 -0
  367. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  368. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  369. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  370. package/contracts/shared/INftOwnable.sol +2 -2
  371. package/contracts/shared/IPolicyHolder.sol +29 -10
  372. package/contracts/shared/IRegistryLinked.sol +0 -1
  373. package/contracts/shared/IService.sol +11 -2
  374. package/contracts/shared/IVersionable.sol +1 -1
  375. package/contracts/shared/InitializableCustom.sol +177 -0
  376. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  377. package/contracts/shared/KeyValueStore.sol +127 -0
  378. package/contracts/{instance/base → shared}/Lifecycle.sol +18 -5
  379. package/contracts/shared/NftIdSetManager.sol +65 -0
  380. package/contracts/shared/NftOwnable.sol +3 -16
  381. package/contracts/shared/PolicyHolder.sol +40 -19
  382. package/contracts/shared/ProxyManager.sol +34 -4
  383. package/contracts/shared/Registerable.sol +13 -12
  384. package/contracts/shared/RegistryLinked.sol +0 -5
  385. package/contracts/shared/Service.sol +32 -21
  386. package/contracts/shared/TokenHandler.sol +27 -2
  387. package/contracts/shared/Versionable.sol +1 -1
  388. package/contracts/staking/IStaking.sol +168 -0
  389. package/contracts/staking/IStakingService.sol +153 -0
  390. package/contracts/staking/StakeManagerLib.sol +231 -0
  391. package/contracts/staking/Staking.sol +513 -0
  392. package/contracts/staking/StakingManager.sol +54 -0
  393. package/contracts/staking/StakingReader.sol +187 -0
  394. package/contracts/staking/StakingService.sol +411 -0
  395. package/contracts/staking/StakingServiceManager.sol +44 -0
  396. package/contracts/staking/StakingStore.sol +613 -0
  397. package/contracts/staking/TargetManagerLib.sol +207 -0
  398. package/contracts/{types → type}/AddressSet.sol +1 -1
  399. package/contracts/type/Amount.sol +128 -0
  400. package/contracts/{types → type}/Blocknumber.sol +20 -3
  401. package/contracts/{types → type}/Fee.sol +24 -22
  402. package/contracts/{types → type}/NftId.sol +14 -16
  403. package/contracts/{types → type}/NftIdSet.sol +2 -2
  404. package/contracts/type/ObjectType.sol +241 -0
  405. package/contracts/{types → type}/Referral.sol +1 -1
  406. package/contracts/type/RequestId.sol +75 -0
  407. package/contracts/{types → type}/RiskId.sol +1 -1
  408. package/contracts/type/RoleId.sol +201 -0
  409. package/contracts/{types → type}/Seconds.sol +27 -0
  410. package/contracts/type/Selector.sol +102 -0
  411. package/contracts/{types → type}/StateId.sol +27 -2
  412. package/contracts/type/String.sol +53 -0
  413. package/contracts/{types → type}/Timestamp.sol +6 -2
  414. package/contracts/{types → type}/Version.sol +1 -1
  415. package/package.json +3 -3
  416. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  417. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  418. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  419. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  420. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  421. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  422. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  423. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  424. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  425. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  426. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  427. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  428. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
  429. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  430. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  431. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  432. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  433. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  434. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  435. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  436. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  437. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  438. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  439. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  440. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  441. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  442. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1060
  443. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  444. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -681
  445. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  446. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1266
  447. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  448. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -725
  449. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  450. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1040
  451. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  452. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -685
  453. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  454. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1774
  455. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  456. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -793
  457. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  458. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  459. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  460. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  461. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  462. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  463. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  464. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  465. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1511
  466. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  467. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -741
  468. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  469. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
  470. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  471. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
  472. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  473. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
  474. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  475. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
  476. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  477. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  478. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  479. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  480. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  481. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  482. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  483. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  484. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  485. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  486. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  487. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
  488. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  489. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  490. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  491. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  492. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  493. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  494. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  495. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  496. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  497. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  498. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -185
  499. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  500. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  501. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  502. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  503. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  504. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  505. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  507. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  508. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  510. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  511. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  512. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  513. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  514. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  515. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  516. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  517. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  518. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  519. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  520. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  521. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  522. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  523. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  524. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  525. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  526. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  527. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  528. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  529. package/contracts/components/Component.sol +0 -253
  530. package/contracts/components/IProductComponent.sol +0 -40
  531. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  532. package/contracts/instance/Cloneable.sol +0 -51
  533. package/contracts/instance/InstanceAccessManager.sol +0 -527
  534. package/contracts/instance/base/ComponentService.sol +0 -121
  535. package/contracts/instance/base/KeyValueStore.sol +0 -180
  536. package/contracts/instance/module/ISetup.sol +0 -33
  537. package/contracts/instance/module/ITreasury.sol +0 -23
  538. package/contracts/instance/service/ApplicationService.sol +0 -355
  539. package/contracts/instance/service/BundleService.sol +0 -436
  540. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  541. package/contracts/instance/service/ClaimService.sol +0 -239
  542. package/contracts/instance/service/DistributionService.sol +0 -431
  543. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  544. package/contracts/instance/service/IClaimService.sol +0 -92
  545. package/contracts/instance/service/IPolicyService.sol +0 -137
  546. package/contracts/instance/service/IProductService.sol +0 -40
  547. package/contracts/instance/service/PolicyService.sol +0 -541
  548. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  549. package/contracts/instance/service/PoolService.sol +0 -303
  550. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  551. package/contracts/instance/service/ProductService.sol +0 -210
  552. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  553. package/contracts/registry/RegistryAccessManager.sol +0 -216
  554. package/contracts/shared/ContractDeployerLib.sol +0 -72
  555. package/contracts/test/TestFee.sol +0 -25
  556. package/contracts/test/TestRegisterable.sol +0 -18
  557. package/contracts/test/TestRoleId.sol +0 -14
  558. package/contracts/test/TestService.sol +0 -25
  559. package/contracts/test/TestVersion.sol +0 -44
  560. package/contracts/test/TestVersionable.sol +0 -17
  561. package/contracts/test/Usdc.sol +0 -26
  562. package/contracts/types/Amount.sol +0 -65
  563. package/contracts/types/ChainId.sol +0 -38
  564. package/contracts/types/NumberId.sol +0 -52
  565. package/contracts/types/ObjectType.sol +0 -157
  566. package/contracts/types/RoleId.sol +0 -97
  567. /package/contracts/{types → type}/ClaimId.sol +0 -0
  568. /package/contracts/{types → type}/DistributorType.sol +0 -0
  569. /package/contracts/{types → type}/Key32.sol +0 -0
  570. /package/contracts/{types → type}/PayoutId.sol +0 -0
  571. /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -1,303 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Pool} from "../../components/Pool.sol";
5
- import {IRegistry} from "../../registry/IRegistry.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {IBundle} from "../../instance/module/IBundle.sol";
8
- import {TokenHandler} from "../../instance/module/ITreasury.sol";
9
- import {IComponents} from "../module/IComponents.sol";
10
- import {IPolicy} from "../module/IPolicy.sol";
11
-
12
- import {IVersionable} from "../../shared/IVersionable.sol";
13
- import {Versionable} from "../../shared/Versionable.sol";
14
- import {INftOwnable} from "../../shared/INftOwnable.sol";
15
-
16
- import {Amount} from "../../types/Amount.sol";
17
- import {Fee, FeeLib} from "../../types/Fee.sol";
18
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
19
- import {ObjectType, POOL, BUNDLE} from "../../types/ObjectType.sol";
20
- import {PUBLIC_ROLE, POOL_OWNER_ROLE, POLICY_SERVICE_ROLE, RoleId} from "../../types/RoleId.sol";
21
- import {Fee, FeeLib} from "../../types/Fee.sol";
22
- import {Version, VersionLib} from "../../types/Version.sol";
23
- import {KEEP_STATE, StateId} from "../../types/StateId.sol";
24
- import {Seconds} from "../../types/Seconds.sol";
25
- import {TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
26
- import {Version, VersionLib} from "../../types/Version.sol";
27
-
28
- import {IService} from "../../shared/IService.sol";
29
- import {Service} from "../../shared/Service.sol";
30
- import {BundleManager} from "../BundleManager.sol";
31
- import {ComponentService} from "../base/ComponentService.sol";
32
- import {IBundleService} from "./IBundleService.sol";
33
- import {IPoolService} from "./IPoolService.sol";
34
- import {IRegistryService} from "../../registry/IRegistryService.sol";
35
- import {InstanceService} from "../InstanceService.sol";
36
- import {InstanceReader} from "../InstanceReader.sol";
37
- import {IComponent} from "../../components/IComponent.sol";
38
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
39
-
40
- string constant POOL_SERVICE_NAME = "PoolService";
41
-
42
- contract PoolService is
43
- ComponentService,
44
- IPoolService
45
- {
46
- using NftIdLib for NftId;
47
-
48
- IBundleService internal _bundleService;
49
-
50
- function _initialize(
51
- address owner,
52
- bytes memory data
53
- )
54
- internal
55
- initializer
56
- virtual override
57
- {
58
- address registryAddress;
59
- address initialOwner;
60
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
61
- // TODO while PoolService is not deployed in PoolServiceManager constructor
62
- // owner is PoolServiceManager deployer
63
- initializeService(registryAddress, address(0), owner);
64
-
65
- _bundleService = IBundleService(getRegistry().getServiceAddress(BUNDLE(), getVersion().toMajorPart()));
66
-
67
- registerInterface(type(IPoolService).interfaceId);
68
- }
69
-
70
- function getDomain() public pure override returns(ObjectType) {
71
- return POOL();
72
- }
73
-
74
- function register(address poolAddress)
75
- external
76
- returns(NftId poolNftId)
77
- {
78
- (
79
- IComponent component,
80
- address owner,
81
- IInstance instance,
82
- NftId instanceNftId
83
- ) = _checkComponentForRegistration(
84
- poolAddress,
85
- POOL(),
86
- POOL_OWNER_ROLE());
87
-
88
- IPoolComponent pool = IPoolComponent(poolAddress);
89
- IRegistry.ObjectInfo memory registryInfo = getRegistryService().registerPool(pool, owner);
90
- pool.linkToRegisteredNftId();
91
- poolNftId = registryInfo.nftId;
92
-
93
- // amend component info with pool specific token handler
94
- IComponents.ComponentInfo memory componentInfo = pool.getComponentInfo();
95
- componentInfo.tokenHandler = new TokenHandler(address(componentInfo.token));
96
-
97
- // save amended component info with instance
98
- instance.createPoolSetup(poolNftId, componentInfo);
99
-
100
- bytes4[][] memory selectors = new bytes4[][](2);
101
- selectors[0] = new bytes4[](1);
102
- selectors[1] = new bytes4[](1);
103
-
104
- selectors[0][0] = IPoolComponent.setFees.selector;
105
- selectors[1][0] = IPoolComponent.verifyApplication.selector;
106
-
107
- RoleId[] memory roles = new RoleId[](2);
108
- roles[0] = POOL_OWNER_ROLE();
109
- roles[1] = POLICY_SERVICE_ROLE();
110
-
111
- getInstanceService().createGifTarget(
112
- instanceNftId,
113
- poolAddress,
114
- pool.getName(),
115
- selectors,
116
- roles);
117
- }
118
-
119
-
120
- function setMaxCapitalAmount(uint256 maxCapitalAmount)
121
- external
122
- virtual
123
- {
124
- (NftId poolNftId, IRegistry.ObjectInfo memory registryInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
125
- InstanceReader instanceReader = instance.getInstanceReader();
126
-
127
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
128
- IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
129
- uint256 previousMaxCapitalAmount = poolInfo.maxCapitalAmount;
130
-
131
- poolInfo.maxCapitalAmount = maxCapitalAmount;
132
- componentInfo.data = abi.encode(poolInfo);
133
- instance.updatePoolSetup(poolNftId, componentInfo, KEEP_STATE());
134
-
135
- emit LogPoolServiceMaxCapitalAmountUpdated(poolNftId, previousMaxCapitalAmount, maxCapitalAmount);
136
- }
137
-
138
- function setBundleOwnerRole(RoleId bundleOwnerRole)
139
- external
140
- virtual
141
- {
142
- (NftId poolNftId, IRegistry.ObjectInfo memory registryInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
143
- InstanceReader instanceReader = instance.getInstanceReader();
144
-
145
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
146
- IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
147
-
148
- // bundle owner role may only be set once per pool
149
- if(poolInfo.bundleOwnerRole != PUBLIC_ROLE()) {
150
- revert ErrorPoolServiceBundleOwnerRoleAlreadySet(poolNftId);
151
- }
152
-
153
- poolInfo.bundleOwnerRole = bundleOwnerRole;
154
- componentInfo.data = abi.encode(poolInfo);
155
- instance.updatePoolSetup(poolNftId, componentInfo, KEEP_STATE());
156
-
157
- emit LogPoolServiceBundleOwnerRoleSet(poolNftId, bundleOwnerRole);
158
- }
159
-
160
-
161
- function setFees(
162
- Fee memory poolFee,
163
- Fee memory stakingFee,
164
- Fee memory performanceFee
165
- )
166
- external
167
- virtual
168
- {
169
- (NftId poolNftId, IRegistry.ObjectInfo memory registryInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
170
- InstanceReader instanceReader = instance.getInstanceReader();
171
-
172
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
173
- IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
174
-
175
- poolInfo.poolFee = poolFee;
176
- poolInfo.stakingFee = stakingFee;
177
- poolInfo.performanceFee = performanceFee;
178
- componentInfo.data = abi.encode(poolInfo);
179
- instance.updatePoolSetup(poolNftId, componentInfo, KEEP_STATE());
180
-
181
- // TODO add logging
182
- }
183
-
184
-
185
- function createBundle(
186
- address owner, // initial bundle owner
187
- Fee memory fee, // fees deducted from premium that go to bundle owner
188
- Amount stakingAmount, // staking amount - staking fees result in initial bundle capital
189
- Seconds lifetime, // initial duration for which new policies are covered
190
- bytes calldata filter // optional use case specific criteria that define if a policy may be covered by this bundle
191
- )
192
- external
193
- virtual
194
- returns(NftId bundleNftId)
195
- {
196
- (NftId poolNftId,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
197
- InstanceReader instanceReader = instance.getInstanceReader();
198
-
199
- // TODO add implementation that takes care of staking fees
200
- Amount stakingAfterFeesAmount = stakingAmount;
201
-
202
- bundleNftId = _bundleService.create(
203
- instance,
204
- poolNftId,
205
- owner,
206
- fee,
207
- stakingAfterFeesAmount,
208
- lifetime,
209
- filter);
210
-
211
- emit LogPoolServiceBundleCreated(instance.getNftId(), poolNftId, bundleNftId);
212
- }
213
-
214
-
215
- function closeBundle(NftId bundleNftId)
216
- external
217
- virtual
218
- {
219
- (NftId poolNftId,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
220
-
221
- // TODO book keeping for pool collateral released outside of retention level
222
-
223
- // releasing collateral in bundle
224
- _bundleService.close(instance, bundleNftId);
225
-
226
- // TODO get performance fee for pool, transfer of remaining funds + bundle fees to bundle owner
227
-
228
- emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId);
229
- }
230
-
231
-
232
- function lockCollateral(
233
- IInstance instance,
234
- NftId productNftId,
235
- NftId applicationNftId,
236
- IPolicy.PolicyInfo memory applicationInfo,
237
- uint256 premiumAmount // premium amount after product and distribution fees
238
- )
239
- external
240
- virtual
241
- // TODO add restricted and granting for policy service
242
- {
243
- InstanceReader instanceReader = instance.getInstanceReader();
244
- NftId poolNftId = instanceReader.getProductSetupInfo(productNftId).poolNftId;
245
- NftId bundleNftId = applicationInfo.bundleNftId;
246
-
247
- // TODO move this check to application creation and don't repeat this here
248
- // ensure that pool for bundle from application matches with pool for product of application
249
- IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
250
- if(bundleInfo.poolNftId != poolNftId) {
251
- revert ErrorPoolServiceBundlePoolMismatch(bundleInfo.poolNftId, poolNftId);
252
- }
253
-
254
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
255
- IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
256
-
257
- // TODO add correct required collateral calculation (collateralization level mibht be != 1, retention level might be < 1)
258
- uint256 collateralAmount = applicationInfo.sumInsuredAmount;
259
-
260
- // TODO add correct net premium calculation (pool fee might be > 0)
261
- uint256 premiumAfterPoolFeeAmount = premiumAmount;
262
-
263
- // lock collateral amount from involvedd bundle
264
- _bundleService.lockCollateral(
265
- instance,
266
- applicationNftId,
267
- bundleNftId,
268
- collateralAmount,
269
- premiumAfterPoolFeeAmount);
270
-
271
- // also verify/confirm application by pool if necessary
272
- if(poolInfo.isVerifyingApplications) {
273
- address poolAddress = getRegistry().getObjectInfo(poolNftId).objectAddress;
274
- IPoolComponent(poolAddress).verifyApplication(
275
- applicationNftId,
276
- applicationInfo.applicationData,
277
- bundleNftId,
278
- bundleInfo.filter,
279
- collateralAmount);
280
- }
281
- }
282
-
283
-
284
- /// @dev releases the remaining collateral linked to the specified policy
285
- /// may only be called by the policy service for unlocked pool components
286
- function releaseCollateral(
287
- IInstance instance,
288
- NftId policyNftId,
289
- IPolicy.PolicyInfo memory policyInfo
290
- )
291
- external
292
- virtual
293
- // TODO add restricted and granting for policy service
294
- {
295
- // release collateral from involved bundle
296
- _bundleService.releaseCollateral(
297
- instance,
298
- policyNftId,
299
- policyInfo.bundleNftId,
300
- policyInfo.sumInsuredAmount);
301
- }
302
-
303
- }
@@ -1,51 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {PoolService} from "./PoolService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {REGISTRY} from "../../types/ObjectType.sol";
10
-
11
- contract PoolServiceManager is ProxyManager {
12
-
13
- PoolService private _poolService;
14
-
15
- /// @dev initializes proxy manager with pool service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager(registryAddress)
20
- {
21
- PoolService poolSrv = new PoolService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(poolSrv),
25
- data);
26
-
27
- _poolService = PoolService(address(versionable));
28
-
29
- // TODO `this` must have a role or own nft to register service
30
- //Registry registry = Registry(registryAddress);
31
- //address registryServiceAddress = registry.getServiceAddress(REGISTRY(), _poolService.getMajorVersion());
32
- //RegistryService registryService = RegistryService(registryServiceAddress);
33
- //registryService.registerService(_poolService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_poolService));
40
- }
41
-
42
- //--- view functions ----------------------------------------------------//
43
- function getPoolService()
44
- external
45
- view
46
- returns (PoolService poolService)
47
- {
48
- return _poolService;
49
- }
50
-
51
- }
@@ -1,210 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IProductComponent} from "../../components/IProductComponent.sol";
6
- import {Product} from "../../components/Product.sol";
7
- import {IComponent} from "../../components/IComponent.sol";
8
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
9
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
10
- import {IInstance} from "../IInstance.sol";
11
- import {IPolicy} from "../module/IPolicy.sol";
12
- import {IRisk} from "../module/IRisk.sol";
13
- import {IBundle} from "../module/IBundle.sol";
14
- import {IProductService} from "./IProductService.sol";
15
- import {ITreasury} from "../module/ITreasury.sol";
16
- import {ISetup} from "../module/ISetup.sol";
17
-
18
- import {TokenHandler} from "../../shared/TokenHandler.sol";
19
-
20
- import {IVersionable} from "../../shared/IVersionable.sol";
21
- import {Versionable} from "../../shared/Versionable.sol";
22
-
23
- import {Timestamp, zeroTimestamp} from "../../types/Timestamp.sol";
24
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
25
- import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
26
- import {ObjectType, PRODUCT, POOL, POLICY} from "../../types/ObjectType.sol";
27
- import {APPLIED, ACTIVE, KEEP_STATE} from "../../types/StateId.sol";
28
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
29
- import {Fee, FeeLib} from "../../types/Fee.sol";
30
- import {ReferralId} from "../../types/Referral.sol";
31
- import {RiskId} from "../../types/RiskId.sol";
32
- import {StateId} from "../../types/StateId.sol";
33
- import {Version, VersionLib} from "../../types/Version.sol";
34
- import {RoleId, PRODUCT_OWNER_ROLE} from "../../types/RoleId.sol";
35
-
36
- import {IService} from "../../shared/IService.sol";
37
- import {Service} from "../../shared/Service.sol";
38
- import {ComponentService} from "../base/ComponentService.sol";
39
- import {IProductService} from "./IProductService.sol";
40
- import {InstanceReader} from "../InstanceReader.sol";
41
- import {IPoolService} from "./PoolService.sol";
42
-
43
- // TODO or name this ProtectionService to have Product be something more generic (loan, savings account, ...)
44
- contract ProductService is ComponentService, IProductService {
45
- using NftIdLib for NftId;
46
-
47
- IPoolService internal _poolService;
48
-
49
- event LogProductServiceSender(address sender);
50
-
51
- function _initialize(
52
- address owner,
53
- bytes memory data
54
- )
55
- internal
56
- initializer
57
- virtual override
58
- {
59
- address registryAddress;
60
- address initialOwner;
61
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
62
-
63
- initializeService(registryAddress, address(0), owner);
64
-
65
- _poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
66
-
67
- registerInterface(type(IProductService).interfaceId);
68
- }
69
-
70
-
71
- function register(address productAddress)
72
- external
73
- returns(NftId productNftId)
74
- {
75
- (
76
- IComponent component,
77
- address owner,
78
- IInstance instance,
79
- NftId instanceNftId
80
- ) = _checkComponentForRegistration(
81
- productAddress,
82
- PRODUCT(),
83
- PRODUCT_OWNER_ROLE());
84
-
85
- IProductComponent product = IProductComponent(productAddress);
86
- IRegistry.ObjectInfo memory productInfo = getRegistryService().registerProduct(product, owner);
87
- productNftId = productInfo.nftId;
88
- _createProductSetup(
89
- instance,
90
- product,
91
- productNftId);
92
- }
93
-
94
-
95
- function _createProductSetup(
96
- IInstance instance,
97
- IProductComponent product,
98
- NftId productNftId
99
- )
100
- internal
101
- returns (string memory name)
102
- {
103
- // wire distribution and pool components to product component
104
- ISetup.ProductSetupInfo memory setup = product.getSetupInfo();
105
- IComponent distribution = IComponent(getRegistry().getObjectInfo(setup.distributionNftId).objectAddress);
106
- IComponent pool = IComponent(getRegistry().getObjectInfo(setup.poolNftId).objectAddress);
107
-
108
- distribution.setProductNftId(productNftId);
109
- pool.setProductNftId(productNftId);
110
- product.setProductNftId(productNftId);
111
- product.linkToRegisteredNftId();
112
-
113
- // create product setup in instance
114
- instance.createProductSetup(productNftId, product.getSetupInfo());
115
-
116
- bytes4[][] memory selectors = new bytes4[][](1);
117
- selectors[0] = new bytes4[](1);
118
- selectors[0][0] = IProductComponent.setFees.selector;
119
-
120
- RoleId[] memory roles = new RoleId[](1);
121
- roles[0] = PRODUCT_OWNER_ROLE();
122
-
123
- // create target for instane access manager
124
- getInstanceService().createGifTarget(
125
- getRegistry().getNftId(address(instance)),
126
- address(product),
127
- product.getName(),
128
- selectors,
129
- roles);
130
- }
131
-
132
- function getDomain() public pure override returns(ObjectType) {
133
- return PRODUCT();
134
- }
135
-
136
-
137
- function _decodeAndVerifyProductData(bytes memory data)
138
- internal
139
- returns(string memory name, ISetup.ProductSetupInfo memory setup)
140
- {
141
- (name, setup) = abi.decode(
142
- data,
143
- (string, ISetup.ProductSetupInfo)
144
- );
145
-
146
- // TODO add checks
147
- // if(wallet == address(0)) {
148
- // revert WalletIsZero();
149
- // }
150
- }
151
-
152
- function setFees(
153
- Fee memory productFee,
154
- Fee memory processingFee
155
- )
156
- external
157
- {
158
- // TODO check args
159
-
160
- (NftId productNftId, IRegistry.ObjectInfo memory productInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
161
- InstanceReader instanceReader = instance.getInstanceReader();
162
-
163
- ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(productNftId);
164
-
165
- productSetupInfo.productFee = productFee;
166
- productSetupInfo.processingFee = processingFee;
167
-
168
- instance.updateProductSetup(productNftId, productSetupInfo, KEEP_STATE());
169
- }
170
-
171
- function createRisk(
172
- RiskId riskId,
173
- bytes memory data
174
- )
175
- external
176
- override
177
- {
178
- (NftId productNftId, IRegistry.ObjectInfo memory productInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
179
- IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
180
-
181
- instance.createRisk(
182
- riskId,
183
- riskInfo
184
- );
185
- }
186
-
187
- function updateRisk(
188
- RiskId riskId,
189
- bytes memory data
190
- )
191
- external
192
- {
193
- (,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
194
- InstanceReader instanceReader = instance.getInstanceReader();
195
-
196
- IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
197
- riskInfo.data = data;
198
- instance.updateRisk(riskId, riskInfo, KEEP_STATE());
199
- }
200
-
201
- function updateRiskState(
202
- RiskId riskId,
203
- StateId state
204
- )
205
- external
206
- {
207
- (,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
208
- instance.updateRiskState(riskId, state);
209
- }
210
- }
@@ -1,54 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {ProductService} from "./ProductService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {VersionLib} from "../../types/Version.sol";
10
-
11
- contract ProductServiceManager is ProxyManager {
12
-
13
- ProductService private _productService;
14
-
15
- /// @dev initializes proxy manager with product service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager(registryAddress)
20
- {
21
- ProductService svc = new ProductService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(svc),
25
- data);
26
-
27
- _productService = ProductService(address(versionable));
28
-
29
- // Registry registry = Registry(registryAddress);
30
- // address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
31
- // RegistryService registryService = RegistryService(registryServiceAddress);
32
- // TODO this must have a role or own nft to register service
33
- //registryService.registerService(_productService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_productService));
40
-
41
- // implies that after this constructor call only upgrade functionality is available
42
- // _isDeployed = true;
43
- }
44
-
45
- //--- view functions ----------------------------------------------------//
46
- function getProductService()
47
- external
48
- view
49
- returns (ProductService productService)
50
- {
51
- return _productService;
52
- }
53
-
54
- }