@etherisc/gif-next 0.0.2-de0a1d3-009 → 0.0.2-de7c770-422

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 (754) hide show
  1. package/README.md +267 -42
  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/access → authorization}/IAccess.sol/IAccess.json +1 -1
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  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 +283 -1679
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +757 -0
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +428 -2085
  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 +4 -0
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1850 -0
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1048 -0
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +683 -0
  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/base/Cloneable.sol/Cloneable.json +137 -0
  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 +4 -0
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  78. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  79. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  80. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  81. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  82. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  84. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  86. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  87. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  88. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  90. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  92. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  94. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +765 -0
  96. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  98. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  100. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
  102. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
  104. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  105. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  106. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  107. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  108. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1362 -0
  110. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +771 -0
  112. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  113. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +907 -0
  114. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  115. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  116. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  117. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  118. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  119. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  120. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  121. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1469 -0
  122. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +695 -0
  124. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  125. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +732 -0
  126. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +667 -0
  128. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  129. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  130. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  131. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  132. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  133. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1325 -0
  134. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +775 -0
  136. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  137. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +230 -384
  138. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  139. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  140. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  141. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +785 -0
  142. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  143. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
  144. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  145. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +948 -0
  146. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  147. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → product/IRiskService.sol/IRiskService.json} +187 -174
  148. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  149. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1104 -0
  150. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +715 -0
  152. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  153. package/artifacts/contracts/product/PricingService.sol/PricingService.json +860 -0
  154. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +715 -0
  156. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  157. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  158. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  159. package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
  160. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -0
  162. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  163. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  164. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  165. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +924 -119
  166. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  167. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +940 -0
  168. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  170. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  171. package/artifacts/contracts/registry/Registry.sol/Registry.json +1343 -220
  172. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  173. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
  174. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  175. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1340 -0
  176. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  177. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +670 -0
  178. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  180. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  181. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  182. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  183. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  184. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  185. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  186. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  187. package/artifacts/contracts/shared/Component.sol/Component.json +685 -0
  188. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  189. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1568 -0
  190. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  191. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +753 -0
  192. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +216 -194
  194. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +605 -0
  196. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  197. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  198. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  199. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  200. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  201. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +474 -0
  202. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  204. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  205. package/artifacts/contracts/{instance/module/component/IComponent.sol/IComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +66 -52
  206. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  207. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/IPolicyHolder.sol/IPolicyHolder.json} +75 -84
  208. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -31
  210. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  211. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  212. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  213. package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +159 -154
  214. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  215. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  216. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  217. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  218. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  219. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  220. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  221. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +102 -165
  222. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  223. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  224. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  225. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  226. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  227. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +193 -0
  228. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  229. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +188 -0
  230. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  231. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +170 -27
  232. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  233. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  234. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  235. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/Service.sol/Service.json} +185 -177
  236. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  237. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +469 -0
  238. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  239. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  240. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  241. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  242. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  243. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  244. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  246. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  247. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  248. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  250. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +714 -0
  252. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  254. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1231 -0
  256. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +667 -0
  258. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  260. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  261. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  262. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  263. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  264. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  266. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  268. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  270. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  272. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  274. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  276. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  278. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  279. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  280. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  282. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  284. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  286. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  288. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  290. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  292. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  294. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  296. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  298. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  300. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  302. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  304. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  306. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  308. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  310. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  312. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  313. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  314. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  315. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +566 -0
  316. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  317. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  318. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  319. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  320. package/contracts/authorization/AccessAdmin.sol +589 -0
  321. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  322. package/contracts/authorization/Authorization.sol +217 -0
  323. package/contracts/authorization/IAccess.sol +48 -0
  324. package/contracts/authorization/IAccessAdmin.sol +136 -0
  325. package/contracts/authorization/IAuthorization.sol +54 -0
  326. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  327. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  328. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  329. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  330. package/contracts/distribution/BasicDistribution.sol +138 -0
  331. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  332. package/contracts/distribution/Distribution.sol +295 -0
  333. package/contracts/distribution/DistributionService.sol +336 -0
  334. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  335. package/contracts/distribution/IDistributionComponent.sol +52 -0
  336. package/contracts/distribution/IDistributionService.sol +101 -0
  337. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  338. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  339. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  340. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  341. package/contracts/instance/BundleSet.sol +126 -0
  342. package/contracts/instance/IInstance.sol +57 -47
  343. package/contracts/instance/IInstanceService.sol +92 -0
  344. package/contracts/instance/Instance.sol +216 -61
  345. package/contracts/instance/InstanceAdmin.sol +285 -0
  346. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  347. package/contracts/instance/InstanceReader.sol +430 -0
  348. package/contracts/instance/InstanceService.sol +467 -0
  349. package/contracts/instance/InstanceServiceManager.sol +40 -0
  350. package/contracts/instance/InstanceStore.sol +287 -0
  351. package/contracts/instance/base/BalanceStore.sol +123 -0
  352. package/contracts/instance/base/Cloneable.sol +28 -0
  353. package/contracts/instance/base/ObjectCounter.sol +21 -0
  354. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  355. package/contracts/instance/base/ObjectSet.sol +79 -0
  356. package/contracts/instance/module/IAccess.sol +46 -0
  357. package/contracts/instance/module/IBundle.sol +20 -0
  358. package/contracts/instance/module/IComponents.sol +46 -0
  359. package/contracts/instance/module/IDistribution.sol +41 -0
  360. package/contracts/instance/module/IPolicy.sol +84 -0
  361. package/contracts/instance/module/IRisk.sol +11 -0
  362. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  363. package/contracts/oracle/BasicOracle.sol +48 -0
  364. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  365. package/contracts/oracle/IOracle.sol +36 -0
  366. package/contracts/oracle/IOracleComponent.sol +33 -0
  367. package/contracts/oracle/IOracleService.sol +65 -0
  368. package/contracts/oracle/Oracle.sol +167 -0
  369. package/contracts/oracle/OracleService.sol +279 -0
  370. package/contracts/oracle/OracleServiceManager.sol +39 -0
  371. package/contracts/pool/BasicPool.sol +166 -0
  372. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  373. package/contracts/pool/BundleService.sol +438 -0
  374. package/contracts/pool/BundleServiceManager.sol +39 -0
  375. package/contracts/pool/IBundleService.sol +134 -0
  376. package/contracts/pool/IPoolComponent.sol +58 -0
  377. package/contracts/pool/IPoolService.sol +160 -0
  378. package/contracts/pool/Pool.sol +326 -0
  379. package/contracts/pool/PoolService.sol +509 -0
  380. package/contracts/pool/PoolServiceManager.sol +39 -0
  381. package/contracts/product/ApplicationService.sol +248 -0
  382. package/contracts/product/ApplicationServiceManager.sol +38 -0
  383. package/contracts/product/BasicProduct.sol +53 -0
  384. package/contracts/product/BasicProductAuthorization.sol +43 -0
  385. package/contracts/product/ClaimService.sol +487 -0
  386. package/contracts/product/ClaimServiceManager.sol +38 -0
  387. package/contracts/product/IApplicationService.sol +63 -0
  388. package/contracts/product/IClaimService.sol +122 -0
  389. package/contracts/product/IPolicyService.sol +73 -0
  390. package/contracts/product/IPricingService.sol +39 -0
  391. package/contracts/product/IProductComponent.sol +39 -0
  392. package/contracts/product/IRiskService.sol +33 -0
  393. package/contracts/product/PolicyService.sol +573 -0
  394. package/contracts/product/PolicyServiceManager.sol +39 -0
  395. package/contracts/product/PricingService.sol +301 -0
  396. package/contracts/product/PricingServiceManager.sol +39 -0
  397. package/contracts/product/Product.sol +425 -0
  398. package/contracts/product/RiskService.sol +97 -0
  399. package/contracts/product/RiskServiceManager.sol +39 -0
  400. package/contracts/registry/ChainNft.sol +131 -40
  401. package/contracts/registry/IRegistry.sol +140 -29
  402. package/contracts/registry/IRegistryService.sol +69 -0
  403. package/contracts/registry/ITransferInterceptor.sol +7 -0
  404. package/contracts/registry/Registry.sol +603 -282
  405. package/contracts/registry/RegistryAdmin.sol +464 -0
  406. package/contracts/registry/RegistryService.sol +252 -0
  407. package/contracts/registry/RegistryServiceManager.sol +53 -0
  408. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  409. package/contracts/registry/ReleaseRegistry.sol +491 -0
  410. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  411. package/contracts/registry/TokenRegistry.sol +315 -0
  412. package/contracts/shared/Component.sol +268 -0
  413. package/contracts/shared/ComponentService.sol +641 -0
  414. package/contracts/shared/ComponentServiceManager.sol +35 -0
  415. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  416. package/contracts/shared/IComponent.sol +70 -0
  417. package/contracts/shared/IComponentService.sol +108 -0
  418. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  419. package/contracts/shared/IKeyValueStore.sol +54 -0
  420. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -5
  421. package/contracts/shared/INftOwnable.sol +23 -0
  422. package/contracts/shared/IPolicyHolder.sol +36 -0
  423. package/contracts/shared/IRegisterable.sol +10 -19
  424. package/contracts/shared/IRegistryLinked.sol +11 -0
  425. package/contracts/shared/IService.sol +25 -0
  426. package/contracts/shared/InitializableCustom.sol +177 -0
  427. package/contracts/shared/InitializableERC165.sol +27 -0
  428. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  429. package/contracts/shared/KeyValueStore.sol +131 -0
  430. package/contracts/shared/Lifecycle.sol +77 -0
  431. package/contracts/shared/NftIdSet.sol +65 -0
  432. package/contracts/shared/NftOwnable.sol +107 -0
  433. package/contracts/shared/PolicyHolder.sol +56 -0
  434. package/contracts/shared/Registerable.sol +54 -65
  435. package/contracts/shared/RegistryLinked.sol +44 -0
  436. package/contracts/shared/Service.sol +82 -0
  437. package/contracts/shared/TokenHandler.sol +139 -0
  438. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  439. package/contracts/staking/IStaking.sol +168 -0
  440. package/contracts/staking/IStakingService.sol +160 -0
  441. package/contracts/staking/StakeManagerLib.sol +224 -0
  442. package/contracts/staking/Staking.sol +498 -0
  443. package/contracts/staking/StakingLifecycle.sol +23 -0
  444. package/contracts/staking/StakingManager.sol +50 -0
  445. package/contracts/staking/StakingReader.sol +183 -0
  446. package/contracts/staking/StakingService.sol +407 -0
  447. package/contracts/staking/StakingServiceManager.sol +44 -0
  448. package/contracts/staking/StakingStore.sol +605 -0
  449. package/contracts/staking/TargetManagerLib.sol +211 -0
  450. package/contracts/{types → type}/AddressSet.sol +1 -1
  451. package/contracts/type/Amount.sol +135 -0
  452. package/contracts/{types → type}/Blocknumber.sol +27 -3
  453. package/contracts/type/ClaimId.sol +75 -0
  454. package/contracts/type/DistributorType.sol +55 -0
  455. package/contracts/type/Fee.sol +66 -0
  456. package/contracts/{types → type}/Key32.sol +8 -3
  457. package/contracts/{types → type}/NftId.sol +21 -15
  458. package/contracts/type/NftIdSet.sol +62 -0
  459. package/contracts/type/ObjectType.sol +275 -0
  460. package/contracts/type/PayoutId.sol +82 -0
  461. package/contracts/type/Referral.sol +90 -0
  462. package/contracts/type/RequestId.sol +75 -0
  463. package/contracts/{types → type}/RiskId.sol +1 -1
  464. package/contracts/type/RoleId.sol +174 -0
  465. package/contracts/type/Seconds.sol +101 -0
  466. package/contracts/type/Selector.sol +102 -0
  467. package/contracts/{types → type}/StateId.sol +40 -5
  468. package/contracts/type/String.sol +53 -0
  469. package/contracts/{types → type}/Timestamp.sol +38 -15
  470. package/contracts/type/UFixed.sol +351 -0
  471. package/contracts/{types → type}/Version.sol +9 -2
  472. package/contracts/upgradeability/IVersionable.sol +53 -0
  473. package/contracts/upgradeability/ProxyManager.sol +198 -0
  474. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
  475. package/contracts/upgradeability/Versionable.sol +59 -0
  476. package/package.json +11 -7
  477. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  478. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  479. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  480. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -405
  481. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  482. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  483. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -340
  484. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  485. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -487
  486. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  487. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -370
  488. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  489. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -578
  490. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  491. package/artifacts/contracts/components/Product.sol/Product.json +0 -444
  492. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  494. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  496. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  498. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  500. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  501. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  502. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  503. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  504. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  505. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  506. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  507. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  508. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  510. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  512. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  514. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  515. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  517. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  519. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  521. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  523. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  525. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  526. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  527. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  528. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  529. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  530. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  531. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  532. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  533. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  534. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +0 -463
  535. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  537. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  538. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  539. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  540. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  541. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  542. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  543. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  544. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  545. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  546. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  547. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  548. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  549. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  550. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  551. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  552. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  553. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  554. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  555. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  556. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  557. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  558. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  559. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  560. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  561. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  563. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  564. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  565. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  566. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  567. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  568. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  569. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
  570. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  571. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
  572. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  573. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  574. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  575. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  576. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  577. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  578. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  579. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  580. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -511
  581. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  582. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  583. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  584. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -511
  585. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  586. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -618
  587. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  588. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -507
  589. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  590. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  591. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -366
  592. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  593. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -481
  594. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  595. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  596. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -630
  597. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  598. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -945
  599. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  600. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  601. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  602. package/artifacts/contracts/registry/RegistryUpgradeable.sol/RegistryUpgradeable.dbg.json +0 -4
  603. package/artifacts/contracts/registry/RegistryUpgradeable.sol/RegistryUpgradeable.json +0 -724
  604. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  605. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  606. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  607. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  608. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  609. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  610. package/artifacts/contracts/shared/Proxy.sol/ProxyDeployer.dbg.json +0 -4
  611. package/artifacts/contracts/shared/Proxy.sol/ProxyDeployer.json +0 -248
  612. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.dbg.json +0 -4
  613. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.json +0 -129
  614. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  615. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -251
  616. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.dbg.json +0 -4
  617. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.json +0 -228
  618. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  619. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -405
  620. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  621. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  622. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  623. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -578
  624. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  625. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -575
  626. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  627. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  628. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  629. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  630. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  631. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -466
  632. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  633. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  634. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  635. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  636. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  637. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -293
  638. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  639. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  640. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  641. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  642. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  643. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  644. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  645. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  646. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  648. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  649. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  650. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  652. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  653. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  654. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  655. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  656. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  657. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  658. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  659. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  660. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  661. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  662. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  663. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  664. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  665. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  666. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  667. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  668. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  669. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  670. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  671. package/contracts/components/BaseComponent.sol +0 -94
  672. package/contracts/components/Distribution.sol +0 -132
  673. package/contracts/components/IBaseComponent.sol +0 -19
  674. package/contracts/components/IDistributionComponent.sol +0 -47
  675. package/contracts/components/IPoolComponent.sol +0 -71
  676. package/contracts/components/IProductComponent.sol +0 -38
  677. package/contracts/components/Pool.sol +0 -235
  678. package/contracts/components/Product.sol +0 -227
  679. package/contracts/experiment/errors/Require.sol +0 -38
  680. package/contracts/experiment/errors/Revert.sol +0 -44
  681. package/contracts/experiment/inheritance/A.sol +0 -53
  682. package/contracts/experiment/inheritance/B.sol +0 -28
  683. package/contracts/experiment/inheritance/C.sol +0 -34
  684. package/contracts/experiment/inheritance/IA.sol +0 -13
  685. package/contracts/experiment/inheritance/IB.sol +0 -10
  686. package/contracts/experiment/inheritance/IC.sol +0 -12
  687. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  688. package/contracts/experiment/statemachine/ISM.sol +0 -25
  689. package/contracts/experiment/statemachine/README.md +0 -112
  690. package/contracts/experiment/statemachine/SM.sol +0 -57
  691. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  692. package/contracts/experiment/types/TypeA.sol +0 -47
  693. package/contracts/experiment/types/TypeB.sol +0 -29
  694. package/contracts/instance/IInstanceLinked.sol +0 -8
  695. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  696. package/contracts/instance/base/IInstanceBase.sol +0 -22
  697. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  698. package/contracts/instance/base/IService.sol +0 -15
  699. package/contracts/instance/base/InstanceBase.sol +0 -91
  700. package/contracts/instance/base/KeyValueStore.sol +0 -161
  701. package/contracts/instance/base/Lifecycle.sol +0 -100
  702. package/contracts/instance/base/ModuleBase.sol +0 -57
  703. package/contracts/instance/base/ServiceBase.sol +0 -37
  704. package/contracts/instance/module/access/Access.sol +0 -149
  705. package/contracts/instance/module/access/IAccess.sol +0 -53
  706. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  707. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  708. package/contracts/instance/module/component/ComponentModule.sol +0 -70
  709. package/contracts/instance/module/component/IComponent.sol +0 -28
  710. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  711. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  712. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  713. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  714. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  715. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  716. package/contracts/instance/module/risk/IRisk.sol +0 -26
  717. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  718. package/contracts/instance/module/treasury/ITreasury.sol +0 -82
  719. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  720. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -138
  721. package/contracts/instance/service/ComponentOwnerService.sol +0 -157
  722. package/contracts/instance/service/DistributionService.sol +0 -59
  723. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  724. package/contracts/instance/service/IDistributionService.sol +0 -12
  725. package/contracts/instance/service/IPoolService.sol +0 -37
  726. package/contracts/instance/service/IProductService.sol +0 -107
  727. package/contracts/instance/service/PoolService.sol +0 -149
  728. package/contracts/instance/service/ProductService.sol +0 -509
  729. package/contracts/registry/IChainNft.sol +0 -21
  730. package/contracts/registry/IRegistryLinked.sol +0 -8
  731. package/contracts/registry/RegistryUpgradeable.sol +0 -473
  732. package/contracts/shared/ERC165.sol +0 -21
  733. package/contracts/shared/IOwnable.sol +0 -6
  734. package/contracts/shared/IVersionable.sol +0 -65
  735. package/contracts/shared/Proxy.sol +0 -94
  736. package/contracts/shared/Versionable.sol +0 -99
  737. package/contracts/shared/VersionableUpgradeable.sol +0 -133
  738. package/contracts/test/TestDistribution.sol +0 -21
  739. package/contracts/test/TestFee.sol +0 -25
  740. package/contracts/test/TestPool.sol +0 -25
  741. package/contracts/test/TestProduct.sol +0 -72
  742. package/contracts/test/TestRegisterable.sol +0 -19
  743. package/contracts/test/TestRoleId.sol +0 -14
  744. package/contracts/test/TestService.sol +0 -32
  745. package/contracts/test/TestToken.sol +0 -26
  746. package/contracts/test/TestVersion.sol +0 -44
  747. package/contracts/test/TestVersionable.sol +0 -17
  748. package/contracts/types/ChainId.sol +0 -38
  749. package/contracts/types/Fee.sol +0 -56
  750. package/contracts/types/NftIdSet.sol +0 -60
  751. package/contracts/types/ObjectType.sol +0 -131
  752. package/contracts/types/ReferralId.sol +0 -48
  753. package/contracts/types/RoleId.sol +0 -38
  754. package/contracts/types/UFixed.sol +0 -209
