@etherisc/gif-next 0.0.2-ceb30b2-601 → 0.0.2-ceed5e3-261

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 (564) hide show
  1. package/README.md +9 -1
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +239 -155
  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 +118 -99
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +52 -307
  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 +250 -2313
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +181 -12
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +361 -2789
  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 -350
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +266 -145
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +122 -88
  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/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +158 -216
  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} +256 -264
  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 +56 -54
  67. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  68. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +200 -97
  69. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  70. package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +157 -156
  71. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  72. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +305 -103
  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/product/IApplicationService.sol/IApplicationService.json +512 -0
  87. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  88. package/artifacts/contracts/{instance/service → product}/IClaimService.sol/IClaimService.json +43 -2
  89. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  90. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +140 -71
  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} +66 -136
  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 +14 -56
  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 +317 -52
  117. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  118. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +129 -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 +420 -43
  122. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  123. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
  124. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +374 -72
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -41
  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 +171 -0
  132. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  133. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +187 -0
  134. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  135. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -140
  136. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  137. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -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 +143 -76
  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} +22 -114
  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 +1189 -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 +114 -75
  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 +7 -1
  176. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +45 -3
  178. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
  180. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  181. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  182. package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
  183. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  184. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  185. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  186. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  187. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  188. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  189. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  190. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  191. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  192. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  193. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  194. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  195. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -9
  196. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  197. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +56 -7
  198. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  199. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -22
  200. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  201. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -9
  202. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  203. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  204. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  205. package/artifacts/contracts/shared/Service.sol/Service.json +20 -1
  206. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  207. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  208. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  209. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  210. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  211. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  212. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  213. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  214. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  215. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  216. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  217. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  218. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  219. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  220. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  221. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  222. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +597 -0
  223. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  224. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  225. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  226. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  227. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  228. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
  229. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  230. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  231. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  232. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  233. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  234. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  235. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  236. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  237. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  238. package/artifacts/contracts/{types → type}/ClaimId.sol/ClaimIdLib.json +5 -5
  239. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  240. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  241. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  242. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  243. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  244. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  245. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  246. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  247. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  248. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  249. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  250. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +186 -0
  251. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  252. package/artifacts/contracts/{types → type}/PayoutId.sol/PayoutIdLib.json +5 -5
  253. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  254. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  255. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  256. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  257. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  258. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  259. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  260. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
  261. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  262. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  263. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  264. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  265. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  266. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  267. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  268. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  269. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  270. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  271. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  272. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
  273. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  274. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  275. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  276. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  277. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  278. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  279. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  280. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  281. package/contracts/{components → distribution}/Distribution.sol +41 -64
  282. package/contracts/distribution/DistributionService.sol +297 -0
  283. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  284. package/contracts/{components → distribution}/IDistributionComponent.sol +11 -16
  285. package/contracts/{instance/service → distribution}/IDistributionService.sol +19 -37
  286. package/contracts/instance/BundleManager.sol +5 -5
  287. package/contracts/instance/IInstance.sol +51 -68
  288. package/contracts/instance/IInstanceService.sol +50 -16
  289. package/contracts/instance/Instance.sol +134 -189
  290. package/contracts/instance/InstanceAdmin.sol +331 -0
  291. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  292. package/contracts/instance/InstanceReader.sol +130 -55
  293. package/contracts/instance/InstanceService.sol +237 -282
  294. package/contracts/instance/InstanceServiceManager.sol +11 -21
  295. package/contracts/instance/InstanceStore.sol +269 -0
  296. package/contracts/instance/base/BalanceStore.sol +123 -0
  297. package/contracts/instance/base/Cloneable.sol +28 -0
  298. package/contracts/instance/base/ObjectCounter.sol +21 -0
  299. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -9
  300. package/contracts/instance/module/IAccess.sol +4 -12
  301. package/contracts/instance/module/IBundle.sol +6 -9
  302. package/contracts/instance/module/IComponents.sol +21 -10
  303. package/contracts/instance/module/IDistribution.sol +7 -6
  304. package/contracts/instance/module/IPolicy.sol +20 -14
  305. package/contracts/instance/module/IRisk.sol +1 -1
  306. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  307. package/contracts/oracle/IOracle.sol +20 -0
  308. package/contracts/oracle/IOracleComponent.sol +32 -0
  309. package/contracts/oracle/IOracleService.sol +65 -0
  310. package/contracts/oracle/Oracle.sol +145 -0
  311. package/contracts/oracle/OracleService.sol +278 -0
  312. package/contracts/oracle/OracleServiceManager.sol +42 -0
  313. package/contracts/pool/BundleService.sol +296 -0
  314. package/contracts/pool/BundleServiceManager.sol +42 -0
  315. package/contracts/{instance/service → pool}/IBundleService.sol +33 -29
  316. package/contracts/{components → pool}/IPoolComponent.sol +16 -17
  317. package/contracts/{instance/service → pool}/IPoolService.sol +57 -51
  318. package/contracts/{components → pool}/Pool.sol +52 -55
  319. package/contracts/pool/PoolService.sol +452 -0
  320. package/contracts/pool/PoolServiceManager.sol +42 -0
  321. package/contracts/product/ApplicationService.sol +254 -0
  322. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  323. package/contracts/{instance/service → product}/ClaimService.sol +170 -89
  324. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  325. package/contracts/{instance/service → product}/IApplicationService.sol +13 -29
  326. package/contracts/{instance/service → product}/IClaimService.sol +24 -15
  327. package/contracts/{instance/service → product}/IPolicyService.sol +24 -26
  328. package/contracts/product/IPricingService.sol +39 -0
  329. package/contracts/product/IProductComponent.sol +42 -0
  330. package/contracts/product/IProductService.sol +33 -0
  331. package/contracts/product/PolicyService.sol +475 -0
  332. package/contracts/product/PolicyServiceManager.sol +42 -0
  333. package/contracts/product/PricingService.sol +300 -0
  334. package/contracts/product/PricingServiceManager.sol +42 -0
  335. package/contracts/{components → product}/Product.sol +83 -77
  336. package/contracts/product/ProductService.sol +124 -0
  337. package/contracts/product/ProductServiceManager.sol +42 -0
  338. package/contracts/registry/ChainNft.sol +8 -1
  339. package/contracts/registry/IRegistry.sol +44 -21
  340. package/contracts/registry/IRegistryService.sol +37 -34
  341. package/contracts/registry/IServiceAuthorization.sol +35 -0
  342. package/contracts/registry/Registry.sol +198 -83
  343. package/contracts/registry/RegistryAdmin.sol +333 -0
  344. package/contracts/registry/RegistryService.sol +71 -87
  345. package/contracts/registry/RegistryServiceManager.sol +21 -30
  346. package/contracts/registry/ReleaseManager.sol +400 -197
  347. package/contracts/registry/ServiceAuthorization.sol +86 -0
  348. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  349. package/contracts/registry/TokenRegistry.sol +261 -62
  350. package/contracts/shared/AccessAdmin.sol +759 -0
  351. package/contracts/shared/AccessManagerCustom.sol +741 -0
  352. package/contracts/shared/AccessManagerExtended.sol +481 -0
  353. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  354. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  355. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  356. package/contracts/shared/Component.sol +281 -0
  357. package/contracts/shared/ComponentService.sol +617 -0
  358. package/contracts/shared/ComponentServiceManager.sol +35 -0
  359. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  360. package/contracts/shared/ERC165.sol +1 -1
  361. package/contracts/shared/IAccessAdmin.sol +168 -0
  362. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  363. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  364. package/contracts/{components → shared}/IComponent.sol +23 -29
  365. package/contracts/shared/IComponentService.sol +102 -0
  366. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  367. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  368. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  369. package/contracts/shared/INftOwnable.sol +2 -2
  370. package/contracts/shared/IPolicyHolder.sol +14 -7
  371. package/contracts/shared/IService.sol +9 -2
  372. package/contracts/shared/IVersionable.sol +1 -1
  373. package/contracts/shared/InitializableCustom.sol +177 -0
  374. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  375. package/contracts/shared/KeyValueStore.sol +127 -0
  376. package/contracts/{instance/base → shared}/Lifecycle.sol +18 -5
  377. package/contracts/shared/NftIdSetManager.sol +65 -0
  378. package/contracts/shared/NftOwnable.sol +3 -14
  379. package/contracts/shared/PolicyHolder.sol +32 -17
  380. package/contracts/shared/ProxyManager.sol +34 -4
  381. package/contracts/shared/Registerable.sol +3 -3
  382. package/contracts/shared/Service.sol +32 -21
  383. package/contracts/shared/TokenHandler.sol +27 -2
  384. package/contracts/shared/Versionable.sol +1 -1
  385. package/contracts/staking/IStaking.sol +168 -0
  386. package/contracts/staking/IStakingService.sol +153 -0
  387. package/contracts/staking/StakeManagerLib.sol +231 -0
  388. package/contracts/staking/Staking.sol +513 -0
  389. package/contracts/staking/StakingManager.sol +54 -0
  390. package/contracts/staking/StakingReader.sol +187 -0
  391. package/contracts/staking/StakingService.sol +411 -0
  392. package/contracts/staking/StakingServiceManager.sol +44 -0
  393. package/contracts/staking/StakingStore.sol +613 -0
  394. package/contracts/staking/TargetManagerLib.sol +207 -0
  395. package/contracts/{types → type}/AddressSet.sol +1 -1
  396. package/contracts/{types → type}/Amount.sol +59 -1
  397. package/contracts/{types → type}/Blocknumber.sol +20 -3
  398. package/contracts/{types → type}/Fee.sol +24 -22
  399. package/contracts/{types → type}/NftId.sol +14 -16
  400. package/contracts/{types → type}/NftIdSet.sol +2 -2
  401. package/contracts/type/ObjectType.sol +241 -0
  402. package/contracts/{types → type}/Referral.sol +1 -1
  403. package/contracts/type/RequestId.sol +75 -0
  404. package/contracts/{types → type}/RiskId.sol +1 -1
  405. package/contracts/type/RoleId.sol +201 -0
  406. package/contracts/{types → type}/Seconds.sol +27 -0
  407. package/contracts/type/Selector.sol +102 -0
  408. package/contracts/{types → type}/StateId.sol +27 -2
  409. package/contracts/type/String.sol +53 -0
  410. package/contracts/{types → type}/Timestamp.sol +6 -2
  411. package/contracts/{types → type}/Version.sol +1 -1
  412. package/package.json +4 -3
  413. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  414. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  415. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  416. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  417. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  418. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  419. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  420. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  421. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  422. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  423. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  424. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  425. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
  426. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  427. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  428. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  429. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  430. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  431. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  432. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  433. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  434. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  435. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  436. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  437. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  438. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  439. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1092
  440. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  441. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -672
  442. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  443. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1313
  444. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  445. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -712
  446. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  447. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1316
  448. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  449. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -724
  450. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  451. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
  452. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  453. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -780
  454. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  455. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  456. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  457. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  458. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  459. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  460. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  461. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  462. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1153
  463. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  464. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -676
  465. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  466. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1598
  467. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  468. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -696
  469. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  470. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -864
  471. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  472. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -640
  473. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  474. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  475. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  476. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  477. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  478. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  479. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  480. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -370
  481. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  482. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  483. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  484. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -588
  485. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  486. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  487. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  488. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  489. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  490. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  491. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  492. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  493. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  494. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  495. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -209
  496. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  497. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  498. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  499. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  500. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  501. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  502. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  503. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  504. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  505. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  507. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  508. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  510. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  511. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  512. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  513. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  514. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  515. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  516. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  517. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  518. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  519. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  520. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  521. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  522. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  523. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  524. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  525. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  526. package/contracts/components/Component.sol +0 -253
  527. package/contracts/components/IProductComponent.sol +0 -40
  528. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  529. package/contracts/instance/Cloneable.sol +0 -51
  530. package/contracts/instance/InstanceAccessManager.sol +0 -527
  531. package/contracts/instance/base/ComponentService.sol +0 -130
  532. package/contracts/instance/base/KeyValueStore.sol +0 -149
  533. package/contracts/instance/module/ISetup.sol +0 -33
  534. package/contracts/instance/module/ITreasury.sol +0 -23
  535. package/contracts/instance/service/ApplicationService.sol +0 -356
  536. package/contracts/instance/service/BundleService.sol +0 -443
  537. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  538. package/contracts/instance/service/DistributionService.sol +0 -431
  539. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  540. package/contracts/instance/service/IProductService.sol +0 -40
  541. package/contracts/instance/service/PolicyService.sol +0 -358
  542. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  543. package/contracts/instance/service/PoolService.sol +0 -349
  544. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  545. package/contracts/instance/service/ProductService.sol +0 -210
  546. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  547. package/contracts/registry/RegistryAccessManager.sol +0 -216
  548. package/contracts/shared/ContractDeployerLib.sol +0 -72
  549. package/contracts/test/TestFee.sol +0 -25
  550. package/contracts/test/TestRegisterable.sol +0 -18
  551. package/contracts/test/TestRoleId.sol +0 -14
  552. package/contracts/test/TestService.sol +0 -25
  553. package/contracts/test/TestVersion.sol +0 -44
  554. package/contracts/test/TestVersionable.sol +0 -17
  555. package/contracts/test/Usdc.sol +0 -26
  556. package/contracts/types/ChainId.sol +0 -38
  557. package/contracts/types/NumberId.sol +0 -52
  558. package/contracts/types/ObjectType.sol +0 -157
  559. package/contracts/types/RoleId.sol +0 -97
  560. /package/contracts/{types → type}/ClaimId.sol +0 -0
  561. /package/contracts/{types → type}/DistributorType.sol +0 -0
  562. /package/contracts/{types → type}/Key32.sol +0 -0
  563. /package/contracts/{types → type}/PayoutId.sol +0 -0
  564. /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -0,0 +1,452 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Pool} from "./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 {IComponents} from "../instance/module/IComponents.sol";
