@etherisc/gif-next 0.0.2-f30e0eb-805 → 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 (573) hide show
  1. package/README.md +8 -84
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +254 -157
  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 +202 -96
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +126 -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 +279 -1961
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +257 -55
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +431 -2735
  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 +762 -340
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +358 -171
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +128 -71
  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 +10 -118
  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/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +221 -192
  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 -266
  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 +218 -145
  67. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  68. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +288 -88
  69. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  70. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  71. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  72. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +298 -89
  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/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +174 -202
  87. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  88. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  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} +146 -153
  93. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  94. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  95. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  96. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +80 -64
  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 -77
  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 +372 -97
  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 +769 -98
  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 +144 -80
  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} +100 -113
  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 +180 -54
  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 +96 -19
  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 +103 -21
  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/type/ClaimId.sol/ClaimIdLib.json +179 -0
  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/type/PayoutId.sol/PayoutIdLib.json +209 -0
  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 +33 -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 +47 -66
  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 +20 -37
  287. package/contracts/instance/BundleManager.sol +8 -9
  288. package/contracts/instance/IInstance.sol +55 -66
  289. package/contracts/instance/IInstanceService.sol +50 -25
  290. package/contracts/instance/Instance.sol +160 -224
  291. package/contracts/instance/InstanceAdmin.sol +331 -0
  292. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  293. package/contracts/instance/InstanceReader.sol +157 -55
  294. package/contracts/instance/InstanceService.sol +259 -315
  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 +5 -13
  302. package/contracts/instance/module/IBundle.sol +8 -9
  303. package/contracts/instance/module/IComponents.sol +22 -5
  304. package/contracts/instance/module/IDistribution.sol +7 -6
  305. package/contracts/instance/module/IPolicy.sol +28 -16
  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/pool/IBundleService.sol +106 -0
  317. package/contracts/{components → pool}/IPoolComponent.sol +17 -18
  318. package/contracts/pool/IPoolService.sol +150 -0
  319. package/contracts/{components → pool}/Pool.sol +57 -57
  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 +15 -35
  327. package/contracts/product/IClaimService.sol +99 -0
  328. package/contracts/{instance/service → product}/IPolicyService.sol +37 -31
  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 +191 -107
  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 +39 -37
  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 +73 -90
  346. package/contracts/registry/RegistryServiceManager.sol +21 -30
  347. package/contracts/registry/ReleaseManager.sol +394 -195
  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 -27
  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 +14 -7
  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 +26 -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 +47 -22
  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}/ClaimId.sol +25 -2
  402. package/contracts/{types → type}/Fee.sol +33 -24
  403. package/contracts/{types → type}/NftId.sol +14 -16
  404. package/contracts/{types → type}/NftIdSet.sol +2 -2
  405. package/contracts/type/ObjectType.sol +241 -0
  406. package/contracts/{types → type}/PayoutId.sol +33 -5
  407. package/contracts/{types → type}/Referral.sol +1 -1
  408. package/contracts/type/RequestId.sol +75 -0
  409. package/contracts/{types → type}/RiskId.sol +1 -1
  410. package/contracts/type/RoleId.sol +201 -0
  411. package/contracts/{types → type}/Seconds.sol +27 -0
  412. package/contracts/type/Selector.sol +102 -0
  413. package/contracts/{types → type}/StateId.sol +33 -4
  414. package/contracts/type/String.sol +53 -0
  415. package/contracts/{types → type}/Timestamp.sol +10 -1
  416. package/contracts/{types → type}/Version.sol +1 -1
  417. package/package.json +3 -3
  418. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  419. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  420. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  421. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  422. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  423. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  424. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  425. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  426. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  427. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  428. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  429. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  430. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1311
  431. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  432. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  433. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  434. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  435. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  436. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  437. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  438. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  439. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  440. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  441. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  442. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  443. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  444. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -968
  445. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  446. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -665
  447. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  448. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1093
  449. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  450. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  451. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  452. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -754
  453. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  454. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  455. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  456. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1732
  457. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  458. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
  459. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  460. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  461. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  462. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -409
  463. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  464. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  465. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  466. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -428
  467. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  468. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  469. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1021
  470. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  471. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -689
  472. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  473. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -824
  474. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  475. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -657
  476. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  477. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  478. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  479. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  480. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  481. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  482. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  483. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  484. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  485. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  486. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  487. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  488. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  489. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  490. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  491. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -521
  492. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  493. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  494. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  495. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  496. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  497. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  498. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  499. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  500. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  501. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  502. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  503. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  504. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  505. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  507. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  508. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  510. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  511. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  512. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  513. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  514. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  515. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  516. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  517. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  518. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  519. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  520. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  521. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  522. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  523. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  524. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  525. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  526. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  527. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  528. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  529. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  530. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  531. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  532. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  533. package/contracts/components/Component.sol +0 -251
  534. package/contracts/components/IProductComponent.sol +0 -40
  535. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  536. package/contracts/instance/Cloneable.sol +0 -51
  537. package/contracts/instance/InstanceAccessManager.sol +0 -522
  538. package/contracts/instance/base/ComponentService.sol +0 -134
  539. package/contracts/instance/base/KeyValueStore.sol +0 -175
  540. package/contracts/instance/module/ISetup.sol +0 -33
  541. package/contracts/instance/module/ITreasury.sol +0 -23
  542. package/contracts/instance/service/ApplicationService.sol +0 -350
  543. package/contracts/instance/service/BundleService.sol +0 -336
  544. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  545. package/contracts/instance/service/ClaimService.sol +0 -151
  546. package/contracts/instance/service/DistributionService.sol +0 -467
  547. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  548. package/contracts/instance/service/IBundleService.sol +0 -62
  549. package/contracts/instance/service/IClaimService.sol +0 -61
  550. package/contracts/instance/service/IPoolService.sol +0 -35
  551. package/contracts/instance/service/IProductService.sol +0 -40
  552. package/contracts/instance/service/PolicyService.sol +0 -403
  553. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  554. package/contracts/instance/service/PoolService.sol +0 -220
  555. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  556. package/contracts/instance/service/ProductService.sol +0 -241
  557. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  558. package/contracts/registry/RegistryAccessManager.sol +0 -216
  559. package/contracts/shared/ContractDeployerLib.sol +0 -72
  560. package/contracts/test/TestFee.sol +0 -25
  561. package/contracts/test/TestRegisterable.sol +0 -18
  562. package/contracts/test/TestRoleId.sol +0 -14
  563. package/contracts/test/TestService.sol +0 -25
  564. package/contracts/test/TestVersion.sol +0 -44
  565. package/contracts/test/TestVersionable.sol +0 -17
  566. package/contracts/test/Usdc.sol +0 -26
  567. package/contracts/types/ChainId.sol +0 -38
  568. package/contracts/types/NumberId.sol +0 -52
  569. package/contracts/types/ObjectType.sol +0 -157
  570. package/contracts/types/RoleId.sol +0 -97
  571. /package/contracts/{types → type}/DistributorType.sol +0 -0
  572. /package/contracts/{types → type}/Key32.sol +0 -0
  573. /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -1,40 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "../../shared/IService.sol";
