@etherisc/gif-next 0.0.2-743affe-003 → 0.0.2-758fb77-627

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 (764) hide show
  1. package/README.md +227 -17
  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/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1463 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +410 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1660 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +410 -0
  44. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  54. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  55. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +344 -1864
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +757 -0
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +445 -2209
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1850 -0
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1048 -0
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +683 -0
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3587 -0
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  76. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  77. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  78. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  80. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  82. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  84. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  86. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  88. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  89. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  90. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  91. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  92. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  93. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  94. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  95. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  96. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  97. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +765 -0
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1362 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +771 -0
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +907 -0
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  125. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  128. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1469 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +695 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +732 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +667 -0
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1325 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +775 -0
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IApplicationService.sol/IApplicationService.json} +277 -244
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  149. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  150. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  151. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +785 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  153. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  155. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +948 -0
  156. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  157. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +187 -176
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1104 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +715 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingService.sol/PricingService.json +860 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +715 -0
  166. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  167. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -0
  172. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +103 -2
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +593 -54
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  177. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +457 -185
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  179. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  180. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/Registry.sol/Registry.json +935 -175
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  183. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +696 -217
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +670 -0
  188. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  189. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  191. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  193. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  194. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  195. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  196. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  197. package/artifacts/contracts/shared/Component.sol/Component.json +685 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1568 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +753 -0
  202. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +202 -168
  204. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  205. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +605 -0
  206. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  208. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  209. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +379 -353
  210. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  211. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +474 -0
  212. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  213. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  214. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  215. package/artifacts/contracts/{instance/module/component/IComponent.sol/IComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +66 -52
  216. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  217. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +165 -0
  218. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +65 -8
  220. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  221. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  222. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  223. package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +155 -153
  224. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  225. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  226. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  227. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  228. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  229. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  230. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  231. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +102 -165
  232. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  233. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  234. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  235. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  236. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  237. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +193 -0
  238. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  239. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +188 -0
  240. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +116 -12
  242. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  243. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  244. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  245. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/Service.sol/Service.json} +177 -162
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  247. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +469 -0
  248. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  249. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  250. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  251. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  252. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  253. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  254. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  256. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  257. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  258. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  260. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +714 -0
  262. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  264. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1231 -0
  266. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +667 -0
  268. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  270. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  271. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  272. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  273. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  274. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  276. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  278. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  280. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  282. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  284. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  286. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  288. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  289. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  290. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  292. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  294. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  296. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  298. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  300. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  302. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  304. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  306. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  308. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  310. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  312. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  314. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  316. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  318. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  320. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  322. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  323. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  324. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  325. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +566 -0
  326. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  327. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  328. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  329. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  330. package/contracts/authorization/AccessAdmin.sol +589 -0
  331. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  332. package/contracts/authorization/Authorization.sol +217 -0
  333. package/contracts/authorization/IAccess.sol +48 -0
  334. package/contracts/authorization/IAccessAdmin.sol +136 -0
  335. package/contracts/authorization/IAuthorization.sol +54 -0
  336. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  337. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  338. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  339. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  340. package/contracts/distribution/BasicDistribution.sol +138 -0
  341. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  342. package/contracts/distribution/Distribution.sol +295 -0
  343. package/contracts/distribution/DistributionService.sol +336 -0
  344. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  345. package/contracts/distribution/IDistributionComponent.sol +52 -0
  346. package/contracts/distribution/IDistributionService.sol +101 -0
  347. package/contracts/examples/fire/FirePool.sol +76 -0
  348. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  349. package/contracts/examples/fire/FireProduct.sol +316 -0
  350. package/contracts/examples/fire/FireProductAuthorization.sol +16 -0
  351. package/contracts/examples/fire/FireUSD.sol +26 -0
  352. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  353. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  354. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  355. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  356. package/contracts/instance/BundleSet.sol +126 -0
  357. package/contracts/instance/IInstance.sol +57 -48
  358. package/contracts/instance/IInstanceService.sol +92 -0
  359. package/contracts/instance/Instance.sol +214 -70
  360. package/contracts/instance/InstanceAdmin.sol +285 -0
  361. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  362. package/contracts/instance/InstanceReader.sol +430 -0
  363. package/contracts/instance/InstanceService.sol +467 -0
  364. package/contracts/instance/InstanceServiceManager.sol +40 -0
  365. package/contracts/instance/InstanceStore.sol +287 -0
  366. package/contracts/instance/base/BalanceStore.sol +123 -0
  367. package/contracts/instance/base/Cloneable.sol +28 -0
  368. package/contracts/instance/base/ObjectCounter.sol +21 -0
  369. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  370. package/contracts/instance/base/ObjectSet.sol +79 -0
  371. package/contracts/instance/module/IAccess.sol +46 -0
  372. package/contracts/instance/module/IBundle.sol +20 -0
  373. package/contracts/instance/module/IComponents.sol +46 -0
  374. package/contracts/instance/module/IDistribution.sol +41 -0
  375. package/contracts/instance/module/IPolicy.sol +84 -0
  376. package/contracts/instance/module/IRisk.sol +11 -0
  377. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  378. package/contracts/oracle/BasicOracle.sol +48 -0
  379. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  380. package/contracts/oracle/IOracle.sol +36 -0
  381. package/contracts/oracle/IOracleComponent.sol +33 -0
  382. package/contracts/oracle/IOracleService.sol +65 -0
  383. package/contracts/oracle/Oracle.sol +167 -0
  384. package/contracts/oracle/OracleService.sol +279 -0
  385. package/contracts/oracle/OracleServiceManager.sol +39 -0
  386. package/contracts/pool/BasicPool.sol +166 -0
  387. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  388. package/contracts/pool/BundleService.sol +438 -0
  389. package/contracts/pool/BundleServiceManager.sol +39 -0
  390. package/contracts/pool/IBundleService.sol +134 -0
  391. package/contracts/pool/IPoolComponent.sol +58 -0
  392. package/contracts/pool/IPoolService.sol +160 -0
  393. package/contracts/pool/Pool.sol +326 -0
  394. package/contracts/pool/PoolService.sol +509 -0
  395. package/contracts/pool/PoolServiceManager.sol +39 -0
  396. package/contracts/product/ApplicationService.sol +248 -0
  397. package/contracts/product/ApplicationServiceManager.sol +38 -0
  398. package/contracts/product/BasicProduct.sol +53 -0
  399. package/contracts/product/BasicProductAuthorization.sol +43 -0
  400. package/contracts/product/ClaimService.sol +487 -0
  401. package/contracts/product/ClaimServiceManager.sol +38 -0
  402. package/contracts/product/IApplicationService.sol +63 -0
  403. package/contracts/product/IClaimService.sol +122 -0
  404. package/contracts/product/IPolicyService.sol +73 -0
  405. package/contracts/product/IPricingService.sol +39 -0
  406. package/contracts/product/IProductComponent.sol +39 -0
  407. package/contracts/product/IRiskService.sol +33 -0
  408. package/contracts/product/PolicyService.sol +573 -0
  409. package/contracts/product/PolicyServiceManager.sol +39 -0
  410. package/contracts/product/PricingService.sol +301 -0
  411. package/contracts/product/PricingServiceManager.sol +39 -0
  412. package/contracts/product/Product.sol +425 -0
  413. package/contracts/product/RiskService.sol +97 -0
  414. package/contracts/product/RiskServiceManager.sol +39 -0
  415. package/contracts/registry/ChainNft.sol +96 -33
  416. package/contracts/registry/IRegistry.sol +133 -40
  417. package/contracts/registry/IRegistryService.sol +56 -16
  418. package/contracts/registry/ITransferInterceptor.sol +1 -0
  419. package/contracts/registry/Registry.sol +541 -344
  420. package/contracts/registry/RegistryAdmin.sol +464 -0
  421. package/contracts/registry/RegistryService.sol +150 -281
  422. package/contracts/registry/RegistryServiceManager.sol +53 -0
  423. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  424. package/contracts/registry/ReleaseRegistry.sol +491 -0
  425. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  426. package/contracts/registry/TokenRegistry.sol +315 -0
  427. package/contracts/shared/Component.sol +268 -0
  428. package/contracts/shared/ComponentService.sol +641 -0
  429. package/contracts/shared/ComponentServiceManager.sol +35 -0
  430. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  431. package/contracts/shared/IComponent.sol +70 -0
  432. package/contracts/shared/IComponentService.sol +108 -0
  433. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  434. package/contracts/shared/IKeyValueStore.sol +54 -0
  435. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -5
  436. package/contracts/shared/INftOwnable.sol +23 -0
  437. package/contracts/shared/IPolicyHolder.sol +36 -0
  438. package/contracts/shared/IRegisterable.sol +5 -12
  439. package/contracts/shared/IRegistryLinked.sol +11 -0
  440. package/contracts/shared/IService.sol +25 -0
  441. package/contracts/shared/InitializableCustom.sol +177 -0
  442. package/contracts/shared/InitializableERC165.sol +27 -0
  443. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  444. package/contracts/shared/KeyValueStore.sol +131 -0
  445. package/contracts/shared/Lifecycle.sol +77 -0
  446. package/contracts/shared/NftIdSet.sol +65 -0
  447. package/contracts/shared/NftOwnable.sol +107 -0
  448. package/contracts/shared/PolicyHolder.sol +56 -0
  449. package/contracts/shared/Registerable.sol +31 -73
  450. package/contracts/shared/RegistryLinked.sol +44 -0
  451. package/contracts/shared/Service.sol +82 -0
  452. package/contracts/shared/TokenHandler.sol +139 -0
  453. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  454. package/contracts/staking/IStaking.sol +168 -0
  455. package/contracts/staking/IStakingService.sol +160 -0
  456. package/contracts/staking/StakeManagerLib.sol +224 -0
  457. package/contracts/staking/Staking.sol +498 -0
  458. package/contracts/staking/StakingLifecycle.sol +23 -0
  459. package/contracts/staking/StakingManager.sol +50 -0
  460. package/contracts/staking/StakingReader.sol +183 -0
  461. package/contracts/staking/StakingService.sol +407 -0
  462. package/contracts/staking/StakingServiceManager.sol +44 -0
  463. package/contracts/staking/StakingStore.sol +605 -0
  464. package/contracts/staking/TargetManagerLib.sol +211 -0
  465. package/contracts/{types → type}/AddressSet.sol +1 -1
  466. package/contracts/type/Amount.sol +135 -0
  467. package/contracts/{types → type}/Blocknumber.sol +27 -3
  468. package/contracts/type/ClaimId.sol +75 -0
  469. package/contracts/type/DistributorType.sol +55 -0
  470. package/contracts/type/Fee.sol +66 -0
  471. package/contracts/{types → type}/Key32.sol +8 -3
  472. package/contracts/{types → type}/NftId.sol +21 -15
  473. package/contracts/type/NftIdSet.sol +62 -0
  474. package/contracts/type/ObjectType.sol +275 -0
  475. package/contracts/type/PayoutId.sol +82 -0
  476. package/contracts/type/Referral.sol +90 -0
  477. package/contracts/type/RequestId.sol +75 -0
  478. package/contracts/{types → type}/RiskId.sol +16 -2
  479. package/contracts/type/RoleId.sol +174 -0
  480. package/contracts/type/Seconds.sol +101 -0
  481. package/contracts/type/Selector.sol +102 -0
  482. package/contracts/{types → type}/StateId.sol +40 -5
  483. package/contracts/type/String.sol +53 -0
  484. package/contracts/{types → type}/Timestamp.sol +38 -15
  485. package/contracts/type/UFixed.sol +351 -0
  486. package/contracts/{types → type}/Version.sol +8 -2
  487. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  488. package/contracts/upgradeability/ProxyManager.sol +198 -0
  489. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +2 -4
  490. package/contracts/upgradeability/Versionable.sol +59 -0
  491. package/package.json +11 -7
  492. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  493. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -213
  494. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  495. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -445
  496. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  497. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -177
  498. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  499. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -343
  500. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  501. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -474
  502. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  503. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -373
  504. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  505. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -602
  506. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  507. package/artifacts/contracts/components/Product.sol/Product.json +0 -502
  508. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  510. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  512. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  514. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  515. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  516. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  517. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  518. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  519. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  520. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  521. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  522. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  523. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  524. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  525. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  526. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  527. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  528. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  529. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  530. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  531. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  532. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  533. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  534. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  535. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  536. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  537. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  539. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  540. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  541. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  542. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  543. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  544. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  545. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  546. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  547. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  548. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  550. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +0 -456
  551. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  552. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  553. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  554. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  555. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  556. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  557. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  558. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  559. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  560. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  561. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  562. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  563. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  564. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  565. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  567. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  568. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  569. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  570. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  571. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  572. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  573. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  574. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  575. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  576. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  577. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  578. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  579. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  580. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  581. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  582. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  583. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  584. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  585. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  586. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  587. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  588. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  589. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  590. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  591. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  592. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  593. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  594. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  595. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  596. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  597. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  598. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  599. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  600. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  601. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  602. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -690
  603. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  604. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -526
  605. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  606. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  607. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -369
  608. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  609. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  610. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  611. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -649
  612. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  613. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -964
  614. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  615. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  616. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  617. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.dbg.json +0 -4
  618. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.json +0 -344
  619. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  620. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  621. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  622. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  623. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  624. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  625. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  626. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -310
  627. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  628. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  629. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  630. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  631. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  632. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  633. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  634. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  635. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  636. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  637. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  638. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  639. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  640. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -191
  641. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  642. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  643. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  644. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -472
  645. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  646. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  647. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  648. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  649. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  650. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  651. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  652. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  653. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  654. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  655. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  656. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  657. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  658. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  659. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  660. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  661. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  662. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  663. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  664. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  665. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  666. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  667. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  668. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  669. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  670. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  671. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  672. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  673. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  674. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  675. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  676. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  677. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  678. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  679. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  680. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  681. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  682. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  683. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  684. package/contracts/components/BaseComponent.sol +0 -79
  685. package/contracts/components/Distribution.sol +0 -155
  686. package/contracts/components/IBaseComponent.sol +0 -19
  687. package/contracts/components/IDistributionComponent.sol +0 -47
  688. package/contracts/components/IPoolComponent.sol +0 -65
  689. package/contracts/components/IProductComponent.sol +0 -39
  690. package/contracts/components/Pool.sol +0 -246
  691. package/contracts/components/Product.sol +0 -299
  692. package/contracts/experiment/errors/Require.sol +0 -38
  693. package/contracts/experiment/errors/Revert.sol +0 -44
  694. package/contracts/experiment/inheritance/A.sol +0 -53
  695. package/contracts/experiment/inheritance/B.sol +0 -28
  696. package/contracts/experiment/inheritance/C.sol +0 -34
  697. package/contracts/experiment/inheritance/IA.sol +0 -13
  698. package/contracts/experiment/inheritance/IB.sol +0 -10
  699. package/contracts/experiment/inheritance/IC.sol +0 -12
  700. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  701. package/contracts/experiment/statemachine/ISM.sol +0 -25
  702. package/contracts/experiment/statemachine/SM.sol +0 -57
  703. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  704. package/contracts/experiment/types/TypeA.sol +0 -47
  705. package/contracts/experiment/types/TypeB.sol +0 -29
  706. package/contracts/instance/IInstanceLinked.sol +0 -8
  707. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  708. package/contracts/instance/base/IInstanceBase.sol +0 -23
  709. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  710. package/contracts/instance/base/IService.sol +0 -15
  711. package/contracts/instance/base/InstanceBase.sol +0 -89
  712. package/contracts/instance/base/KeyValueStore.sol +0 -161
  713. package/contracts/instance/base/Lifecycle.sol +0 -100
  714. package/contracts/instance/base/ModuleBase.sol +0 -57
  715. package/contracts/instance/base/ServiceBase.sol +0 -43
  716. package/contracts/instance/module/access/Access.sol +0 -149
  717. package/contracts/instance/module/access/IAccess.sol +0 -53
  718. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  719. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  720. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  721. package/contracts/instance/module/component/IComponent.sol +0 -28
  722. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  723. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  724. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  725. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  726. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  727. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  728. package/contracts/instance/module/risk/IRisk.sol +0 -26
  729. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  730. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  731. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  732. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  733. package/contracts/instance/service/ComponentOwnerService.sol +0 -272
  734. package/contracts/instance/service/DistributionService.sol +0 -54
  735. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  736. package/contracts/instance/service/IDistributionService.sol +0 -12
  737. package/contracts/instance/service/IPoolService.sol +0 -37
  738. package/contracts/instance/service/IProductService.sol +0 -107
  739. package/contracts/instance/service/PoolService.sol +0 -149
  740. package/contracts/instance/service/ProductService.sol +0 -509
  741. package/contracts/registry/IChainNft.sol +0 -22
  742. package/contracts/registry/IRegistryLinked.sol +0 -8
  743. package/contracts/registry/RegistryInstaller.sol +0 -100
  744. package/contracts/shared/ERC165.sol +0 -21
  745. package/contracts/shared/IOwnable.sol +0 -6
  746. package/contracts/shared/ProxyManager.sol +0 -115
  747. package/contracts/shared/Versionable.sol +0 -147
  748. package/contracts/test/TestDistribution.sol +0 -22
  749. package/contracts/test/TestFee.sol +0 -25
  750. package/contracts/test/TestPool.sol +0 -27
  751. package/contracts/test/TestProduct.sol +0 -74
  752. package/contracts/test/TestRegisterable.sol +0 -18
  753. package/contracts/test/TestRoleId.sol +0 -14
  754. package/contracts/test/TestService.sol +0 -26
  755. package/contracts/test/TestVersion.sol +0 -44
  756. package/contracts/test/TestVersionable.sol +0 -17
  757. package/contracts/test/Usdc.sol +0 -26
  758. package/contracts/types/ChainId.sol +0 -38
  759. package/contracts/types/Fee.sol +0 -56
  760. package/contracts/types/NftIdSet.sol +0 -60
  761. package/contracts/types/ObjectType.sol +0 -131
  762. package/contracts/types/ReferralId.sol +0 -48
  763. package/contracts/types/RoleId.sol +0 -38
  764. package/contracts/types/UFixed.sol +0 -209
