@etherisc/gif-next 0.0.2-6f86ab0-796 → 0.0.2-704b918-802

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 (446) hide show
  1. package/README.md +19 -2
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +33 -52
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
  7. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +0 -19
  10. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +2 -2
  15. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  17. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  18. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +85 -248
  19. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +16 -16
  21. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  22. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +43 -222
  23. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +228 -217
  25. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +93 -101
  27. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +43 -37
  29. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +120 -31
  31. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  32. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1463 -0
  33. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  34. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +410 -0
  35. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  36. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1712 -0
  37. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  38. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +414 -0
  39. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  41. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  42. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  43. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  44. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  45. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  49. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  50. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  51. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  52. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +6 -6
  53. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  54. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +4 -4
  55. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  56. package/artifacts/contracts/instance/Instance.sol/Instance.json +17 -106
  57. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  58. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +98 -101
  59. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  60. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +31 -31
  61. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  62. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +238 -123
  63. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  64. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +43 -150
  65. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  66. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +61 -81
  67. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  68. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +215 -219
  69. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  70. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  71. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  72. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  73. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  74. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  75. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  76. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  77. package/artifacts/contracts/instance/base/{ObjectManager.sol/ObjectManager.json → ObjectSet.sol/ObjectSet.json} +6 -6
  78. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  79. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  80. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  81. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  82. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  83. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  84. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  85. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  86. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  87. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +59 -235
  88. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  89. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  90. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  91. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  92. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +30 -37
  93. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  94. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  95. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +27 -219
  96. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  97. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +37 -144
  98. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  99. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +60 -80
  100. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  101. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +55 -284
  102. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  103. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
  104. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  105. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +407 -174
  106. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  107. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +137 -89
  108. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  109. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +205 -1
  110. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  111. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +45 -95
  112. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  113. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +220 -100
  114. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  115. package/artifacts/contracts/pool/Pool.sol/Pool.json +45 -280
  116. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  117. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +269 -248
  118. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +66 -82
  120. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  121. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +36 -162
  122. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +57 -89
  124. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  125. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +22 -225
  126. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  127. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +16 -16
  128. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  129. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +206 -175
  130. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +92 -100
  132. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  133. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +5 -0
  134. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  135. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +114 -0
  136. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  137. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +266 -119
  138. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  139. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -43
  140. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  141. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +19 -37
  142. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  143. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +2 -2
  144. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  145. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +372 -316
  146. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  147. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +104 -100
  148. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  149. package/artifacts/contracts/product/PricingService.sol/PricingService.json +118 -265
  150. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  151. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +80 -120
  152. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  153. package/artifacts/contracts/product/Product.sol/Product.json +22 -225
  154. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  155. package/artifacts/contracts/product/RiskService.sol/RiskService.json +588 -0
  156. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +682 -0
  158. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  159. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  160. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  161. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +257 -9
  162. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +0 -183
  164. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  165. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  166. package/artifacts/contracts/registry/Registry.sol/Registry.json +476 -67
  167. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  168. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +246 -134
  169. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  170. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +23 -130
  171. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +52 -72
  173. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  174. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  175. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  176. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  177. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  178. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
  179. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  180. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  181. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  182. package/artifacts/contracts/shared/Component.sol/Component.json +0 -211
  183. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  184. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +247 -161
  185. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  186. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +105 -95
  187. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  188. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +5 -112
  189. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  190. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  191. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  192. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -26
  193. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  194. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +153 -0
  195. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  196. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -37
  197. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  198. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  199. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  200. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +14 -46
  202. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  204. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  205. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  206. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  208. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  209. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -222
  210. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  211. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  212. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  213. package/artifacts/contracts/shared/{NftIdSetManager.sol/NftIdSetManager.json → NftIdSet.sol/NftIdSet.json} +4 -4
  214. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -57
  216. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  217. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +18 -140
  218. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -97
  220. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  221. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  222. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Service.sol/Service.json +5 -112
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  225. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
  226. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  227. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  228. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  229. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +27 -27
  230. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  231. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  232. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +73 -93
  233. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  234. package/artifacts/contracts/staking/Staking.sol/Staking.json +85 -262
  235. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  236. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
  237. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  238. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +77 -88
  239. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  240. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
  241. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  242. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +31 -138
  243. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  244. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +56 -76
  245. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  246. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +92 -87
  247. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  248. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
  249. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  250. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  251. package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
  252. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  253. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  254. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  256. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  257. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  258. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  259. package/artifacts/contracts/type/Fee.sol/FeeLib.json +7 -2
  260. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  261. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  262. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  263. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  264. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  265. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  266. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  267. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  268. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  270. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  272. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  274. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  276. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  278. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  280. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  282. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  284. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  286. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  287. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  289. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +39 -2
  291. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  293. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  295. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  296. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  297. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  298. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +586 -0
  299. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  300. package/artifacts/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  301. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  302. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  303. package/contracts/authorization/AccessAdmin.sol +25 -24
  304. package/contracts/authorization/Authorization.sol +0 -1
  305. package/contracts/authorization/IAccessAdmin.sol +0 -1
  306. package/contracts/distribution/BasicDistribution.sol +4 -15
  307. package/contracts/distribution/BasicDistributionAuthorization.sol +5 -1
  308. package/contracts/distribution/Distribution.sol +23 -11
  309. package/contracts/distribution/DistributionService.sol +75 -41
  310. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  311. package/contracts/distribution/IDistributionComponent.sol +8 -4
  312. package/contracts/distribution/IDistributionService.sol +18 -2
  313. package/contracts/examples/fire/FirePool.sol +75 -0
  314. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  315. package/contracts/examples/fire/FireProduct.sol +329 -0
  316. package/contracts/examples/fire/FireProductAuthorization.sol +34 -0
  317. package/contracts/examples/fire/FireUSD.sol +26 -0
  318. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  319. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  320. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  321. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  322. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  323. package/contracts/instance/IInstance.sol +11 -34
  324. package/contracts/instance/IInstanceService.sol +4 -4
  325. package/contracts/instance/Instance.sol +13 -38
  326. package/contracts/instance/InstanceAdmin.sol +25 -6
  327. package/contracts/instance/InstanceAuthorizationV3.sol +16 -14
  328. package/contracts/instance/InstanceReader.sol +32 -7
  329. package/contracts/instance/InstanceService.sol +69 -46
  330. package/contracts/instance/InstanceServiceManager.sol +8 -13
  331. package/contracts/instance/InstanceStore.sol +12 -1
  332. package/contracts/instance/base/ObjectLifecycle.sol +9 -4
  333. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +5 -5
  334. package/contracts/instance/module/IBundle.sol +1 -1
  335. package/contracts/instance/module/IComponents.sol +1 -7
  336. package/contracts/instance/module/IDistribution.sol +0 -1
  337. package/contracts/instance/module/IPolicy.sol +22 -22
  338. package/contracts/mock/Dip.sol +1 -1
  339. package/contracts/oracle/IOracleComponent.sol +2 -1
  340. package/contracts/oracle/Oracle.sol +17 -7
  341. package/contracts/oracle/OracleService.sol +9 -6
  342. package/contracts/oracle/OracleServiceManager.sol +8 -11
  343. package/contracts/pool/BasicPool.sol +7 -5
  344. package/contracts/pool/BasicPoolAuthorization.sol +11 -2
  345. package/contracts/pool/BundleService.sol +197 -55
  346. package/contracts/pool/BundleServiceManager.sol +8 -11
  347. package/contracts/pool/IBundleService.sol +33 -5
  348. package/contracts/pool/IPoolComponent.sol +6 -0
  349. package/contracts/pool/IPoolService.sol +36 -26
  350. package/contracts/pool/Pool.sol +40 -25
  351. package/contracts/pool/PoolService.sol +166 -110
  352. package/contracts/pool/PoolServiceManager.sol +6 -9
  353. package/contracts/product/ApplicationService.sol +55 -62
  354. package/contracts/product/ApplicationServiceManager.sol +6 -6
  355. package/contracts/product/BasicProduct.sol +3 -32
  356. package/contracts/product/BasicProductAuthorization.sol +3 -0
  357. package/contracts/product/ClaimService.sol +212 -108
  358. package/contracts/product/ClaimServiceManager.sol +6 -6
  359. package/contracts/product/IApplicationService.sol +1 -0
  360. package/contracts/product/IClaimService.sol +28 -5
  361. package/contracts/product/IPolicyService.sol +31 -32
  362. package/contracts/product/IPricingService.sol +7 -7
  363. package/contracts/product/IProductComponent.sol +1 -1
  364. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  365. package/contracts/product/PolicyService.sol +370 -194
  366. package/contracts/product/PolicyServiceManager.sol +6 -9
  367. package/contracts/product/PricingService.sol +46 -46
  368. package/contracts/product/PricingServiceManager.sol +5 -8
  369. package/contracts/product/Product.sol +68 -35
  370. package/contracts/product/{ProductService.sol → RiskService.sol} +13 -41
  371. package/contracts/product/RiskServiceManager.sol +39 -0
  372. package/contracts/registry/ChainNft.sol +65 -32
  373. package/contracts/registry/IRegistry.sol +63 -16
  374. package/contracts/registry/IRegistryService.sol +6 -6
  375. package/contracts/registry/Registry.sol +333 -209
  376. package/contracts/registry/RegistryAdmin.sol +171 -72
  377. package/contracts/registry/RegistryService.sol +6 -20
  378. package/contracts/registry/RegistryServiceManager.sol +4 -4
  379. package/contracts/registry/{ReleaseManager.sol → ReleaseRegistry.sol} +60 -56
  380. package/contracts/registry/ServiceAuthorizationV3.sol +7 -8
  381. package/contracts/registry/TokenRegistry.sol +2 -2
  382. package/contracts/shared/Component.sol +30 -43
  383. package/contracts/shared/ComponentService.sol +88 -28
  384. package/contracts/shared/ComponentServiceManager.sol +10 -7
  385. package/contracts/shared/ComponentVerifyingService.sol +1 -1
  386. package/contracts/shared/ContractLib.sol +38 -0
  387. package/contracts/shared/IComponent.sol +4 -4
  388. package/contracts/shared/IComponentService.sol +15 -9
  389. package/contracts/shared/IInstanceLinkedComponent.sol +9 -10
  390. package/contracts/shared/IPolicyHolder.sol +12 -22
  391. package/contracts/shared/IService.sol +1 -1
  392. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
  393. package/contracts/shared/InstanceLinkedComponent.sol +25 -4
  394. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  395. package/contracts/shared/NftOwnable.sol +7 -7
  396. package/contracts/shared/PolicyHolder.sol +14 -58
  397. package/contracts/shared/Registerable.sol +4 -4
  398. package/contracts/shared/RegistryLinked.sol +3 -2
  399. package/contracts/shared/Service.sol +19 -15
  400. package/contracts/shared/TokenHandler.sol +100 -19
  401. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  402. package/contracts/staking/IStaking.sol +3 -3
  403. package/contracts/staking/IStakingService.sol +12 -5
  404. package/contracts/staking/StakeManagerLib.sol +18 -25
  405. package/contracts/staking/Staking.sol +27 -42
  406. package/contracts/staking/StakingManager.sol +10 -12
  407. package/contracts/staking/StakingReader.sol +12 -16
  408. package/contracts/staking/StakingService.sol +10 -14
  409. package/contracts/staking/StakingServiceManager.sol +4 -4
  410. package/contracts/staking/StakingStore.sol +12 -22
  411. package/contracts/staking/TargetManagerLib.sol +7 -3
  412. package/contracts/type/Amount.sol +12 -5
  413. package/contracts/type/Blocknumber.sol +7 -1
  414. package/contracts/type/NftId.sol +1 -0
  415. package/contracts/type/ObjectType.sol +18 -18
  416. package/contracts/type/Referral.sol +1 -0
  417. package/contracts/type/RiskId.sol +15 -1
  418. package/contracts/type/Seconds.sol +21 -1
  419. package/contracts/type/StateId.sol +1 -0
  420. package/contracts/type/Timestamp.sol +11 -1
  421. package/contracts/type/UFixed.sol +29 -10
  422. package/contracts/type/Version.sol +3 -1
  423. package/contracts/{shared → upgradeability}/ProxyManager.sol +70 -38
  424. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  425. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  426. package/package.json +1 -1
  427. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  428. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -703
  429. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  430. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  431. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  432. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  433. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  434. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  435. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  436. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1159
  437. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  438. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  439. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  440. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  441. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  442. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  443. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  444. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  445. package/contracts/product/ProductServiceManager.sol +0 -42
  446. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -1,54 +1,52 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IRisk} from "../instance/module/IRisk.sol";
