@etherisc/gif-next 0.0.2-d086e6d-456 → 0.0.2-d16f92c-416

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 (572) hide show
  1. package/README.md +17 -91
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +254 -167
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1378 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +117 -111
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +60 -336
  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 +303 -2005
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +177 -65
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +429 -2753
  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 +801 -389
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +274 -177
  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/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  53. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  54. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  55. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  56. package/artifacts/contracts/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +255 -276
  57. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  58. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  59. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  60. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  61. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  62. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  63. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  64. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  65. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  66. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +83 -63
  67. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  68. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +193 -103
  69. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  70. package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +294 -84
  71. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  72. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +298 -109
  73. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  74. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  75. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  76. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  77. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  78. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  79. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  80. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  81. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  82. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  83. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  84. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  85. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  86. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +124 -111
  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/{instance/service → product}/IPolicyService.sol/IPolicyService.json +187 -97
  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} +79 -176
  93. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  94. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +283 -118
  95. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  96. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +11 -85
  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 +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 +415 -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 +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 +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 -153
  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 +139 -85
  150. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  151. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
  152. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  153. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
  154. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  155. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +31 -134
  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 +110 -84
  166. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  167. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  168. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  169. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  170. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  171. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
  172. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  173. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  174. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  175. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  176. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  178. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  180. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  181. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  182. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  183. package/artifacts/contracts/shared/IService.sol/IService.json +17 -30
  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 +23 -31
  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 -56
  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 +6 -9
  303. package/contracts/instance/module/IComponents.sol +21 -10
  304. package/contracts/instance/module/IDistribution.sol +7 -6
  305. package/contracts/instance/module/IPolicy.sol +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/{instance/service → pool}/IBundleService.sol +35 -22
  317. package/contracts/{components → pool}/IPoolComponent.sol +17 -18
  318. package/contracts/{instance/service → pool}/IPoolService.sol +72 -21
  319. package/contracts/{components → pool}/Pool.sol +54 -58
  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 +37 -36
  342. package/contracts/registry/IServiceAuthorization.sol +35 -0
  343. package/contracts/registry/Registry.sol +198 -83
  344. package/contracts/registry/RegistryAdmin.sol +333 -0
  345. package/contracts/registry/RegistryService.sol +72 -91
  346. package/contracts/registry/RegistryServiceManager.sol +21 -30
  347. package/contracts/registry/ReleaseManager.sol +400 -195
  348. package/contracts/registry/ServiceAuthorization.sol +86 -0
  349. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  350. package/contracts/registry/TokenRegistry.sol +261 -62
  351. package/contracts/shared/AccessAdmin.sol +759 -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 +168 -0
  363. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  364. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  365. package/contracts/{components → shared}/IComponent.sol +23 -29
  366. package/contracts/shared/IComponentService.sol +102 -0
  367. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  368. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  369. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  370. package/contracts/shared/INftOwnable.sol +2 -2
  371. package/contracts/shared/IPolicyHolder.sol +29 -10
  372. package/contracts/shared/IRegistryLinked.sol +0 -1
  373. package/contracts/shared/IService.sol +11 -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 +43 -23
  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 +24 -22
  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 +4 -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 -1058
  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 -1258
  449. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  450. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -717
  451. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  452. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -844
  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 -1822
  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/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  463. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  464. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  465. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  466. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  467. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1111
  468. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  469. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -689
  470. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  471. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1264
  472. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  473. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -657
  474. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  475. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -867
  476. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  477. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  478. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  479. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  480. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  481. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  482. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  483. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  484. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  485. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  486. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  487. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  488. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  489. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -611
  490. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  491. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  492. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  493. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  494. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  495. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  496. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  497. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  498. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  499. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  500. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
  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 -288
  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 -253
  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 -136
  539. package/contracts/instance/base/KeyValueStore.sol +0 -180
  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 -431
  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 -435
  547. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  548. package/contracts/instance/service/IClaimService.sol +0 -61
  549. package/contracts/instance/service/IProductService.sol +0 -40
  550. package/contracts/instance/service/PolicyService.sol +0 -360
  551. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  552. package/contracts/instance/service/PoolService.sol +0 -343
  553. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  554. package/contracts/instance/service/ProductService.sol +0 -210
  555. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  556. package/contracts/registry/RegistryAccessManager.sol +0 -216
  557. package/contracts/shared/ContractDeployerLib.sol +0 -72
  558. package/contracts/test/TestFee.sol +0 -25
  559. package/contracts/test/TestRegisterable.sol +0 -18
  560. package/contracts/test/TestRoleId.sol +0 -14
  561. package/contracts/test/TestService.sol +0 -25
  562. package/contracts/test/TestVersion.sol +0 -44
  563. package/contracts/test/TestVersionable.sol +0 -17
  564. package/contracts/test/Usdc.sol +0 -26
  565. package/contracts/types/Amount.sol +0 -60
  566. package/contracts/types/ChainId.sol +0 -38
  567. package/contracts/types/NumberId.sol +0 -52
  568. package/contracts/types/ObjectType.sol +0 -157
  569. package/contracts/types/RoleId.sol +0 -97
  570. /package/contracts/{types → type}/DistributorType.sol +0 -0
  571. /package/contracts/{types → type}/Key32.sol +0 -0
  572. /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -1,37 +1,37 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Amount} from "../../types/Amount.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {NftId} from "../../types/NftId.sol";
