@etherisc/gif-next 0.0.2-c15bb6f-257 → 0.0.2-c17621f-221

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 (676) hide show
  1. package/README.md +121 -18
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +499 -549
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1342 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1012 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1400 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +787 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +906 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +932 -0
  36. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  37. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  38. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  39. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  40. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  41. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  42. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  44. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  45. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  46. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +518 -310
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +447 -170
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +345 -3046
  52. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  54. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  56. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +933 -366
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +521 -300
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +308 -93
  62. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3587 -0
  64. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  66. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +38 -2
  68. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  69. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  70. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  71. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  72. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -112
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  78. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  79. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  80. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  81. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  82. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  83. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  84. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  86. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  88. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  90. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  91. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → oracle/IOracleComponent.sol/IOracleComponent.json} +384 -370
  92. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  94. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  96. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
  98. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
  100. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  101. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  102. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  103. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  104. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1362 -0
  106. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +771 -0
  108. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +907 -0
  110. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  111. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  112. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  113. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  114. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  116. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  117. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1469 -0
  118. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  119. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +695 -0
  120. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +732 -0
  122. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +667 -0
  124. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  125. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  126. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  128. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  129. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1325 -0
  130. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +775 -0
  132. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  133. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → product/IApplicationService.sol/IApplicationService.json} +222 -186
  134. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  135. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  136. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +785 -0
  138. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IPricingService.sol/IPricingService.json} +290 -187
  140. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  141. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +948 -0
  142. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  143. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +125 -191
  144. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  145. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1104 -0
  146. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +715 -0
  148. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  149. package/artifacts/contracts/product/PricingService.sol/PricingService.json +860 -0
  150. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +715 -0
  152. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  153. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  154. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  155. package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
  156. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -0
  158. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  159. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  160. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  161. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +541 -184
  162. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +356 -269
  164. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  165. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  166. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  167. package/artifacts/contracts/registry/Registry.sol/Registry.json +873 -225
  168. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  169. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
  170. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +434 -331
  172. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +289 -144
  174. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  176. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  177. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  178. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  180. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +351 -100
  182. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  183. package/artifacts/contracts/shared/Component.sol/Component.json +685 -0
  184. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1568 -0
  186. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +753 -0
  188. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  189. package/artifacts/contracts/shared/{RegisterableUpgradable.sol/RegisterableUpgradable.json → ComponentVerifyingService.sol/ComponentVerifyingService.json} +144 -159
  190. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → shared/IComponent.sol/IComponent.json} +300 -256
  192. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  194. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  196. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  198. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  199. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  200. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  201. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  202. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  203. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +165 -0
  204. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  206. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  207. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  208. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IService.sol/IService.json +97 -172
  210. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  211. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  212. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  213. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  214. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  215. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  216. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  217. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  218. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  219. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  220. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  221. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  222. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +65 -30
  224. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  225. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +188 -0
  226. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +44 -54
  228. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  229. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  230. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  231. package/artifacts/contracts/shared/Service.sol/Service.json +110 -183
  232. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  233. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +382 -9
  234. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  235. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  236. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  237. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  238. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  239. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  240. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  242. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  243. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  244. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  246. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +714 -0
  248. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  250. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1231 -0
  252. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +667 -0
  254. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  256. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  257. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  258. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  259. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  260. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  262. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  264. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  266. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  268. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  270. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  272. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  274. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  275. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  276. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  278. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  280. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  282. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  284. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  286. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  288. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  290. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  292. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  294. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  296. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  298. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  300. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  302. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  304. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  306. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  308. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  309. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  310. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  311. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +566 -0
  312. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  313. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  314. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  315. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  316. package/contracts/authorization/AccessAdmin.sol +589 -0
  317. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  318. package/contracts/authorization/Authorization.sol +217 -0
  319. package/contracts/authorization/IAccess.sol +48 -0
  320. package/contracts/authorization/IAccessAdmin.sol +136 -0
  321. package/contracts/authorization/IAuthorization.sol +54 -0
  322. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  323. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  324. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  325. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  326. package/contracts/distribution/BasicDistribution.sol +138 -0
  327. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  328. package/contracts/distribution/Distribution.sol +295 -0
  329. package/contracts/distribution/DistributionService.sol +336 -0
  330. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  331. package/contracts/distribution/IDistributionComponent.sol +52 -0
  332. package/contracts/distribution/IDistributionService.sol +101 -0
  333. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  334. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  335. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  336. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  337. package/contracts/instance/BundleSet.sol +126 -0
  338. package/contracts/instance/IInstance.sol +56 -26
  339. package/contracts/instance/IInstanceService.sol +78 -16
  340. package/contracts/instance/Instance.sol +159 -373
  341. package/contracts/instance/InstanceAdmin.sol +285 -0
  342. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  343. package/contracts/instance/InstanceReader.sol +214 -74
  344. package/contracts/instance/InstanceService.sol +408 -102
  345. package/contracts/instance/InstanceServiceManager.sol +13 -29
  346. package/contracts/instance/InstanceStore.sol +287 -0
  347. package/contracts/instance/base/BalanceStore.sol +123 -0
  348. package/contracts/instance/base/Cloneable.sol +28 -0
  349. package/contracts/instance/base/ObjectCounter.sol +21 -0
  350. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  351. package/contracts/instance/base/ObjectSet.sol +79 -0
  352. package/contracts/instance/module/IAccess.sol +29 -21
  353. package/contracts/instance/module/IBundle.sol +8 -7
  354. package/contracts/instance/module/IComponents.sol +46 -0
  355. package/contracts/instance/module/IDistribution.sol +6 -4
  356. package/contracts/instance/module/IPolicy.sol +58 -19
  357. package/contracts/instance/module/IRisk.sol +1 -1
  358. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  359. package/contracts/oracle/BasicOracle.sol +48 -0
  360. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  361. package/contracts/oracle/IOracle.sol +36 -0
  362. package/contracts/oracle/IOracleComponent.sol +33 -0
  363. package/contracts/oracle/IOracleService.sol +65 -0
  364. package/contracts/oracle/Oracle.sol +167 -0
  365. package/contracts/oracle/OracleService.sol +279 -0
  366. package/contracts/oracle/OracleServiceManager.sol +39 -0
  367. package/contracts/pool/BasicPool.sol +166 -0
  368. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  369. package/contracts/pool/BundleService.sol +438 -0
  370. package/contracts/pool/BundleServiceManager.sol +39 -0
  371. package/contracts/pool/IBundleService.sol +134 -0
  372. package/contracts/pool/IPoolComponent.sol +58 -0
  373. package/contracts/pool/IPoolService.sol +160 -0
  374. package/contracts/pool/Pool.sol +326 -0
  375. package/contracts/pool/PoolService.sol +509 -0
  376. package/contracts/pool/PoolServiceManager.sol +39 -0
  377. package/contracts/product/ApplicationService.sol +248 -0
  378. package/contracts/product/ApplicationServiceManager.sol +38 -0
  379. package/contracts/product/BasicProduct.sol +53 -0
  380. package/contracts/product/BasicProductAuthorization.sol +43 -0
  381. package/contracts/product/ClaimService.sol +487 -0
  382. package/contracts/product/ClaimServiceManager.sol +38 -0
  383. package/contracts/product/IApplicationService.sol +63 -0
  384. package/contracts/product/IClaimService.sol +122 -0
  385. package/contracts/product/IPolicyService.sol +73 -0
  386. package/contracts/product/IPricingService.sol +39 -0
  387. package/contracts/product/IProductComponent.sol +39 -0
  388. package/contracts/product/IRiskService.sol +33 -0
  389. package/contracts/product/PolicyService.sol +573 -0
  390. package/contracts/product/PolicyServiceManager.sol +39 -0
  391. package/contracts/product/PricingService.sol +301 -0
  392. package/contracts/product/PricingServiceManager.sol +39 -0
  393. package/contracts/product/Product.sol +425 -0
  394. package/contracts/product/RiskService.sol +97 -0
  395. package/contracts/product/RiskServiceManager.sol +39 -0
  396. package/contracts/registry/ChainNft.sol +79 -31
  397. package/contracts/registry/IRegistry.sol +122 -48
  398. package/contracts/registry/IRegistryService.sol +52 -16
  399. package/contracts/registry/ITransferInterceptor.sol +1 -0
  400. package/contracts/registry/Registry.sol +517 -304
  401. package/contracts/registry/RegistryAdmin.sol +464 -0
  402. package/contracts/registry/RegistryService.sol +121 -268
  403. package/contracts/registry/RegistryServiceManager.sol +26 -53
  404. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  405. package/contracts/registry/ReleaseRegistry.sol +491 -0
  406. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  407. package/contracts/registry/TokenRegistry.sol +261 -57
  408. package/contracts/shared/Component.sol +268 -0
  409. package/contracts/shared/ComponentService.sol +641 -0
  410. package/contracts/shared/ComponentServiceManager.sol +35 -0
  411. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  412. package/contracts/shared/IComponent.sol +70 -0
  413. package/contracts/shared/IComponentService.sol +108 -0
  414. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  415. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  416. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  417. package/contracts/shared/INftOwnable.sol +13 -12
  418. package/contracts/shared/IPolicyHolder.sol +36 -0
  419. package/contracts/shared/IRegisterable.sol +4 -6
  420. package/contracts/shared/IRegistryLinked.sol +11 -0
  421. package/contracts/shared/IService.sol +16 -6
  422. package/contracts/shared/InitializableCustom.sol +177 -0
  423. package/contracts/shared/InitializableERC165.sol +27 -0
  424. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  425. package/contracts/shared/KeyValueStore.sol +131 -0
  426. package/contracts/shared/Lifecycle.sol +77 -0
  427. package/contracts/shared/NftIdSet.sol +65 -0
  428. package/contracts/shared/NftOwnable.sol +60 -89
  429. package/contracts/shared/PolicyHolder.sol +56 -0
  430. package/contracts/shared/Registerable.sol +23 -38
  431. package/contracts/shared/RegistryLinked.sol +44 -0
  432. package/contracts/shared/Service.sol +58 -30
  433. package/contracts/shared/TokenHandler.sol +122 -10
  434. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  435. package/contracts/staking/IStaking.sol +168 -0
  436. package/contracts/staking/IStakingService.sol +160 -0
  437. package/contracts/staking/StakeManagerLib.sol +224 -0
  438. package/contracts/staking/Staking.sol +498 -0
  439. package/contracts/staking/StakingLifecycle.sol +23 -0
  440. package/contracts/staking/StakingManager.sol +50 -0
  441. package/contracts/staking/StakingReader.sol +183 -0
  442. package/contracts/staking/StakingService.sol +407 -0
  443. package/contracts/staking/StakingServiceManager.sol +44 -0
  444. package/contracts/staking/StakingStore.sol +605 -0
  445. package/contracts/staking/TargetManagerLib.sol +211 -0
  446. package/contracts/{types → type}/AddressSet.sol +1 -1
  447. package/contracts/type/Amount.sol +135 -0
  448. package/contracts/{types → type}/Blocknumber.sol +27 -3
  449. package/contracts/type/ClaimId.sol +75 -0
  450. package/contracts/{types → type}/DistributorType.sol +2 -2
  451. package/contracts/{types → type}/Fee.sol +33 -23
  452. package/contracts/{types → type}/NftId.sol +21 -15
  453. package/contracts/type/NftIdSet.sol +62 -0
  454. package/contracts/type/ObjectType.sol +275 -0
  455. package/contracts/type/PayoutId.sol +82 -0
  456. package/contracts/{types → type}/Referral.sol +6 -1
  457. package/contracts/type/RequestId.sol +75 -0
  458. package/contracts/{types → type}/RiskId.sol +1 -1
  459. package/contracts/type/RoleId.sol +174 -0
  460. package/contracts/type/Seconds.sol +101 -0
  461. package/contracts/type/Selector.sol +102 -0
  462. package/contracts/{types → type}/StateId.sol +35 -4
  463. package/contracts/type/String.sol +53 -0
  464. package/contracts/{types → type}/Timestamp.sol +34 -15
  465. package/contracts/{types → type}/UFixed.sol +35 -9
  466. package/contracts/{types → type}/Version.sol +5 -2
  467. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  468. package/contracts/upgradeability/ProxyManager.sol +198 -0
  469. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  470. package/contracts/upgradeability/Versionable.sol +59 -0
  471. package/package.json +10 -7
  472. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  473. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  474. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  475. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -670
  476. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  477. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  478. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  479. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -204
  480. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  481. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  482. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  483. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  484. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  485. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -790
  486. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  487. package/artifacts/contracts/components/Product.sol/Product.json +0 -775
  488. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  489. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  490. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  491. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  492. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  494. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  496. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  498. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  500. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  501. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  502. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  503. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  504. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  505. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  506. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  507. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  508. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  511. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  512. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  513. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  515. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  517. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  518. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  519. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  520. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  521. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  522. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  523. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  524. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  525. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  526. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  527. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  528. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  529. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  530. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  531. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  532. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  533. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  534. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  535. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  537. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  538. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  539. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  540. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  541. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  542. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  543. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  545. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -636
  547. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  548. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -428
  549. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  550. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  552. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  553. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  554. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  555. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  556. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  557. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  558. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  559. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  560. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  561. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  562. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  563. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  564. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  565. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  566. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  567. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  568. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  569. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  570. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  571. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  572. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  573. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  574. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  575. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  576. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  578. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  579. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  580. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  581. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  582. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  583. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  584. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  585. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  586. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  587. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  588. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  589. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  590. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  591. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  592. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  593. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  594. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  595. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  596. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  597. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  598. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  600. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  602. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  604. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  605. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  606. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  607. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  608. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  609. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  610. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  611. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  612. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  613. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  614. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  615. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  616. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  617. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  618. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  619. package/contracts/components/BaseComponent.sol +0 -91
  620. package/contracts/components/Distribution.sol +0 -166
  621. package/contracts/components/IBaseComponent.sol +0 -25
  622. package/contracts/components/IDistributionComponent.sol +0 -46
  623. package/contracts/components/IPoolComponent.sol +0 -62
  624. package/contracts/components/IProductComponent.sol +0 -35
  625. package/contracts/components/Pool.sol +0 -258
  626. package/contracts/components/Product.sol +0 -297
  627. package/contracts/experiment/cloning/Cloner.sol +0 -47
  628. package/contracts/experiment/errors/Require.sol +0 -38
  629. package/contracts/experiment/errors/Revert.sol +0 -44
  630. package/contracts/experiment/inheritance/A.sol +0 -53
  631. package/contracts/experiment/inheritance/B.sol +0 -28
  632. package/contracts/experiment/inheritance/C.sol +0 -34
  633. package/contracts/experiment/inheritance/IA.sol +0 -13
  634. package/contracts/experiment/inheritance/IB.sol +0 -10
  635. package/contracts/experiment/inheritance/IC.sol +0 -12
  636. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  637. package/contracts/experiment/statemachine/ISM.sol +0 -25
  638. package/contracts/experiment/statemachine/SM.sol +0 -57
  639. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  640. package/contracts/experiment/types/TypeA.sol +0 -47
  641. package/contracts/experiment/types/TypeB.sol +0 -29
  642. package/contracts/instance/AccessManagedSimple.sol +0 -115
  643. package/contracts/instance/AccessManagerSimple.sol +0 -692
  644. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  645. package/contracts/instance/InstanceAccessManager.sol +0 -288
  646. package/contracts/instance/base/ComponentServiceBase.sol +0 -39
  647. package/contracts/instance/base/IInstanceBase.sol +0 -23
  648. package/contracts/instance/base/KeyValueStore.sol +0 -172
  649. package/contracts/instance/base/Lifecycle.sol +0 -100
  650. package/contracts/instance/module/ISetup.sol +0 -43
  651. package/contracts/instance/module/ITreasury.sol +0 -23
  652. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  653. package/contracts/instance/service/DistributionService.sol +0 -96
  654. package/contracts/instance/service/DistributionServiceManager.sol +0 -53
  655. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  656. package/contracts/instance/service/IDistributionService.sol +0 -12
  657. package/contracts/instance/service/IPoolService.sol +0 -37
  658. package/contracts/instance/service/IProductService.sol +0 -107
  659. package/contracts/shared/ContractDeployerLib.sol +0 -72
  660. package/contracts/shared/ERC165.sol +0 -25
  661. package/contracts/shared/ProxyManager.sol +0 -94
  662. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  663. package/contracts/shared/Versionable.sol +0 -147
  664. package/contracts/test/TestFee.sol +0 -25
  665. package/contracts/test/TestRegisterable.sol +0 -18
  666. package/contracts/test/TestRoleId.sol +0 -14
  667. package/contracts/test/TestService.sol +0 -24
  668. package/contracts/test/TestToken.sol +0 -26
  669. package/contracts/test/TestVersion.sol +0 -44
  670. package/contracts/test/TestVersionable.sol +0 -17
  671. package/contracts/types/ChainId.sol +0 -38
  672. package/contracts/types/NftIdSet.sol +0 -60
  673. package/contracts/types/NumberId.sol +0 -52
  674. package/contracts/types/ObjectType.sol +0 -152
  675. package/contracts/types/RoleId.sol +0 -88
  676. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,258 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ObjectType, POOL} from "../types/ObjectType.sol";