@@ -1,91 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../../registry/IRegistry.sol";
5
-
6
- import {IProductService} from "../../service/IProductService.sol";
7
- import {IPolicy, IPolicyModule} from "./IPolicy.sol";
8
- import {ObjectType, POLICY} from "../../../types/ObjectType.sol";
9
- import {NftId, NftIdLib} from "../../../types/NftId.sol";
10
- import {ReferralId} from "../../../types/ReferralId.sol";
11
- import {RiskId} from "../../../types/RiskId.sol";
12
- import {StateId} from "../../../types/StateId.sol";
13
- import {Timestamp, blockTimestamp, zeroTimestamp} from "../../../types/Timestamp.sol";
14
-
15
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
16
- import {ModuleBase} from "../../base/ModuleBase.sol";
17
-
18
- abstract contract PolicyModule is
19
- ModuleBase,
20
- IPolicyModule
21
- {
22
-
23
- // TODO find a better place to avoid dupliation
24
- modifier onlyProductService2() {
25
- require(
26
- msg.sender == address(this.getProductService()),
27
- "ERROR:POL-001:NOT_PRODUCT_SERVICE"
28
- );
29
- _;
30
- }
31
-
32
- function initializePolicyModule(IKeyValueStore keyValueStore) internal {
33
- _initialize(keyValueStore);
34
- }
35
-
36
- function createPolicyInfo(
37
- NftId policyNftId,
38
- NftId productNftId,
39
- ReferralId referralId,
40
- RiskId riskId,
41
- uint256 sumInsuredAmount,
42
- uint256 premiumAmount,
43
- uint256 lifetime,
44
- NftId bundleNftId
45
- )
46
- external
47
- onlyProductService2
48
- override
49
- {
50
- PolicyInfo memory info = PolicyInfo(
51
- productNftId,
52
- bundleNftId,
53
- referralId,
54
- address(0), // beneficiary = policy nft holder
55
- riskId,
56
- sumInsuredAmount,
57
- premiumAmount,
58
- 0, // premium paid amount
59
- lifetime,
60
- "", // applicationData
61
- "", // policyData
62
- zeroTimestamp(), // activatedAt
63
- zeroTimestamp(), // expiredAt
64
- zeroTimestamp() // closedAt
65
- );
66
-
67
- _create(POLICY(), policyNftId, abi.encode(info));
68
- }
69
-
70
- function setPolicyInfo(NftId policyNftId, PolicyInfo memory info)
71
- external
72
- override
73
- onlyProductService2
74
- {
75
- _updateData(POLICY(), policyNftId, abi.encode(info));
76
- }
77
-
78
- function updatePolicyState(NftId bundleNftId, StateId state)
79
- external
80
- override
81
- onlyProductService2
82
- {
83
- _updateState(POLICY(), bundleNftId, state);
84
- }
85
-
86
- function getPolicyInfo(
87
- NftId nftId
88
- ) external view returns (PolicyInfo memory info) {
89
- return abi.decode(_getData(POLICY(), nftId), (PolicyInfo));
90
- }
91
- }
@@ -1,40 +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 {NftId} from "../../../types/NftId.sol";
6
- import {UFixed} from "../../../types/UFixed.sol";
7
- import {IProductService} from "../../service/IProductService.sol";
8
- import {IPoolService} from "../../service/IPoolService.sol";
9
-
10
- interface IPool {
11
- struct PoolInfo {
12
- bool isVerifying;
13
- UFixed collateralizationLevel;
14
- }
15
- }
16
-
17
- interface IPoolModule is IPool {
18
-
19
- function registerPool(
20
- NftId poolNftId,
21
- bool isVerifying,
22
- UFixed collateralizationLevel
23
- ) external;
24
-
25
- function addBundleToPool(
26
- NftId bundleNftId,
27
- NftId poolNftId,
28
- uint256 amount
29
- ) external;
30
-
31
- function getPoolInfo(
32
- NftId nftId
33
- ) external view returns (PoolInfo memory info);
34
-
35
- function getBundleCount(NftId poolNftId) external view returns (uint256 bundleCount);
36
- function getBundleNftId(NftId poolNftId, uint256 index) external view returns (NftId bundleNftId);
37
-
38
- // repeat service linked signatures to avoid linearization issues
39
- function getPoolService() external returns(IPoolService);
40
- }
@@ -1,90 +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 {IProductService} from "../../service/IProductService.sol";
6
- import {IPoolService} from "../../service/IPoolService.sol";
7
- import {IPolicy, IPolicyModule} from "../../module/policy/IPolicy.sol";
8
- import {ITreasuryModule} from "../../module/treasury/ITreasury.sol";
9
-
10
- import {NftId} from "../../../types/NftId.sol";
11
- import {POOL} from "../../../types/ObjectType.sol";
12
- import {LibNftIdSet} from "../../../types/NftIdSet.sol";
13
- import {StateId, APPLIED} from "../../../types/StateId.sol";
14
- import {UFixed} from "../../../types/UFixed.sol";
15
-
16
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
17
- import {IPoolModule} from "./IPoolModule.sol";
18
- import {ModuleBase} from "../../base/ModuleBase.sol";
19
-
20
- abstract contract PoolModule is
21
- ModuleBase,
22
- IPoolModule
23
- {
24
- using LibNftIdSet for LibNftIdSet.Set;
25
-
26
- // mapping(NftId poolNftId => PoolInfo info) private _poolInfo;
27
- mapping(NftId poolNftId => LibNftIdSet.Set bundles) private _bundlesForPool;
28
-
29
- modifier poolServiceCallingPool() {
30
- require(
31
- msg.sender == address(this.getPoolService()),
32
- "ERROR:PL-001:NOT_POOL_SERVICE"
33
- );
34
- _;
35
- }
36
-
37
- function initializePoolModule(IKeyValueStore keyValueStore) internal {
38
- _initialize(keyValueStore);
39
- }
40
-
41
- function registerPool(
42
- NftId nftId,
43
- bool isVerifying,
44
- UFixed collateralizationRate
45
- )
46
- public
47
- override
48
- {
49
- PoolInfo memory info = PoolInfo(
50
- isVerifying,
51
- collateralizationRate
52
- );
53
-
54
- _create(POOL(), nftId, abi.encode(info));
55
- }
56
-
57
- function addBundleToPool(
58
- NftId bundleNftId,
59
- NftId poolNftId,
60
- uint256 // amount
61
- )
62
- external
63
- override
64
- {
65
- LibNftIdSet.Set storage bundleSet = _bundlesForPool[poolNftId];
66
- require(
67
- !bundleSet.contains(bundleNftId),
68
- "ERROR:PL-020:BUNDLE_ALREADY_ADDED");
69
-
70
- bundleSet.add(bundleNftId);
71
- }
72
-
73
-
74
- function getPoolInfo(
75
- NftId nftId
76
- ) external view override returns (PoolInfo memory info) {
77
- return abi.decode(_getData(POOL(), nftId), (PoolInfo));
78
- }
79
-
80
-
81
- function getBundleCount(NftId poolNftId) external view override returns (uint256 bundleCount) {
82
- return _bundlesForPool[poolNftId].getLength();
83
- }
84
-
85
-
86
- function getBundleNftId(NftId poolNftId, uint256 index) external view override returns (NftId bundleNftId) {
87
- return _bundlesForPool[poolNftId].getElementAt(index);
88
- }
89
-
90
- }
@@ -1,26 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../../types/NftId.sol";
5
- import {RiskId} from "../../../types/RiskId.sol";
6
- import {StateId} from "../../../types/StateId.sol";
7
-
8
- interface IRisk {
9
- struct RiskInfo {
10
- NftId productNftId;
11
- bytes data;
12
- }
13
- }
14
-
15
- interface IRiskModule is IRisk {
16
- function createRisk(
17
- RiskId riskId,
18
- NftId productNftId,
19
- bytes memory data
20
- ) external;
21
-
22
- function setRiskInfo(RiskId riskId, RiskInfo memory info) external;
23
- function updateRiskState(RiskId riskId, StateId state) external;
24
-
25
- function getRiskInfo(RiskId riskId) external view returns (RiskInfo memory info);
26
- }
@@ -1,62 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../../types/NftId.sol";
5
- import {RISK} from "../../../types/ObjectType.sol";
6
- import {RiskId} from "../../../types/RiskId.sol";
7
- import {StateId} from "../../../types/StateId.sol";
8
-
9
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
10
- import {IRiskModule} from "./IRisk.sol";
11
- import {ModuleBase} from "../../base/ModuleBase.sol";
12
-
13
- contract RiskModule is
14
- ModuleBase,
15
- IRiskModule
16
- {
17
- function initializeRiskModule(IKeyValueStore keyValueStore) internal {
18
- _initialize(keyValueStore);
19
- }
20
-
21
- function createRisk(
22
- RiskId riskId,
23
- NftId productNftId,
24
- bytes memory data
25
- ) external override {
26
- RiskInfo memory info = RiskInfo(
27
- productNftId,
28
- data
29
- );
30
-
31
- _create(RISK(), riskId.toKey32(), abi.encode(info));
32
- }
33
-
34
- function setRiskInfo(
35
- RiskId riskId,
36
- RiskInfo memory info
37
- )
38
- external
39
- override
40
- {
41
-
42
- }
43
-
44
- function updateRiskState(
45
- RiskId riskId,
46
- StateId state
47
- )
48
- external
49
- override
50
- {
51
-
52
- }
53
-
54
- function getRiskInfo(RiskId riskId)
55
- external
56
- view
57
- override
58
- returns (RiskInfo memory info)
59
- {
60
-
61
- }
62
- }
@@ -1,82 +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
- import {IDistributionComponent} from "../../../components/IDistributionComponent.sol";
6
- import {IPoolComponent} from "../../../components/IPoolComponent.sol";
7
- import {IProductComponent} from "../../../components/IProductComponent.sol";
8
-
9
- import {NftId} from "../../../types/NftId.sol";
10
- import {UFixed} from "../../../types/UFixed.sol";
11
- import {Fee} from "../../../types/Fee.sol";
12
-
13
- import {TokenHandler} from "./TokenHandler.sol";
14
-
15
- interface ITreasury {
16
- // TODO add events
17
- // TODO add errors
18
-
19
- // treasury info is linked to product nft id
20
- struct TreasuryInfo {
21
- NftId poolNftId;
22
- NftId distributionNftId;
23
- IERC20Metadata token;
24
- Fee productFee; // product fee on net premium
25
- Fee processingFee; // product fee on payout amounts
26
- Fee poolFee; // pool fee on net premium
27
- Fee stakingFee; // pool fee on staked capital from investor
28
- Fee performanceFee; // pool fee on profits from capital investors
29
- Fee distributionFee; // default distribution fee (no referral id)
30
- }
31
- }
32
-
33
- interface ITreasuryModule is ITreasury {
34
-
35
- function registerProductSetup(
36
- IProductComponent product,
37
- IPoolComponent pool,
38
- IDistributionComponent distribution
39
- ) external;
40
-
41
- function setTreasuryInfo(
42
- NftId productNftId,
43
- TreasuryInfo memory info
44
- ) external;
45
-
46
- function hasTreasuryInfo(
47
- NftId productNftId
48
- ) external view returns (bool hasInfo);
49
-
50
- function getTreasuryInfo(
51
- NftId productNftId
52
- ) external view returns (TreasuryInfo memory info);
53
-
54
- function getProductNftId(
55
- NftId componentNftId
56
- ) external view returns (NftId productNftId);
57
-
58
- function getTokenHandler(
59
- NftId componentNftId
60
- ) external view returns (TokenHandler tokenHandler);
61
-
62
- function calculateFeeAmount(
63
- uint256 amount,
64
- Fee memory fee
65
- ) external pure returns (uint256 feeAmount, uint256 netAmount);
66
-
67
- function getFee(
68
- UFixed fractionalFee,
69
- uint256 fixedFee
70
- ) external pure returns (Fee memory fee);
71
-
72
- function getZeroFee() external view returns (Fee memory fee);
73
-
74
- function getUFixed(
75
- uint256 a
76
- ) external pure returns (UFixed);
77
-
78
- function getUFixed(
79
- uint256 a,
80
- int8 exp
81
- ) external pure returns (UFixed);
82
- }
@@ -1,48 +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 {NftId} from "../../../types/NftId.sol";
7
-
8
- contract TokenHandler {
9
- NftId private _productNftId;
10
- IERC20Metadata private _token;
11
-
12
- constructor(
13
- NftId productNftId,
14
- address token
15
- )
16
- {
17
- _productNftId = productNftId;
18
- _token = IERC20Metadata(token);
19
- }
20
-
21
- // TODO add logging
22
- function transfer(
23
- address from,
24
- address to,
25
- uint256 amount
26
- )
27
- external // TODO add authz (only treasury/instance/product/pool/ service)
28
- {
29
- // TODO switch to oz safeTransferFrom
30
- _token.transferFrom(from, to, amount);
31
- }
32
-
33
- function getProductNftId()
34
- external
35
- view
36
- returns(NftId)
37
- {
38
- return _productNftId;
39
- }
40
-
41
- function getToken()
42
- external
43
- view
44
- returns(IERC20Metadata)
45
- {
46
- return _token;
47
- }
48
- }
@@ -1,138 +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
- import {IDistributionComponent} from "../../../components/IDistributionComponent.sol";
6
- import {IPoolComponent} from "../../../components/IPoolComponent.sol";
7
- import {IProductComponent} from "../../../components/IProductComponent.sol";
8
-
9
- import {NftId} from "../../../types/NftId.sol";
10
- import {TREASURY} from "../../../types/ObjectType.sol";
11
- import {Fee, FeeLib} from "../../../types/Fee.sol";
12
- import {UFixed, UFixedMathLib} from "../../../types/UFixed.sol";
13
- import {TokenHandler} from "./TokenHandler.sol";
14
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
15
- import {ITreasuryModule} from "./ITreasury.sol";
16
- import {ModuleBase} from "../../base/ModuleBase.sol";
17
-
18
- abstract contract TreasuryModule is
19
- ModuleBase,
20
- ITreasuryModule
21
- {
22
- // relation of distributor and pool nft map to product nft
23
- mapping(NftId componentNftId => NftId productNftId) internal _productNft;
24
- // relation of component nft to token hanlder
25
- mapping(NftId componentNftId => TokenHandler tokenHandler) internal _tokenHandler;
26
- Fee internal _zeroFee;
27
-
28
-
29
- function initializeTreasuryModule(IKeyValueStore keyValueStore) internal {
30
- _initialize(keyValueStore);
31
- _zeroFee = FeeLib.zeroFee();
32
- }
33
-
34
- function registerProductSetup(
35
- IProductComponent product,
36
- IPoolComponent pool,
37
- IDistributionComponent distribution
38
- ) external override // TODO add authz (only component module)
39
- {
40
- NftId productNftId = product.getNftId();
41
- NftId poolNftId = pool.getNftId();
42
- NftId distributionNftId = distribution.getNftId();
43
-
44
- require(productNftId.gtz(), "ERROR:TRS-010:PRODUCT_UNDEFINED");
45
- require(poolNftId.gtz(), "ERROR:TRS-011:POOL_UNDEFINED");
46
-
47
- require(address(_tokenHandler[productNftId]) == address(0), "ERROR:TRS-012:TOKEN_HANDLER_ALREADY_REGISTERED");
48
- require(_productNft[poolNftId].eqz(), "ERROR:TRS-013:POOL_ALREADY_LINKED");
49
- require(_productNft[distributionNftId].eqz(), "ERROR:TRS-014:COMPENSATION_ALREADY_LINKED");
50
-
51
- // deploy product specific handler contract
52
- IERC20Metadata token = product.getToken();
53
- _tokenHandler[productNftId] = new TokenHandler(productNftId, address(token));
54
- _productNft[distributionNftId] = productNftId;
55
- _productNft[poolNftId] = productNftId;
56
-
57
- TreasuryInfo memory info = TreasuryInfo(
58
- poolNftId,
59
- distributionNftId,
60
- token,
61
- product.getProductFee(),
62
- product.getProcessingFee(),
63
- pool.getPoolFee(),
64
- pool.getStakingFee(),
65
- pool.getPerformanceFee(),
66
- distribution.getDistributionFee()
67
- );
68
-
69
- _create(TREASURY(), productNftId, abi.encode(info));
70
- }
71
-
72
- function setTreasuryInfo(
73
- NftId productNftId,
74
- TreasuryInfo memory info
75
- )
76
- external
77
- // TODO add authz (only component module)
78
- override
79
- {
80
- _updateData(TREASURY(), productNftId, abi.encode(info));
81
- }
82
-
83
- function getProductNftId(
84
- NftId componentNftId
85
- ) external view returns (NftId productNftId) {
86
- return _productNft[componentNftId];
87
- }
88
-
89
- function getTokenHandler(
90
- NftId componentNftId
91
- ) external view override returns (TokenHandler tokenHandler) {
92
- return _tokenHandler[componentNftId];
93
- }
94
-
95
- function hasTreasuryInfo(
96
- NftId productNftId
97
- ) public view override returns (bool hasInfo) {
98
- return _exists(TREASURY(), productNftId);
99
- }
100
-
101
- function getTreasuryInfo(
102
- NftId productNftId
103
- ) public view override returns (TreasuryInfo memory info) {
104
- return abi.decode(_getData(TREASURY(), productNftId), (TreasuryInfo));
105
- }
106
-
107
- function calculateFeeAmount(
108
- uint256 amount,
109
- Fee memory fee
110
- ) public pure override returns (uint256 feeAmount, uint256 netAmount) {
111
- return FeeLib.calculateFee(fee, amount);
112
- }
113
-
114
- function getFee(
115
- UFixed fractionalFee,
116
- uint256 fixedFee
117
- ) external pure override returns (Fee memory fee) {
118
- return FeeLib.toFee(fractionalFee, fixedFee);
119
- }
120
-
121
- function getZeroFee() external view override returns (Fee memory fee) {
122
- return _zeroFee;
123
- }
124
-
125
- function getUFixed(
126
- uint256 a
127
- ) external pure override returns (UFixed) {
128
- return UFixedMathLib.toUFixed(a);
129
- }
130
-
131
- function getUFixed(
132
- uint256 a,
133
- int8 exp
134
- ) external pure returns (UFixed)
135
- {
136
- return UFixedMathLib.toUFixed(a, exp);
137
- }
138
- }