@etherisc/gif-next 0.0.2-ef2f083-203 → 0.0.2-efd035d-094

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 (585) hide show
  1. package/README.md +72 -14
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1416 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1349 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +818 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +975 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +814 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +537 -309
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +343 -173
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +530 -3074
  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 +726 -308
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +536 -310
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +360 -94
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3642 -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/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +91 -2
  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 +256 -0
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -112
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  44. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  45. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  47. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  48. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  49. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  50. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  51. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
  52. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  53. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +718 -0
  54. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  55. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → oracle/IOracleService.sol/IOracleService.json} +269 -174
  56. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1133 -0
  58. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +868 -0
  60. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  61. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +714 -0
  62. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  63. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
  64. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  66. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  67. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +297 -358
  68. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  69. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
  70. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  71. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
  72. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  73. package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
  74. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  75. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1432 -0
  76. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  77. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
  78. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  79. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +834 -0
  80. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  81. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  82. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  83. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
  84. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  85. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
  86. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  87. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +233 -200
  88. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  89. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  90. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  91. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +707 -0
  92. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  93. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +259 -284
  94. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  95. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  96. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  97. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → product/IProductService.sol/IProductService.json} +147 -87
  98. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  99. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
  100. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  101. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
  102. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  103. package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
  104. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -0
  106. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  107. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  108. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  109. package/artifacts/contracts/product/ProductService.sol/ProductService.json +679 -0
  110. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
  112. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  113. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  114. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +371 -218
  116. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  117. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +448 -191
  118. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  119. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  120. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  121. package/artifacts/contracts/registry/Registry.sol/Registry.json +577 -294
  122. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  123. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
  124. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +515 -337
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +328 -144
  128. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  129. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1292 -0
  130. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  131. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  132. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  133. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +351 -100
  134. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  135. package/artifacts/contracts/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → shared/AccessManagerCustom.sol/AccessManagerCustom.json} +122 -11
  136. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  137. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  138. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  139. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  140. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  142. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  144. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  145. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  146. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  147. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1490 -0
  148. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +792 -0
  150. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  151. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +225 -180
  152. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  153. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  154. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  155. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  156. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  157. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  158. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  159. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  160. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  161. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +867 -0
  162. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  163. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  164. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
  166. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  168. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  170. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  171. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  172. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  174. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  175. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  176. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IService.sol/IService.json +88 -176
  178. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  180. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  181. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  182. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  183. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  184. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  185. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  186. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  187. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  188. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  189. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  190. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  191. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +115 -29
  192. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  193. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  194. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  195. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +330 -62
  196. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  197. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
  198. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  199. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  200. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  201. package/artifacts/contracts/shared/Service.sol/Service.json +191 -165
  202. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  203. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  204. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  205. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  206. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  207. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  208. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  209. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  210. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  211. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  212. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  213. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  214. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  215. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  216. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  217. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  218. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  219. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  220. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  222. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  223. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  224. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  225. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  226. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  227. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  228. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  229. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  230. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  231. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  232. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  234. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  236. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  237. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  238. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  239. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  240. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  241. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  242. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  244. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  245. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  246. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +105 -0
  248. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  250. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  252. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  254. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  255. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  256. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  257. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  258. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  260. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  261. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  262. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  263. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  264. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  265. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  266. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  267. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  268. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  269. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  270. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  271. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  272. package/contracts/distribution/Distribution.sol +261 -0
  273. package/contracts/distribution/DistributionService.sol +298 -0
  274. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  275. package/contracts/distribution/IDistributionComponent.sol +66 -0
  276. package/contracts/distribution/IDistributionService.sol +81 -0
  277. package/contracts/instance/BundleManager.sol +126 -0
  278. package/contracts/instance/IInstance.sol +68 -19
  279. package/contracts/instance/IInstanceService.sol +64 -13
  280. package/contracts/instance/Instance.sol +157 -364
  281. package/contracts/instance/InstanceAdmin.sol +331 -0
  282. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  283. package/contracts/instance/InstanceReader.sol +172 -72
  284. package/contracts/instance/InstanceService.sol +301 -97
  285. package/contracts/instance/InstanceServiceManager.sol +12 -24
  286. package/contracts/instance/InstanceStore.sol +281 -0
  287. package/contracts/instance/base/BalanceStore.sol +118 -0
  288. package/contracts/instance/base/Cloneable.sol +51 -0
  289. package/contracts/instance/base/ObjectCounter.sol +21 -0
  290. package/contracts/instance/base/ObjectManager.sol +82 -0
  291. package/contracts/instance/module/IAccess.sol +29 -21
  292. package/contracts/instance/module/IBundle.sol +8 -7
  293. package/contracts/instance/module/IComponents.sol +52 -0
  294. package/contracts/instance/module/IDistribution.sol +7 -4
  295. package/contracts/instance/module/IPolicy.sol +56 -17
  296. package/contracts/instance/module/IRisk.sol +1 -1
  297. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  298. package/contracts/oracle/IOracle.sol +20 -0
  299. package/contracts/oracle/IOracleComponent.sol +16 -0
  300. package/contracts/oracle/IOracleService.sol +42 -0
  301. package/contracts/oracle/Oracle.sol +122 -0
  302. package/contracts/oracle/OracleService.sol +191 -0
  303. package/contracts/oracle/OracleServiceManager.sol +42 -0
  304. package/contracts/pool/BundleService.sol +296 -0
  305. package/contracts/pool/BundleServiceManager.sol +42 -0
  306. package/contracts/pool/IBundleService.sol +106 -0
  307. package/contracts/pool/IPoolComponent.sol +112 -0
  308. package/contracts/pool/IPoolService.sol +150 -0
  309. package/contracts/pool/Pool.sol +299 -0
  310. package/contracts/pool/PoolService.sol +453 -0
  311. package/contracts/pool/PoolServiceManager.sol +42 -0
  312. package/contracts/product/ApplicationService.sol +254 -0
  313. package/contracts/product/ApplicationServiceManager.sol +38 -0
  314. package/contracts/product/ClaimService.sol +442 -0
  315. package/contracts/product/ClaimServiceManager.sol +38 -0
  316. package/contracts/product/IApplicationService.sol +62 -0
  317. package/contracts/product/IClaimService.sol +93 -0
  318. package/contracts/product/IPolicyService.sol +78 -0
  319. package/contracts/product/IPricingService.sol +39 -0
  320. package/contracts/product/IProductComponent.sol +42 -0
  321. package/contracts/product/IProductService.sol +33 -0
  322. package/contracts/product/PolicyService.sol +475 -0
  323. package/contracts/product/PolicyServiceManager.sol +42 -0
  324. package/contracts/product/PricingService.sol +301 -0
  325. package/contracts/product/PricingServiceManager.sol +42 -0
  326. package/contracts/product/Product.sol +377 -0
  327. package/contracts/product/ProductService.sol +124 -0
  328. package/contracts/product/ProductServiceManager.sol +42 -0
  329. package/contracts/registry/ChainNft.sol +15 -0
  330. package/contracts/registry/IRegistry.sol +75 -45
  331. package/contracts/registry/IRegistryService.sol +52 -16
  332. package/contracts/registry/ITransferInterceptor.sol +1 -0
  333. package/contracts/registry/Registry.sol +368 -281
  334. package/contracts/registry/RegistryAdmin.sol +237 -0
  335. package/contracts/registry/RegistryService.sol +124 -257
  336. package/contracts/registry/RegistryServiceManager.sol +24 -46
  337. package/contracts/registry/ReleaseManager.sol +599 -0
  338. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  339. package/contracts/registry/TokenRegistry.sol +261 -57
  340. package/contracts/{instance/AccessManagerSimple.sol → shared/AccessManagerCustom.sol} +276 -232
  341. package/contracts/shared/AccessManagerExtended.sol +470 -0
  342. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  343. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  344. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  345. package/contracts/shared/Component.sol +281 -0
  346. package/contracts/shared/ComponentService.sol +618 -0
  347. package/contracts/shared/ComponentServiceManager.sol +35 -0
  348. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  349. package/contracts/shared/ERC165.sol +15 -13
  350. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  351. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  352. package/contracts/shared/IComponent.sol +70 -0
  353. package/contracts/shared/IComponentService.sol +102 -0
  354. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  355. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  356. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  357. package/contracts/shared/INftOwnable.sol +13 -12
  358. package/contracts/shared/IPolicyHolder.sol +45 -0
  359. package/contracts/shared/IRegisterable.sol +4 -6
  360. package/contracts/shared/IRegistryLinked.sol +11 -0
  361. package/contracts/shared/IService.sol +8 -5
  362. package/contracts/shared/IVersionable.sol +5 -48
  363. package/contracts/shared/InitializableCustom.sol +177 -0
  364. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  365. package/contracts/shared/KeyValueStore.sol +127 -0
  366. package/contracts/{instance/base → shared}/Lifecycle.sol +35 -7
  367. package/contracts/shared/NftIdSetManager.sol +65 -0
  368. package/contracts/shared/NftOwnable.sol +60 -89
  369. package/contracts/shared/PolicyHolder.sol +102 -0
  370. package/contracts/shared/ProxyManager.sol +131 -26
  371. package/contracts/shared/Registerable.sol +26 -41
  372. package/contracts/shared/RegistryLinked.sol +43 -0
  373. package/contracts/shared/Service.sol +47 -24
  374. package/contracts/shared/TokenHandler.sol +37 -6
  375. package/contracts/shared/Versionable.sol +4 -92
  376. package/contracts/staking/IStaking.sol +168 -0
  377. package/contracts/staking/IStakingService.sol +149 -0
  378. package/contracts/staking/StakeManagerLib.sol +179 -0
  379. package/contracts/staking/Staking.sol +551 -0
  380. package/contracts/staking/StakingManager.sol +54 -0
  381. package/contracts/staking/StakingReader.sol +187 -0
  382. package/contracts/staking/StakingService.sol +406 -0
  383. package/contracts/staking/StakingServiceManager.sol +45 -0
  384. package/contracts/staking/StakingStore.sol +572 -0
  385. package/contracts/staking/TargetManagerLib.sol +207 -0
  386. package/contracts/{types → type}/AddressSet.sol +1 -1
  387. package/contracts/type/Amount.sol +128 -0
  388. package/contracts/{types → type}/Blocknumber.sol +21 -3
  389. package/contracts/type/ClaimId.sol +75 -0
  390. package/contracts/{types → type}/DistributorType.sol +2 -2
  391. package/contracts/{types → type}/Fee.sol +33 -23
  392. package/contracts/{types → type}/NftId.sol +21 -15
  393. package/contracts/type/NftIdSet.sol +62 -0
  394. package/contracts/{types → type}/ObjectType.sol +32 -16
  395. package/contracts/type/PayoutId.sol +82 -0
  396. package/contracts/{types → type}/Referral.sol +5 -1
  397. package/contracts/type/RequestId.sol +75 -0
  398. package/contracts/{types → type}/RiskId.sol +1 -1
  399. package/contracts/type/RoleId.sol +146 -0
  400. package/contracts/type/Seconds.sol +81 -0
  401. package/contracts/{types → type}/StateId.sol +30 -4
  402. package/contracts/{types → type}/Timestamp.sol +18 -13
  403. package/contracts/{types → type}/UFixed.sol +1 -0
  404. package/contracts/{types → type}/Version.sol +2 -1
  405. package/package.json +3 -3
  406. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  407. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  408. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -670
  409. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  410. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  411. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  412. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -204
  413. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  414. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  415. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  416. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  417. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  418. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -790
  419. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  420. package/artifacts/contracts/components/Product.sol/Product.json +0 -775
  421. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  422. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  423. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  424. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  425. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  426. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  427. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  428. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  429. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  430. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  431. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  432. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  433. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  434. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  435. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  436. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  437. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  438. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  439. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  440. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  441. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  442. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  443. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  444. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  445. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  446. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  447. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  448. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  449. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  450. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  451. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  452. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  453. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  454. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  455. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  456. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  457. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  458. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  459. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  460. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  461. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  462. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  463. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  464. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  465. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  466. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  467. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  468. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  469. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  470. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  471. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  472. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  473. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  474. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  475. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  476. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  477. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  478. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  479. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  480. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -641
  481. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  482. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -428
  483. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  484. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  485. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  486. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  487. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  488. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  489. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  490. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  491. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  492. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  493. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  494. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  495. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  496. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  497. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  498. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  499. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  500. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  501. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  502. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  503. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  504. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  505. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  506. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  507. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  508. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  510. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  511. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  512. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  513. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  514. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  515. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  516. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  517. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  518. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  519. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  520. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  521. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  522. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  523. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  524. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  525. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  526. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  527. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  528. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  529. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  530. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  531. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  532. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  533. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  534. package/contracts/components/BaseComponent.sol +0 -91
  535. package/contracts/components/Distribution.sol +0 -166
  536. package/contracts/components/IBaseComponent.sol +0 -25
  537. package/contracts/components/IDistributionComponent.sol +0 -46
  538. package/contracts/components/IPoolComponent.sol +0 -62
  539. package/contracts/components/IProductComponent.sol +0 -35
  540. package/contracts/components/Pool.sol +0 -258
  541. package/contracts/components/Product.sol +0 -297
  542. package/contracts/experiment/cloning/Cloner.sol +0 -47
  543. package/contracts/experiment/errors/Require.sol +0 -38
  544. package/contracts/experiment/errors/Revert.sol +0 -44
  545. package/contracts/experiment/inheritance/A.sol +0 -53
  546. package/contracts/experiment/inheritance/B.sol +0 -28
  547. package/contracts/experiment/inheritance/C.sol +0 -34
  548. package/contracts/experiment/inheritance/IA.sol +0 -13
  549. package/contracts/experiment/inheritance/IB.sol +0 -10
  550. package/contracts/experiment/inheritance/IC.sol +0 -12
  551. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  552. package/contracts/experiment/statemachine/ISM.sol +0 -25
  553. package/contracts/experiment/statemachine/SM.sol +0 -57
  554. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  555. package/contracts/experiment/types/TypeA.sol +0 -47
  556. package/contracts/experiment/types/TypeB.sol +0 -29
  557. package/contracts/instance/AccessManagedSimple.sol +0 -115
  558. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  559. package/contracts/instance/InstanceAccessManager.sol +0 -288
  560. package/contracts/instance/base/ComponentServiceBase.sol +0 -39
  561. package/contracts/instance/base/IInstanceBase.sol +0 -23
  562. package/contracts/instance/base/KeyValueStore.sol +0 -172
  563. package/contracts/instance/module/ISetup.sol +0 -43
  564. package/contracts/instance/module/ITreasury.sol +0 -23
  565. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  566. package/contracts/instance/service/DistributionService.sol +0 -96
  567. package/contracts/instance/service/DistributionServiceManager.sol +0 -53
  568. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  569. package/contracts/instance/service/IDistributionService.sol +0 -12
  570. package/contracts/instance/service/IPoolService.sol +0 -37
  571. package/contracts/instance/service/IProductService.sol +0 -107
  572. package/contracts/shared/ContractDeployerLib.sol +0 -72
  573. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  574. package/contracts/test/TestFee.sol +0 -25
  575. package/contracts/test/TestRegisterable.sol +0 -18
  576. package/contracts/test/TestRoleId.sol +0 -14
  577. package/contracts/test/TestService.sol +0 -24
  578. package/contracts/test/TestToken.sol +0 -26
  579. package/contracts/test/TestVersion.sol +0 -44
  580. package/contracts/test/TestVersionable.sol +0 -17
  581. package/contracts/types/ChainId.sol +0 -38
  582. package/contracts/types/NftIdSet.sol +0 -60
  583. package/contracts/types/NumberId.sol +0 -52
  584. package/contracts/types/RoleId.sol +0 -88
  585. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,39 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IRegistryService} from "../../registry/IRegistryService.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {ObjectType, INSTANCE, PRODUCT, POOL} from "../../types/ObjectType.sol";