5
- import {IProductService} from "../instance/service/IProductService.sol";
6
- import {IPoolService} from "../instance/service/IPoolService.sol";
7
- import {NftId, zeroNftId, NftIdLib} from "../types/NftId.sol";
8
- import {Fee} from "../types/Fee.sol";
9
- import {UFixed} from "../types/UFixed.sol";
10
- import {IPoolComponent} from "./IPoolComponent.sol";
11
- import {BaseComponent} from "./BaseComponent.sol";
12
- import {TokenHandler} from "../shared/TokenHandler.sol";
13
- import {ISetup} from "../instance/module/ISetup.sol";
14
-
15
- import {IRegistry} from "../registry/IRegistry.sol";
16
-
17
- // import {IPool} from "../instance/module/pool/IPoolModule.sol";
18
- import {ITreasury} from "../instance/module/ITreasury.sol";
19
- import {ISetup} from "../instance/module/ISetup.sol";
20
- import {InstanceReader} from "../instance/InstanceReader.sol";
21
-
22
- import {IRegisterable} from "../shared/IRegisterable.sol";
23
- import {Registerable} from "../shared/Registerable.sol";
24
-
25
- contract Pool is BaseComponent, IPoolComponent {
26
- using NftIdLib for NftId;
27
-
28
- bool internal _isVerifying;
29
- UFixed internal _collateralizationLevel;
30
-
31
- Fee internal _initialPoolFee;
32
- Fee internal _initialStakingFee;
33
- Fee internal _initialPerformanceFee;
34
-
35
- // may be used to interact with instance by derived contracts
36
- IPoolService internal _poolService;
37
-
38
- // only relevant to protect callback functions for "active" pools
39
- IProductService private _productService;
40
-
41
- modifier onlyPoolService() {
42
- require(
43
- msg.sender == address(_poolService),
44
- "ERROR:POL-001:NOT_POOL_SERVICE");
45
- _;
46
- }
47
-
48
- modifier onlyProductService() {
49
- require(
50
- msg.sender == address(_productService),
51
- "ERROR:POL-002:NOT_PRODUCT_SERVICE");
52
- _;
53
- }
54
-
55
- constructor(
56
- address registry,
57
- NftId instanceNftId,
58
- // TODO refactor into tokenNftId
59
- address token,
60
- bool isInterceptor,
61
- bool verifying,
62
- UFixed collateralizationLevel,
63
- Fee memory poolFee,
64
- Fee memory stakingFee,
65
- Fee memory performanceFee,
66
- address initialOwner
67
- )
68
- BaseComponent(registry, instanceNftId, token, POOL(), isInterceptor, initialOwner)
69
- {
70
- _isVerifying = verifying;
71
- // TODO add validation
72
- _collateralizationLevel = collateralizationLevel;
73
- _initialPoolFee = poolFee;
74
- _initialStakingFee = stakingFee;
75
- _initialPerformanceFee = performanceFee;
76
-
77
- // TODO: reactivate when services are available again
78
- // _poolService = _instance.getPoolService();
79
- // _productService = _instance.getProductService();
80
-
81
- _registerInterface(type(IPoolComponent).interfaceId);
82
- }
83
-
84
- function createBundle(
85
- Fee memory fee,
86
- uint256 initialAmount,
87
- uint256 lifetime,
88
- bytes memory filter
89
- )
90
- external
91
- virtual override
92
- returns(NftId bundleNftId)
93
- {
94
- address owner = msg.sender;
95
- bundleNftId = _poolService.createBundle(
96
- owner,
97
- fee,
98
- initialAmount,
99
- lifetime,
100
- filter
101
- );
102
-
103
- // TODO add logging
104
- }
105
-
106
- /**
107
- * @dev see {IPool.underwrite}.
108
- * Default implementation that only writes a {LogUnderwrittenByPool} entry.
109
- */
110
- function underwrite(
111
- NftId policyNftId,
112
- bytes memory policyData,
113
- bytes memory bundleFilter,
114
- uint256 collateralizationAmount
115
- )
116
- external
117
- onlyProductService
118
- virtual override
119
- {
120
- _underwrite(policyNftId, policyData, bundleFilter, collateralizationAmount);
121
- }
122
-
123
- /**
124
- * @dev see {IPoolComponent.policyMatchesBundle}.
125
- * Default implementation always returns true
126
- */
127
- function policyMatchesBundle(
128
- bytes memory, // policyData
129
- bytes memory // bundleFilter
130
- )
131
- public
132
- view
133
- virtual override
134
- returns (bool isMatching)
135
- {
136
- return true;
137
- }
138
-
139
-
140
- function isVerifying() external view override returns (bool verifying) {
141
- return _isVerifying;
142
- }
143
-
144
- function getCollateralizationLevel() external view override returns (UFixed collateralizationLevel) {
145
- return _collateralizationLevel;
146
- }
147
-
148
- function setFees(
149
- Fee memory poolFee,
150
- Fee memory stakingFee,
151
- Fee memory performanceFee
152
- )
153
- external
154
- onlyOwner
155
- override
156
- {
157
- _poolService.setFees(poolFee, stakingFee, performanceFee);
158
- }
159
-
160
- function setBundleFee(
161
- NftId bundleNftId,
162
- Fee memory fee
163
- )
164
- external
165
- override
166
- // TODO add onlyBundleOwner
167
- {
168
- _poolService.setBundleFee(bundleNftId, fee);
169
- }
170
-
171
- function getSetupInfo() public view returns (ISetup.PoolSetupInfo memory setupInfo) {
172
- // TODO fix this
173
- if (getNftId().eq(zeroNftId())) {
174
- return ISetup.PoolSetupInfo(
175
- _productNftId,
176
- TokenHandler(address(0)),
177
- _collateralizationLevel,
178
- _initialPoolFee,
179
- _initialStakingFee,
180
- _initialPerformanceFee,
181
- _isVerifying,
182
- _wallet
183
- );
184
- }
185
-
186
- InstanceReader reader = _instance.getInstanceReader();
187
- return reader.getPoolSetupInfo(getNftId());
188
- }
189
-
190
- // from IRegisterable
191
-
192
- // TODO used only once, occupies space
193
- // TODO do not use super
194
- function getInitialInfo()
195
- public
196
- view
197
- override (IRegisterable, Registerable)
198
- returns (IRegistry.ObjectInfo memory, bytes memory)
199
- {
200
- (
201
- IRegistry.ObjectInfo memory info,
202
- bytes memory data
203
- ) = super.getInitialInfo();
204
-
205
- return (
206
- info,
207
- abi.encode(
208
- ISetup.PoolSetupInfo(
209
- getProductNftId(),
210
- TokenHandler(address(0)),
211
- _collateralizationLevel,
212
- _initialPoolFee,
213
- _initialStakingFee,
214
- _initialPerformanceFee,
215
- _isVerifying,
216
- _wallet
217
- )
218
- )
219
- );
220
- }
221
-
222
- // Internals
223
-
224
- function _underwrite(
225
- NftId policyNftId,
226
- bytes memory policyData,
227
- bytes memory bundleFilter,
228
- uint256 collateralizationAmount
229
- )
230
- internal
231
- {
232
- require(
233
- policyMatchesBundle(policyData, bundleFilter),
234
- "ERROR:POL-020:POLICY_BUNDLE_MISMATCH"
235
- );
236
-
237
- emit LogUnderwrittenByPool(policyNftId, collateralizationAmount, address(this));
238
- }
239
-
240
- function _createBundle(
241
- address bundleOwner,
242
- Fee memory fee,
243
- uint256 amount,
244
- uint256 lifetime,
245
- bytes calldata filter
246
- )
247
- internal
248
- returns(NftId bundleNftId)
249
- {
250
- bundleNftId = _poolService.createBundle(
251
- bundleOwner,
252
- fee,
253
- amount,
254
- lifetime,
255
- filter
256
- );
257
- }
258
- }
@@ -1,297 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {IRisk} from "../instance/module/IRisk.sol";
7
- import {ITreasury} from "../instance/module/ITreasury.sol";
8
- import {IProductService} from "../instance/service/IProductService.sol";
9
- import {IProductComponent} from "./IProductComponent.sol";
10
- import {NftId, zeroNftId, NftIdLib} from "../types/NftId.sol";
11
- import {ObjectType, PRODUCT} from "../types/ObjectType.sol";
12
- import {ReferralId} from "../types/Referral.sol";
13
- import {RiskId, RiskIdLib} from "../types/RiskId.sol";
14
- import {StateId} from "../types/StateId.sol";
15
- import {Timestamp} from "../types/Timestamp.sol";
16
- import {Fee, FeeLib} from "../types/Fee.sol";
17
- import {BaseComponent} from "./BaseComponent.sol";
18
-
19
- import {IRegistry} from "../registry/IRegistry.sol";
20
- import {IRegisterable} from "../shared/IRegisterable.sol";
21
- import {Registerable} from "../shared/Registerable.sol";
22
- import {TokenHandler} from "../shared/TokenHandler.sol";
23
-
24
- import {InstanceReader} from "../instance/InstanceReader.sol";
25
- import {ISetup} from "../instance/module/ISetup.sol";
26
- import {Pool} from "../components/Pool.sol";
27
-
28
- import {zeroNftId} from "../types/NftId.sol";
29
-
30
- contract Product is BaseComponent, IProductComponent {
31
- using NftIdLib for NftId;
32
-
33
- IProductService internal _productService;
34
- Pool internal _pool;
35
- address internal _distribution;
36
- Fee internal _initialProductFee;
37
- Fee internal _initialProcessingFee;
38
-
39
- NftId internal _poolNftId;
40
- NftId internal _distributionNftId;
41
-
42
- constructor(
43
- address registry,
44
- NftId instanceNftid,
45
- address token,
46
- bool isInterceptor,
47
- address pool,
48
- address distribution,
49
- Fee memory productFee,
50
- Fee memory processingFee,
51
- address initialOwner
52
- ) BaseComponent(registry, instanceNftid, token, PRODUCT(), isInterceptor, initialOwner) {
53
- // TODO add validation
54
- // TODO: reactivate when services are available again
55
- // _productService = _instance.getProductService();
56
- _pool = Pool(pool);
57
- _distribution = distribution;
58
- _initialProductFee = productFee;
59
- _initialProcessingFee = processingFee;
60
-
61
- _poolNftId = getRegistry().getNftId(address(_pool));
62
- _distributionNftId = getRegistry().getNftId(_distribution);
63
-
64
- _registerInterface(type(IProductComponent).interfaceId);
65
- }
66
-
67
-
68
- function calculatePremium(
69
- uint256 sumInsuredAmount,
70
- RiskId riskId,
71
- uint256 lifetime,
72
- bytes memory applicationData,
73
- ReferralId referralId,
74
- NftId bundleNftId
75
- )
76
- external
77
- view
78
- override
79
- returns (uint256 premiumAmount)
80
- {
81
- (premiumAmount,,,,) = _productService.calculatePremium(
82
- riskId,
83
- sumInsuredAmount,
84
- lifetime,
85
- applicationData,
86
- bundleNftId,
87
- referralId
88
- );
89
- }
90
-
91
-
92
- function calculateNetPremium(
93
- uint256 sumInsuredAmount,
94
- RiskId riskId,
95
- uint256 lifetime,
96
- bytes memory applicationData
97
- )
98
- external
99
- view
100
- virtual override
101
- returns (uint256 netPremiumAmount)
102
- {
103
- // default 10% of sum insured
104
- return sumInsuredAmount / 10;
105
- }
106
-
107
- function _toRiskId(string memory riskName) internal pure returns (RiskId riskId) {
108
- return RiskIdLib.toRiskId(riskName);
109
- }
110
-
111
- function _createRisk(
112
- RiskId id,
113
- bytes memory data
114
- ) internal {
115
- _productService.createRisk(
116
- id,
117
- data
118
- );
119
- }
120
-
121
- function _setRiskInfo(
122
- RiskId id,
123
- IRisk.RiskInfo memory info
124
- ) internal {
125
- _productService.setRiskInfo(
126
- id,
127
- info
128
- );
129
- }
130
-
131
- function _updateRiskState(
132
- RiskId id,
133
- StateId state
134
- ) internal {
135
- _productService.updateRiskState(
136
- id,
137
- state
138
- );
139
- }
140
-
141
- function _getRiskInfo(RiskId id) internal view returns (IRisk.RiskInfo memory info) {
142
- return _instance.getInstanceReader().getRiskInfo(id);
143
- }
144
-
145
- function _createApplication(
146
- address applicationOwner,
147
- RiskId riskId,
148
- uint256 sumInsuredAmount,
149
- uint256 lifetime,
150
- bytes memory applicationData,
151
- NftId bundleNftId,
152
- ReferralId referralId
153
- ) internal returns (NftId nftId) {
154
- nftId = _productService.createApplication(
155
- applicationOwner,
156
- riskId,
157
- sumInsuredAmount,
158
- lifetime,
159
- applicationData,
160
- bundleNftId,
161
- referralId
162
- );
163
- }
164
-
165
- function _underwrite(
166
- NftId policyNftId,
167
- bool requirePremiumPayment,
168
- Timestamp activateAt
169
- )
170
- internal
171
- {
172
- _productService.underwrite(
173
- policyNftId,
174
- requirePremiumPayment,
175
- activateAt);
176
- }
177
-
178
- function _collectPremium(
179
- NftId policyNftId,
180
- Timestamp activateAt
181
- )
182
- internal
183
- {
184
- _productService.collectPremium(
185
- policyNftId,
186
- activateAt);
187
- }
188
-
189
- function _activate(
190
- NftId policyNftId,
191
- Timestamp activateAt
192
- )
193
- internal
194
- {
195
- _productService.activate(
196
- policyNftId,
197
- activateAt);
198
- }
199
-
200
- function getPoolNftId() external view override returns (NftId poolNftId) {
201
- return getRegistry().getNftId(address(_pool));
202
- }
203
-
204
- function getDistributionNftId() external view override returns (NftId distributionNftId) {
205
- return getRegistry().getNftId(_distribution);
206
- }
207
-
208
- // from product component
209
- function setFees(
210
- Fee memory productFee,
211
- Fee memory processingFee
212
- )
213
- external
214
- onlyOwner
215
- override
216
- {
217
- _productService.setFees(productFee, processingFee);
218
- }
219
-
220
- function getSetupInfo() public view returns (ISetup.ProductSetupInfo memory setupInfo) {
221
- if (getNftId().eq(zeroNftId())) {
222
- return ISetup.ProductSetupInfo(
223
- _token,
224
- TokenHandler(address(0)),
225
- _distributionNftId,
226
- _poolNftId,
227
- FeeLib.zeroFee(), //_instance.getDistributionFee(_distributionNftId)
228
- _initialProductFee,
229
- _initialProcessingFee,
230
- FeeLib.zeroFee(), //_instance.getPoolFee(_poolNftId)
231
- FeeLib.zeroFee(), //_instance.getStakingFee(_poolNftId)
232
- FeeLib.zeroFee() //_instance.getPerformanceFee(_poolNftId)
233
- );
234
- }
235
-
236
- InstanceReader reader = _instance.getInstanceReader();
237
- return reader.getProductSetupInfo(getNftId());
238
- }
239
-
240
- // from IRegisterable
241
-
242
- // TODO used only once, occupies space
243
- function getInitialInfo()
244
- public
245
- view
246
- override (IRegisterable, Registerable)
247
- returns (IRegistry.ObjectInfo memory, bytes memory)
248
- {
249
- // from Registerable
250
- (
251
- IRegistry.ObjectInfo memory productInfo,
252
- bytes memory data
253
- ) = super.getInitialInfo();
254
-
255
- // TODO read pool & distribution fees
256
- // 1) from pool -> the only option -> pool must be registered first?
257
- // 2) from instance -> all fees are set into instance at product registration which is ongoing here
258
- // checks are done in registryProduct() where THIS function is called
259
- //require(getRegistry().getObjectInfo(_poolNftId).objectType == POOL(), "POOL_NOT_REGISTERED");
260
- //require(getRegistry().getObjectInfo(_distributionNftId).objectType == DISTRIBUTION(), "DISTRIBUTION_NOT_REGISTERED");
261
-
262
- // from PoolComponent
263
- (
264
- IRegistry.ObjectInfo memory poolInfo,
265
- bytes memory poolData
266
- ) = _pool.getInitialInfo();
267
-
268
- (
269
- /*IPool.PoolInfo memory info*/,
270
- /*address wallet*/,
271
- /*IERC20Metadata token*/,
272
- Fee memory initialPoolFee,
273
- Fee memory initialStakingFee,
274
- Fee memory initialPerformanceFee
275
- ) = abi.decode(poolData, (ISetup.PoolSetupInfo, address, IERC20Metadata, Fee, Fee, Fee));
276
-
277
- // TODO from DistributionComponent
278
-
279
- return (
280
- productInfo,
281
- abi.encode(
282
- ISetup.ProductSetupInfo(
283
- _token,
284
- TokenHandler(address(0)),
285
- _distributionNftId,
286
- _poolNftId,
287
- FeeLib.zeroFee(), //_instance.getDistributionFee(_distributionNftId)
288
- _initialProductFee,
289
- _initialProcessingFee,
290
- initialPoolFee,
291
- initialStakingFee,
292
- initialPerformanceFee
293
- )
294
- )
295
- );
296
- }
297
- }
@@ -1,47 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
5
-
6
-
7
- contract Cloner {
8
-
9
- Mock1 public mock1;
10
- Mock2 public mock2;
11
-
12
- constructor() {
13
- mock1 = new Mock1();
14
- mock2 = new Mock2();
15
- }
16
-
17
- function createClone(address master)
18
- external
19
- returns (address cloned)
20
- {
21
- cloned = Clones.clone(master);
22
- }
23
- }
24
-
25
-
26
- contract Mock1 {
27
- function getValue() external virtual view returns (uint256) {
28
- return 42;
29
- }
30
- }
31
-
32
- contract Mock2 is Mock1 {
33
- uint256 internal _value;
34
-
35
- constructor() {
36
- _value = 42;
37
- }
38
-
39
- function setValue(uint256 value) external virtual {
40
- _value = value;
41
- }
42
-
43
- function getValue() external virtual override view returns (uint256) {
44
- return _value;
45
- }
46
- }
47
-
@@ -1,38 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- contract Require {
5
- error AsmallerThanB_S();
6
- error AsmallerThanB_M(uint a);
7
- error AsmallerThanB_L(uint a, uint b);
8
-
9
- uint256 private _b;
10
-
11
- constructor() {
12
- _b = 42;
13
- }
14
-
15
- function isAlargerThanBRequire_S(
16
- uint a
17
- ) external view returns (bool isLarger) {
18
- require(a > _b, "ERROR:ABC-001");
19
-
20
- return true;
21
- }
22
-
23
- function isAlargerThanBRequire_M(
24
- uint a
25
- ) external view returns (bool isLarger) {
26
- require(a > _b, "ERROR:ABC-002:A_IS_SMALLER");
27
-
28
- return true;
29
- }
30
-
31
- function isAlargerThanBRequire_L(
32
- uint a
33
- ) external view returns (bool isLarger) {
34
- require(a > _b, "ERROR:ABC-003:A_IS_SMALLER_THAN_B");
35
-
36
- return true;
37
- }
38
- }
@@ -1,44 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- contract Revert {
5
- error AsmallerThanB_S();
6
- error AsmallerThanB_M(uint a);
7
- error AsmallerThanB_L(uint a, uint b);
8
-
9
- uint256 private _b;
10
-
11
- constructor() {
12
- _b = 42;
13
- }
14
-
15
- function isAlargerThanBRevert_S(
16
- uint a
17
- ) external view returns (bool isLarger) {
18
- if (a <= _b) {
19
- revert AsmallerThanB_S();
20
- }
21
-
22
- return true;
23
- }
24
-
25
- function isAlargerThanBRevert_M(
26
- uint a
27
- ) external view returns (bool isLarger) {
28
- if (a <= _b) {
29
- revert AsmallerThanB_M(a);
30
- }
31
-
32
- return true;
33
- }
34
-
35
- function isAlargerThanBRevert_L(
36
- uint a
37
- ) external view returns (bool isLarger) {
38
- if (a <= _b) {
39
- revert AsmallerThanB_L(a, _b);
40
- }
41
-
42
- return true;
43
- }
44
- }