@@ -0,0 +1,122 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IInstance} from "../instance/IInstance.sol";
5
+ import {InstanceReader} from "../instance/InstanceReader.sol";
6
+ import {IService} from "../shared/IService.sol";
7
+
8
+ import {Amount} from "../type/Amount.sol";
9
+ import {ClaimId} from "../type/ClaimId.sol";
10
+ import {PayoutId} from "../type/PayoutId.sol";
11
+ import {NftId} from "../type/NftId.sol";
12
+ import {StateId} from "../type/StateId.sol";
13
+ import {Timestamp} from "../type/Timestamp.sol";
14
+ import {UFixed} from "../type/UFixed.sol";
15
+ import {Fee} from "../type/Fee.sol";
16
+
17
+ /// @dev gif service responsible for creating claims and payouts
18
+ /// only product components may call transaction functions
19
+ interface IClaimService is
20
+ IService
21
+ {
22
+
23
+ event LogClaimServiceClaimSubmitted(NftId policyNftId, ClaimId claimId, Amount claimAmount);
24
+ event LogClaimServiceClaimConfirmed(NftId policyNftId, ClaimId claimId, Amount confirmedAmount);
25
+ event LogClaimServiceClaimDeclined(NftId policyNftId, ClaimId claimId);
26
+ event LogClaimServiceClaimRevoked(NftId policyNftId, ClaimId claimId);
27
+ event LogClaimServiceClaimClosed(NftId policyNftId, ClaimId claimId);
28
+
29
+ event LogClaimServicePayoutCreated(NftId policyNftId, PayoutId payoutId, Amount amount);
30
+ event LogClaimServicePayoutProcessed(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary, Amount netAmount, Amount processingFeeAmount);
31
+
32
+ error ErrorClaimServicePolicyProductMismatch(NftId policyNftId, NftId expectedProduct, NftId actualProduct);
33
+ error ErrorClaimServicePolicyNotOpen(NftId policyNftId);
34
+ error ErrorClaimServiceClaimExceedsSumInsured(NftId policyNftId, Amount sumInsured, Amount payoutsIncludingClaimAmount);
35
+ error ErrorClaimServiceBeneficiaryIsZero(NftId policyNftId, ClaimId claimId);
36
+ error ErrorClaimsServicePayoutAmountIsZero(NftId policyNftId, PayoutId payoutId);
37
+
38
+ error ErrorClaimServiceClaimWithOpenPayouts(NftId policyNftId, ClaimId claimId, uint8 openPayouts);
39
+ error ErrorClaimServiceClaimWithMissingPayouts(NftId policyNftId, ClaimId claimId, Amount claimAmount, Amount paidAmount);
40
+ error ErrorClaimServiceClaimNotInExpectedState(NftId policyNftId, ClaimId claimId, StateId expectedState, StateId actualState);
41
+
42
+ /// @dev create a new claim for the specified policy
43
+ /// returns the id of the newly created claim
44
+ /// function can only be called by product, policy needs to match with calling product
45
+ function submit(
46
+ NftId policyNftId,
47
+ Amount claimAmount,
48
+ bytes memory claimData
49
+ ) external returns (ClaimId claimId);
50
+
51
+
52
+ /// @dev declines the specified claim
53
+ /// function can only be called by product, policy needs to match with calling product
54
+ function decline(
55
+ NftId policyNftId,
56
+ ClaimId claimId,
57
+ bytes memory data // claim processing data
58
+ ) external;
59
+
60
+
61
+ /// @dev revokes the specified claim
62
+ /// function can only be called by product, policy needs to match with calling product
63
+ function revoke(
64
+ NftId policyNftId,
65
+ ClaimId claimId
66
+ ) external;
67
+
68
+
69
+ /// @dev confirms the specified claim and specifies the payout amount
70
+ /// function can only be called by product, policy needs to match with calling product
71
+ function confirm(
72
+ NftId policyNftId,
73
+ ClaimId claimId,
74
+ Amount confirmedAmount,
75
+ bytes memory data // claim processing data
76
+ ) external;
77
+
78
+
79
+ /// @dev closes the specified claim
80
+ /// function can only be called by product, policy needs to match with calling product
81
+ function close(
82
+ NftId policyNftId,
83
+ ClaimId claimId
84
+ ) external;
85
+
86
+
87
+ /// @dev Creates a new payout for the specified claim.
88
+ /// The beneficiary is the holder of the policy NFT
89
+ /// returns the id of the newly created payout, this id is unique for the specified policy
90
+ /// function can only be called by product, policy needs to match with calling product
91
+ function createPayout(
92
+ NftId policyNftId,
93
+ ClaimId claimId,
94
+ Amount amount,
95
+ bytes memory data
96
+ )
97
+ external
98
+ returns (PayoutId payoutId);
99
+
100
+
101
+ /// @dev Creates a new payout for the specified claim and beneficiary.
102
+ /// returns the id of the newly created payout, this id is unique for the specified policy
103
+ /// function can only be called by product, policy needs to match with calling product
104
+ function createPayoutForBeneficiary(
105
+ NftId policyNftId,
106
+ ClaimId claimId,
107
+ Amount amount,
108
+ address beneficiary,
109
+ bytes memory data
110
+ )
111
+ external
112
+ returns (PayoutId payoutId);
113
+
114
+
115
+ /// @dev processes the specified payout
116
+ /// this includes moving the payout token to the beneficiary (default: policy holder)
117
+ /// function can only be called by product, policy needs to match with calling product
118
+ function processPayout(
119
+ NftId policyNftId,
120
+ PayoutId payoutId
121
+ ) external;
122
+ }
@@ -0,0 +1,73 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IService} from "../shared/IService.sol";
5
+
6
+ import {Amount} from "../type/Amount.sol";
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {StateId} from "../type/StateId.sol";
9
+ import {Timestamp} from "../type/Timestamp.sol";
10
+
11
+ interface IPolicyService is IService {
12
+
13
+ error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
14
+ error ErrorPolicyServicePolicyStateNotApplied(NftId applicationNftId);
15
+ error ErrorPolicyServicePolicyStateNotCollateralized(NftId applicationNftId);
16
+ error ErrorPolicyServicePolicyAlreadyActivated(NftId policyNftId);
17
+
18
+ error ErrorPolicyServiceBalanceInsufficient(address policyOwner, uint256 premiumAmount, uint256 balance);
19
+ error ErrorPolicyServiceAllowanceInsufficient(address policyOwner, address tokenHandler, uint256 premiumAmount, uint256 allowance);
20
+
21
+ error ErrorPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
22
+ error ErrorPolicyServicePremiumAlreadyPaid(NftId policyNftId);
23
+ error ErrorPolicyServicePolicyNotActivated(NftId policyNftId);
24
+ error ErrorPolicyServicePolicyAlreadyClosed(NftId policyNftId);
25
+ error ErrorPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
26
+ error ErrorPolicyServicePremiumNotPaid(NftId policyNftId, Amount premiumAmount);
27
+ error ErrorPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
28
+ error ErrorPolicyServicePolicyHasNotExpired(NftId policyNftId, Timestamp expiredAt);
29
+ error ErrorPolicyServicePolicyExpirationTooLate(NftId policyNftId, Timestamp upperLimit, Timestamp expiredAt);
30
+ error ErrorPolicyServicePolicyExpirationTooEarly(NftId policyNftId, Timestamp lowerLimit, Timestamp expiredAt);
31
+
32
+ error ErrorPolicyServicePremiumMismatch(NftId policyNftId, Amount expectedPremiumAmount, Amount recalculatedPremiumAmount);
33
+ error ErrorPolicyServiceTransferredPremiumMismatch(NftId policyNftId, Amount expectedPremiumAmount, Amount transferredPremiumAmount);
34
+
35
+ event LogPolicyServicePolicyDeclined(NftId policyNftId);
36
+ event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp expiredAt);
37
+
38
+ /// @dev creates the policy from {applicationNftId}.
39
+ /// After successful completion of the function the policy can be referenced using the application NftId.
40
+ /// Locks the sum insured amount in the pool, but does not transfer tokens. Call collectPremium to transfer tokens.
41
+ /// Sets the policy state to collateralized.
42
+ /// Optionally activates the policy if activateAt is a non-zero timestamp.
43
+ /// only the related product may create a policy from an application
44
+ function createPolicy(
45
+ NftId applicationNftId,
46
+ Timestamp activateAt
47
+ ) external;
48
+
49
+ /// @dev declines an application represented by {policyNftId}
50
+ /// an application can only be declined in applied state
51
+ /// only the related product may decline an application
52
+ function decline(NftId policyNftId) external;
53
+
54
+ /// @dev collects the premium token for the specified policy (must be in COLLATERALIZED state)
55
+ function collectPremium(NftId policyNftId, Timestamp activateAt) external;
56
+
57
+ /// @dev activates the specified policy and sets the activation date in the policy metadata
58
+ /// to activate a policy it needs to be in underwritten state
59
+ function activate(NftId policyNftId, Timestamp activateAt) external;
60
+
61
+ /// @dev expires the specified policy and sets the expiry date in the policy metadata. If expiry date is set to 0, then the earliest possible expiry date (current blocktime) is set
62
+ /// to expire a policy it must be in active state, policies may be expired even when the predefined expiry date is still in the future
63
+ /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
64
+ /// this function can only be called by a product. the policy needs to match with the calling product
65
+ /// @return expiredAt the effective expiry date
66
+ function expire(NftId policyNftId, Timestamp expireAt) external returns (Timestamp expiredAt);
67
+
68
+ /// @dev closes the specified policy and sets the closed data in the policy metadata
69
+ /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
70
+ /// this function can only be called by a product. the policy needs to match with the calling product
71
+ function close(NftId policyNftId) external;
72
+
73
+ }
@@ -0,0 +1,39 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Seconds} from "../type/Seconds.sol";
5
+ import {NftId} from "../type/NftId.sol";
6
+ import {ReferralId} from "../type/Referral.sol";
7
+ import {RiskId} from "../type/RiskId.sol";
8
+ import {Amount} from "../type/Amount.sol";
9
+
10
+ import {IService} from "./IApplicationService.sol";
11
+ import {IPolicy} from "../instance/module/IPolicy.sol";
12
+
13
+ interface IPricingService is IService
14
+ {
15
+
16
+ error ErrorPricingServiceTargetWalletAmountsMismatch();
17
+ error ErrorIPricingServiceBundlePoolMismatch(NftId bundleNftId, NftId bundlePoolNftId, NftId poolNftId);
18
+ error ErrorIPricingServiceFeeCalculationMismatch(
19
+ Amount distributionFeeFixAmount,
20
+ Amount distributionFeeVarAmount,
21
+ Amount distributionOwnerFeeFixAmount,
22
+ Amount distributionOwnerFeeVarAmount,
23
+ Amount commissionAmount,
24
+ Amount discountAmount
25
+ );
26
+
27
+ function calculatePremium(
28
+ NftId productNftId,
29
+ RiskId riskId,
30
+ Amount sumInsuredAmount,
31
+ Seconds lifetime,
32
+ bytes memory applicationData,
33
+ NftId bundleNftId,
34
+ ReferralId referralId
35
+ )
36
+ external
37
+ view
38
+ returns (IPolicy.PremiumInfo memory premium);
39
+ }
@@ -0,0 +1,39 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
6
+ import {IComponents} from "../instance/module/IComponents.sol";
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {ReferralId} from "../type/Referral.sol";
9
+ import {RiskId} from "../type/RiskId.sol";
10
+ import {Seconds} from "../type/Seconds.sol";
11
+
12
+ interface IProductComponent is
13
+ IInstanceLinkedComponent
14
+ {
15
+
16
+ function calculatePremium(
17
+ Amount sumInsuredAmount,
18
+ RiskId riskId,
19
+ Seconds lifetime,
20
+ bytes memory applicationData,
21
+ NftId bundleNftId,
22
+ ReferralId referralId
23
+ ) external view returns (Amount premiumAmount);
24
+
25
+ function calculateNetPremium(
26
+ Amount sumInsuredAmount,
27
+ RiskId riskId,
28
+ Seconds lifetime,
29
+ bytes memory applicationData
30
+ ) external view returns (Amount netPremiumAmount);
31
+
32
+ function getPoolNftId() external view returns (NftId poolNftId);
33
+ function getDistributionNftId() external view returns (NftId distributionNftId);
34
+
35
+
36
+ /// @dev returns initial pool specific infos for this pool
37
+ function getInitialProductInfo() external view returns (IComponents.ProductInfo memory info);
38
+
39
+ }
@@ -0,0 +1,33 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IRisk} from "../instance/module/IRisk.sol";
5
+ import {IService} from "../shared/IService.sol";
6
+
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {ReferralId} from "../type/Referral.sol";
9
+ import {RiskId} from "../type/RiskId.sol";
10
+ import {StateId} from "../type/StateId.sol";
11
+ import {Timestamp} from "../type/Timestamp.sol";
12
+ import {UFixed} from "../type/UFixed.sol";
13
+ import {Fee} from "../type/Fee.sol";
14
+
15
+ interface IRiskService is IService {
16
+
17
+ function createRisk(
18
+ RiskId riskId,
19
+ bytes memory data
20
+ ) external;
21
+
22
+
23
+ function updateRisk(
24
+ RiskId riskId,
25
+ bytes memory data
26
+ ) external;
27
+
28
+
29
+ function updateRiskState(
30
+ RiskId riskId,
31
+ StateId newState
32
+ ) external;
33
+ }