7
- import {IBundle} from "../module/IBundle.sol";
8
- import {IInstance} from "../../instance/IInstance.sol";
9
- import {IPolicy} from "../module/IPolicy.sol";
10
- import {IService} from "../../shared/IService.sol";
11
- import {RoleId} from "../../types/RoleId.sol";
12
- import {Seconds} from "../../types/Seconds.sol";
13
- import {StateId} from "../../types/StateId.sol";
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {Fee} from "../type/Fee.sol";
6
+ import {NftId} from "../type/NftId.sol";
7
+ import {PayoutId} from "../type/PayoutId.sol";
8
+ import {IBundle} from "../instance/module/IBundle.sol";
9
+ import {IInstance} from "../instance/IInstance.sol";
10
+ import {InstanceReader} from "../instance/InstanceReader.sol";
11
+ import {IPolicy} from "../instance/module/IPolicy.sol";
12
+ import {IService} from "../shared/IService.sol";
13
+ import {RoleId} from "../type/RoleId.sol";
14
+ import {Seconds} from "../type/Seconds.sol";
15
+ import {StateId} from "../type/StateId.sol";
16
+ import {UFixed} from "../type/UFixed.sol";
14
17
 
15
18
  interface IPoolService is IService {
16
19
 
17
- event LogPoolServiceMaxCapitalAmountUpdated(NftId poolNftId, uint256 previousMaxCapitalAmount, uint256 currentMaxCapitalAmount);
20
+ event LogPoolServiceMaxCapitalAmountUpdated(NftId poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
18
21
  event LogPoolServiceBundleOwnerRoleSet(NftId poolNftId, RoleId bundleOwnerRole);
19
22
 
20
23
  event LogPoolServiceBundleCreated(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
21
24
  event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
22
25
 
23
26
  error ErrorPoolServiceBundleOwnerRoleAlreadySet(NftId poolNftId);
24
- error ErrorPoolServiceBundlePoolMismatch(NftId bundlePoolNftId, NftId productPoolNftId);
25
-
26
- /// @dev registers a new pool with the registry service
27
- function register(address poolAddress) external returns(NftId);
27
+ error ErrorPoolServiceInvalidTransferAmount(Amount expectedAmount, Amount actualAmount);
28
28
 
29
29
  /// @dev defines the required role for bundle owners for the calling pool
30
30
  /// default implementation returns PUBLIC ROLE
31
31
  function setBundleOwnerRole(RoleId bundleOwnerRole) external;
32
32
 
33
33
  /// @dev sets the max capital amount for the calling pool
34
- function setMaxCapitalAmount(uint256 maxCapitalAmount) external;
34
+ function setMaxCapitalAmount(Amount maxCapitalAmount) external;
35
35
 
36
36
  /// @dev set pool sepecific fees
37
37
  function setFees(
@@ -48,22 +48,41 @@ interface IPoolService is IService {
48
48
  /// may only be called by the policy service for unlocked pool components
49
49
  function lockCollateral(
50
50
  IInstance instance,
51
+ address token,
51
52
  NftId productNftId,
52
53
  NftId applicationNftId,
53
- IPolicy.PolicyInfo memory applicationInfo,
54
- uint256 premiumAmount
55
- ) external;
54
+ NftId bundleNftId,
55
+ Amount sumInsuredAmount // premium amount after product and distribution fees
56
+ )
57
+ external
58
+ returns (
59
+ Amount localCollateralAmount,
60
+ Amount totalCollateralAmount
61
+ );
56
62
 
57
63
 
58
64
  /// @dev releases the remaining collateral linked to the specified policy
59
65
  /// may only be called by the policy service for unlocked pool components
60
66
  function releaseCollateral(
61
67
  IInstance instance,
68
+ address token,
62
69
  NftId policyNftId,
63
70
  IPolicy.PolicyInfo memory policyInfo
64
71
  ) external;
65
72
 
66
73
 
74
+ /// @dev reduces the locked collateral in the bundle associated with the specified policy
75
+ /// every payout of a policy reduces the collateral by the payout amount
76
+ /// may only be called by the claim service for unlocked pool components
77
+ function reduceCollateral(
78
+ IInstance instance,
79
+ address token,
80
+ NftId policyNftId,
81
+ IPolicy.PolicyInfo memory policyInfo,
82
+ Amount payoutAmount
83
+ ) external;
84
+
85
+
67
86
  /// @dev create a new bundle for the provided parameters
68
87
  /// staking fees will be deducted by the pool service from the staking amount
69
88
  /// may only be called by registered and unlocked pool components
@@ -86,6 +105,9 @@ interface IPoolService is IService {
86
105
  function closeBundle(NftId bundleNftId) external;
87
106
 
88
107
 
108
+ /// @dev processes the sale of a bundle and track the pool fee and bundle fee amounts
109
+ function processSale(NftId bundleNftId, IPolicy.Premium memory premium) external;
110
+
89
111
  /// @dev increase stakes for bundle
90
112
  /// staking fees will be deducted by the pool service from the staking amount
91
113
  /// may only be called by registered and unlocked pool components
@@ -96,4 +118,33 @@ interface IPoolService is IService {
96
118
  /// performance fees will be deducted by the pool service from the staking amount
97
119
  /// may only be called by registered and unlocked pool components
98
120
  // function unstake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
121
+
122
+
123
+ /// @dev calulate required collateral for the provided parameters
124
+ function calculateRequiredCollateral(
125
+ InstanceReader instanceReader,
126
+ NftId productNftId,
127
+ Amount sumInsuredAmount
128
+ )
129
+ external
130
+ view
131
+ returns(
132
+ Amount localCollateralAmount,
133
+ Amount totalCollateralAmount
134
+ );
135
+
136
+
137
+ /// @dev calulate required collateral for the provided parameters
138
+ function calculateRequiredCollateral(
139
+ UFixed collateralizationLevel,
140
+ UFixed retentionLevel,
141
+ Amount sumInsuredAmount
142
+ )
143
+ external
144
+ pure
145
+ returns(
146
+ Amount localCollateralAmount,
147
+ Amount totalCollateralAmount
148
+ );
149
+
99
150
  }
@@ -1,29 +1,30 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Amount, AmountLib} from "../types/Amount.sol";
5
- import {Component} from "./Component.sol";
6
- import {Fee, FeeLib} from "../types/Fee.sol";
7
- import {IBundleService} from "../instance/service/IBundleService.sol";
8
- import {InstanceReader} from "../instance/InstanceReader.sol";
4
+ import {Amount, AmountLib} from "../type/Amount.sol";
5
+ import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
6
+ import {Fee, FeeLib} from "../type/Fee.sol";
7
+ import {IBundleService} from "./IBundleService.sol";
9
8
  import {IPoolComponent} from "./IPoolComponent.sol";
10
- import {IPoolService} from "../instance/service/IPoolService.sol";
9
+ import {IPoolService} from "./IPoolService.sol";
11
10
  import {IComponents} from "../instance/module/IComponents.sol";
12
- import {NftId, NftIdLib} from "../types/NftId.sol";
13
- import {POOL} from "../types/ObjectType.sol";
14
- import {RoleId, PUBLIC_ROLE} from "../types/RoleId.sol";
15
- import {Seconds} from "../types/Seconds.sol";
11
+ import {IComponentService} from "../shared/IComponentService.sol";
12
+ import {NftId, NftIdLib} from "../type/NftId.sol";
13
+ import {BUNDLE, COMPONENT, POOL} from "../type/ObjectType.sol";
14
+ import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
15
+ import {Seconds} from "../type/Seconds.sol";
16
16
  import {TokenHandler} from "../shared/TokenHandler.sol";
17
- import {UFixed, UFixedLib} from "../types/UFixed.sol";
17
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
18
18
 
19
19
  abstract contract Pool is
20
- Component,
20
+ InstanceLinkedComponent,
21
21
  IPoolComponent
22
22
  {
23
23
  // keccak256(abi.encode(uint256(keccak256("etherisc.storage.Pool")) - 1)) & ~bytes32(uint256(0xff));
24
24
  bytes32 public constant POOL_STORAGE_LOCATION_V1 = 0x25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58300;
25
25
 
26
26
  struct PoolStorage {
27
+ IComponentService _componentService;
27
28
  IPoolService _poolService;
28
29
  IBundleService _bundleService;
29
30
  }
@@ -52,25 +53,36 @@ abstract contract Pool is
52
53
  address token,
53
54
  bool isInterceptingNftTransfers,
54
55
  address initialOwner,
55
- bytes memory registryData // writeonly data that will saved in the object info record of the registry
56
+ bytes memory registryData, // writeonly data that will saved in the object info record of the registry
57
+ bytes memory componentData // component specifidc data
56
58
  )
57
59
  public
58
60
  virtual
59
61
  onlyInitializing()
60
62
  {
61
- initializeComponent(registry, instanceNftId, name, token, POOL(), isInterceptingNftTransfers, initialOwner, registryData);
63
+ initializeInstanceLinkedComponent(registry, instanceNftId, name, token, POOL(), isInterceptingNftTransfers, initialOwner, registryData, componentData);
62
64
 
63
65
  PoolStorage storage $ = _getPoolStorage();
64
- $._poolService = getInstance().getPoolService();
65
- $._bundleService = getInstance().getBundleService();
66
+ $._poolService = IPoolService(_getServiceAddress(POOL()));
67
+ $._bundleService = IBundleService(_getServiceAddress(BUNDLE()));
68
+ $._componentService = IComponentService(_getServiceAddress(COMPONENT()));
66
69
 
67
70
  registerInterface(type(IPoolComponent).interfaceId);
68
71
  }
69
72
 
70
73
 
74
+ function register()
75
+ external
76
+ virtual
77
+ onlyOwner()
78
+ {
79
+ _getPoolStorage()._componentService.registerPool();
80
+ }
81
+
82
+
71
83
  function stake(
72
84
  NftId bundleNftId,
73
- uint256 amount
85
+ Amount amount
74
86
  )
75
87
  public
76
88
  virtual
@@ -83,7 +95,7 @@ abstract contract Pool is
83
95
 
84
96
  function unstake(
85
97
  NftId bundleNftId,
86
- uint256 amount
98
+ Amount amount
87
99
  )
88
100
  public
89
101
  virtual
@@ -143,14 +155,14 @@ abstract contract Pool is
143
155
  )
144
156
  public
145
157
  virtual
146
- restricted()
158
+ //restricted()
147
159
  onlyBundleOwner(bundleNftId)
148
160
  {
149
161
  _getPoolStorage()._bundleService.setFee(bundleNftId, fee);
150
162
  }
151
163
 
152
164
 
153
- function setMaxCapitalAmount(uint256 maxCapitalAmount)
165
+ function setMaxCapitalAmount(Amount maxCapitalAmount)
154
166
  public
155
167
  virtual
156
168
  restricted()
@@ -180,7 +192,7 @@ abstract contract Pool is
180
192
  restricted()
181
193
  onlyOwner()
182
194
  {
183
- _getPoolStorage()._poolService.setFees(poolFee, stakingFee, performanceFee);
195
+ _getPoolStorage()._componentService.setPoolFees(poolFee, stakingFee, performanceFee);
184
196
  }
185
197
 
186
198
 
@@ -190,7 +202,7 @@ abstract contract Pool is
190
202
  bytes memory applicationData,
191
203
  NftId bundleNftId,
192
204
  bytes memory bundleFilter,
193
- uint256 collateralizationAmount
205
+ Amount collateralizationAmount
194
206
  )
195
207
  public
196
208
  virtual
@@ -219,7 +231,7 @@ abstract contract Pool is
219
231
  bytes memory applicationData,
220
232
  NftId bundleNftId,
221
233
  bytes memory bundleFilter,
222
- uint256 collateralizationAmount
234
+ Amount collateralizationAmount
223
235
  )
224
236
  public
225
237
  view
@@ -230,8 +242,25 @@ abstract contract Pool is
230
242
  }
