@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
@@ -1,149 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
5
- import {Key32, KeyId, Key32Lib} from "../../types/Key32.sol";
6
- import {NftId} from "../../types/NftId.sol";
7
- import {ObjectType} from "../../types/ObjectType.sol";
8
- import {StateId, ACTIVE, KEEP_STATE} from "../../types/StateId.sol";
9
- import {Timestamp, TimestampLib} from "../../types/Timestamp.sol";
10
-
11
- import {Lifecycle} from "./Lifecycle.sol";
12
- import {IKeyValueStore} from "./IKeyValueStore.sol";
13
-
14
- contract KeyValueStore is Lifecycle, IKeyValueStore {
15
-
16
- mapping(Key32 key32 => Value value) private _value;
17
-
18
- function create(
19
- Key32 key32,
20
- bytes memory data
21
- )
22
- internal
23
- {
24
- ObjectType objectType = key32.toObjectType();
25
- require(objectType.gtz(), "ERROR:KVS-010:TYPE_UNDEFINED");
26
-
27
- Metadata storage metadata = _value[key32].metadata;
28
- require(metadata.state.eqz(), "ERROR:KVS-012:ALREADY_CREATED");
29
-
30
- address createdBy = msg.sender;
31
- Blocknumber blocknumber = blockBlocknumber();
32
- StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
33
-
34
- // set metadata
35
- metadata.objectType = objectType;
36
- metadata.state = initialState;
37
- metadata.updatedBy = createdBy;
38
- metadata.updatedIn = blocknumber;
39
- metadata.createdIn = blocknumber;
40
-
41
- // set data
42
- _value[key32].data = data;
43
-
44
- // solhint-disable-next-line avoid-tx-origin
45
- emit LogInfoCreated(key32.toObjectType(), key32.toKeyId(), initialState, createdBy, tx.origin);
46
- }
47
-
48
- function update(
49
- Key32 key32,
50
- bytes memory data,
51
- StateId state
52
- )
53
- internal
54
- {
55
- require(state.gtz(), "ERROR:KVS-020:STATE_UNDEFINED");
56
- Metadata storage metadata = _value[key32].metadata;
57
- StateId stateOld = metadata.state;
58
- require(stateOld.gtz(), "ERROR:KVS-021:NOT_EXISTING");
59
-
60
- // update data
61
- _value[key32].data = data;
62
-
63
- // update state
64
- if(state != KEEP_STATE()) {
65
- metadata.state = state;
66
- }
67
-
68
- // update reest of metadata
69
- address updatedBy = msg.sender;
70
- Blocknumber lastUpdatedIn = metadata.updatedIn;
71
-
72
- metadata.updatedBy = updatedBy;
73
- metadata.updatedIn = blockBlocknumber();
74
-
75
- // create log entries
76
- // solhint-disable avoid-tx-origin
77
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), stateOld, state, updatedBy, tx.origin, lastUpdatedIn);
78
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
79
- // solhing-enable
80
- }
81
-
82
- function updateData(Key32 key32, bytes memory data)
83
- internal
84
- {
85
- Metadata storage metadata = _value[key32].metadata;
86
- StateId state = metadata.state;
87
- require(state.gtz(), "ERROR:KVS-030:NOT_EXISTING");
88
-
89
- // update data
90
- _value[key32].data = data;
91
-
92
- // update metadata
93
- address updatedBy = msg.sender;
94
- Blocknumber lastUpdatedIn = metadata.updatedIn;
95
- metadata.updatedBy = updatedBy;
96
- metadata.updatedIn = blockBlocknumber();
97
-
98
- // create log entry
99
- // solhint-disable-next-line avoid-tx-origin
100
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
101
- }
102
-
103
- function updateState(Key32 key32, StateId state)
104
- internal
105
- {
106
- require(state.gtz(), "ERROR:KVS-040:STATE_UNDEFINED");
107
- Metadata storage metadata = _value[key32].metadata;
108
- StateId stateOld = metadata.state;
109
- require(stateOld.gtz(), "ERROR:KVS-041:NOT_EXISTING");
110
-
111
- // ensure state transistion is valid
112
- checkTransition(metadata.objectType, stateOld, state);
113
-
114
- // update metadata (and state)
115
- address updatedBy = msg.sender;
116
- Blocknumber lastUpdatedIn = metadata.updatedIn;
117
- metadata.state = state;
118
- metadata.updatedBy = updatedBy;
119
- metadata.updatedIn = blockBlocknumber();
120
-
121
- // create log entry
122
- // solhint-disable-next-line avoid-tx-origin
123
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), stateOld, state, updatedBy, tx.origin, lastUpdatedIn);
124
- }
125
-
126
- function exists(Key32 key32) public view returns (bool) {
127
- return _value[key32].metadata.state.gtz();
128
- }
129
-
130
- function get(Key32 key32) public view returns (Value memory value) {
131
- return _value[key32];
132
- }
133
-
134
- function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
135
- return _value[key32].metadata;
136
- }
137
-
138
- function getData(Key32 key32) public view returns (bytes memory data) {
139
- return _value[key32].data;
140
- }
141
-
142
- function getState(Key32 key32) public view returns (StateId state) {
143
- return _value[key32].metadata.state;
144
- }
145
-
146
- function toKey32(ObjectType objectType, KeyId id) external pure override returns(Key32) {
147
- return Key32Lib.toKey32(objectType, id);
148
- }
149
- }
@@ -1,33 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../types/Fee.sol";
7
- import {NftId} from "../../types/NftId.sol";
8
- import {RoleId} from "../../types/RoleId.sol";
9
- import {TokenHandler} from "../../shared/TokenHandler.sol";
10
- import {UFixed} from "../../types/UFixed.sol";
11
-
12
- interface ISetup {
13
-
14
- struct ProductSetupInfo {
15
- IERC20Metadata token;
16
- TokenHandler tokenHandler;
17
- NftId distributionNftId;
18
- NftId poolNftId;
19
- Fee productFee; // product fee on net premium
20
- Fee processingFee; // product fee on payout amounts
21
- bool isIntercepting; // intercepts nft transfers (for products)
22
- address wallet;
23
- }
24
-
25
- struct DistributionSetupInfo {
26
- NftId productNftId;
27
- TokenHandler tokenHandler;
28
- Fee minDistributionOwnerFee;
29
- Fee distributionFee; // recalculated whenever any fee on the product/pool/dist/disttype is changed
30
- address wallet;
31
- uint256 sumDistributionOwnerFees;
32
- }
33
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../types/Fee.sol";
7
- import {NftId} from "../../types/NftId.sol";
8
- import {TokenHandler} from "../../shared/TokenHandler.sol";
9
-
10
- interface ITreasury {
11
- struct TreasuryInfo {
12
- IERC20Metadata token;
13
- TokenHandler tokenHandler;
14
- NftId distributionNftId;
15
- NftId poolNftId;
16
- Fee distributionFee; // default distribution fee (no referral id)
17
- Fee productFee; // product fee on net premium
18
- Fee processingFee; // product fee on payout amounts
19
- Fee poolFee; // pool fee on net premium
20
- Fee stakingFee; // pool fee on staked capital from investor
21
- Fee performanceFee; // pool fee on profits from capital investors
22
- }
23
- }
@@ -1,356 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "./IApplicationService.sol";
6
-
7
- import {IRegistry} from "../../registry/IRegistry.sol";
8
- import {IProductComponent} from "../../components/IProductComponent.sol";
9
- import {Product} from "../../components/Product.sol";
10
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
11
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
12
- import {IInstance} from "../IInstance.sol";
13
- import {IComponents} from "../module/IComponents.sol";
14
- import {IPolicy} from "../module/IPolicy.sol";
15
- import {IRisk} from "../module/IRisk.sol";
16
- import {IBundle} from "../module/IBundle.sol";
17
- import {IProductService} from "./IProductService.sol";
18
- import {ITreasury} from "../module/ITreasury.sol";
19
- import {ISetup} from "../module/ISetup.sol";
20
-
21
- import {TokenHandler} from "../../shared/TokenHandler.sol";
22
-
23
- import {IVersionable} from "../../shared/IVersionable.sol";
24
- import {Versionable} from "../../shared/Versionable.sol";
25
-
26
- import {AmountLib} from "../../types/Amount.sol";
27
- import {Seconds} from "../../types/Seconds.sol";
28
- import {Timestamp, TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
29
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
30
- import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
31
- import {ObjectType, DISTRIBUTION, INSTANCE, PRODUCT, POOL, APPLICATION, POLICY, BUNDLE} from "../../types/ObjectType.sol";
32
- import {APPLIED, REVOKED, ACTIVE, KEEP_STATE} from "../../types/StateId.sol";
33
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
34
- import {Fee, FeeLib} from "../../types/Fee.sol";
35
- import {ReferralId} from "../../types/Referral.sol";
36
- import {RiskId} from "../../types/RiskId.sol";
37
- import {StateId} from "../../types/StateId.sol";
38
- import {Version, VersionLib} from "../../types/Version.sol";
39
-
40
- import {ComponentService} from "../base/ComponentService.sol";
41
- import {InstanceReader} from "../InstanceReader.sol";
42
- import {IApplicationService} from "./IApplicationService.sol";
43
- import {IBundleService} from "./IBundleService.sol";
44
- import {IDistributionService} from "./IDistributionService.sol";
45
- import {IPoolService} from "./IPoolService.sol";
46
- import {IService} from "../../shared/IService.sol";
47
- import {Service} from "../../shared/Service.sol";
48
-
49
-
50
- contract ApplicationService is
51
- ComponentService,
52
- IApplicationService
53
- {
54
- IDistributionService internal _distributionService;
55
-
56
- function _initialize(
57
- address owner,
58
- bytes memory data
59
- )
60
- internal
61
- virtual override
62
- initializer()
63
- {
64
- // TODO check this, might no longer be the way, refactor if necessary
65
- address registryAddress;
66
- address initialOwner;
67
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
68
-
69
- initializeService(registryAddress, address(0), owner);
70
- registerInterface(type(IApplicationService).interfaceId);
71
-
72
- _distributionService = IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), getVersion().toMajorPart()));
73
- }
74
-
75
-
76
- function getDomain() public pure override returns(ObjectType) {
77
- return APPLICATION();
78
- }
79
-
80
-
81
- function create(
82
- address applicationOwner,
83
- RiskId riskId,
84
- uint256 sumInsuredAmount,
85
- Seconds lifetime,
86
- NftId bundleNftId,
87
- ReferralId referralId,
88
- bytes memory applicationData
89
- )
90
- external
91
- virtual
92
- returns (NftId applicationNftId)
93
- {
94
- (NftId productNftId,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
95
- // TODO: add validations (see create bundle in pool service)
96
-
97
- applicationNftId = getRegistryService().registerPolicy(
98
- IRegistry.ObjectInfo(
99
- zeroNftId(),
100
- productNftId,
101
- POLICY(),
102
- false, // intercepting property for policies is defined on product
103
- address(0),
104
- applicationOwner,
105
- ""
106
- )
107
- );
108
-
109
- // (uint256 premiumAmount,,,,,) = calculatePremium(
110
- IPolicy.Premium memory premium = calculatePremium(
111
- productNftId,
112
- riskId,
113
- sumInsuredAmount,
114
- lifetime,
115
- applicationData,
116
- bundleNftId,
117
- referralId
118
- );
119
-
120
- IPolicy.PolicyInfo memory policyInfo = IPolicy.PolicyInfo(
121
- productNftId,
122
- bundleNftId,
123
- referralId,
124
- riskId,
125
- sumInsuredAmount,
126
- premium.premiumAmount,
127
- 0,
128
- lifetime,
129
- applicationData,
130
- "",
131
- 0,
132
- 0,
133
- AmountLib.zero(),
134
- AmountLib.zero(),
135
- zeroTimestamp(),
136
- zeroTimestamp(),
137
- zeroTimestamp()
138
- );
139
-
140
- instance.createApplication(applicationNftId, policyInfo);
141
-
142
- // TODO: add logging
143
- }
144
-
145
-
146
- function renew(
147
- NftId policyNftId, // policy to be renewd (renewal inherits policy attributes)
148
- NftId bundleNftId // will likely need a newer bundle for underwriting
149
- )
150
- external
151
- virtual override
152
- returns (NftId applicationNftId)
153
- {
154
-
155
- }
156
-
157
-
158
- function adjust(
159
- NftId applicationNftId,
160
- RiskId riskId,
161
- NftId bundleNftId,
162
- ReferralId referralId,
163
- uint256 sumInsuredAmount,
164
- uint256 lifetime,
165
- bytes memory applicationData
166
- )
167
- external
168
- virtual override
169
- {
170
-
171
- }
172
-
173
- function revoke(NftId applicationNftId)
174
- external
175
- virtual override
176
- {
177
- (,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
178
- instance.updateApplicationState(applicationNftId, REVOKED());
179
- }
180
-
181
- // TODO: maybe move this to a pricing service later
182
- function calculatePremium(
183
- NftId productNftId,
184
- RiskId riskId,
185
- uint256 sumInsuredAmount,
186
- Seconds lifetime,
187
- bytes memory applicationData,
188
- NftId bundleNftId,
189
- ReferralId referralId
190
- )
191
- public
192
- view
193
- virtual override
194
- returns (
195
- IPolicy.Premium memory premium
196
- )
197
- {
198
- uint256 netPremiumAmount = _getAndVerifyProduct(productNftId).calculateNetPremium(
199
- sumInsuredAmount,
200
- riskId,
201
- lifetime,
202
- applicationData
203
- );
204
-
205
- premium = _getFixedFeeAmounts(
206
- netPremiumAmount,
207
- _getAndVerifyProduct(productNftId),
208
- bundleNftId,
209
- referralId
210
- );
211
-
212
- (
213
- premium
214
- ) = _calculateVariableFeeAmounts(
215
- premium,
216
- _getAndVerifyProduct(productNftId),
217
- bundleNftId,
218
- referralId
219
- );
220
- }
221
-
222
-
223
- // internal functions
224
- function _getFixedFeeAmounts(
225
- uint256 netPremiumAmount,
226
- Product product,
227
- NftId bundleNftId,
228
- ReferralId referralId
229
- )
230
- internal
231
- view
232
- returns (
233
- IPolicy.Premium memory premium
234
- )
235
- {
236
- InstanceReader instanceReader;
237
- {
238
- IInstance instance = product.getInstance();
239
- instanceReader = instance.getInstanceReader();
240
- }
241
-
242
- NftId poolNftId = product.getPoolNftId();
243
- premium = IPolicy.Premium(
244
- netPremiumAmount, // net premium
245
- netPremiumAmount, // full premium
246
- 0, // premium
247
- 0, 0, 0, 0, // fix fees
248
- 0, 0, 0, 0, // variable fees
249
- 0, 0, 0, 0); // distribution owner fee/commission/discount
250
-
251
- {
252
- {
253
- ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(product.getProductNftId());
254
- uint256 t = productSetupInfo.productFee.fixedFee;
255
- premium.productFeeFixAmount = t;
256
- premium.fullPremiumAmount += t;
257
- }
258
- {
259
- bytes memory componentData = instanceReader.getComponentInfo(poolNftId).data;
260
- uint256 t = abi.decode(componentData, (IComponents.PoolInfo)).poolFee.fixedFee;
261
- premium.poolFeeFixAmount = t;
262
- premium.fullPremiumAmount += t;
263
- }
264
- {
265
- IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
266
- if(bundleInfo.poolNftId != poolNftId) {
267
- revert ErrorApplicationServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, poolNftId);
268
- }
269
- uint256 t = bundleInfo.fee.fixedFee;
270
- premium.bundleFeeFixAmount = t;
271
- premium.fullPremiumAmount += t;
272
- }
273
- {
274
- ISetup.DistributionSetupInfo memory distInto = instanceReader.getDistributionSetupInfo(product.getDistributionNftId());
275
- uint256 t = distInto.distributionFee.fixedFee;
276
- premium.distributionFeeFixAmount = t;
277
- premium.fullPremiumAmount += t;
278
- }
279
- }
280
-
281
- }
282
-
283
- function _calculateVariableFeeAmounts(
284
- IPolicy.Premium memory premium,
285
- Product product,
286
- NftId bundleNftId,
287
- ReferralId referralId
288
- )
289
- internal
290
- view
291
- returns (
292
- IPolicy.Premium memory finalPremium
293
- )
294
- {
295
- InstanceReader instanceReader;
296
- {
297
- IInstance instance = product.getInstance();
298
- instanceReader = instance.getInstanceReader();
299
- }
300
-
301
- NftId poolNftId = product.getPoolNftId();
302
- uint256 netPremiumAmount = premium.netPremiumAmount;
303
-
304
- {
305
- {
306
- ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(product.getProductNftId());
307
- uint256 t = (UFixedLib.toUFixed(netPremiumAmount) * productSetupInfo.productFee.fractionalFee).toInt();
308
- premium.productFeeVarAmount = t;
309
- premium.fullPremiumAmount += t;
310
- }
311
- {
312
- bytes memory componentData = instanceReader.getComponentInfo(poolNftId).data;
313
- UFixed poolFractionalFee = abi.decode(componentData, (IComponents.PoolInfo)).poolFee.fractionalFee;
314
- uint256 t = (UFixedLib.toUFixed(netPremiumAmount) * poolFractionalFee).toInt();
315
- premium.poolFeeVarAmount = t;
316
- premium.fullPremiumAmount += t;
317
- }
318
- {
319
- IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
320
- if(bundleInfo.poolNftId != poolNftId) {
321
- revert ErrorApplicationServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, poolNftId);
322
- }
323
- uint256 t = (UFixedLib.toUFixed(netPremiumAmount) * bundleInfo.fee.fractionalFee).toInt();
324
- premium.bundleFeeVarAmount = t;
325
- premium.fullPremiumAmount += t;
326
- }
327
- {
328
- premium = _distributionService.calculateFeeAmount(
329
- product.getDistributionNftId(),
330
- referralId,
331
- premium
332
- );
333
- }
334
- }
335
-
336
- return premium;
337
- }
338
-
339
-
340
- function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
341
- IRegistry.ObjectInfo memory productInfo;
342
- (, productInfo,) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
343
- product = Product(productInfo.objectAddress);
344
- }
345
-
346
- function _getAndVerifyProduct(NftId productNftId) internal view returns (Product product) {
347
- IRegistry registry = getRegistry();
348
- IRegistry.ObjectInfo memory productInfo = registry.getObjectInfo(productNftId);
349
-
350
- if(productInfo.objectType != PRODUCT()) {
351
- revert ErrorApplicationServiceNotProduct(productNftId, productInfo.objectType);
352
- }
353
-
354
- product = Product(productInfo.objectAddress);
355
- }
356
- }