5
4
  import {IService} from "../shared/IService.sol";
6
5
 
7
6
  import {Amount} from "../type/Amount.sol";
8
- import {ClaimId} from "../type/ClaimId.sol";
9
7
  import {NftId} from "../type/NftId.sol";
10
- import {PayoutId} from "../type/PayoutId.sol";
11
- import {ReferralId} from "../type/Referral.sol";
12
- import {RiskId} from "../type/RiskId.sol";
13
- import {Seconds} from "../type/Seconds.sol";
14
8
  import {StateId} from "../type/StateId.sol";
15
9
  import {Timestamp} from "../type/Timestamp.sol";
16
- import {UFixed} from "../type/UFixed.sol";
17
- import {Fee} from "../type/Fee.sol";
18
10
 
19
11
  interface IPolicyService is IService {
20
12
 
13
+ event LogPolicyServicePolicyCreated(NftId policyNftId, Amount premiumAmount, Timestamp activatedAt);
14
+ event LogPolicyServicePolicyDeclined(NftId policyNftId);
15
+ event LogPolicyServicePolicyPremiumCollected(NftId policyNftId, Amount premiumAmount);
16
+ event LogPolicyServicePolicyActivated(NftId policyNftId, Timestamp activatedAt);
17
+ event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp originalExpiredAt, Timestamp expiredAt);
18
+ event LogPolicyServicePolicyClosed(NftId policyNftId);
19
+
21
20
  error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