231
243
 
232
244
 
233
- function getPoolInfo() external view returns (IComponents.PoolInfo memory poolInfo) {
234
- poolInfo = abi.decode(getComponentInfo().data, (IComponents.PoolInfo));
245
+ function getInitialPoolInfo()
246
+ public
247
+ virtual
248
+ view
249
+ returns (IComponents.PoolInfo memory poolInfo)
250
+ {
251
+ return IComponents.PoolInfo(
252
+ NftIdLib.zero(), // will be set when GIF registers the related product
253
+ PUBLIC_ROLE(), // bundleOwnerRole
254
+ AmountLib.max(), // maxCapitalAmount,
255
+ isNftInterceptor(), // isInterceptingBundleTransfers
256
+ false, // isExternallyManaged,
257
+ false, // isVerifyingApplications,
258
+ UFixedLib.toUFixed(1), // collateralizationLevel,
259
+ UFixedLib.toUFixed(1), // retentionLevel,
260
+ FeeLib.zero(), // initialPoolFee,
261
+ FeeLib.zero(), // initialStakingFee,
262
+ FeeLib.zero() // initialPerformanceFee,
263
+ );
235
264
  }
236
265
 
237
266
  // Internals
@@ -261,39 +290,6 @@ abstract contract Pool is
261
290
  return keccak256(abi.encode(uint256(keccak256(name)) - 1)) & ~bytes32(uint256(0xff));
262
291
  }