6
-
7
- import {NftId} from "../../types/NftId.sol";
8
- import {ReferralId} from "../../types/Referral.sol";
9
- import {RiskId} from "../../types/RiskId.sol";
10
- import {StateId} from "../../types/StateId.sol";
11
- import {Timestamp} from "../../types/Timestamp.sol";
12
- import {UFixed} from "../../types/UFixed.sol";
13
- import {Fee} from "../../types/Fee.sol";
14
-
15
- interface IProductService is IService {
16
-
17
- function register(address productAddress) external returns(NftId);
18
-
19
- function setFees(
20
- Fee memory productFee,
21
- Fee memory processingFee
22
- ) external;
23
-
24
- function createRisk(
25
- RiskId riskId,
26
- bytes memory data
27
- ) external;
28
-
29
-
30
- function updateRisk(
31
- RiskId riskId,
32
- bytes memory data
33
- ) external;
34
-
35
-
36
- function updateRiskState(
37
- RiskId riskId,
38
- StateId newState
39
- ) external;
40
- }
@@ -1,403 +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 {Product} from "../../components/Product.sol";
6
- import {IComponents} from "../module/IComponents.sol";
7
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
8
- import {IInstance} from "../IInstance.sol";
9
- import {IPolicy} from "../module/IPolicy.sol";
10
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
11
- import {IRisk} from "../module/IRisk.sol";
12
- import {IBundle} from "../module/IBundle.sol";
13
- import {ISetup} from "../module/ISetup.sol";
14
-
15
- import {TokenHandler} from "../../shared/TokenHandler.sol";
16
-
17
- import {Timestamp, TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
18
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
19
- import {ObjectType, APPLICATION, DISTRIBUTION, PRODUCT, POOL, POLICY, BUNDLE} from "../../types/ObjectType.sol";
20
- import {APPLIED, UNDERWRITTEN, ACTIVE, KEEP_STATE, CLOSED} from "../../types/StateId.sol";
21
- import {NftId, NftIdLib} from "../../types/NftId.sol";
22
- import {StateId} from "../../types/StateId.sol";
23
-
24
- import {ComponentService} from "../base/ComponentService.sol";
25
- import {IApplicationService} from "./IApplicationService.sol";
26
- import {IBundleService} from "./IBundleService.sol";
27
- import {IDistributionService} from "./IDistributionService.sol";
28
- import {InstanceReader} from "../InstanceReader.sol";
29
- import {IPolicyService} from "./IPolicyService.sol";
30
- import {IPoolService} from "./IPoolService.sol";
31
- import {IService} from "../../shared/IService.sol";
32
- import {Service} from "../../shared/Service.sol";
33
-
34
-
35
- contract PolicyService is
36
- ComponentService,
37
- IPolicyService
38
- {
39
- using NftIdLib for NftId;
40
- using TimestampLib for Timestamp;
41
-
42
- IPoolService internal _poolService;
43
- IBundleService internal _bundleService;
44
- IApplicationService internal _applicationService;
45
- IDistributionService internal _distributionService;
46
-
47
- event LogProductServiceSender(address sender);
48
-
49
- function _initialize(
50
- address owner,
51
- bytes memory data
52
- )
53
- internal
54
- virtual override
55
- initializer
56
- {
57
- address registryAddress;
58
- address initialOwner;
59
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
60
-
61
- initializeService(registryAddress, owner);
62
-
63
- _poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getMajorVersion()));
64
- _bundleService = IBundleService(getRegistry().getServiceAddress(BUNDLE(), getMajorVersion()));
65
- _applicationService = IApplicationService(getRegistry().getServiceAddress(APPLICATION(), getMajorVersion()));
66
- _distributionService = IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), getMajorVersion()));
67
-
68
- registerInterface(type(IPolicyService).interfaceId);
69
- }
70
-
71
-
72
- function getDomain() public pure override(IService, Service) returns(ObjectType) {
73
- return POLICY();
74
- }
75
-
76
-
77
- function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
78
- IRegistry.ObjectInfo memory productInfo;
79
- (productInfo,) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
80
- product = Product(productInfo.objectAddress);
81
- }
82
-
83
- function _getAndVerifyUnderwritingSetup(
84
- IInstance instance,
85
- InstanceReader instanceReader,
86
- IPolicy.PolicyInfo memory policyInfo,
87
- ISetup.ProductSetupInfo memory productSetupInfo
88
- )
89
- internal
90
- view
91
- returns (
92
- NftId poolNftId,
93
- NftId bundleNftId,
94
- IBundle.BundleInfo memory bundleInfo,
95
- uint256 collateralAmount
96
- )
97
- {
98
- // check match between policy and bundle (via pool)
99
- poolNftId = productSetupInfo.poolNftId;
100
- bundleNftId = policyInfo.bundleNftId;
101
- bundleInfo = instanceReader.getBundleInfo(bundleNftId);
102
- require(bundleInfo.poolNftId == poolNftId, "POLICY_BUNDLE_MISMATCH");
103
-
104
- // calculate required collateral
105
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
106
- IComponents.PoolInfo memory poolInfo = abi.decode(
107
- componentInfo.data, (IComponents.PoolInfo));
108
-
109
- // obtain remaining return values
110
- // TODO required collateral amount should be calculated by pool service, not policy service
111
- collateralAmount = calculateRequiredCollateral(poolInfo.collateralizationLevel, policyInfo.sumInsuredAmount);
112
- }
113
-
114
-
115
- function decline(
116
- NftId policyNftId
117
- )
118
- external
119
- override
120
- {
121
- require(false, "ERROR:PRS-235:NOT_YET_IMPLEMENTED");
122
- }
123
-
124
-
125
- /// @dev underwites application which includes the locking of the required collateral from the pool.
126
- function underwrite(
127
- NftId applicationNftId, // = policyNftId
128
- bool requirePremiumPayment,
129
- Timestamp activateAt
130
- )
131
- external
132
- virtual override
133
- {
134
- // check caller is registered product
135
- IInstance instance;
136
- InstanceReader instanceReader;
137
- NftId productNftId;
138
- {
139
- IRegistry.ObjectInfo memory productInfo;
140
- (productInfo, instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
141
- instanceReader = instance.getInstanceReader();
142
- productNftId = productInfo.nftId;
143
- }
144
-
145
- // check policy matches with calling product
146
- IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(applicationNftId);
147
- require(policyInfo.productNftId == productNftId, "POLICY_PRODUCT_MISMATCH");
148
-
149
- // check policy is in state applied
150
- require(instanceReader.getPolicyState(applicationNftId) == APPLIED(), "ERROR:PRS-021:STATE_NOT_APPLIED");
151
-
152
- (
153
- NftId poolNftId,
154
- NftId bundleNftId,
155
- IBundle.BundleInfo memory bundleInfo,
156
- uint256 collateralAmount
157
- ) = _getAndVerifyUnderwritingSetup(
158
- instance,
159
- instanceReader,
160
- policyInfo,
161
- instanceReader.getProductSetupInfo(productNftId)
162
- );
163
-
164
- StateId newPolicyState = UNDERWRITTEN();
165
-
166
- // optional activation of policy
167
- if(activateAt > zeroTimestamp()) {
168
- newPolicyState = ACTIVE();
169
- policyInfo.activatedAt = activateAt;
170
- policyInfo.expiredAt = activateAt.addSeconds(policyInfo.lifetime);
171
- }
172
-
173
- // lock bundle collateral
174
- uint256 netPremiumAmount = 0; // > 0 if immediate premium payment
175
-
176
- // optional collection of premium
177
- if(requirePremiumPayment) {
178
- netPremiumAmount = _processPremiumByTreasury(
179
- instance,
180
- applicationNftId,
181
- policyInfo.premiumAmount);
182
-
183
- policyInfo.premiumPaidAmount += policyInfo.premiumAmount;
184
- }
185
-
186
- // lock collateral and update bundle book keeping
187
- // TODO introduct indirection via pool service?
188
- // well pool would only need to be involved when a part of the collateral
189
- // is provided by a "re insurance policy" of the pool
190
- // but then again the policiy would likely best be attached to the bundle. really? why?
191
- // retention level: fraction of sum insured that product will cover from pool funds directly
192
- // eg retention level 30%, payouts up to 30% of the sum insured will be made from the product's pool directly
193
- // for the remaining 70% the pool owns a policy that will cover claims that exceed the 30% of the sum insured
194
- // open points:
195
- // - do we need a link of a bundle to this policy or is it enough to know that the pool has an active policy?
196
- // - when to buy such policies and for which amount? manual trigger or link to bundle creation and/or funding?
197
- bundleInfo = _bundleService.lockCollateral(
198
- instance,
199
- applicationNftId,
200
- bundleNftId,
201
- collateralAmount,
202
- netPremiumAmount);
203
-
204
- instance.updatePolicy(applicationNftId, policyInfo, newPolicyState);
205
-
206
- // also verify/confirm application by pool if necessary
207
- if(abi.decode(
208
- instanceReader.getComponentInfo(poolNftId).data,
209
- (IComponents.PoolInfo)
210
- ).isVerifyingApplications
211
- )
212
- {
213
- IPoolComponent pool = IPoolComponent(
214
- getRegistry().getObjectInfo(poolNftId).objectAddress);
215
-
216
- pool.verifyApplication(
217
- applicationNftId,
218
- policyInfo.applicationData,
219
- bundleNftId,
220
- bundleInfo.filter,
221
- collateralAmount);
222
- }
223
-
224
- // TODO: add logging
225
- }
226
-
227
-
228
- function calculateRequiredCollateral(UFixed collateralizationLevel, uint256 sumInsuredAmount) public pure override returns(uint256 collateralAmount) {
229
- UFixed sumInsuredUFixed = UFixedLib.toUFixed(sumInsuredAmount);
230
- UFixed collateralUFixed = collateralizationLevel * sumInsuredUFixed;
231
- return collateralUFixed.toInt();
232
- }
233
-
234
- function collectPremium(NftId policyNftId, Timestamp activateAt) external override {
235
- // check caller is registered product
236
- (IRegistry.ObjectInfo memory productInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
237
- InstanceReader instanceReader = instance.getInstanceReader();
238
- IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
239
-
240
- if (policyInfo.premiumPaidAmount == policyInfo.premiumAmount) {
241
- revert ErrorIPolicyServicePremiumAlreadyPaid(policyNftId, policyInfo.premiumPaidAmount);
242
- }
243
-
244
- uint256 unpaidPremiumAmount = policyInfo.premiumAmount - policyInfo.premiumPaidAmount;
245
-
246
- uint256 netPremiumAmount = _processPremiumByTreasury(
247
- instance,
248
- policyNftId,
249
- unpaidPremiumAmount);
250
-
251
- policyInfo.premiumPaidAmount += unpaidPremiumAmount;
252
-
253
- _bundleService.increaseBalance(instance, policyInfo.bundleNftId, netPremiumAmount);
254
- instance.updatePolicy(policyNftId, policyInfo, KEEP_STATE());
255
-
256
- if(activateAt.gtz() && policyInfo.activatedAt.eqz()) {
257
- activate(policyNftId, activateAt);
258
- }
259
-
260
- // TODO: add logging
261
- }
262
-
263
- function activate(NftId policyNftId, Timestamp activateAt) public override {
264
- // check caller is registered product
265
- (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
266
- InstanceReader instanceReader = instance.getInstanceReader();
267
-
268
- IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
269
-
270
- require(
271
- policyInfo.activatedAt.eqz(),
272
- "ERROR:PRS-020:ALREADY_ACTIVATED");
273
-
274
- policyInfo.activatedAt = activateAt;
275
- policyInfo.expiredAt = activateAt.addSeconds(policyInfo.lifetime);
276
-
277
- instance.updatePolicy(policyNftId, policyInfo, ACTIVE());
278
-
279
- // TODO: add logging
280
- }
281
-
282
-
283
- function expire(
284
- NftId policyNftId
285
- )
286
- external
287
- override
288
- // solhint-disable-next-line no-empty-blocks
289
- {
290
-
291
- }
292
-
293
- function close(
294
- NftId policyNftId
295
- )
296
- external
297
- override
298
- {
299
- (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
300
- InstanceReader instanceReader = instance.getInstanceReader();
301
-
302
- IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
303
-
304
- if (policyInfo.activatedAt.eqz()) {
305
- revert ErrorIPolicyServicePolicyNotActivated(policyNftId);
306
- }
307
-
308
- StateId state = instanceReader.getPolicyState(policyNftId);
309
- if (state != ACTIVE()) {
310
- revert ErrorIPolicyServicePolicyNotActive(policyNftId, state);
311
- }
312
-
313
- if (policyInfo.closedAt.gtz()) {
314
- revert ErrorIPolicyServicePolicyAlreadyClosed(policyNftId);
315
- }
316
-
317
- if (policyInfo.premiumAmount != policyInfo.premiumPaidAmount) {
318
- revert ErrorIPolicyServicePremiumNotFullyPaid(policyNftId, policyInfo.premiumAmount, policyInfo.premiumPaidAmount);
319
- }
320
-
321
- if (policyInfo.openClaimsCount > 0) {
322
- revert ErrorIPolicyServiceOpenClaims(policyNftId, policyInfo.openClaimsCount);
323
- }
324
-
325
- if (TimestampLib.blockTimestamp().lte(policyInfo.expiredAt) && (policyInfo.payoutAmount < policyInfo.sumInsuredAmount)) {
326
- revert ErrorIPolicyServicePolicyHasNotExpired(policyNftId, policyInfo.expiredAt);
327
- }
328
-
329
- policyInfo.closedAt = TimestampLib.blockTimestamp();
330
-
331
- _bundleService.closePolicy(instance, policyNftId, policyInfo.bundleNftId, policyInfo.sumInsuredAmount);
332
- instance.updatePolicy(policyNftId, policyInfo, CLOSED());
333
- }
334
-
335
- function _getPoolNftId(
336
- IInstance instance,
337
- NftId productNftId
338
- )
339
- internal
340
- view
341
- returns (NftId poolNftid)
342
- {
343
- InstanceReader instanceReader = instance.getInstanceReader();
344
- ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(productNftId);
345
- return productSetupInfo.poolNftId;
346
- }
347
-
348
-
349
- function _processPremiumByTreasury(
350
- IInstance instance,
351
- NftId policyNftId,
352
- uint256 premiumAmount
353
- )
354
- internal
355
- returns (uint256 netPremiumAmount)
356
- {
357
- // process token transfer(s)
358
- if(premiumAmount > 0) {
359
- NftId productNftId = getRegistry().getObjectInfo(policyNftId).parentNftId;
360
- ISetup.ProductSetupInfo memory productSetupInfo = instance.getInstanceReader().getProductSetupInfo(productNftId);
361
- IPolicy.PolicyInfo memory policyInfo = instance.getInstanceReader().getPolicyInfo(policyNftId);
362
- TokenHandler tokenHandler = productSetupInfo.tokenHandler;
363
- address policyOwner = getRegistry().ownerOf(policyNftId);
364
- address poolWallet = instance.getInstanceReader().getComponentInfo(productSetupInfo.poolNftId).wallet;
365
- IPolicy.Premium memory premium = _applicationService.calculatePremium(
366
- productNftId,
367
- policyInfo.riskId,
368
- policyInfo.sumInsuredAmount,
369
- policyInfo.lifetime,
370
- policyInfo.applicationData,
371
- policyInfo.bundleNftId,
372
- policyInfo.referralId
373
- );
374
-
375
- if (premium.premiumAmount != premiumAmount) {
376
- revert ErrorIPolicyServicePremiumMismatch(policyNftId, premiumAmount, premium.premiumAmount);
377
- }
378
-
379
- // move product fee to product wallet
380
- address productWallet = productSetupInfo.wallet;
381
- if (tokenHandler.getToken().allowance(policyOwner, address(tokenHandler)) < premium.premiumAmount) {
382
- revert ErrorIPolicyServiceInsufficientAllowance(policyOwner, address(tokenHandler), premium.premiumAmount);
383
- }
384
- tokenHandler.transfer(policyOwner, productWallet, premium.productFeeFixAmount + premium.productFeeVarAmount);
385
-
386
- // move distribution fee to distribution wallet
387
- ISetup.DistributionSetupInfo memory distributionSetupInfo = instance.getInstanceReader().getDistributionSetupInfo(productSetupInfo.distributionNftId);
388
- address distributionWallet = distributionSetupInfo.wallet;
389
- uint256 distributionFeeAmountToTransfer = premium.distributionFeeFixAmount + premium.distributionFeeVarAmount - premium.discountAmount;
390
- tokenHandler.transfer(policyOwner, distributionWallet, distributionFeeAmountToTransfer);
391
- _distributionService.processSale(productSetupInfo.distributionNftId, policyInfo.referralId, premium, distributionFeeAmountToTransfer);
392
-
393
- // move netpremium to pool wallet
394
- tokenHandler.transfer(policyOwner, poolWallet, premium.netPremiumAmount);
395
-
396
- // TODO: move pool related tokens too
397
- // TODO: move bundle related tokens too
398
- netPremiumAmount = premium.netPremiumAmount;
399
- }
400
-
401
- // TODO: add logging
402
- }
403
- }
@@ -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 {PolicyService} from "./PolicyService.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 PolicyServiceManager is ProxyManager {
12
-
13
- PolicyService private _policyService;
14
-
15
- /// @dev initializes proxy manager with product service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager(registryAddress)
20
- {
21
- PolicyService svc = new PolicyService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(svc),
25
- data);
26
-
27
- _policyService = PolicyService(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 getPolicyService()
47
- external
48
- view
49
- returns (PolicyService policyService)
50
- {
51
- return _policyService;
52
- }
53
-
54
- }