22
21
  error ErrorPolicyServicePolicyStateNotApplied(NftId applicationNftId);
23
- error ErrorPolicyServicePolicyStateNotCollateralizedOrApplied(NftId applicationNftId);
22
+ error ErrorPolicyServicePolicyStateNotCollateralized(NftId applicationNftId);
23
+ error ErrorPolicyServicePolicyAlreadyActivated(NftId policyNftId);
24
24
 
25
- error ErrorPolicyServicePremiumHigherThanExpected(Amount premiumExpectedAmount, Amount premiumToBePaidAmount);
26
25
  error ErrorPolicyServiceBalanceInsufficient(address policyOwner, uint256 premiumAmount, uint256 balance);
27
26
  error ErrorPolicyServiceAllowanceInsufficient(address policyOwner, address tokenHandler, uint256 premiumAmount, uint256 allowance);
28
27
 
29
- error ErrorIPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
30
- error ErrorPolicyServicePremiumAlreadyPaid(NftId policyNftId, Amount premiumPaidAmount);
31
- error ErrorIPolicyServicePolicyNotActivated(NftId policyNftId);
32
- error ErrorIPolicyServicePolicyAlreadyClosed(NftId policyNftId);
33
- error ErrorIPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
34
- error ErrorPolicyServicePremiumNotFullyPaid(NftId policyNftId, Amount premiumAmount, Amount premiumPaidAmount);
35
- error ErrorIPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
36
- error ErrorIPolicyServicePolicyHasNotExpired(NftId policyNftId, Timestamp expiredAt);
28
+ error ErrorPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
29
+ error ErrorPolicyServicePremiumAlreadyPaid(NftId policyNftId);
30
+ error ErrorPolicyServicePolicyNotActivated(NftId policyNftId);
31
+ error ErrorPolicyServicePolicyAlreadyClosed(NftId policyNftId);
32
+ error ErrorPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
33
+ error ErrorPolicyServicePremiumNotPaid(NftId policyNftId, Amount premiumAmount);
34
+ error ErrorPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
35
+ error ErrorPolicyServicePolicyHasNotExpired(NftId policyNftId, Timestamp expiredAt);
36
+ error ErrorPolicyServicePolicyExpirationTooLate(NftId policyNftId, Timestamp upperLimit, Timestamp expiredAt);
37
+ error ErrorPolicyServicePolicyExpirationTooEarly(NftId policyNftId, Timestamp lowerLimit, Timestamp expiredAt);
37
38
 