9
+ import {IPolicy} from "../instance/module/IPolicy.sol";
10
+
11
+ import {IVersionable} from "../shared/IVersionable.sol";
12
+ import {Versionable} from "../shared/Versionable.sol";
13
+ import {INftOwnable} from "../shared/INftOwnable.sol";
14
+
15
+ import {Amount, AmountLib} from "../type/Amount.sol";
16
+ import {Fee, FeeLib} from "../type/Fee.sol";
17
+ import {NftId, NftIdLib} from "../type/NftId.sol";
18
+ import {ObjectType, POOL, BUNDLE, COMPONENT, INSTANCE, REGISTRY, STAKING} from "../type/ObjectType.sol";
19
+ import {PUBLIC_ROLE, POOL_OWNER_ROLE, POLICY_SERVICE_ROLE, RoleId} from "../type/RoleId.sol";
20
+ import {Fee, FeeLib} from "../type/Fee.sol";
21
+ import {Version, VersionLib} from "../type/Version.sol";
22
+ import {KEEP_STATE, StateId} from "../type/StateId.sol";
23
+ import {Seconds} from "../type/Seconds.sol";
24
+ import {TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
25
+ import {TokenHandler} from "../shared/TokenHandler.sol";
26
+ import {UFixed} from "../type/UFixed.sol";
27
+ import {Version, VersionLib} from "../type/Version.sol";
28
+
29
+ import {IService} from "../shared/IService.sol";
30
+ import {Service} from "../shared/Service.sol";
31
+ import {BundleManager} from "../instance/BundleManager.sol";
32
+ import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
33
+ import {IBundleService} from "./IBundleService.sol";
34
+ import {IComponentService} from "../shared/IComponentService.sol";
35
+ import {IInstanceService} from "../instance/IInstanceService.sol";
36
+ import {IPoolService} from "./IPoolService.sol";
37
+ import {IRegistryService} from "../registry/IRegistryService.sol";
38
+ import {IStaking} from "../staking/IStaking.sol";
39
+ import {InstanceService} from "../instance/InstanceService.sol";
40
+ import {InstanceReader} from "../instance/InstanceReader.sol";
41
+ import {InstanceStore} from "../instance/InstanceStore.sol";
42
+ import {IComponent} from "../shared/IComponent.sol";
43
+ import {IPoolComponent} from "./IPoolComponent.sol";
44
+
45
+ string constant POOL_SERVICE_NAME = "PoolService";
46
+
47
+ contract PoolService is
48
+ ComponentVerifyingService,
49
+ IPoolService
50
+ {
51
+ using NftIdLib for NftId;
52
+ using AmountLib for Amount;
53
+
54
+ IBundleService internal _bundleService;
55
+ IComponentService internal _componentService;
56
+ IInstanceService private _instanceService;
57
+ IRegistryService private _registryService;
58
+
59
+ IStaking private _staking;
60
+
61
+ function _initialize(
62
+ address owner,
63
+ bytes memory data
64
+ )
65
+ internal
66
+ initializer
67
+ virtual override
68
+ {
69
+ (
70
+ address registryAddress,,
71
+ //address managerAddress
72
+ address authority
73
+ ) = abi.decode(data, (address, address, address));
74
+
75
+ initializeService(registryAddress, authority, owner);
76
+
77
+ _registryService = IRegistryService(_getServiceAddress(REGISTRY()));
78
+ _bundleService = IBundleService(_getServiceAddress(BUNDLE()));
79
+ _instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
80
+ _componentService = IComponentService(_getServiceAddress(COMPONENT()));
81
+
82
+ _staking = IStaking(getRegistry().getStakingAddress());
83
+
84
+ registerInterface(type(IPoolService).interfaceId);
85
+ }
86
+
87
+
88
+ function setMaxCapitalAmount(Amount maxCapitalAmount)
89
+ external
90
+ virtual
91
+ {
92
+ /*
93
+ (NftId poolNftId,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
94
+ InstanceReader instanceReader = instance.getInstanceReader();
95
+
96
+ IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
97
+ IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
98
+ Amount previousMaxCapitalAmount = poolInfo.maxCapitalAmount;
99
+
100
+ poolInfo.maxCapitalAmount = maxCapitalAmount;
101
+ instance.getInstanceStore().updatePool(poolNftId, poolInfo, KEEP_STATE());
102
+
103
+ emit LogPoolServiceMaxCapitalAmountUpdated(poolNftId, previousMaxCapitalAmount, maxCapitalAmount);
104
+ */
105
+ }
106
+
107
+ function setBundleOwnerRole(RoleId bundleOwnerRole)
108
+ external
109
+ virtual
110
+ {
111
+ (NftId poolNftId,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
112
+ InstanceReader instanceReader = instance.getInstanceReader();
113
+
114
+ IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
115
+ IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
116
+
117
+ // bundle owner role may only be set once per pool
118
+ if(poolInfo.bundleOwnerRole != PUBLIC_ROLE()) {
119
+ revert ErrorPoolServiceBundleOwnerRoleAlreadySet(poolNftId);
120
+ }
121
+
122
+ poolInfo.bundleOwnerRole = bundleOwnerRole;
123
+ instance.getInstanceStore().updatePool(poolNftId, poolInfo, KEEP_STATE());
124
+
125
+ emit LogPoolServiceBundleOwnerRoleSet(poolNftId, bundleOwnerRole);
126
+ }
127
+
128
+
129
+ function setFees(
130
+ Fee memory poolFee,
131
+ Fee memory stakingFee,
132
+ Fee memory performanceFee
133
+ )
134
+ external
135
+ virtual
136
+ {
137
+ (NftId poolNftId,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
138
+
139
+ IComponents.PoolInfo memory poolInfo = instance.getInstanceReader().getPoolInfo(poolNftId);
140
+ poolInfo.poolFee = poolFee;
141
+ poolInfo.stakingFee = stakingFee;
142
+ poolInfo.performanceFee = performanceFee;
143
+
144
+ instance.getInstanceStore().updatePool(poolNftId, poolInfo, KEEP_STATE());
145
+
146
+ // TODO add logging
147
+ }
148
+
149
+ function createBundle(
150
+ address bundleOwner, // initial bundle owner
151
+ Fee memory fee, // fees deducted from premium that go to bundle owner
152
+ Amount stakingAmount, // staking amount - staking fees result in initial bundle capital
153
+ Seconds lifetime, // initial duration for which new policies are covered
154
+ bytes calldata filter // optional use case specific criteria that define if a policy may be covered by this bundle
155
+ )
156
+ external
157
+ virtual
158
+ returns(NftId bundleNftId)
159
+ {
160
+ (NftId poolNftId,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
161
+ InstanceReader instanceReader = instance.getInstanceReader();
162
+
163
+ (
164
+ Amount stakingFeeAmount,
165
+ Amount stakingNetAmount
166
+ ) = FeeLib.calculateFee(
167
+ _getStakingFee(instanceReader, poolNftId),
168
+ stakingAmount);
169
+
170
+ bundleNftId = _bundleService.create(
171
+ instance,
172
+ poolNftId,
173
+ bundleOwner,
174
+ fee,
175
+ stakingNetAmount,
176
+ lifetime,
177
+ filter);
178
+
179
+ // pool book keeping
180
+ _componentService.increasePoolBalance(
181
+ instance.getInstanceStore(),
182
+ poolNftId,
183
+ stakingAmount,
184
+ stakingFeeAmount);
185
+
186
+ // pool bookkeeping and collect tokens from bundle owner
187
+ _collectStakingAmount(
188
+ instanceReader,
189
+ poolNftId,
190
+ bundleOwner,
191
+ stakingAmount);
192
+
193
+ emit LogPoolServiceBundleCreated(instance.getNftId(), poolNftId, bundleNftId);
194
+ }
195
+
196
+ function _getStakingFee(InstanceReader instanceReader, NftId poolNftId)
197
+ internal
198
+ virtual
199
+ view
200
+ returns (Fee memory stakingFee)
201
+ {
202
+ NftId productNftId = instanceReader.getPoolInfo(poolNftId).productNftId;
203
+ return instanceReader.getPoolInfo(productNftId).stakingFee;
204
+ }
205
+
206
+ function closeBundle(NftId bundleNftId)
207
+ external
208
+ virtual
209
+ {
210
+ (NftId poolNftId,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
211
+
212
+ // TODO book keeping for pool collateral released outside of retention level
213
+
214
+ // releasing collateral in bundle
215
+ _bundleService.close(instance, bundleNftId);
216
+
217
+ // TODO get performance fee for pool, transfer of remaining funds + bundle fees to bundle owner
218
+
219
+ emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId);
220
+ }
221
+
222
+
223
+ function processSale(
224
+ NftId bundleNftId,
225
+ IPolicy.Premium memory premium
226
+ )
227
+ external
228
+ virtual
229
+ restricted()
230
+ {
231
+ IRegistry registry = getRegistry();
232
+ IRegistry.ObjectInfo memory bundleObjectInfo = registry.getObjectInfo(bundleNftId);
233
+ IRegistry.ObjectInfo memory poolObjectInfo = registry.getObjectInfo(bundleObjectInfo.parentNftId);
234
+ IRegistry.ObjectInfo memory instanceObjectInfo = registry.getObjectInfo(poolObjectInfo.parentNftId);
235
+ IInstance instance = IInstance(instanceObjectInfo.objectAddress);
236
+
237
+ Amount poolFeeAmount = AmountLib.toAmount(premium.poolFeeFixAmount + premium.poolFeeVarAmount);
238
+ Amount bundleFeeAmount = AmountLib.toAmount(premium.bundleFeeFixAmount + premium.bundleFeeVarAmount);
239
+ Amount bundleNetAmount = AmountLib.toAmount(premium.netPremiumAmount);
240
+
241
+ InstanceStore instanceStore = instance.getInstanceStore();
242
+ _componentService.increasePoolBalance(
243
+ instanceStore,
244
+ poolObjectInfo.nftId,
245
+ bundleNetAmount + bundleFeeAmount,
246
+ poolFeeAmount);
247
+
248
+ _componentService.increaseBundleBalance(
249
+ instanceStore,
250
+ bundleObjectInfo.nftId,
251
+ bundleNetAmount,
252
+ bundleFeeAmount);
253
+ }
254
+
255
+
256
+ function lockCollateral(
257
+ IInstance instance,
258
+ address token,
259
+ NftId productNftId,
260
+ NftId applicationNftId,
261
+ NftId bundleNftId,
262
+ Amount sumInsuredAmount // premium amount after product and distribution fees
263
+ )
264
+ external
265
+ virtual
266
+ restricted()
267
+ returns (
268
+ Amount localCollateralAmount,
269
+ Amount totalCollateralAmount
270
+ )
271
+ {
272
+ (
273
+ localCollateralAmount,
274
+ totalCollateralAmount
275
+ ) = calculateRequiredCollateral(
276
+ instance.getInstanceReader(),
277
+ productNftId,
278
+ sumInsuredAmount);
279
+
280
+ // lock collateral amount from involved bundle
281
+ _bundleService.lockCollateral(
282
+ instance,
283
+ applicationNftId,
284
+ bundleNftId,
285
+ localCollateralAmount);
286
+
287
+ // update value locked with staking service
288
+ _staking.increaseTotalValueLocked(
289
+ instance.getNftId(),
290
+ token,
291
+ totalCollateralAmount);
292
+
293
+ // hierarhical riskpool setup
294
+ // TODO loop in with pool component to guarantee availability of external capital
295
+ if(totalCollateralAmount > localCollateralAmount) {
296
+
297
+ }
298
+ }
299
+
300
+
301
+ function reduceCollateral(
302
+ IInstance instance,
303
+ address token,
304
+ NftId policyNftId,
305
+ IPolicy.PolicyInfo memory policyInfo,
306
+ Amount payoutAmount
307
+ )
308
+ external
309
+ virtual
310
+ restricted()
311
+ {
312
+ _bundleService.releaseCollateral(
313
+ instance,
314
+ policyNftId,
315
+ policyInfo.bundleNftId,
316
+ payoutAmount);
317
+
318
+ // update value locked with staking service
319
+ _staking.decreaseTotalValueLocked(
320
+ instance.getNftId(),
321
+ token,
322
+ payoutAmount);
323
+ }
324
+
325
+
326
+ /// @dev releases the remaining collateral linked to the specified policy
327
+ /// may only be called by the policy service for unlocked pool components
328
+ function releaseCollateral(
329
+ IInstance instance,
330
+ address token,
331
+ NftId policyNftId,
332
+ IPolicy.PolicyInfo memory policyInfo
333
+ )
334
+ external
335
+ virtual
336
+ restricted()
337
+ {
338
+ Amount remainingCollateralAmount = policyInfo.sumInsuredAmount - policyInfo.claimAmount;
339
+
340
+ _bundleService.releaseCollateral(
341
+ instance,
342
+ policyNftId,
343
+ policyInfo.bundleNftId,
344
+ remainingCollateralAmount);
345
+
346
+ _bundleService.unlinkPolicy(
347
+ instance,
348
+ policyNftId);
349
+
350
+ // update value locked with staking service
351
+ _staking.decreaseTotalValueLocked(
352
+ instance.getNftId(),
353
+ token,
354
+ remainingCollateralAmount);
355
+ }
356
+
357
+
358
+ function calculateRequiredCollateral(
359
+ InstanceReader instanceReader,
360
+ NftId productNftId,
361
+ Amount sumInsuredAmount
362
+ )
363
+ public
364
+ view
365
+ returns(
366
+ Amount localCollateralAmount,
367
+ Amount totalCollateralAmount
368
+ )
369
+ {
370
+ NftId poolNftId = instanceReader.getProductInfo(productNftId).poolNftId;
371
+ IComponents.PoolInfo memory poolInfo = instanceReader.getPoolInfo(poolNftId);
372
+
373
+ (
374
+ localCollateralAmount,
375
+ totalCollateralAmount
376
+ ) = calculateRequiredCollateral(
377
+ poolInfo.collateralizationLevel,
378
+ poolInfo.retentionLevel,
379
+ sumInsuredAmount);
380
+ }
381
+
382
+
383
+ function calculateRequiredCollateral(
384
+ UFixed collateralizationLevel,
385
+ UFixed retentionLevel,
386
+ Amount sumInsuredAmount
387
+ )
388
+ public
389
+ pure
390
+ returns(
391
+ Amount localCollateralAmount,
392
+ Amount totalCollateralAmount
393
+ )
394
+ {
395
+ // TODO define if only applies to local collateral
396
+ // TODO add minimalistic implementation
397
+
398
+ // assumptions
399
+ // - collateralizationLevel == 1.0
400
+ // - retentionLevel == 1.0
401
+ localCollateralAmount = sumInsuredAmount;
402
+ totalCollateralAmount = localCollateralAmount;
403
+ }
404
+
405
+
406
+ function _processStakingFees(
407
+ Fee memory stakingFee,
408
+ Amount stakingAmount
409
+ )
410
+ internal
411
+ returns (Amount stakingNetAmount)
412
+ {
413
+ stakingNetAmount = stakingAmount;
414
+
415
+ // check if any staking fees apply
416
+ if (FeeLib.gtz(stakingFee)) {
417
+ (Amount feeAmount, Amount netAmount) = FeeLib.calculateFee(stakingFee, stakingAmount);
418
+ stakingNetAmount = netAmount;
419
+
420
+ // TODO update fee balance for pool
421
+ }
422
+ }
423
+
424
+
425
+ // TODO create (I)TreasuryService that deals with all gif related token transfers
426
+ /// @dev transfers the specified amount from the bundle owner to the pool's wallet
427
+ function _collectStakingAmount(
428
+ InstanceReader instanceReader,
429
+ NftId poolNftId,
430
+ address bundleOwner,
431
+ Amount amount
432
+ )
433
+ internal
434
+ {
435
+
436
+ // collecting investor token
437
+ IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
438
+ TokenHandler tokenHandler = componentInfo.tokenHandler;
439
+ address poolWallet = componentInfo.wallet;
440
+
441
+ if(amount.gtz()) {
442
+ tokenHandler.transfer(
443
+ bundleOwner,
444
+ poolWallet,
445
+ amount);
446
+ }
447
+ }
448
+
449
+ function _getDomain() internal pure override returns(ObjectType) {
450
+ return POOL();
451
+ }
452
+ }
@@ -0,0 +1,42 @@
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 "../type/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 authority,
18
+ address registryAddress,
19
+ bytes32 salt
20
+ )
21
+ ProxyManager(registryAddress)
22
+ {
23
+ PoolService poolSrv = new PoolService{salt: salt}();
24
+ bytes memory data = abi.encode(registryAddress, address(this), authority);
25
+ IVersionable versionable = deployDetermenistic(
26
+ address(poolSrv),
27
+ data,
28
+ salt);
29
+
30
+ _poolService = PoolService(address(versionable));
31
+ }
32
+
33
+ //--- view functions ----------------------------------------------------//
34
+ function getPoolService()
35
+ external
36
+ view
37
+ returns (PoolService poolService)
38
+ {
39
+ return _poolService;
40
+ }
41
+
42
+ }