@etherisc/gif-next 0.0.2-7acbd99-227 → 0.0.2-7afe9ac-654

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 (733) hide show
  1. package/README.md +209 -16
  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 +1548 -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 +1234 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1560 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +858 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +943 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +945 -0
  36. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +344 -1864
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +757 -0
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +499 -2174
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1735 -0
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1160 -0
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +734 -0
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3591 -0
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  59. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  64. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  69. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  70. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  71. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  72. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  73. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  74. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  76. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  78. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  79. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  80. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  81. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1185 -0
  82. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  83. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  84. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  86. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +802 -0
  88. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  90. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1093 -0
  92. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  94. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  96. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  97. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1520 -0
  98. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  100. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  101. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1300 -0
  102. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  103. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +786 -0
  104. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +805 -0
  106. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  107. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1002 -0
  108. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  110. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  111. package/artifacts/contracts/pool/Pool.sol/Pool.json +1312 -0
  112. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  113. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  114. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  116. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  117. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  118. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  119. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  120. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  121. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -0
  122. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  123. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  124. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  125. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  126. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  128. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  129. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +512 -0
  130. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  131. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  132. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  133. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IPolicyService.sol/IPolicyService.json} +408 -362
  134. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  135. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +320 -255
  136. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  137. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +985 -0
  138. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IProductService.sol/IProductService.json} +187 -176
  140. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  141. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  142. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  144. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  145. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  146. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  148. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  149. package/artifacts/contracts/product/Product.sol/Product.json +1276 -0
  150. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  151. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  152. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  153. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  154. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  155. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +60 -2
  156. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  157. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +411 -59
  158. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  159. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +457 -185
  160. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  161. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  162. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  163. package/artifacts/contracts/registry/Registry.sol/Registry.json +579 -143
  164. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  165. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  166. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  167. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +863 -272
  168. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  169. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +721 -0
  170. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  171. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  172. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  173. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  174. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  176. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  177. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  178. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  179. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  180. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  181. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1640 -0
  182. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  183. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
  184. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  185. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +298 -152
  186. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  187. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  188. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  189. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  190. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  191. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +977 -0
  192. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +737 -0
  194. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +474 -0
  196. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  198. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  199. package/artifacts/contracts/{instance/module/component/IComponent.sol/IComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +66 -52
  200. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  201. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  202. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +65 -8
  204. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  205. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  206. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  207. package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +155 -153
  208. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  209. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  210. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  211. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1015 -0
  212. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  213. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +102 -165
  214. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  215. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  216. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  217. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  218. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  219. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +244 -0
  220. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  221. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  222. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +205 -12
  224. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  225. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  226. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  227. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +242 -191
  228. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  229. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  230. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  231. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  232. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  233. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  234. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  235. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  236. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  237. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  238. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  240. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  242. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  244. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  246. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  248. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  250. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  251. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  252. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  253. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  254. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/Amount.sol/AmountLib.json +369 -0
  256. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  258. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  260. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  262. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  264. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  265. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  266. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  268. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  269. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  270. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  272. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  274. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  276. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  278. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  280. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  282. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  284. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  286. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  288. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  290. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  292. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  294. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/UFixed.sol/MathLib.json +10 -0
  296. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
  298. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  300. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  302. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  303. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  304. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  305. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  306. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  307. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  308. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  309. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  310. package/contracts/authorization/AccessAdmin.sol +591 -0
  311. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  312. package/contracts/authorization/Authorization.sol +218 -0
  313. package/contracts/authorization/IAccess.sol +48 -0
  314. package/contracts/authorization/IAccessAdmin.sol +136 -0
  315. package/contracts/authorization/IAuthorization.sol +54 -0
  316. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  317. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  318. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  319. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  320. package/contracts/distribution/BasicDistribution.sol +149 -0
  321. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  322. package/contracts/distribution/Distribution.sol +301 -0
  323. package/contracts/distribution/DistributionService.sol +338 -0
  324. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  325. package/contracts/distribution/IDistributionComponent.sol +52 -0
  326. package/contracts/distribution/IDistributionService.sol +97 -0
  327. package/contracts/instance/BundleSet.sol +126 -0
  328. package/contracts/instance/IInstance.sol +78 -46
  329. package/contracts/instance/IInstanceService.sol +92 -0
  330. package/contracts/instance/Instance.sol +237 -68
  331. package/contracts/instance/InstanceAdmin.sol +266 -0
  332. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  333. package/contracts/instance/InstanceReader.sol +405 -0
  334. package/contracts/instance/InstanceService.sol +443 -0
  335. package/contracts/instance/InstanceServiceManager.sol +40 -0
  336. package/contracts/instance/InstanceStore.sol +276 -0
  337. package/contracts/instance/base/BalanceStore.sol +123 -0
  338. package/contracts/instance/base/Cloneable.sol +28 -0
  339. package/contracts/instance/base/ObjectCounter.sol +21 -0
  340. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  341. package/contracts/instance/base/ObjectSet.sol +79 -0
  342. package/contracts/instance/module/IAccess.sol +46 -0
  343. package/contracts/instance/module/IBundle.sol +20 -0
  344. package/contracts/instance/module/IComponents.sol +51 -0
  345. package/contracts/instance/module/IDistribution.sol +42 -0
  346. package/contracts/instance/module/IPolicy.sol +84 -0
  347. package/contracts/instance/module/IRisk.sol +11 -0
  348. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  349. package/contracts/oracle/BasicOracle.sol +48 -0
  350. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  351. package/contracts/oracle/IOracle.sol +36 -0
  352. package/contracts/oracle/IOracleComponent.sol +33 -0
  353. package/contracts/oracle/IOracleService.sol +65 -0
  354. package/contracts/oracle/Oracle.sol +170 -0
  355. package/contracts/oracle/OracleService.sol +278 -0
  356. package/contracts/oracle/OracleServiceManager.sol +39 -0
  357. package/contracts/pool/BasicPool.sol +164 -0
  358. package/contracts/pool/BasicPoolAuthorization.sol +55 -0
  359. package/contracts/pool/BundleService.sol +340 -0
  360. package/contracts/pool/BundleServiceManager.sol +39 -0
  361. package/contracts/pool/IBundleService.sol +120 -0
  362. package/contracts/pool/IPoolComponent.sol +58 -0
  363. package/contracts/pool/IPoolService.sol +150 -0
  364. package/contracts/pool/Pool.sol +328 -0
  365. package/contracts/pool/PoolService.sol +433 -0
  366. package/contracts/pool/PoolServiceManager.sol +39 -0
  367. package/contracts/product/ApplicationService.sol +230 -0
  368. package/contracts/product/ApplicationServiceManager.sol +38 -0
  369. package/contracts/product/BasicProduct.sol +82 -0
  370. package/contracts/product/BasicProductAuthorization.sol +43 -0
  371. package/contracts/product/ClaimService.sol +416 -0
  372. package/contracts/product/ClaimServiceManager.sol +38 -0
  373. package/contracts/product/IApplicationService.sol +62 -0
  374. package/contracts/product/IClaimService.sol +99 -0
  375. package/contracts/product/IPolicyService.sol +78 -0
  376. package/contracts/product/IPricingService.sol +39 -0
  377. package/contracts/product/IProductComponent.sol +40 -0
  378. package/contracts/product/IProductService.sol +33 -0
  379. package/contracts/product/PolicyService.sol +475 -0
  380. package/contracts/product/PolicyServiceManager.sol +39 -0
  381. package/contracts/product/PricingService.sol +300 -0
  382. package/contracts/product/PricingServiceManager.sol +39 -0
  383. package/contracts/product/Product.sol +392 -0
  384. package/contracts/product/ProductService.sol +99 -0
  385. package/contracts/product/ProductServiceManager.sol +39 -0
  386. package/contracts/registry/ChainNft.sol +55 -25
  387. package/contracts/registry/IRegistry.sol +101 -40
  388. package/contracts/registry/IRegistryService.sol +56 -16
  389. package/contracts/registry/ITransferInterceptor.sol +1 -0
  390. package/contracts/registry/Registry.sol +408 -330
  391. package/contracts/registry/RegistryAdmin.sol +365 -0
  392. package/contracts/registry/RegistryService.sol +150 -281
  393. package/contracts/registry/RegistryServiceManager.sol +53 -0
  394. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  395. package/contracts/registry/ReleaseRegistry.sol +487 -0
  396. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  397. package/contracts/registry/TokenRegistry.sol +315 -0
  398. package/contracts/shared/Component.sol +280 -0
  399. package/contracts/shared/ComponentService.sol +620 -0
  400. package/contracts/shared/ComponentServiceManager.sol +35 -0
  401. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  402. package/contracts/shared/ERC165.sol +16 -10
  403. package/contracts/shared/IComponent.sol +70 -0
  404. package/contracts/shared/IComponentService.sol +112 -0
  405. package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
  406. package/contracts/shared/IKeyValueStore.sol +54 -0
  407. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -5
  408. package/contracts/shared/INftOwnable.sol +23 -0
  409. package/contracts/shared/IPolicyHolder.sol +45 -0
  410. package/contracts/shared/IRegisterable.sol +5 -12
  411. package/contracts/shared/IRegistryLinked.sol +11 -0
  412. package/contracts/shared/IService.sol +25 -0
  413. package/contracts/shared/InitializableCustom.sol +177 -0
  414. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  415. package/contracts/shared/KeyValueStore.sol +131 -0
  416. package/contracts/shared/Lifecycle.sol +77 -0
  417. package/contracts/shared/NftIdSet.sol +65 -0
  418. package/contracts/shared/NftOwnable.sol +107 -0
  419. package/contracts/shared/PolicyHolder.sol +102 -0
  420. package/contracts/shared/Registerable.sol +33 -75
  421. package/contracts/shared/RegistryLinked.sol +43 -0
  422. package/contracts/shared/Service.sol +82 -0
  423. package/contracts/shared/TokenHandler.sol +58 -0
  424. package/contracts/staking/IStaking.sol +167 -0
  425. package/contracts/staking/IStakingService.sol +160 -0
  426. package/contracts/staking/StakeManagerLib.sol +231 -0
  427. package/contracts/staking/Staking.sol +514 -0
  428. package/contracts/staking/StakingLifecycle.sol +23 -0
  429. package/contracts/staking/StakingManager.sol +50 -0
  430. package/contracts/staking/StakingReader.sol +183 -0
  431. package/contracts/staking/StakingService.sol +411 -0
  432. package/contracts/staking/StakingServiceManager.sol +44 -0
  433. package/contracts/staking/StakingStore.sol +605 -0
  434. package/contracts/staking/TargetManagerLib.sol +207 -0
  435. package/contracts/{types → type}/AddressSet.sol +1 -1
  436. package/contracts/type/Amount.sol +135 -0
  437. package/contracts/{types → type}/Blocknumber.sol +21 -3
  438. package/contracts/type/ClaimId.sol +75 -0
  439. package/contracts/type/DistributorType.sol +55 -0
  440. package/contracts/type/Fee.sol +66 -0
  441. package/contracts/{types → type}/Key32.sol +8 -3
  442. package/contracts/{types → type}/NftId.sol +21 -15
  443. package/contracts/type/NftIdSet.sol +62 -0
  444. package/contracts/type/ObjectType.sol +271 -0
  445. package/contracts/type/PayoutId.sol +82 -0
  446. package/contracts/type/Referral.sol +90 -0
  447. package/contracts/type/RequestId.sol +75 -0
  448. package/contracts/{types → type}/RiskId.sol +1 -1
  449. package/contracts/type/RoleId.sol +174 -0
  450. package/contracts/type/Seconds.sol +81 -0
  451. package/contracts/type/Selector.sol +102 -0
  452. package/contracts/{types → type}/StateId.sol +39 -5
  453. package/contracts/type/String.sol +53 -0
  454. package/contracts/{types → type}/Timestamp.sol +27 -14
  455. package/contracts/type/UFixed.sol +333 -0
  456. package/contracts/{types → type}/Version.sol +8 -2
  457. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  458. package/contracts/upgradeability/ProxyManager.sol +198 -0
  459. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +2 -4
  460. package/contracts/upgradeability/Versionable.sol +59 -0
  461. package/package.json +11 -7
  462. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  463. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -213
  464. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  465. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -445
  466. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  467. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -177
  468. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  469. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -343
  470. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  471. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -474
  472. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  473. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -373
  474. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  475. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -602
  476. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  477. package/artifacts/contracts/components/Product.sol/Product.json +0 -502
  478. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  479. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  480. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  481. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  482. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  483. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  484. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  485. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  486. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  487. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  488. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  489. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  490. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  491. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  492. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  494. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  496. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  498. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  500. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  501. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  503. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  505. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  507. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  509. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  511. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  512. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  513. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  514. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  515. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  516. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  517. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  518. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  519. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  520. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  521. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  522. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  523. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  524. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  525. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  526. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -380
  527. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  528. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  529. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  530. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  531. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  532. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  533. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  534. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  535. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  536. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  537. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  538. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  539. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  540. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  541. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  542. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  543. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  544. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  545. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  546. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  547. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  548. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  549. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  550. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  551. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  552. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  553. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  554. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  555. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  556. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  557. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  558. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  559. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  560. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  561. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  563. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  564. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  565. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  567. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  568. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  569. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  570. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  571. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  572. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -690
  573. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  574. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -526
  575. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  576. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  577. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -369
  578. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  579. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  580. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  581. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -649
  582. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  583. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -964
  584. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  585. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  586. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  587. package/artifacts/contracts/registry/Registry.sol/RegistryCreationCode.dbg.json +0 -4
  588. package/artifacts/contracts/registry/Registry.sol/RegistryCreationCode.json +0 -150
  589. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.dbg.json +0 -4
  590. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.json +0 -344
  591. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  592. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  593. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  594. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  595. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  596. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -310
  597. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  598. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  599. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  600. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  601. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  602. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  603. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  604. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  605. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  606. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  607. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  608. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  609. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  610. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -191
  611. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  612. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  613. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  614. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -472
  615. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  616. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  617. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  618. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  619. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  620. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  621. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  622. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  623. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  624. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  625. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  627. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  628. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  629. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  630. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  631. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  632. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  633. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  634. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  635. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  636. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  637. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  638. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  639. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  640. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  641. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  642. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  643. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  644. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  645. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  646. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  648. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  649. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  650. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  652. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  653. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  654. package/contracts/components/BaseComponent.sol +0 -79
  655. package/contracts/components/Distribution.sol +0 -155
  656. package/contracts/components/IBaseComponent.sol +0 -19
  657. package/contracts/components/IDistributionComponent.sol +0 -47
  658. package/contracts/components/IPoolComponent.sol +0 -65
  659. package/contracts/components/IProductComponent.sol +0 -39
  660. package/contracts/components/Pool.sol +0 -246
  661. package/contracts/components/Product.sol +0 -299
  662. package/contracts/experiment/errors/Require.sol +0 -38
  663. package/contracts/experiment/errors/Revert.sol +0 -44
  664. package/contracts/experiment/inheritance/A.sol +0 -53
  665. package/contracts/experiment/inheritance/B.sol +0 -28
  666. package/contracts/experiment/inheritance/C.sol +0 -34
  667. package/contracts/experiment/inheritance/IA.sol +0 -13
  668. package/contracts/experiment/inheritance/IB.sol +0 -10
  669. package/contracts/experiment/inheritance/IC.sol +0 -12
  670. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  671. package/contracts/experiment/statemachine/ISM.sol +0 -25
  672. package/contracts/experiment/statemachine/SM.sol +0 -57
  673. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  674. package/contracts/experiment/types/TypeA.sol +0 -47
  675. package/contracts/experiment/types/TypeB.sol +0 -29
  676. package/contracts/instance/IInstanceLinked.sol +0 -8
  677. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  678. package/contracts/instance/base/IInstanceBase.sol +0 -23
  679. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  680. package/contracts/instance/base/IService.sol +0 -15
  681. package/contracts/instance/base/InstanceBase.sol +0 -89
  682. package/contracts/instance/base/KeyValueStore.sol +0 -161
  683. package/contracts/instance/base/Lifecycle.sol +0 -100
  684. package/contracts/instance/base/ModuleBase.sol +0 -57
  685. package/contracts/instance/base/ServiceBase.sol +0 -43
  686. package/contracts/instance/module/access/Access.sol +0 -149
  687. package/contracts/instance/module/access/IAccess.sol +0 -53
  688. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  689. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  690. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  691. package/contracts/instance/module/component/IComponent.sol +0 -28
  692. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  693. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  694. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  695. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  696. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  697. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  698. package/contracts/instance/module/risk/IRisk.sol +0 -26
  699. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  700. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  701. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  702. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  703. package/contracts/instance/service/ComponentOwnerService.sol +0 -272
  704. package/contracts/instance/service/DistributionService.sol +0 -54
  705. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  706. package/contracts/instance/service/IDistributionService.sol +0 -12
  707. package/contracts/instance/service/IPoolService.sol +0 -37
  708. package/contracts/instance/service/IProductService.sol +0 -107
  709. package/contracts/instance/service/PoolService.sol +0 -149
  710. package/contracts/instance/service/ProductService.sol +0 -509
  711. package/contracts/registry/IChainNft.sol +0 -22
  712. package/contracts/registry/IRegistryLinked.sol +0 -8
  713. package/contracts/registry/RegistryInstaller.sol +0 -100
  714. package/contracts/shared/IOwnable.sol +0 -6
  715. package/contracts/shared/ProxyManager.sol +0 -115
  716. package/contracts/shared/Versionable.sol +0 -147
  717. package/contracts/test/TestDistribution.sol +0 -22
  718. package/contracts/test/TestFee.sol +0 -25
  719. package/contracts/test/TestPool.sol +0 -27
  720. package/contracts/test/TestProduct.sol +0 -74
  721. package/contracts/test/TestRegisterable.sol +0 -18
  722. package/contracts/test/TestRoleId.sol +0 -14
  723. package/contracts/test/TestService.sol +0 -26
  724. package/contracts/test/TestVersion.sol +0 -44
  725. package/contracts/test/TestVersionable.sol +0 -17
  726. package/contracts/test/Usdc.sol +0 -26
  727. package/contracts/types/ChainId.sol +0 -38
  728. package/contracts/types/Fee.sol +0 -56
  729. package/contracts/types/NftIdSet.sol +0 -60
  730. package/contracts/types/ObjectType.sol +0 -131
  731. package/contracts/types/ReferralId.sol +0 -48
  732. package/contracts/types/RoleId.sol +0 -38
  733. package/contracts/types/UFixed.sol +0 -209
@@ -1,299 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin5/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {IRisk} from "../instance/module/risk/IRisk.sol";
7
- import {ITreasury} from "../instance/module/treasury/ITreasury.sol";
8
- import {IProductService} from "../instance/service/IProductService.sol";
9
- import {IProductComponent} from "./IProductComponent.sol";
10
- import {NftId, zeroNftId} from "../types/NftId.sol";
11
- import {ObjectType, PRODUCT} from "../types/ObjectType.sol";
12
- import {ReferralId} from "../types/ReferralId.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
-
23
- import {IPool} from "../instance/module/pool/IPoolModule.sol";
24
- import {IPoolComponent} from "../components/IPoolComponent.sol";
25
-
26
- contract Product is BaseComponent, IProductComponent {
27
- IProductService internal _productService;
28
- IPoolComponent internal _pool;
29
- address internal _distribution;
30
- Fee internal _initialProductFee;
31
- Fee internal _initialProcessingFee;
32
-
33
- NftId internal _poolNftId;
34
- NftId internal _distributionNftId;
35
-
36
- constructor(
37
- address registry,
38
- NftId instanceNftid,
39
- address token,
40
- bool isInterceptor,
41
- address pool,
42
- address distribution,
43
- Fee memory productFee,
44
- Fee memory processingFee,
45
- address initialOwner
46
- ) BaseComponent(registry, instanceNftid, token, PRODUCT(), isInterceptor, initialOwner) {
47
- // TODO add validation
48
- _productService = _instance.getProductService();
49
- _pool = IPoolComponent(pool);
50
- _distribution = distribution;
51
- _initialProductFee = productFee;
52
- _initialProcessingFee = processingFee;
53
-
54
- _poolNftId = getRegistry().getNftId(address(_pool));
55
- _distributionNftId = getRegistry().getNftId(_distribution);
56
-
57
- _registerInterface(type(IProductComponent).interfaceId);
58
- }
59
-
60
-
61
- function calculatePremium(
62
- uint256 sumInsuredAmount,
63
- RiskId riskId,
64
- uint256 lifetime,
65
- bytes memory applicationData,
66
- ReferralId referralId,
67
- NftId bundleNftId
68
- )
69
- external
70
- view
71
- override
72
- returns (uint256 premiumAmount)
73
- {
74
- (premiumAmount,,,,) = _productService.calculatePremium(
75
- riskId,
76
- sumInsuredAmount,
77
- lifetime,
78
- applicationData,
79
- bundleNftId,
80
- referralId
81
- );
82
- }
83
-
84
-
85
- function calculateNetPremium(
86
- uint256 sumInsuredAmount,
87
- RiskId riskId,
88
- uint256 lifetime,
89
- bytes memory applicationData
90
- )
91
- external
92
- view
93
- virtual override
94
- returns (uint256 netPremiumAmount)
95
- {
96
- // default 10% of sum insured
97
- return sumInsuredAmount / 10;
98
- }
99
-
100
- function _toRiskId(string memory riskName) internal pure returns (RiskId riskId) {
101
- return RiskIdLib.toRiskId(riskName);
102
- }
103
-
104
- function _createRisk(
105
- RiskId id,
106
- bytes memory data
107
- ) internal {
108
- _productService.createRisk(
109
- id,
110
- data
111
- );
112
- }
113
-
114
- function _setRiskInfo(
115
- RiskId id,
116
- IRisk.RiskInfo memory info
117
- ) internal {
118
- _productService.setRiskInfo(
119
- id,
120
- info
121
- );
122
- }
123
-
124
- function _updateRiskState(
125
- RiskId id,
126
- StateId state
127
- ) internal {
128
- _productService.updateRiskState(
129
- id,
130
- state
131
- );
132
- }
133
-
134
- function _getRiskInfo(RiskId id) internal view returns (IRisk.RiskInfo memory info) {
135
- return _instance.getRiskInfo(id);
136
- }
137
-
138
- function _createApplication(
139
- address applicationOwner,
140
- RiskId riskId,
141
- uint256 sumInsuredAmount,
142
- uint256 lifetime,
143
- bytes memory applicationData,
144
- NftId bundleNftId,
145
- ReferralId referralId
146
- ) internal returns (NftId nftId) {
147
- nftId = _productService.createApplication(
148
- applicationOwner,
149
- riskId,
150
- sumInsuredAmount,
151
- lifetime,
152
- applicationData,
153
- bundleNftId,
154
- referralId
155
- );
156
- }
157
-
158
- function _underwrite(
159
- NftId policyNftId,
160
- bool requirePremiumPayment,
161
- Timestamp activateAt
162
- )
163
- internal
164
- {
165
- _productService.underwrite(
166
- policyNftId,
167
- requirePremiumPayment,
168
- activateAt);
169
- }
170
-
171
- function _collectPremium(
172
- NftId policyNftId,
173
- Timestamp activateAt
174
- )
175
- internal
176
- {
177
- _productService.collectPremium(
178
- policyNftId,
179
- activateAt);
180
- }
181
-
182
- function _activate(
183
- NftId policyNftId,
184
- Timestamp activateAt
185
- )
186
- internal
187
- {
188
- _productService.activate(
189
- policyNftId,
190
- activateAt);
191
- }
192
-
193
- function getPoolNftId() external view override returns (NftId poolNftId) {
194
- return getRegistry().getNftId(address(_pool));
195
- }
196
-
197
- function getDistributionNftId() external view override returns (NftId distributionNftId) {
198
- return getRegistry().getNftId(_distribution);
199
- }
200
-
201
- // from product component
202
- function setFees(
203
- Fee memory productFee,
204
- Fee memory processingFee
205
- )
206
- external
207
- onlyOwner
208
- override
209
- {
210
- _productService.setFees(productFee, processingFee);
211
- }
212
-
213
- // TODO delete, call instance intead
214
- function getProductFee()
215
- external
216
- view
217
- override
218
- returns (Fee memory productFee)
219
- {
220
- NftId productNftId = getNftId();
221
- if (_instance.hasTreasuryInfo(productNftId)) {
222
- return _instance.getTreasuryInfo(productNftId).productFee;
223
- } else {
224
- return _initialProductFee;
225
- }
226
- }
227
-
228
- function getProcessingFee()
229
- external
230
- view
231
- override
232
- returns (Fee memory processingFee)
233
- {
234
- NftId productNftId = getNftId();
235
- if (_instance.hasTreasuryInfo(productNftId)) {
236
- return _instance.getTreasuryInfo(productNftId).processingFee;
237
- } else {
238
- return _initialProcessingFee;
239
- }
240
- }
241
-
242
- // from IRegisterable
243
-
244
- // TODO used only once, occupies space
245
- function getInitialInfo()
246
- public
247
- view
248
- override (IRegisterable, Registerable)
249
- returns (IRegistry.ObjectInfo memory, bytes memory)
250
- {
251
- // from Registerable
252
- (
253
- IRegistry.ObjectInfo memory productInfo,
254
- bytes memory data
255
- ) = super.getInitialInfo();
256
-
257
- // TODO read pool & distribution fees
258
- // 1) from pool -> the only option -> pool must be registered first?
259
- // 2) from instance -> all fees are set into instance at product registration which is ongoing here
260
- // checks are done in registryProduct() where THIS function is called
261
- //require(getRegistry().getObjectInfo(_poolNftId).objectType == POOL(), "POOL_NOT_REGISTERED");
262
- //require(getRegistry().getObjectInfo(_distributionNftId).objectType == DISTRIBUTION(), "DISTRIBUTION_NOT_REGISTERED");
263
-
264
- // from PoolComponent
265
- (
266
- IRegistry.ObjectInfo memory poolInfo,
267
- bytes memory poolData
268
- ) = _pool.getInitialInfo();
269
-
270
- (
271
- /*IPool.PoolInfo memory info*/,
272
- /*address wallet*/,
273
- /*IERC20Metadata token*/,
274
- Fee memory initialPoolFee,
275
- Fee memory initialStakingFee,
276
- Fee memory initialPerformanceFee
277
- ) = abi.decode(poolData, (IPool.PoolInfo, address, IERC20Metadata, Fee, Fee, Fee));
278
-
279
- // TODO from DistributionComponent
280
-
281
- return (
282
- productInfo,
283
- abi.encode(
284
- ITreasury.TreasuryInfo(
285
- _poolNftId,
286
- _distributionNftId,
287
- _token,
288
- _initialProductFee,
289
- _initialProcessingFee,
290
- initialPoolFee,
291
- initialStakingFee,
292
- initialPerformanceFee,
293
- FeeLib.zeroFee()//_instance.getDistributionFee(_distributionNftId)
294
- ),
295
- _wallet
296
- )
297
- );
298
- }
299
- }
@@ -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
- }
@@ -1,53 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IA, ISharedA} from "./IA.sol";
5
- import {B} from "./B.sol";
6
- import {C} from "./C.sol";
7
-
8
- /*
9
-
10
- # dependency graph
11
-
12
- B <...+
13
- ^ |
14
- | |
15
- A --> C
16
-
17
- - A is the main contract
18
- - A provides functionality implemented by modules B and C
19
- - B and C rely on functionality shared by A
20
- - C accesses functionality of module B
21
-
22
- # chisel session
23
-
24
- import {A} from "./contracts/experiment/A.sol";
25
- A a = new A();
26
- uint(a.getA())
27
- uint(a.getB()))
28
- uint(a.getC())
29
- uint(a.getAfromB())
30
- uint(a.getAfromC())
31
- uint(a.getBfromC())
32
- a.setA(100);
33
- a.setB(10);
34
- a.setC(20);
35
- */
36
-
37
- contract AShared is ISharedA {
38
- uint256 private _x;
39
-
40
- constructor() {
41
- _x = 42;
42
- }
43
-
44
- function getA() external view override returns (uint256) {
45
- return _x;
46
- }
47
-
48
- function setA(uint256 newA) external override {
49
- _x = newA;
50
- }
51
- }
52
-
53
- contract A is AShared, B, C, IA {}
@@ -1,28 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ISharedA} from "./IA.sol";
5
- import {IB} from "./IB.sol";
6
-
7
- abstract contract B is ISharedA, IB {
8
- // names of private variables can be re-used in inheritance
9
- uint256 private _x;
10
-
11
- constructor() {
12
- _x = 1;
13
- }
14
-
15
- // access own state
16
- function getB() external view override returns (uint256) {
17
- return _x;
18
- }
19
-
20
- function setB(uint256 newB) external override {
21
- _x = newB;
22
- }
23
-
24
- // access state from parent contract A
25
- function getAfromB() external view override returns (uint256) {
26
- return this.getA();
27
- }
28
- }
@@ -1,34 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ISharedA} from "./IA.sol";
5
- import {IB} from "./IB.sol";
6
- import {IC} from "./IC.sol";
7
-
8
- abstract contract C is ISharedA, IC {
9
- uint256 private _x;
10
-
11
- constructor() {
12
- _x = 2;
13
- }
14
-
15
- // access own state
16
- function getC() external view override returns (uint256) {
17
- return _x;
18
- }
19
-
20
- function setC(uint256 newC) external override {
21
- _x = newC;
22
- }
23
-
24
- // access state from parent contract A
25
- function getAfromC() external view override returns (uint256) {
26
- return this.getA();
27
- }
28
-
29
- // access state from other module B
30
- function getBfromC() external view override returns (uint256) {
31
- IB b = IB(address(this));
32
- return b.getB();
33
- }
34
- }
@@ -1,13 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IB} from "./IB.sol";
5
- import {IC} from "./IC.sol";
6
-
7
- interface ISharedA {
8
- function getA() external view returns (uint256);
9
-
10
- function setA(uint256 newA) external;
11
- }
12
-
13
- interface IA is ISharedA, IB, IC {}
@@ -1,10 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IB {
5
- function getAfromB() external view returns (uint256);
6
-
7
- function getB() external view returns (uint256);
8
-
9
- function setB(uint256 newA) external;
10
- }
@@ -1,12 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IC {
5
- function getAfromC() external view returns (uint256);
6
-
7
- function getBfromC() external view returns (uint256);
8
-
9
- function getC() external view returns (uint256);
10
-
11
- function setC(uint256 newA) external;
12
- }
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType} from "../../types/ObjectType.sol";
5
- import {StateId, toStateId, zeroStateId} from "../../types/StateId.sol";
6
-
7
- contract LifeCycleModule {
8
- mapping(ObjectType objectType => StateId initialState)
9
- private _initialState;
10
-
11
- mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
12
- private _isValidTransition;
13
-
14
- function getInitialState(
15
- ObjectType objectType
16
- ) external view returns (StateId) {
17
- return _initialState[objectType];
18
- }
19
-
20
- function isValidTransition(
21
- ObjectType objectType,
22
- StateId fromId,
23
- StateId toId
24
- ) external view returns (bool) {
25
- return _isValidTransition[objectType][fromId][toId];
26
- }
27
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId} from "../../types/StateId.sol";
5
-
6
- interface ISMEE {
7
- error ErrorInitialStateUndefined();
8
- error ErrorStartStateUndefined();
9
- error ErrorNextStateUndefined();
10
- error ErrorStateChangeInvalid(StateId currentStateId, StateId newStateId);
11
-
12
- event LogInitialStateSet(StateId initialStateId);
13
- event LogStateChanged(StateId oldStateId, StateId newStateId);
14
- }
15
-
16
- interface ISM is ISMEE {
17
- function changeToState(StateId newStateId) external;
18
-
19
- function isValidTransition(
20
- StateId currentStateId,
21
- StateId newStateId
22
- ) external view returns (bool isValid);
23
-
24
- function getState() external view returns (StateId currentStateId);
25
- }
@@ -1,57 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId, toStateId, zeroStateId} from "../../types/StateId.sol";
5
- import {ISM} from "./ISM.sol";
6
-
7
- contract SM is ISM {
8
- mapping(StateId currentState => mapping(StateId newState => bool isValid))
9
- private _isValidTransition;
10
-
11
- StateId internal _state;
12
-
13
- function setInitialState(StateId initialStateId) internal {
14
- if (initialStateId == zeroStateId()) {
15
- revert ErrorInitialStateUndefined();
16
- }
17
-
18
- _state = initialStateId;
19
- }
20
-
21
- function addTransition(
22
- StateId currentStateId,
23
- StateId nextStateId
24
- ) internal {
25
- if (currentStateId == zeroStateId()) {
26
- revert ErrorStartStateUndefined();
27
- }
28
-
29
- if (nextStateId == zeroStateId()) {
30
- revert ErrorNextStateUndefined();
31
- }
32
-
33
- _isValidTransition[currentStateId][nextStateId] = true;
34
- }
35
-
36
- function changeToState(StateId newStateId) external override {
37
- if (!_isValidTransition[_state][newStateId]) {
38
- revert ErrorStateChangeInvalid(_state, newStateId);
39
- }
40
-
41
- StateId stateOld = _state;
42
- _state = newStateId;
43
-
44
- emit LogStateChanged(stateOld, _state);
45
- }
46
-
47
- function isValidTransition(
48
- StateId currentStateId,
49
- StateId newStateId
50
- ) external view override returns (bool isValid) {
51
- return _isValidTransition[currentStateId][newStateId];
52
- }
53
-
54
- function getState() external view override returns (StateId state) {
55
- return _state;
56
- }
57
- }
@@ -1,31 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId, toStateId} from "../../types/StateId.sol";
5
- import {SM} from "./SM.sol";
6
-
7
- contract SimpleStateMachine is SM {
8
- uint8 public constant STATE_ACTIVE = 10;
9
- uint8 public constant STATE_PAUSED = 20;
10
- uint8 public constant STATE_ARCHIVED = 30;
11
-
12
- constructor() {
13
- addTransition(ACTIVE(), PAUSED());
14
- addTransition(PAUSED(), ACTIVE());
15
- addTransition(PAUSED(), ARCHIVED());
16
-
17
- setInitialState(ACTIVE());
18
- }
19
-
20
- function ACTIVE() public pure returns (StateId stateId) {
21
- return toStateId(STATE_ACTIVE);
22
- }
23
-
24
- function PAUSED() public pure returns (StateId stateId) {
25
- return toStateId(STATE_PAUSED);
26
- }
27
-
28
- function ARCHIVED() public pure returns (StateId stateId) {
29
- return toStateId(STATE_ARCHIVED);
30
- }
31
- }