263
292
 
264
- /// @dev defines initial pool specification
265
- /// overwrite this function according to your use case
266
- function _getInitialInfo()
267
- internal
268
- view
269
- virtual override
270
- returns (IComponents.ComponentInfo memory info)
271
- {
272
- return IComponents.ComponentInfo(
273
- getName(),
274
- getToken(),
275
- TokenHandler(address(0)), // will be created by GIF service during registration
276
- address(this), // contract is its own wallet
277
- AmountLib.zero(), // balance amount
278
- AmountLib.zero(), // fee amount
279
- abi.encode(
280
- IComponents.PoolInfo(
281
- NftIdLib.zero(), // will be set when GIF registers the related product
282
- PUBLIC_ROLE(), // bundleOwnerRole
283
- type(uint256).max, // maxCapitalAmount,
284
- 0, // initial balance amount
285
- 0, // initial fee amount
286
- isNftInterceptor(), // isInterceptingBundleTransfers
287
- false, // isExternallyManaged,
288
- false, // isVerifyingApplications,
289
- UFixedLib.toUFixed(1), // collateralizationLevel,
290
- UFixedLib.toUFixed(1), // retentionLevel,
291
- FeeLib.zeroFee(), // initialPoolFee,
292
- FeeLib.zeroFee(), // initialStakingFee,
293
- FeeLib.zeroFee() // initialPerformanceFee,
294
- )));
295
- }
296
-
297
293
 
298
294
  function _getPoolStorage() private pure returns (PoolStorage storage $) {
299
295
  assembly {