@etherisc/gif-next 0.0.2-aaa8646-641 → 0.0.2-aac44b0-298

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 (684) hide show
  1. package/README.md +52 -5
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -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 +414 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1018 -0
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1471 -0
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  31. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +258 -310
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +223 -133
  34. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -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 +1430 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -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 +120 -107
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +170 -122
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +144 -236
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1653 -0
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +981 -331
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +263 -277
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +175 -102
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1438 -433
  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/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
  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 +223 -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 +1 -1
  85. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  86. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  90. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  91. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  92. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  93. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  94. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
  95. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  96. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  97. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  98. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  99. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  100. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +233 -287
  101. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  102. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → oracle/IOracleService.sol/IOracleService.json} +290 -183
  103. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  104. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
  105. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  106. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +982 -0
  107. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +746 -0
  109. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  110. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +325 -447
  111. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  112. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  113. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  114. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1469 -0
  115. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  116. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +850 -0
  117. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  118. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +313 -63
  119. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  120. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  121. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  122. package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +519 -194
  123. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  124. package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → pool/Pool.sol/Pool.json} +389 -424
  125. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  126. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1635 -0
  127. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  128. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +786 -0
  129. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  130. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +787 -0
  131. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  132. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +734 -0
  133. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  134. package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +416 -435
  135. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  136. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  137. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  138. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1439 -0
  139. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  140. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +858 -0
  141. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  142. package/artifacts/contracts/{instance/service → product}/IApplicationService.sol/IApplicationService.json +58 -13
  143. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  144. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IClaimService.sol/IClaimService.json} +224 -251
  145. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  146. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +931 -0
  147. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  148. package/artifacts/contracts/{instance/service → product}/IPricingService.sol/IPricingService.json +154 -94
  149. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  150. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1005 -0
  151. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  152. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +41 -62
  153. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  154. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1316 -0
  155. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  156. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +802 -0
  157. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  158. package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
  159. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  160. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  161. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  162. package/artifacts/contracts/product/Product.sol/Product.json +1106 -0
  163. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  164. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  165. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  166. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  167. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  168. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  169. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  170. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +457 -27
  171. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  172. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +263 -110
  173. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  174. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  175. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  176. package/artifacts/contracts/registry/Registry.sol/Registry.json +949 -128
  177. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  178. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
  179. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  180. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +349 -245
  181. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  182. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +161 -94
  183. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  184. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  185. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  186. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  187. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  188. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  189. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  191. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  192. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +286 -230
  193. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  194. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1843 -0
  195. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  196. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +834 -0
  197. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  198. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +474 -0
  199. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  200. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +111 -0
  201. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  202. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +146 -131
  203. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  204. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
  205. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  206. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
  207. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  208. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
  209. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  210. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  211. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  212. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -10
  213. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  214. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
  215. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  216. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +28 -6
  217. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  218. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  219. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/IService.sol/IService.json +46 -6
  221. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  222. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  223. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  224. package/artifacts/contracts/{components/Component.sol/Component.json → shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json} +225 -268
  225. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  226. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  227. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  228. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  229. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  230. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  231. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  232. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +28 -70
  233. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  234. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +35 -85
  235. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +69 -99
  237. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  238. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
  239. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  240. package/artifacts/contracts/shared/Service.sol/Service.json +58 -112
  241. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  242. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +734 -8
  243. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  244. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  245. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  246. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  247. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  248. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → staking/IStaking.sol/IStaking.json} +695 -605
  249. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  250. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  251. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  252. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  253. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  254. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  255. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  256. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  257. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  258. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  259. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  260. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  261. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  262. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
  263. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  264. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
  265. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  266. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  267. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  268. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  269. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  270. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  271. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  272. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  273. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  274. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  275. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  276. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  277. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  278. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  279. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  280. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  281. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  282. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  283. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  284. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  285. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  286. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  287. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  288. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  289. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  290. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  291. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  292. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  293. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  294. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  295. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  296. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  297. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  299. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  301. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  302. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  303. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  304. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  305. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  306. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  307. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  308. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  309. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  310. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -7
  311. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  312. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  313. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  314. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  315. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  316. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  317. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  318. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  319. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  320. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  321. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  322. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  323. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  324. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  325. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  326. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  327. package/contracts/authorization/AccessAdmin.sol +596 -0
  328. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  329. package/contracts/authorization/Authorization.sol +289 -0
  330. package/contracts/authorization/IAccess.sol +49 -0
  331. package/contracts/authorization/IAccessAdmin.sol +137 -0
  332. package/contracts/authorization/IAuthorization.sol +60 -0
  333. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  334. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  335. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  336. package/contracts/distribution/BasicDistribution.sol +139 -0
  337. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  338. package/contracts/{components → distribution}/Distribution.sol +165 -164
  339. package/contracts/distribution/DistributionService.sol +355 -0
  340. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  341. package/contracts/distribution/IDistributionComponent.sol +52 -0
  342. package/contracts/{instance/service → distribution}/IDistributionService.sol +40 -24
  343. package/contracts/examples/fire/DamageLevel.sol +59 -0
  344. package/contracts/examples/fire/FirePool.sol +86 -0
  345. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  346. package/contracts/examples/fire/FireProduct.sol +431 -0
  347. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  348. package/contracts/examples/fire/FireUSD.sol +26 -0
  349. package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
  350. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  351. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  352. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  353. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +27 -27
  354. package/contracts/instance/IInstance.sol +33 -47
  355. package/contracts/instance/IInstanceService.sol +36 -45
  356. package/contracts/instance/Instance.sol +131 -136
  357. package/contracts/instance/InstanceAdmin.sol +277 -0
  358. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  359. package/contracts/instance/InstanceReader.sol +236 -61
  360. package/contracts/instance/InstanceService.sol +269 -164
  361. package/contracts/instance/InstanceServiceManager.sol +14 -29
  362. package/contracts/instance/InstanceStore.sol +152 -73
  363. package/contracts/instance/base/BalanceStore.sol +123 -0
  364. package/contracts/instance/base/Cloneable.sol +28 -0
  365. package/contracts/instance/base/ObjectCounter.sol +21 -0
  366. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  367. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +18 -21
  368. package/contracts/instance/module/IAccess.sol +4 -12
  369. package/contracts/instance/module/IBundle.sol +6 -9
  370. package/contracts/instance/module/IComponents.sol +27 -18
  371. package/contracts/instance/module/IDistribution.sol +6 -6
  372. package/contracts/instance/module/IPolicy.sol +44 -36
  373. package/contracts/instance/module/IRisk.sol +1 -1
  374. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  375. package/contracts/oracle/BasicOracle.sol +47 -0
  376. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  377. package/contracts/oracle/IOracle.sol +36 -0
  378. package/contracts/oracle/IOracleComponent.sol +33 -0
  379. package/contracts/oracle/IOracleService.sol +66 -0
  380. package/contracts/oracle/Oracle.sol +156 -0
  381. package/contracts/oracle/OracleService.sol +292 -0
  382. package/contracts/oracle/OracleServiceManager.sol +39 -0
  383. package/contracts/pool/BasicPool.sol +175 -0
  384. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  385. package/contracts/pool/BundleService.sol +485 -0
  386. package/contracts/pool/BundleServiceManager.sol +39 -0
  387. package/contracts/pool/IBundleService.sol +140 -0
  388. package/contracts/pool/IPoolComponent.sol +62 -0
  389. package/contracts/pool/IPoolService.sol +172 -0
  390. package/contracts/pool/Pool.sol +345 -0
  391. package/contracts/pool/PoolService.sol +620 -0
  392. package/contracts/pool/PoolServiceManager.sol +39 -0
  393. package/contracts/product/ApplicationService.sol +259 -0
  394. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
  395. package/contracts/product/BasicProduct.sol +49 -0
  396. package/contracts/product/BasicProductAuthorization.sol +42 -0
  397. package/contracts/product/ClaimService.sol +614 -0
  398. package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
  399. package/contracts/{instance/service → product}/IApplicationService.sol +14 -12
  400. package/contracts/product/IClaimService.sol +123 -0
  401. package/contracts/product/IPolicyService.sol +82 -0
  402. package/contracts/product/IPricingService.sol +39 -0
  403. package/contracts/product/IProductComponent.sol +59 -0
  404. package/contracts/product/IRiskService.sol +33 -0
  405. package/contracts/product/PolicyService.sol +695 -0
  406. package/contracts/product/PolicyServiceManager.sol +39 -0
  407. package/contracts/product/PricingService.sol +300 -0
  408. package/contracts/product/PricingServiceManager.sol +39 -0
  409. package/contracts/product/Product.sol +432 -0
  410. package/contracts/product/RiskService.sol +96 -0
  411. package/contracts/product/RiskServiceManager.sol +39 -0
  412. package/contracts/registry/ChainNft.sol +75 -38
  413. package/contracts/registry/IRegistry.sol +98 -26
  414. package/contracts/registry/IRegistryService.sol +34 -40
  415. package/contracts/registry/ITransferInterceptor.sol +1 -2
  416. package/contracts/registry/Registry.sol +453 -195
  417. package/contracts/registry/RegistryAdmin.sol +462 -0
  418. package/contracts/registry/RegistryService.sol +87 -132
  419. package/contracts/registry/RegistryServiceManager.sol +23 -32
  420. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  421. package/contracts/registry/ReleaseRegistry.sol +485 -0
  422. package/contracts/registry/ServiceAuthorizationV3.sol +203 -0
  423. package/contracts/registry/TokenRegistry.sol +261 -62
  424. package/contracts/shared/Component.sol +229 -0
  425. package/contracts/shared/ComponentService.sol +779 -0
  426. package/contracts/shared/ComponentServiceManager.sol +38 -0
  427. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  428. package/contracts/shared/ContractLib.sol +54 -0
  429. package/contracts/shared/IComponent.sol +67 -0
  430. package/contracts/shared/IComponentService.sol +130 -0
  431. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  432. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  433. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  434. package/contracts/shared/INftOwnable.sol +4 -2
  435. package/contracts/shared/IPolicyHolder.sol +23 -14
  436. package/contracts/shared/IRegisterable.sol +11 -0
  437. package/contracts/shared/IRegistryLinked.sol +0 -1
  438. package/contracts/shared/IService.sol +12 -3
  439. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  440. package/contracts/shared/InstanceLinkedComponent.sol +205 -0
  441. package/contracts/shared/KeyValueStore.sol +131 -0
  442. package/contracts/shared/Lifecycle.sol +88 -0
  443. package/contracts/shared/NftIdSet.sol +65 -0
  444. package/contracts/shared/NftOwnable.sol +32 -25
  445. package/contracts/shared/PolicyHolder.sol +22 -41
  446. package/contracts/shared/Registerable.sol +32 -23
  447. package/contracts/shared/RegistryLinked.sol +9 -19
  448. package/contracts/shared/Service.sol +48 -36
  449. package/contracts/shared/TokenHandler.sol +376 -12
  450. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  451. package/contracts/staking/IStaking.sol +173 -0
  452. package/contracts/staking/IStakingService.sol +157 -0
  453. package/contracts/staking/StakeManagerLib.sol +224 -0
  454. package/contracts/staking/Staking.sol +505 -0
  455. package/contracts/staking/StakingLifecycle.sol +23 -0
  456. package/contracts/staking/StakingManager.sol +52 -0
  457. package/contracts/staking/StakingReader.sol +190 -0
  458. package/contracts/staking/StakingService.sol +453 -0
  459. package/contracts/staking/StakingServiceManager.sol +44 -0
  460. package/contracts/staking/StakingStore.sol +605 -0
  461. package/contracts/staking/TargetManagerLib.sol +211 -0
  462. package/contracts/{types → type}/AddressSet.sol +1 -1
  463. package/contracts/type/Amount.sol +150 -0
  464. package/contracts/{types → type}/Blocknumber.sol +26 -3
  465. package/contracts/{types → type}/ClaimId.sol +6 -1
  466. package/contracts/{types → type}/Fee.sol +24 -22
  467. package/contracts/{types → type}/NftId.sol +15 -16
  468. package/contracts/{types → type}/NftIdSet.sol +2 -2
  469. package/contracts/type/ObjectType.sol +276 -0
  470. package/contracts/{types → type}/PayoutId.sol +10 -10
  471. package/contracts/{types → type}/Referral.sol +2 -1
  472. package/contracts/type/RequestId.sol +75 -0
  473. package/contracts/{types → type}/RiskId.sol +17 -3
  474. package/contracts/type/RoleId.sol +162 -0
  475. package/contracts/type/Seconds.sol +101 -0
  476. package/contracts/type/Selector.sol +102 -0
  477. package/contracts/{types → type}/StateId.sol +41 -2
  478. package/contracts/type/String.sol +53 -0
  479. package/contracts/{types → type}/Timestamp.sol +17 -3
  480. package/contracts/{types → type}/UFixed.sol +38 -9
  481. package/contracts/{types → type}/Version.sol +4 -2
  482. package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
  483. package/contracts/{shared → upgradeability}/ProxyManager.sol +93 -30
  484. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  485. package/contracts/{shared → upgradeability}/Versionable.sol +3 -3
  486. package/package.json +11 -7
  487. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  488. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  489. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  490. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  491. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  492. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  493. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  494. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  495. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  496. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  497. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  498. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  499. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  500. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  501. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
  502. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  503. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -124
  504. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  505. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  506. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  507. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  508. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  509. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  510. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  511. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  512. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  513. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  514. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  515. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  516. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  517. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -902
  518. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  519. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -649
  520. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  521. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1326
  522. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  523. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -725
  524. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  525. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1072
  526. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  527. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -685
  528. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  529. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1515
  530. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  531. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -757
  532. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  533. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  534. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  535. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  536. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  537. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  538. package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  540. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  541. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1575
  542. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  543. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -741
  544. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  545. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1481
  546. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  547. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -709
  548. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.json +0 -988
  550. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.json +0 -689
  552. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  553. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -872
  554. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  555. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
  556. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  557. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  558. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  559. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
  560. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  561. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  562. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  563. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  564. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  565. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  566. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
  567. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  568. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  569. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  570. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  571. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  572. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  573. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  574. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  575. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  576. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
  578. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  579. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  580. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  582. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  584. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  585. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  586. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  587. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  588. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  589. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -209
  590. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  591. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  592. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  593. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  594. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  595. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -179
  596. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  597. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  598. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  600. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  601. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  602. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  604. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  605. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  606. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  607. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  608. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  609. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  610. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  611. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -209
  612. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  614. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  616. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  618. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  620. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  621. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  622. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  624. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  625. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  627. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  628. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  629. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  630. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  631. package/contracts/components/Component.sol +0 -253
  632. package/contracts/components/IComponent.sol +0 -76
  633. package/contracts/components/IDistributionComponent.sol +0 -71
  634. package/contracts/components/IPoolComponent.sol +0 -113
  635. package/contracts/components/IProductComponent.sol +0 -40
  636. package/contracts/components/Pool.sol +0 -302
  637. package/contracts/components/Product.sol +0 -374
  638. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  639. package/contracts/instance/Cloneable.sol +0 -51
  640. package/contracts/instance/InstanceAccessManager.sol +0 -541
  641. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -300
  642. package/contracts/instance/base/ComponentService.sol +0 -148
  643. package/contracts/instance/base/KeyValueStore.sol +0 -180
  644. package/contracts/instance/base/Lifecycle.sol +0 -117
  645. package/contracts/instance/module/ISetup.sol +0 -33
  646. package/contracts/instance/module/ITreasury.sol +0 -23
  647. package/contracts/instance/service/ApplicationService.sol +0 -185
  648. package/contracts/instance/service/BundleService.sol +0 -440
  649. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  650. package/contracts/instance/service/ClaimService.sol +0 -239
  651. package/contracts/instance/service/DistributionService.sol +0 -342
  652. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  653. package/contracts/instance/service/IBundleService.sol +0 -102
  654. package/contracts/instance/service/IClaimService.sol +0 -92
  655. package/contracts/instance/service/IPolicyService.sol +0 -142
  656. package/contracts/instance/service/IPoolService.sol +0 -102
  657. package/contracts/instance/service/IPricingService.sol +0 -36
  658. package/contracts/instance/service/IProductService.sol +0 -40
  659. package/contracts/instance/service/PolicyService.sol +0 -579
  660. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  661. package/contracts/instance/service/PoolService.sol +0 -338
  662. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  663. package/contracts/instance/service/PricingService.sol +0 -275
  664. package/contracts/instance/service/PricingServiceManager.sol +0 -51
  665. package/contracts/instance/service/ProductService.sol +0 -210
  666. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  667. package/contracts/registry/RegistryAccessManager.sol +0 -216
  668. package/contracts/registry/ReleaseManager.sol +0 -324
  669. package/contracts/shared/ContractDeployerLib.sol +0 -72
  670. package/contracts/test/TestFee.sol +0 -25
  671. package/contracts/test/TestRegisterable.sol +0 -18
  672. package/contracts/test/TestRoleId.sol +0 -14
  673. package/contracts/test/TestService.sol +0 -25
  674. package/contracts/test/TestToken.sol +0 -26
  675. package/contracts/test/TestVersion.sol +0 -44
  676. package/contracts/test/TestVersionable.sol +0 -17
  677. package/contracts/types/Amount.sol +0 -70
  678. package/contracts/types/ChainId.sol +0 -38
  679. package/contracts/types/NumberId.sol +0 -52
  680. package/contracts/types/ObjectType.sol +0 -161
  681. package/contracts/types/RoleId.sol +0 -97
  682. package/contracts/types/Seconds.sol +0 -54
  683. /package/contracts/{types → type}/DistributorType.sol +0 -0
  684. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,102 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Amount} from "../../types/Amount.sol";