38
39
  error ErrorPolicyServicePremiumMismatch(NftId policyNftId, Amount expectedPremiumAmount, Amount recalculatedPremiumAmount);
39
40
  error ErrorPolicyServiceTransferredPremiumMismatch(NftId policyNftId, Amount expectedPremiumAmount, Amount transferredPremiumAmount);
40
41
 
41
- /// @dev collateralizes the policy represented by {policyNftId}
42
- /// sets the policy state to collateralized
43
- /// may set the policy state to activated and set the activation date
44
- /// optionally collects premiums and activates the policy.
45
- /// - premium payment is only attempted if requirePremiumPayment is set to true
46
- /// - activation is only done if activateAt is a non-zero timestamp
47
- /// an application can only be collateralized in applied state
48
- /// only the related product may collateralize an application
49
- function collateralize(
50
- NftId policyNftId,
51
- bool requirePremiumPayment,
42
+ /// @dev creates the policy from {applicationNftId}.
43
+ /// After successful completion of the function the policy can be referenced using the application NftId.
44
+ /// Locks the sum insured amount in the pool, but does not transfer tokens. Call collectPremium to transfer tokens.
45
+ /// Sets the policy state to collateralized.
46
+ /// Optionally activates the policy if activateAt is a non-zero timestamp.
47
+ /// only the related product may create a policy from an application
48
+ function createPolicy(
49
+ NftId applicationNftId,
52
50
  Timestamp activateAt
53
51
  ) external;
54
52
 
@@ -57,18 +55,19 @@ interface IPolicyService is IService {
57
55
  /// only the related product may decline an application
58
56
  function decline(NftId policyNftId) external;
59
57
 
60
- /// @dev collects the premium token for the specified policy
58
+ /// @dev collects the premium token for the specified policy (must be in COLLATERALIZED state)
61
59
  function collectPremium(NftId policyNftId, Timestamp activateAt) external;
62
60
 
63
61
  /// @dev activates the specified policy and sets the activation date in the policy metadata
64
62
  /// to activate a policy it needs to be in underwritten state
65
63
  function activate(NftId policyNftId, Timestamp activateAt) external;
66
64
 
67
- /// @dev expires the specified policy and sets the expiry date in the policy metadata
65
+ /// @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
68
66
  /// 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
69
67
  /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
70
68
  /// this function can only be called by a product. the policy needs to match with the calling product
71
- function expire(NftId policyNftId) external;
69
+ /// @return expiredAt the effective expiry date
70
+ function expire(NftId policyNftId, Timestamp expireAt) external returns (Timestamp expiredAt);
72
71
 
73
72
  /// @dev closes the specified policy and sets the closed data in the policy metadata
74
73
  /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
@@ -16,12 +16,12 @@ interface IPricingService is IService
16
16
  error ErrorPricingServiceTargetWalletAmountsMismatch();
17
17
  error ErrorIPricingServiceBundlePoolMismatch(NftId bundleNftId, NftId bundlePoolNftId, NftId poolNftId);
18
18
  error ErrorIPricingServiceFeeCalculationMismatch(
19
- uint256 distributionFeeFixAmount,
20
- uint256 distributionFeeVarAmount,
21
- uint256 distributionOwnerFeeFixAmount,
22
- uint256 distributionOwnerFeeVarAmount,
23
- uint256 commissionAmount,
24
- uint256 discountAmount
19
+ Amount distributionFeeFixAmount,
20
+ Amount distributionFeeVarAmount,
21
+ Amount distributionOwnerFeeFixAmount,
22
+ Amount distributionOwnerFeeVarAmount,
23
+ Amount commissionAmount,
24
+ Amount discountAmount
25
25
  );
26
26
 
27
27
  function calculatePremium(
@@ -35,5 +35,5 @@ interface IPricingService is IService
35
35
  )
36
36
  external
37
37
  view
38
- returns (IPolicy.Premium memory premium);
38
+ returns (IPolicy.PremiumInfo memory premium);
39
39
  }
@@ -2,7 +2,6 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {Amount} from "../type/Amount.sol";
5
- import {Fee} from "../type/Fee.sol";
6
5
  import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
7
6
  import {IComponents} from "../instance/module/IComponents.sol";
8
7
  import {NftId} from "../type/NftId.sol";
@@ -36,4 +35,5 @@ interface IProductComponent is
36
35
 
37
36
  /// @dev returns initial pool specific infos for this pool
38
37
  function getInitialProductInfo() external view returns (IComponents.ProductInfo memory info);
38
+
39
39
  }
@@ -12,7 +12,7 @@ import {Timestamp} from "../type/Timestamp.sol";
12
12
  import {UFixed} from "../type/UFixed.sol";
13
13
  import {Fee} from "../type/Fee.sol";
14
14
 
15
- interface IProductService is IService {
15
+ interface IRiskService is IService {
16
16
 
17
17
  function createRisk(
18
18
  RiskId riskId,