8
- import {NftId, NftIdLib} from "../../types/NftId.sol";
9
-
10
- import {Service} from "../../shared/Service.sol";
11
- import {Version, VersionPart, VersionLib} from "../../types/Version.sol";
12
-
13
- abstract contract ComponentServiceBase is Service {
14
-
15
- function _getAndVerifyComponentInfoAndInstance(
16
- ObjectType objectType
17
- )
18
- internal
19
- view
20
- returns(
21
- IRegistry.ObjectInfo memory info,
22
- IInstance instance
23
- )
24
- {
25
- NftId componentNftId = _registry.getNftId(msg.sender);
26
- require(componentNftId.gtz(), "ERROR_COMPONENT_UNKNOWN");
27
-
28
- info = getRegistry().getObjectInfo(componentNftId);
29
- require(info.objectType == objectType, "OBJECT_TYPE_INVALID");
30
-
31
- address instanceAddress = getRegistry().getObjectInfo(info.parentNftId).objectAddress;
32
- instance = IInstance(instanceAddress);
33
- }
34
-
35
- function getRegistryService() public view virtual returns (IRegistryService) {
36
- address service = getRegistry().getServiceAddress("RegistryService", getMajorVersion());
37
- return IRegistryService(service);
38
- }
39
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Key32} from "../../types/Key32.sol";
5
- import {StateId} from "../../types/StateId.sol";
6
-
7
- import {IKeyValueStore} from "./IKeyValueStore.sol";
8
-
9
- import {IComponentOwnerService} from "../service/IComponentOwnerService.sol";
10
- import {IDistributionService} from "../service/IDistributionService.sol";
11
- import {IProductService} from "../service/IProductService.sol";
12
- import {IPoolService} from "../service/IPoolService.sol";
13
-
14
- interface IInstanceBase {
15
- function getKeyValueStore() external view returns (IKeyValueStore keyValueStore);
16
- function updateState(Key32 key, StateId state) external;
17
- function getState(Key32 key) external view returns (StateId state);
18
-
19
- function getComponentOwnerService() external view returns(IComponentOwnerService);
20
- function getDistributionService() external view returns(IDistributionService);
21
- function getProductService() external view returns(IProductService service);
22
- function getPoolService() external view returns(IPoolService service);
23
- }
@@ -1,172 +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} 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
- _create(key32, data);
25
- }
26
-
27
- function _create(
28
- Key32 key32,
29
- bytes memory data
30
- )
31
- internal
32
- {
33
- ObjectType objectType = key32.toObjectType();
34
- require(objectType.gtz(), "ERROR:KVS-010:TYPE_UNDEFINED");
35
-
36
- Metadata storage metadata = _value[key32].metadata;
37
- require(metadata.state.eqz(), "ERROR:KVS-012:ALREADY_CREATED");
38
-
39
- address createdBy = msg.sender;
40
- Blocknumber blocknumber = blockBlocknumber();
41
- StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
42
-
43
- // set metadata
44
- metadata.objectType = objectType;
45
- metadata.state = initialState;
46
- metadata.updatedBy = createdBy;
47
- metadata.updatedIn = blocknumber;
48
- metadata.createdIn = blocknumber;
49
-
50
- // set data
51
- _value[key32].data = data;
52
-
53
- // solhint-disable-next-line avoid-tx-origin
54
- emit LogInfoCreated(key32.toObjectType(), key32.toKeyId(), initialState, createdBy, tx.origin);
55
- }
56
-
57
- function update(
58
- Key32 key32,
59
- bytes memory data,
60
- StateId state
61
- )
62
- internal
63
- {
64
- _update(key32, data, state);
65
- }
66
-
67
- function _update(
68
- Key32 key32,
69
- bytes memory data,
70
- StateId state
71
- )
72
- internal
73
- {
74
- require(state.gtz(), "ERROR:KVS-020:STATE_UNDEFINED");
75
- Metadata storage metadata = _value[key32].metadata;
76
- StateId stateOld = metadata.state;
77
- require(stateOld.gtz(), "ERROR:KVS-021:NOT_EXISTING");
78
-
79
- // update data
80
- _value[key32].data = data;
81
-
82
- // update metadata (and state)
83
- address updatedBy = msg.sender;
84
- Blocknumber lastUpdatedIn = metadata.updatedIn;
85
- metadata.state = state;
86
- metadata.updatedBy = updatedBy;
87
- metadata.updatedIn = blockBlocknumber();
88
-
89
- // create log entries
90
- // solhint-disable avoid-tx-origin
91
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
92
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
93
- // solhing-enable
94
- }
95
-
96
- function updateData(Key32 key32, bytes memory data)
97
- internal
98
- {
99
- _updateData(key32, data);
100
- }
101
-
102
- function _updateData(Key32 key32, bytes memory data)
103
- internal
104
- {
105
- Metadata storage metadata = _value[key32].metadata;
106
- StateId state = metadata.state;
107
- require(state.gtz(), "ERROR:KVS-030:NOT_EXISTING");
108
-
109
- // update data
110
- _value[key32].data = data;
111
-
112
- // update metadata
113
- address updatedBy = msg.sender;
114
- Blocknumber lastUpdatedIn = metadata.updatedIn;
115
- metadata.updatedBy = updatedBy;
116
- metadata.updatedIn = blockBlocknumber();
117
-
118
- // create log entry
119
- // solhint-disable-next-line avoid-tx-origin
120
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
121
- }
122
-
123
- function updateState(Key32 key32, StateId state)
124
- internal
125
- {
126
- _updateState(key32, state);
127
- }
128
-
129
- function _updateState(Key32 key32, StateId state)
130
- internal
131
- {
132
- require(state.gtz(), "ERROR:KVS-040:STATE_UNDEFINED");
133
- Metadata storage metadata = _value[key32].metadata;
134
- StateId stateOld = metadata.state;
135
- require(stateOld.gtz(), "ERROR:KVS-041:NOT_EXISTING");
136
-
137
- // update metadata (and state)
138
- address updatedBy = msg.sender;
139
- Blocknumber lastUpdatedIn = metadata.updatedIn;
140
- metadata.state = state;
141
- metadata.updatedBy = updatedBy;
142
- metadata.updatedIn = blockBlocknumber();
143
-
144
- // create log entry
145
- // solhint-disable-next-line avoid-tx-origin
146
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
147
- }
148
-
149
- function exists(Key32 key32) public view returns (bool) {
150
- return _value[key32].metadata.state.gtz();
151
- }
152
-
153
- function get(Key32 key32) public view returns (Value memory value) {
154
- return _value[key32];
155
- }
156
-
157
- function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
158
- return _value[key32].metadata;
159
- }
160
-
161
- function getData(Key32 key32) public view returns (bytes memory data) {
162
- return _value[key32].data;
163
- }
164
-
165
- function getState(Key32 key32) public view returns (StateId state) {
166
- return _value[key32].metadata.state;
167
- }
168
-
169
- function toKey32(ObjectType objectType, KeyId id) external pure override returns(Key32) {
170
- return Key32Lib.toKey32(objectType, id);
171
- }
172
- }
@@ -1,43 +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 {UFixed} from "../../types/UFixed.sol";
9
- import {TokenHandler} from "../../shared/TokenHandler.sol";
10
-
11
- interface ISetup {
12
- struct ProductSetupInfo {
13
- IERC20Metadata token;
14
- TokenHandler tokenHandler;
15
- NftId distributionNftId;
16
- NftId poolNftId;
17
- Fee distributionFee; // default distribution fee (no referral id)
18
- Fee productFee; // product fee on net premium
19
- Fee processingFee; // product fee on payout amounts
20
- Fee poolFee; // pool fee on net premium
21
- Fee stakingFee; // pool fee on staked capital from investor
22
- Fee performanceFee; // pool fee on profits from capital investors
23
- }
24
-
25
- struct DistributionSetupInfo {
26
- NftId productNftId;
27
- TokenHandler tokenHandler;
28
- Fee distributionFee; // default distribution fee (no referral id)
29
- bool isIntercepting; // intercepts nft transfers (for distributors)
30
- address wallet;
31
- }
32
-
33
- struct PoolSetupInfo {
34
- NftId productNftId;
35
- TokenHandler tokenHandler;
36
- UFixed collateralizationLevel;
37
- Fee poolFee; // pool fee on net premium
38
- Fee stakingFee; // pool fee on staked capital from investor
39
- Fee performanceFee; // pool fee on profits from capital investors
40
- bool isIntercepting; // intercepts nft transfers (for bundles)
41
- address wallet;
42
- }
43
- }
@@ -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,317 +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 {IRegistry} from "../../registry/IRegistry.sol";
7
- import {IInstance} from "../IInstance.sol";
8
-
9
- import {ITreasury} from "../module/ITreasury.sol";
10
- // import {TreasuryModule} from "../module/TreasuryModule.sol";
11
- import {ISetup} from "../module/ISetup.sol";
12
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
13
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
14
- import {IKeyValueStore} from "../../instance/base/IKeyValueStore.sol";
15
- import {IVersionable} from "../../shared/IVersionable.sol";
16
- import {Versionable} from "../../shared/Versionable.sol";
17
-
18
- import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../types/RoleId.sol";
19
- import {ObjectType, TOKEN, COMPONENT, PRODUCT, ORACLE, POOL, DISTRIBUTION} from "../../types/ObjectType.sol";
20
- import {StateId, ACTIVE, PAUSED} from "../../types/StateId.sol";
21
- import {Key32} from "../../types/Key32.sol";
22
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
23
- import {Fee} from "../../types/Fee.sol";
24
- import {Version, VersionLib} from "../../types/Version.sol";
25
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
26
-
27
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
28
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
29
- import {IProductComponent} from "../../components/IProductComponent.sol";
30
- import {IService} from "../../shared/IService.sol";
31
- import {IComponentOwnerService} from "./IComponentOwnerService.sol";
32
- import {Service} from "../../shared/Service.sol";
33
- // import {IPool, IPoolModule} from "../module/IPoolModule.sol";
34
-
35
- import {IRegistryService} from "../../registry/IRegistryService.sol";
36
-
37
- contract ComponentOwnerService is
38
- Service,
39
- IComponentOwnerService
40
- {
41
- using NftIdLib for NftId;
42
-
43
- error MissingTypeRole();
44
- error WalletIsZero();
45
- error InvalidToken();
46
- error InvalidPool();
47
- error InvalidDistribution();
48
- error InvalidPoolsInstance();
49
- error InvalidDistributionsInstance();
50
-
51
- error CollateralizationLevelIsZero();
52
-
53
- string public constant NAME = "ComponentOwnerService";
54
-
55
- modifier onlyRegisteredComponent(IBaseComponent component) {
56
- NftId nftId = getRegistry().getNftId(address(component));
57
- require(nftId.gtz(), "ERROR:COS-001:COMPONENT_UNKNOWN");
58
- _;
59
- }
60
-
61
- constructor(
62
- address registry,
63
- NftId registryNftId,
64
- address initialOwner
65
- )
66
- {
67
- _initializeService(registry, initialOwner);
68
- _registerInterface(type(IComponentOwnerService).interfaceId);
69
- }
70
-
71
- function getName() public pure override(IService, Service) returns(string memory name) {
72
- return NAME;
73
- }
74
-
75
- function getRoleForType(
76
- ObjectType cType
77
- ) public pure override returns (RoleId role) {
78
- if (cType == PRODUCT()) {
79
- return PRODUCT_OWNER_ROLE();
80
- }
81
- if (cType == POOL()) {
82
- return POOL_OWNER_ROLE();
83
- }
84
- if (cType == DISTRIBUTION()) {
85
- return DISTRIBUTION_OWNER_ROLE();
86
- }
87
- if (cType == ORACLE()) {
88
- return ORACLE_OWNER_ROLE();
89
- }
90
- }
91
-
92
- function getRegistryService() public view virtual returns (IRegistryService) {
93
- address service = getRegistry().getServiceAddress("RegistryService", getMajorVersion());
94
- return IRegistryService(service);
95
- }
96
-
97
- function registerProduct(
98
- IBaseComponent product
99
- ) external returns (NftId nftId) {
100
-
101
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
102
- (
103
- IRegistry.ObjectInfo memory info,
104
- bytes memory data
105
- ) = getRegistryService().registerProduct(
106
- product,
107
- msg.sender);
108
-
109
- NftId instanceNftId = info.parentNftId;
110
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
111
- IInstance instance = IInstance(instanceAddress);
112
-
113
- RoleId typeRole = getRoleForType(PRODUCT());
114
- // TODO refactor to use access manager infra
115
- // if(instance.hasRole(typeRole, msg.sender) == false) {
116
- // revert MissingTypeRole();
117
- // }
118
-
119
- _registerProduct(
120
- info.nftId,
121
- instanceNftId,
122
- instance,
123
- data
124
- );
125
- }
126
-
127
- function registerPool(
128
- IBaseComponent pool
129
- ) external returns (NftId nftId) {
130
-
131
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
132
- (
133
- IRegistry.ObjectInfo memory info,
134
- bytes memory data
135
- ) = getRegistryService().registerPool(
136
- pool,
137
- msg.sender);
138
-
139
- NftId instanceNftId = info.parentNftId;
140
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
141
- IInstance instance = IInstance(instanceAddress);
142
-
143
- RoleId typeRole = getRoleForType(POOL());
144
- // TODO refactor to use access manager infra
145
- // if(instance.hasRole(typeRole, msg.sender) == false) {
146
- // revert MissingTypeRole();
147
- // }
148
-
149
- _registerPool(
150
- info.nftId,
151
- instanceNftId,
152
- instance,
153
- data
154
- );
155
- }
156
-
157
- function registerDistribution(
158
- IBaseComponent distribution
159
- ) external returns (NftId nftId) {
160
-
161
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
162
- (
163
- IRegistry.ObjectInfo memory info,
164
- bytes memory data
165
- ) = getRegistryService().registerDistribution(
166
- distribution,
167
- msg.sender);
168
-
169
- NftId instanceNftId = info.parentNftId;
170
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
171
- IInstance instance = IInstance(instanceAddress);
172
-
173
- RoleId typeRole = getRoleForType(DISTRIBUTION());
174
- // TODO refactor to use access manager infra
175
- // if(instance.hasRole(typeRole, msg.sender) == false) {
176
- // revert MissingTypeRole();
177
- // }
178
- }
179
-
180
- function lock(
181
- IBaseComponent component
182
- ) external override onlyRegisteredComponent(component) {
183
- // TODO use msg.sender to get component and get instance via registered parent nft id
184
- IInstance instance = component.getInstance();
185
- NftId nftId = component.getNftId();
186
- Key32 key = nftId.toKey32(COMPONENT());
187
- // instance.updateState(key, PAUSED());
188
- }
189
-
190
- function unlock(
191
- IBaseComponent component
192
- ) external override onlyRegisteredComponent(component) {
193
- // TODO use msg.sender to get component and get instance via registered parent nft id
194
- IInstance instance = component.getInstance();
195
- NftId nftId = component.getNftId();
196
- Key32 key = nftId.toKey32(COMPONENT());
197
- // instance.updateState(key, ACTIVE());
198
- }
199
-
200
- // Internals
201
-
202
- function _registerProduct(
203
- NftId nftId,
204
- NftId instanceNftId,
205
- IInstance instance,
206
- bytes memory data
207
- )
208
- internal
209
- {
210
- // TODO change treasury info to product setup info
211
- (ISetup.ProductSetupInfo memory info) = abi.decode(data, (ISetup.ProductSetupInfo));
212
- // (
213
- // ITreasury.TreasuryInfo memory info,
214
- // address wallet
215
- // ) = abi.decode(data, (ITreasury.TreasuryInfo, address));
216
-
217
- // IRegistry _registry = getRegistry();
218
-
219
- // if(wallet == address(0)) {
220
- // revert WalletIsZero();
221
- // }
222
-
223
- // IRegistry.ObjectInfo memory tokenInfo = _registry.getObjectInfo(address(info.token));
224
-
225
- // if(tokenInfo.objectType != TOKEN()) {
226
- // revert InvalidToken();
227
- // }
228
-
229
- // IRegistry.ObjectInfo memory poolInfo = _registry.getObjectInfo(info.poolNftId);
230
-
231
- // if(poolInfo.objectType != POOL()) {
232
- // revert InvalidPool();
233
- // }
234
-
235
- // if(poolInfo.parentNftId != instanceNftId) {
236
- // revert InvalidPoolsInstance();
237
- // }
238
- // // TODO pool have the same token
239
- // //ITreasury.PoolSetup memory poolSetup = instance.getPoolSetup(info.poolNftId);
240
- // //require(tokenInfo.objectAddress == address(poolSetup.token), "ERROR:COS-018:PRODUCT_POOL_TOKEN_MISMATCH");
241
- // // TODO pool is not linked
242
-
243
- // IRegistry.ObjectInfo memory distributionInfo = _registry.getObjectInfo(info.distributionNftId);
244
-
245
- // if(distributionInfo.objectType != DISTRIBUTION()) {
246
- // revert InvalidDistribution();
247
- // }
248
-
249
- // if(distributionInfo.parentNftId != instanceNftId) {
250
- // revert InvalidDistributionsInstance();
251
- // }
252
- // // TODO distribution have the same token
253
- // // TODO distribution is not linked
254
-
255
- // // component module
256
- // instance.registerComponent(
257
- // nftId,
258
- // info.token,
259
- // wallet // TODO move wallet into TreasuryInfo?
260
- // );
261
-
262
- // treasury module
263
- instance.createProductSetup(
264
- nftId,
265
- info
266
- );
267
- }
268
-
269
- function _registerPool(
270
- NftId nftId,
271
- NftId instanceNftId,
272
- IInstance instance,
273
- bytes memory data
274
- )
275
- internal
276
- {
277
- (
278
- ISetup.PoolSetupInfo memory info,
279
- address wallet,
280
- IERC20Metadata token,
281
- /*poolFee*/,
282
- /*stakingFee*/,
283
- /*performanceFee*/
284
- ) = abi.decode(data, (ISetup.PoolSetupInfo, address, IERC20Metadata, Fee, Fee, Fee));
285
-
286
- IRegistry _registry = getRegistry();
287
-
288
- if(wallet == address(0)) {
289
- revert WalletIsZero();
290
- }
291
-
292
- ObjectType tokenType = _registry.getObjectInfo(address(token)).objectType;
293
-
294
- if(tokenType != TOKEN()) {
295
- revert InvalidToken();
296
- }
297
-
298
- if(UFixedLib.eqz(info.collateralizationLevel)) {
299
- revert CollateralizationLevelIsZero();
300
- }
301
-
302
- // TODO add more validations
303
-
304
- // // component module
305
- // instance.registerComponent(
306
- // nftId,
307
- // token,
308
- // wallet
309
- // );
310
-
311
- // pool module
312
- instance.createPoolSetup(
313
- nftId,
314
- info
315
- );
316
- }
317
- }