5
- import {NftId} from "../../types/NftId.sol";
6
- import {Fee} from "../../types/Fee.sol";
7
- import {IService} from "../../shared/IService.sol";
8
- import {IBundle} from "../module/IBundle.sol";
9
- import {IInstance} from "../../instance/IInstance.sol";
10
- import {Seconds} from "../../types/Seconds.sol";
11
- import {StateId} from "../../types/StateId.sol";
12
- import {Timestamp} from "../../types/Timestamp.sol";
13
-
14
- interface IBundleService is IService {
15
-
16
- event LogBundleServiceBundleActivated(NftId bundleNftId);
17
- event LogBundleServiceBundleLocked(NftId bundleNftId);
18
-
19
- error ErrorBundleServiceInsufficientAllowance(address bundleOwner, address tokenHandlerAddress, uint256 amount);
20
- error ErrorBundleServiceBundleNotOpen(NftId bundleNftId, StateId state, Timestamp expiredAt);
21
- error ErrorBundleServiceCapacityInsufficient(NftId bundleNftId, uint capacityAmount, uint collateralAmount);
22
- error ErrorBundleServiceBundleWithOpenPolicies(NftId bundleNftId, uint256 openPoliciesCount);
23
-
24
- error ErrorBundleServiceBundleUnknown(NftId bundleNftId);
25
- error ErrorBundleServiceBundlePoolMismatch(NftId bundleNftId, NftId expectedPool, NftId actualPool);
26
-
27
- /// @dev create a new bundle for the specified attributes
28
- /// may only be called by pool service
29
- function create(
30
- IInstance instance, // instance relevant for bundle
31
- NftId poolNftId, // the pool the bundle will be linked to
32
- address owner, // initial bundle owner
33
- Fee memory fee, // fees deducted from premium that go to bundle owner
34
- Amount stakingAmount, // staking amount - staking fees result in initial bundle capital
35
- Seconds lifetime, // initial duration for which new policies are covered
36
- bytes calldata filter // optional use case specific criteria that define if a policy may be covered by this bundle
37
- )
38
- external
39
- returns(NftId bundleNftId); // the nft id of the newly created bundle
40
-
41
- /// @dev locks the specified bundle, locked bundles are not available to collateralize new policies
42
- /// only active bundles may be locked
43
- /// may only be called by registered and unlocked pool components
44
- function lock(NftId bundleNftId) external;
45
-
46
- /// @dev activates the specified bundle
47
- /// only locked bundles may be unlocked
48
- /// may only be called by registered and unlocked pool components
49
- function unlock(NftId bundleNftId) external;
50
-
51
- /// @dev closes the specified bundle
52
- /// only open bundles (active or locked) may be closed
53
- /// to close a bundle it may not have any non-closed polices attached to it
54
- /// may only be called by registered and unlocked pool components
55
- function close(
56
- IInstance instance,
57
- NftId bundleNftId
58
- ) external;
59
-
60
- /// @dev set bundle fee to provided value
61
- /// may only be called by registered and unlocked pool components
62
- function setFee(
63
- NftId bundleNftId,
64
- Fee memory fee
65
- ) external;
66
-
67
-
68
- /// @dev locks the specified collateral in the bundle
69
- /// the locked collateral is added to the bundle locked capital
70
- /// the bundles' fees are updated with the fees for this premium
71
- /// the premium (minus bundle fee) is added to the bundle capital
72
- /// may only be called by pool service
73
- function lockCollateral(
74
- IInstance instanceNftId,
75
- NftId policyNftId,
76
- NftId bundleNftId,
77
- uint256 collateralAmount,
78
- uint256 premium // premium amount after pool fee
79
- ) external;
80
-
81
- /// @dev updates the bundle's fees of with the provided fee amount
82
- function updateBundleFees(
83
- IInstance instance,
84
- NftId bundleNftId,
85
- Amount feeAmount
86
- ) external;
87
-
88
- /// @dev releases the specified collateral in the bundle
89
- /// may only be called by pool service
90
- function releaseCollateral(
91
- IInstance instance,
92
- NftId policyNftId,
93
- NftId bundleNftId,
94
- uint256 collateralAmount
95
- ) external;
96
-
97
- function increaseBalance(IInstance instance, NftId bundleNftId, uint256 amount) external;
98
-
99
- // function stake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
100
-
101
- // function unstake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
102
- }
@@ -1,92 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IInstance} from "../IInstance.sol";
5
- import {InstanceReader} from "../InstanceReader.sol";
6
- import {IService} from "../../shared/IService.sol";
7
-
8
- import {Amount} from "../../types/Amount.sol";
9
- import {ClaimId} from "../../types/ClaimId.sol";
10
- import {PayoutId} from "../../types/PayoutId.sol";
11
- import {NftId} from "../../types/NftId.sol";
12
- import {StateId} from "../../types/StateId.sol";
13
- import {Timestamp} from "../../types/Timestamp.sol";
14
- import {UFixed} from "../../types/UFixed.sol";
15
- import {Fee} from "../../types/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
- error ErrorClaimServiceClaimWithOpenPayouts(NftId policyNftId, ClaimId claimId, uint8 openPayouts);
24
- error ErrorClaimServiceClaimWithMissingPayouts(NftId policyNftId, ClaimId claimId, Amount claimAmount, Amount paidAmount);
25
- error ErrorClaimServiceClaimNotInExpectedState(NftId policyNftId, ClaimId claimId, StateId expectedState, StateId actualState);
26
-
27
- /// @dev create a new claim for the specified policy
28
- /// function can only be called by product, policy needs to match with calling product
29
- function submit(
30
- IInstance instance,
31
- NftId policyNftId,
32
- ClaimId claimId,
33
- Amount claimAmount,
34
- bytes memory claimData
35
- ) external;
36
-
37
- /// @dev confirms the specified claim and fixes the final claim amount
38
- /// function can only be called by product, policy needs to match with calling product
39
- function confirm(
40
- IInstance instance,
41
- InstanceReader instanceReader,
42
- NftId policyNftId,
43
- ClaimId claimId,
44
- Amount claimAmount
45
- ) external;
46
-
47
- /// @dev declares the claim as invalid, no payout(s) will be made
48
- /// function can only be called by product, policy needs to match with calling product
49
- function decline(
50
- IInstance instance,
51
- InstanceReader instanceReader,
52
- NftId policyNftId,
53
- ClaimId claimId
54
- ) external;
55
-
56
- /// @dev closes the claim
57
- /// a claim may only be closed once all existing payouts have been executed and the sum of the paid out amounts has reached the claim amount
58
- /// function can only be called by product, policy needs to match with calling product
59
- function close(
60
- IInstance instance,
61
- InstanceReader instanceReader,
62
- NftId policyNftId,
63
- ClaimId claimId
64
- ) external;
65
-
66
- /// @dev create a new payout for the specified policy
67
- /// payoutId may be constructed using PayoutIdLib(claimId, payoutNo)
68
- /// function can only be called by product, policy needs to match with calling product
69
- function createPayout(
70
- IInstance instance,
71
- NftId policyNftId,
72
- PayoutId payoutId,
73
- Amount payoutAmount,
74
- bytes calldata payoutData
75
- ) external;
76
-
77
- /// @dev callback function to confirm transfer of payout token to beneficiary
78
- /// allows claim service to update claims/payout book keeping
79
- /// only pool service can confirm executed payout
80
- function processPayout(
81
- IInstance instance,
82
- InstanceReader instanceReader,
83
- NftId policyNftId,
84
- PayoutId payoutId
85
- )
86
- external
87
- returns (
88
- Amount amount,
89
- bool payoutIsClosingClaim
90
- );
91
-
92
- }
@@ -1,142 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "../../shared/IService.sol";
6
-
7
- import {Amount} from "../../types/Amount.sol";
8
- import {ClaimId} from "../../types/ClaimId.sol";
9
- import {Amount} from "../../types/Amount.sol";
10
- import {ClaimId} from "../../types/ClaimId.sol";
11
- import {NftId} from "../../types/NftId.sol";
12
- import {PayoutId} from "../../types/PayoutId.sol";
13
- import {PayoutId} from "../../types/PayoutId.sol";
14
- import {ReferralId} from "../../types/Referral.sol";
15
- import {RiskId} from "../../types/RiskId.sol";
16
- import {Seconds} from "../../types/Seconds.sol";
17
- import {StateId} from "../../types/StateId.sol";
18
- import {Timestamp} from "../../types/Timestamp.sol";
19
- import {UFixed} from "../../types/UFixed.sol";
20
- import {Fee} from "../../types/Fee.sol";
21
-
22
- interface IPolicyService is IService {
23
-
24
- event LogPolicyServiceClaimSubmitted(NftId policyNftId, ClaimId claimId, Amount claimAmount);
25
- event LogPolicyServiceClaimConfirmed(NftId policyNftId, ClaimId claimId, Amount confirmedAmount);
26
- event LogPolicyServiceClaimDeclined(NftId policyNftId, ClaimId claimId);
27
- event LogPolicyServiceClaimClosed(NftId policyNftId, ClaimId claimId);
28
-
29
- event LogPolicyServicePayoutCreated(NftId policyNftId, PayoutId payoutId, Amount amount);
30
- event LogPolicyServicePayoutProcessed(NftId policyNftId, PayoutId payoutId, Amount amount);
31
-
32
- error ErrorPolicyServicePolicyProductMismatch(NftId policyNftId, NftId expectedProduct, NftId actualProduct);
33
- error ErrorPolicyServicePolicyNotOpen(NftId policyNftId);
34
- error ErrorPolicyServiceClaimExceedsSumInsured(NftId policyNftId, Amount sumInsured, Amount payoutsIncludingClaimAmount);
35
- error ErrorPolicyServicePolicyStateNotApplied(NftId applicationNftId);
36
-
37
- error ErrorIPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
38
- error ErrorIPolicyServicePremiumAlreadyPaid(NftId policyNftId, uint256 premiumPaidAmount);
39
- error ErrorIPolicyServicePolicyNotActivated(NftId policyNftId);
40
- error ErrorIPolicyServicePolicyAlreadyClosed(NftId policyNftId);
41
- error ErrorIPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
42
- error ErrorIPolicyServicePremiumNotFullyPaid(NftId policyNftId, uint256 premiumAmount, uint256 premiumPaidAmount);
43
- error ErrorIPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
44
- error ErrorIPolicyServicePolicyHasNotExpired(NftId policyNftId, Timestamp expiredAt);
45
-
46
- error ErrorIPolicyServicePremiumMismatch(NftId policyNftId, uint256 expectedPremiumAmount, uint256 recalculatedPremiumAmount);
47
- error ErrorPolicyServiceTransferredPremiumMismatch(NftId policyNftId, uint256 expectedPremiumAmount, uint256 transferredPremiumAmount);
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 collateralizes the policy represented by {policyNftId}
55
- /// sets the policy state to underwritten
56
- /// may set the policy state to activated and set the activation date
57
- /// optionally collects premiums and activates the policy.
58
- /// - premium payment is only attempted if requirePremiumPayment is set to true
59
- /// - activation is only done if activateAt is a non-zero timestamp
60
- /// an application can only be underwritten in applied state
61
- /// only the related product may collateralize an application
62
- function collateralize(
63
- NftId policyNftId,
64
- bool requirePremiumPayment,
65
- Timestamp activateAt
66
- ) external;
67
-
68
- /// @dev collects the premium token for the specified policy
69
- function collectPremium(NftId policyNftId, Timestamp activateAt) external;
70
-
71
- /// @dev activates the specified policy and sets the activation date in the policy metadata
72
- /// to activate a policy it needs to be in underwritten state
73
- function activate(NftId policyNftId, Timestamp activateAt) external;
74
-
75
- /// @dev expires the specified policy and sets the expiry date in the policy metadata
76
- /// 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
77
- /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
78
- /// this function can only be called by a product. the policy needs to match with the calling product
79
- function expire(NftId policyNftId) external;
80
-
81
- /// @dev closes the specified policy and sets the closed data in the policy metadata
82
- /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
83
- /// this function can only be called by a product. the policy needs to match with the calling product
84
- function close(NftId policyNftId) external;
85
-
86
- /// @dev create a new claim for the specified policy
87
- /// returns the id of the newly created claim
88
- /// function can only be called by product, policy needs to match with calling product
89
- function submitClaim(
90
- NftId policyNftId,
91
- Amount claimAmount,
92
- bytes memory claimData
93
- ) external returns (ClaimId claimId);
94
-
95
- /// @dev declines the specified claim
96
- /// function can only be called by product, policy needs to match with calling product
97
- function declineClaim(
98
- NftId policyNftId,
99
- ClaimId claimId) external;
100
-
101
- /// @dev confirms the specified claim and specifies the payout amount
102
- /// function can only be called by product, policy needs to match with calling product
103
- function confirmClaim(
104
- NftId policyNftId,
105
- ClaimId claimId,
106
- Amount confirmedAmount
107
- ) external;
108
-
109
- /// @dev closes the specified claim
110
- /// function can only be called by product, policy needs to match with calling product
111
- function closeClaim(
112
- NftId policyNftId,
113
- ClaimId claimId
114
- ) external;
115
-
116
- /// @dev creates a new payout for the specified claim
117
- /// returns the id of the newly created payout, this id is unique for the specified policy
118
- /// function can only be called by product, policy needs to match with calling product
119
- function createPayout(
120
- NftId policyNftId,
121
- ClaimId claimId,
122
- Amount amount,
123
- bytes memory data
124
- )
125
- external
126
- returns (PayoutId payoutId);
127
-
128
- /// @dev processes the specified payout
129
- /// this includes moving the payout token to the beneficiary (default: policy holder)
130
- /// function can only be called by product, policy needs to match with calling product
131
- function processPayout(
132
- NftId policyNftId,
133
- PayoutId payoutId
134
- ) external;
135
-
136
- // TODO move function to pool service
137
- function calculateRequiredCollateral(
138
- UFixed collateralizationLevel,
139
- uint256 sumInsuredAmount
140
- ) external pure returns(uint256 collateralAmount);
141
-
142
- }
@@ -1,102 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Amount} from "../../types/Amount.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {NftId} from "../../types/NftId.sol";
7
- import {IBundle} from "../module/IBundle.sol";
8
- import {IInstance} from "../../instance/IInstance.sol";
9
- import {IPolicy} from "../module/IPolicy.sol";
10
- import {IService} from "../../shared/IService.sol";
11
- import {RoleId} from "../../types/RoleId.sol";
12
- import {Seconds} from "../../types/Seconds.sol";
13
- import {StateId} from "../../types/StateId.sol";
14
-
15
- interface IPoolService is IService {
16
-
17
- event LogPoolServiceMaxCapitalAmountUpdated(NftId poolNftId, uint256 previousMaxCapitalAmount, uint256 currentMaxCapitalAmount);
18
- event LogPoolServiceBundleOwnerRoleSet(NftId poolNftId, RoleId bundleOwnerRole);
19
-
20
- event LogPoolServiceBundleCreated(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
21
- event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
22
-
23
- error ErrorPoolServiceBundleOwnerRoleAlreadySet(NftId poolNftId);
24
- error ErrorPoolServiceBundlePoolMismatch(NftId bundlePoolNftId, NftId productPoolNftId);
25
- error ErrorPoolServiceInvalidTransferAmount(Amount expectedAmount, Amount actualAmount);
26
-
27
- /// @dev registers a new pool with the registry service
28
- function register(address poolAddress) external returns(NftId);
29
-
30
- /// @dev defines the required role for bundle owners for the calling pool
31
- /// default implementation returns PUBLIC ROLE
32
- function setBundleOwnerRole(RoleId bundleOwnerRole) external;
33
-
34
- /// @dev sets the max capital amount for the calling pool
35
- function setMaxCapitalAmount(uint256 maxCapitalAmount) external;
36
-
37
- /// @dev set pool sepecific fees
38
- function setFees(
39
- Fee memory poolFee,
40
- Fee memory stakingFee,
41
- Fee memory performanceFee
42
- ) external;
43
-
44
-
45
- /// @dev locks required collateral to cover the specified application (and turn it into a policy)
46
- /// - retention level == 1: the full collateral amount will be locked by the specified bundle
47
- /// - retention level < 1: a part of the coverage is provided by the specified bundle, the rest by the pool component
48
- /// in which case the pool component might hold a re-insurance policy
49
- /// may only be called by the policy service for unlocked pool components
50
- function lockCollateral(
51
- IInstance instance,
52
- NftId productNftId,
53
- NftId applicationNftId,
54
- IPolicy.PolicyInfo memory applicationInfo,
55
- uint256 premiumAmount
56
- ) external;
57
-
58
-
59
- /// @dev releases the remaining collateral linked to the specified policy
60
- /// may only be called by the policy service for unlocked pool components
61
- function releaseCollateral(
62
- IInstance instance,
63
- NftId policyNftId,
64
- IPolicy.PolicyInfo memory policyInfo
65
- ) external;
66
-
67
-
68
- /// @dev create a new bundle for the provided parameters
69
- /// staking fees will be deducted by the pool service from the staking amount
70
- /// may only be called by registered and unlocked pool components
71
- function createBundle(
72
- address owner, // initial bundle owner
73
- Fee memory fee, // fees deducted from premium that go to bundle owner
74
- Amount stakingAmount, // staking amount - staking fees result in initial bundle capital
75
- Seconds lifetime, // initial duration for which new policies are covered
76
- bytes calldata filter // optional use case specific criteria that define if a policy may be covered by this bundle
77
- )
78
- external
79
- returns(NftId bundleNftId); // the nft id of the newly created bundle
80
-
81
-
82
- /// @dev closes the specified bundle
83
- /// only open bundles (active or locked) may be closed
84
- /// to close a bundle it may not have any non-closed polices attached to it
85
- /// bundle fees and remaining capital (after deduction of the performance fee) will be transferred to the bundle owner
86
- /// may only be called by registered and unlocked pool components
87
- function closeBundle(NftId bundleNftId) external;
88
-
89
- /// @dev processes the sale of a bundle and track the pool fee and bundle fee amounts
90
- function processSale(NftId bundleNftId, IPolicy.Premium memory premium, uint256 actualAmountTransferred) external;
91
-
92
- /// @dev increase stakes for bundle
93
- /// staking fees will be deducted by the pool service from the staking amount
94
- /// may only be called by registered and unlocked pool components
95
- // function stake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
96
-
97
-
98
- /// @dev decrease stakes for bundle
99
- /// performance fees will be deducted by the pool service from the staking amount
100
- /// may only be called by registered and unlocked pool components
101
- // function unstake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
102
- }
@@ -1,36 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Seconds} from "../../types/Seconds.sol";
5
- import {NftId} from "../../types/NftId.sol";
6
- import {ReferralId} from "../../types/Referral.sol";
7
- import {RiskId} from "../../types/RiskId.sol";
8
-
9
- import {IService} from "./IApplicationService.sol";
10
- import {IPolicy} from "../module/IPolicy.sol";
11
-
12
- interface IPricingService is IService
13
- {
14
- error ErrorIPricingServiceBundlePoolMismatch(NftId bundleNftId, NftId bundlePoolNftId, NftId poolNftId);
15
- error ErrorIPricingServiceFeeCalculationMismatch(
16
- uint256 distributionFeeFixAmount,
17
- uint256 distributionFeeVarAmount,
18
- uint256 distributionOwnerFeeFixAmount,
19
- uint256 distributionOwnerFeeVarAmount,
20
- uint256 commissionAmount,
21
- uint256 discountAmount
22
- );
23
-
24
- function calculatePremium(
25
- NftId productNftId,
26
- RiskId riskId,
27
- uint256 sumInsuredAmount,
28
- Seconds lifetime,
29
- bytes memory applicationData,
30
- NftId bundleNftId,
31
- ReferralId referralId
32
- )
33
- external
34
- view
35
- returns (IPolicy.Premium memory premium);
36
- }
@@ -1,40 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "../../shared/IService.sol";
6
-
7
- import {NftId} from "../../types/NftId.sol";
8
- import {ReferralId} from "../../types/Referral.sol";
9
- import {RiskId} from "../../types/RiskId.sol";
10
- import {StateId} from "../../types/StateId.sol";
11
- import {Timestamp} from "../../types/Timestamp.sol";
12
- import {UFixed} from "../../types/UFixed.sol";
13
- import {Fee} from "../../types/Fee.sol";
14
-
15
- interface IProductService is IService {
16
-
17
- function register(address productAddress) external returns(NftId);
18
-
19
- function setFees(
20
- Fee memory productFee,
21
- Fee memory processingFee
22
- ) external;
23
-
24
- function createRisk(
25
- RiskId riskId,
26
- bytes memory data
27
- ) external;
28
-
29
-
30
- function updateRisk(
31
- RiskId riskId,
32
- bytes memory data
33
- ) external;
34
-
35
-
36
- function updateRiskState(
37
- RiskId riskId,
38
- StateId newState
39
- ) external;
40
- }