@etherisc/gif-next 0.0.2-b2910e7-757 → 0.0.2-b2e620f-736

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 (452) hide show
  1. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  3. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  5. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +148 -62
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  11. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
  13. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +149 -21
  15. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +82 -12
  18. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +68 -13
  20. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -65
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +152 -33
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +51 -39
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +117 -110
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +46 -48
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +38 -26
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +27 -3
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +102 -42
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +127 -40
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +260 -185
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +152 -33
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +117 -54
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -63
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  54. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +111 -48
  55. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +306 -147
  59. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  60. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  61. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  62. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +118 -21
  63. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  64. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +75 -5
  65. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  66. package/artifacts/contracts/instance/Instance.sol/Instance.json +150 -41
  67. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  68. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +355 -99
  69. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  70. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +140 -40
  71. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  72. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +549 -218
  73. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +87 -60
  75. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +20 -22
  77. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +403 -353
  79. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  80. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  81. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  82. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  83. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  84. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  85. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  86. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  87. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  88. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  90. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  92. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  95. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  96. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  97. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +68 -56
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +126 -35
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +38 -26
  105. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
  107. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +52 -40
  109. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +98 -83
  111. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +40 -22
  113. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +51 -39
  115. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +127 -40
  117. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +102 -310
  119. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +33 -83
  121. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +38 -122
  123. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +38 -26
  125. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +120 -175
  127. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  128. package/artifacts/contracts/pool/Pool.sol/Pool.json +51 -39
  129. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  130. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +241 -302
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  134. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +67 -45
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  136. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +91 -65
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  138. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +16 -22
  139. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  140. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +157 -130
  141. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  142. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +152 -33
  143. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +244 -187
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +55 -65
  147. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  148. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +61 -10
  149. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  150. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +142 -20
  151. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  152. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +105 -55
  153. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -3
  155. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  156. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +144 -117
  157. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +27 -3
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +198 -181
  161. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  162. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  163. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +51 -45
  165. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  166. package/artifacts/contracts/product/PricingService.sol/PricingService.json +85 -78
  167. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  168. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +31 -33
  169. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  170. package/artifacts/contracts/product/Product.sol/Product.json +157 -130
  171. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  172. package/artifacts/contracts/product/RiskService.sol/RiskService.json +76 -77
  173. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +25 -19
  175. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  176. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  177. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  178. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +26 -2
  179. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  180. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
  181. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  182. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  183. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  184. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/Registry.sol/Registry.json +64 -40
  186. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  187. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +250 -221
  188. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  189. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
  190. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  191. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +11 -13
  192. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  193. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -0
  194. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  195. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  196. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  197. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +316 -50
  198. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  199. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
  200. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  201. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  202. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  203. package/artifacts/contracts/shared/Component.sol/Component.json +51 -39
  204. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  205. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +119 -514
  206. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  207. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +38 -72
  208. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
  210. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  211. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +435 -5
  212. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  213. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  214. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  215. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  216. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  217. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  218. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  219. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -26
  220. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +45 -327
  222. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +38 -26
  224. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  225. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  226. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
  230. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
  233. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  234. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  235. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +51 -39
  236. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  237. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  239. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  240. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  242. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  243. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  244. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
  246. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  247. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  248. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  249. package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
  250. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  251. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +63 -162
  252. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  253. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
  254. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  255. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
  256. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  257. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +38 -26
  258. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  259. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +56 -3
  260. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  261. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +33 -33
  262. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  263. package/artifacts/contracts/staking/Staking.sol/Staking.json +90 -57
  264. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  265. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
  266. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  267. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +27 -19
  268. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  269. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +4 -4
  270. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  271. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +87 -51
  272. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  273. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +18 -20
  274. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  275. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +129 -129
  276. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  277. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +23 -23
  278. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  279. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/Amount.sol/AmountLib.json +3 -3
  281. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  282. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  284. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  286. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
  288. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  289. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  290. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  291. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  292. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  294. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  295. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  296. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  298. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  300. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  302. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  304. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +62 -5
  306. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
  308. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  311. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  313. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  317. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +3 -3
  319. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  321. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
  323. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  324. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  325. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
  326. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  327. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  328. package/contracts/accounting/AccountingService.sol +262 -0
  329. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  330. package/contracts/accounting/IAccountingService.sol +45 -0
  331. package/contracts/authorization/AccessAdmin.sol +177 -84
  332. package/contracts/authorization/AccessManagerCloneable.sol +136 -3
  333. package/contracts/authorization/Authorization.sol +277 -229
  334. package/contracts/authorization/IAccessAdmin.sol +13 -7
  335. package/contracts/authorization/IAuthorization.sol +15 -1
  336. package/contracts/distribution/BasicDistribution.sol +4 -4
  337. package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
  338. package/contracts/distribution/Distribution.sol +27 -24
  339. package/contracts/distribution/DistributionService.sol +18 -15
  340. package/contracts/distribution/DistributionServiceManager.sol +1 -1
  341. package/contracts/examples/fire/FirePool.sol +6 -2
  342. package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
  343. package/contracts/examples/fire/FireProduct.sol +8 -1
  344. package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
  345. package/contracts/examples/unpermissioned/SimpleDistribution.sol +6 -7
  346. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  347. package/contracts/examples/unpermissioned/SimplePool.sol +7 -9
  348. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  349. package/contracts/examples/unpermissioned/SimpleProduct.sol +32 -0
  350. package/contracts/instance/BundleSet.sol +42 -38
  351. package/contracts/instance/IInstance.sol +13 -7
  352. package/contracts/instance/IInstanceService.sol +7 -1
  353. package/contracts/instance/Instance.sol +41 -16
  354. package/contracts/instance/InstanceAdmin.sol +241 -76
  355. package/contracts/instance/InstanceAuthorizationV3.sol +53 -31
  356. package/contracts/instance/InstanceReader.sol +162 -32
  357. package/contracts/instance/InstanceService.sol +59 -35
  358. package/contracts/instance/InstanceServiceManager.sol +1 -1
  359. package/contracts/instance/InstanceStore.sol +13 -2
  360. package/contracts/instance/RiskSet.sol +118 -0
  361. package/contracts/instance/base/ObjectCounter.sol +1 -2
  362. package/contracts/instance/base/ObjectLifecycle.sol +4 -2
  363. package/contracts/instance/base/ObjectSet.sol +31 -33
  364. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  365. package/contracts/instance/module/IComponents.sol +3 -2
  366. package/contracts/instance/module/IRisk.sol +3 -0
  367. package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
  368. package/contracts/oracle/Oracle.sol +1 -1
  369. package/contracts/oracle/OracleService.sol +92 -74
  370. package/contracts/oracle/OracleServiceManager.sol +1 -1
  371. package/contracts/pool/BasicPoolAuthorization.sol +21 -13
  372. package/contracts/pool/BundleService.sol +35 -125
  373. package/contracts/pool/BundleServiceManager.sol +1 -1
  374. package/contracts/pool/IBundleService.sol +13 -38
  375. package/contracts/pool/IPoolService.sol +49 -56
  376. package/contracts/pool/Pool.sol +9 -9
  377. package/contracts/pool/PoolLib.sol +216 -0
  378. package/contracts/pool/PoolService.sol +323 -186
  379. package/contracts/pool/PoolServiceManager.sol +1 -1
  380. package/contracts/product/ApplicationService.sol +15 -15
  381. package/contracts/product/ApplicationServiceManager.sol +1 -1
  382. package/contracts/product/BasicProduct.sol +2 -0
  383. package/contracts/product/BasicProductAuthorization.sol +24 -10
  384. package/contracts/product/ClaimService.sol +157 -139
  385. package/contracts/product/ClaimServiceManager.sol +1 -1
  386. package/contracts/product/IApplicationService.sol +5 -2
  387. package/contracts/product/IClaimService.sol +14 -2
  388. package/contracts/product/IPolicyService.sol +23 -10
  389. package/contracts/product/IProductComponent.sol +4 -1
  390. package/contracts/product/PolicyService.sol +269 -257
  391. package/contracts/product/PolicyServiceLib.sol +65 -0
  392. package/contracts/product/PolicyServiceManager.sol +1 -1
  393. package/contracts/product/PricingService.sol +23 -19
  394. package/contracts/product/PricingServiceManager.sol +3 -3
  395. package/contracts/product/Product.sol +53 -7
  396. package/contracts/product/RiskService.sol +74 -25
  397. package/contracts/product/RiskServiceManager.sol +1 -1
  398. package/contracts/registry/ChainNft.sol +4 -2
  399. package/contracts/registry/IRegistry.sol +8 -15
  400. package/contracts/registry/IRelease.sol +26 -0
  401. package/contracts/registry/Registry.sol +7 -2
  402. package/contracts/registry/RegistryAdmin.sol +129 -237
  403. package/contracts/registry/RegistryService.sol +3 -3
  404. package/contracts/registry/RegistryServiceManager.sol +1 -1
  405. package/contracts/registry/ReleaseAdmin.sol +245 -0
  406. package/contracts/registry/ReleaseLifecycle.sol +2 -0
  407. package/contracts/registry/ReleaseRegistry.sol +127 -101
  408. package/contracts/registry/ServiceAuthorizationV3.sol +163 -40
  409. package/contracts/registry/TokenRegistry.sol +6 -8
  410. package/contracts/shared/Component.sol +30 -38
  411. package/contracts/shared/ComponentService.sol +165 -302
  412. package/contracts/shared/ComponentServiceManager.sol +1 -1
  413. package/contracts/shared/ComponentVerifyingService.sol +1 -1
  414. package/contracts/shared/ContractLib.sol +208 -9
  415. package/contracts/shared/IComponent.sol +3 -9
  416. package/contracts/shared/IComponentService.sol +2 -27
  417. package/contracts/shared/IRegisterable.sol +15 -4
  418. package/contracts/shared/IService.sol +3 -5
  419. package/contracts/shared/InstanceLinkedComponent.sol +3 -3
  420. package/contracts/shared/NftOwnable.sol +4 -4
  421. package/contracts/shared/PolicyHolder.sol +1 -1
  422. package/contracts/shared/Registerable.sol +45 -19
  423. package/contracts/shared/RegistryLinked.sol +1 -1
  424. package/contracts/shared/Service.sol +8 -27
  425. package/contracts/shared/TokenHandler.sol +40 -96
  426. package/contracts/staking/IStaking.sol +0 -8
  427. package/contracts/staking/IStakingService.sol +8 -0
  428. package/contracts/staking/StakeManagerLib.sol +1 -1
  429. package/contracts/staking/Staking.sol +34 -13
  430. package/contracts/staking/StakingReader.sol +1 -1
  431. package/contracts/staking/StakingService.sol +32 -55
  432. package/contracts/staking/StakingServiceManager.sol +5 -4
  433. package/contracts/type/Key32.sol +2 -2
  434. package/contracts/type/Key32Set.sol +62 -0
  435. package/contracts/type/NftId.sol +6 -0
  436. package/contracts/type/ObjectType.sol +48 -21
  437. package/contracts/type/RiskId.sol +23 -6
  438. package/contracts/type/RoleId.sol +24 -4
  439. package/contracts/type/Selector.sol +5 -0
  440. package/contracts/type/Timestamp.sol +0 -5
  441. package/contracts/type/UFixed.sol +9 -119
  442. package/contracts/type/Version.sol +15 -5
  443. package/contracts/upgradeability/ProxyManager.sol +1 -1
  444. package/package.json +1 -1
  445. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
  446. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
  447. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  448. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  449. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  450. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  451. package/contracts/authorization/ReleaseAccessManager.sol +0 -38
  452. package/contracts/instance/module/IAccess.sol +0 -46
@@ -19,7 +19,6 @@ import {Fee} from "../type/Fee.sol";
19
19
  interface IClaimService is
20
20
  IService
21
21
  {
22
-
23
22
  event LogClaimServiceClaimSubmitted(NftId policyNftId, ClaimId claimId, Amount claimAmount);
24
23
  event LogClaimServiceClaimConfirmed(NftId policyNftId, ClaimId claimId, Amount confirmedAmount);
25
24
  event LogClaimServiceClaimDeclined(NftId policyNftId, ClaimId claimId);
@@ -27,11 +26,14 @@ interface IClaimService is
27
26
  event LogClaimServiceClaimClosed(NftId policyNftId, ClaimId claimId);
28
27
 
29
28
  event LogClaimServicePayoutCreated(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary);
30
- event LogClaimServicePayoutProcessed(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary, Amount netAmount, Amount processingFeeAmount);
29
+ event LogClaimServicePayoutProcessed(NftId policyNftId, PayoutId payoutId, Amount amount);
30
+ event LogClaimServicePayoutCancelled(NftId policyNftId, PayoutId payoutId);
31
+
31
32
  error ErrorClaimServiceBeneficiarySet(NftId policyNftId, PayoutId payoutId, address beneficiary);
32
33
 
33
34
  error ErrorClaimServicePolicyProductMismatch(NftId policyNftId, NftId expectedProduct, NftId actualProduct);
34
35
  error ErrorClaimServicePolicyNotOpen(NftId policyNftId);
36
+ error ErrorClaimServiceClaimAmountIsZero(NftId policyNftId);
35
37
  error ErrorClaimServiceClaimExceedsSumInsured(NftId policyNftId, Amount sumInsured, Amount payoutsIncludingClaimAmount);
36
38
  error ErrorClaimServiceBeneficiaryIsZero(NftId policyNftId, ClaimId claimId);
37
39
  error ErrorClaimsServicePayoutAmountIsZero(NftId policyNftId, PayoutId payoutId);
@@ -40,6 +42,10 @@ interface IClaimService is
40
42
  error ErrorClaimServiceClaimWithMissingPayouts(NftId policyNftId, ClaimId claimId, Amount claimAmount, Amount paidAmount);
41
43
  error ErrorClaimServiceClaimNotInExpectedState(NftId policyNftId, ClaimId claimId, StateId expectedState, StateId actualState);
42
44
 
45
+ error ErrorClaimServiceClaimNotConfirmed(NftId policyNftId, ClaimId claimId, StateId actualState);
46
+ error ErrorClaimServicePayoutExceedsClaimAmount(NftId policyNftId, ClaimId claimId, Amount claimAmount, Amount totalPayoutAmount);
47
+ error ErrorClaimServicePayoutNotExpected(NftId policyNftId, PayoutId payoutId, StateId actualState);
48
+
43
49
  /// @dev create a new claim for the specified policy
44
50
  /// returns the id of the newly created claim
45
51
  /// function can only be called by product, policy needs to match with calling product
@@ -120,4 +126,10 @@ interface IClaimService is
120
126
  NftId policyNftId,
121
127
  PayoutId payoutId
122
128
  ) external;
129
+
130
+ /// @dev cancels the specified payout. no tokens are moved, payout is set to cancelled.
131
+ function cancelPayout(
132
+ NftId policyNftId,
133
+ PayoutId payoutId
134
+ ) external;
123
135
  }
@@ -5,6 +5,7 @@ import {IService} from "../shared/IService.sol";
5
5
 
6
6
  import {Amount} from "../type/Amount.sol";
7
7
  import {IInstance} from "../instance/IInstance.sol";
8
+ import {InstanceReader} from "../instance/InstanceReader.sol";
8
9
  import {NftId} from "../type/NftId.sol";
9
10
  import {StateId} from "../type/StateId.sol";
10
11
  import {Timestamp} from "../type/Timestamp.sol";
@@ -15,7 +16,8 @@ interface IPolicyService is IService {
15
16
  event LogPolicyServicePolicyDeclined(NftId policyNftId);
16
17
  event LogPolicyServicePolicyPremiumCollected(NftId policyNftId, Amount premiumAmount);
17
18
  event LogPolicyServicePolicyActivated(NftId policyNftId, Timestamp activatedAt);
18
- event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp originalExpiredAt, Timestamp expiredAt);
19
+ event LogPolicyServicePolicyActivatedUpdated(NftId policyNftId, Timestamp activatedAt);
20
+ event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp expiredAt);
19
21
  event LogPolicyServicePolicyClosed(NftId policyNftId);
20
22
 
21
23
  error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
@@ -23,13 +25,15 @@ interface IPolicyService is IService {
23
25
  error ErrorPolicyServicePolicyStateNotCollateralized(NftId applicationNftId);
24
26
  error ErrorPolicyServicePolicyAlreadyActivated(NftId policyNftId);
25
27
 
26
- error ErrorPolicyServiceBalanceInsufficient(address policyOwner, uint256 premiumAmount, uint256 balance);
27
- error ErrorPolicyServiceAllowanceInsufficient(address policyOwner, address tokenHandler, uint256 premiumAmount, uint256 allowance);
28
-
28
+ error ErrorPolicyServicePolicyNotActivated(NftId policyNftId);
29
+ error ErrorPolicyServicePolicyActivationTooEarly(NftId policyNftId, Timestamp lowerLimit, Timestamp activatedAt);
30
+ error ErrorPolicyServicePolicyActivationTooLate(NftId policyNftId, Timestamp upperLimit, Timestamp activatedAt);
31
+
29
32
  error ErrorPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
30
33
  error ErrorPolicyServicePremiumAlreadyPaid(NftId policyNftId);
31
- error ErrorPolicyServicePolicyNotActivated(NftId policyNftId);
32
- error ErrorPolicyServicePolicyAlreadyClosed(NftId policyNftId);
34
+
35
+ error ErrorPolicyServicePolicyNotCloseable(NftId policyNftId);
36
+
33
37
  error ErrorPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
34
38
  error ErrorPolicyServicePremiumNotPaid(NftId policyNftId, Amount premiumAmount);
35
39
  error ErrorPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
@@ -65,18 +69,27 @@ interface IPolicyService is IService {
65
69
  /// to activate a policy it needs to be in underwritten state
66
70
  function activate(NftId policyNftId, Timestamp activateAt) external;
67
71
 
68
- /// @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
72
+ /// @dev adjusts the activation date of the specified policy and sets the new activation date in the policy metadata
73
+ /// to adjust the activation date of a policy it needs to have an activation date set.
74
+ /// the new activation date must not be before the current block timestamp or after the expiry date
75
+ function adjustActivation(NftId policyNftId, Timestamp newActivateAt) external;
76
+
77
+ /// @dev Expires the specified policy and sets the expiry date in the policy metadata.
78
+ /// Function consumers are products.
79
+ /// If expiry date is set to 0, then the earliest possible expiry date (current blocktime) is set
69
80
  /// 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
70
81
  /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
71
82
  /// this function can only be called by a product. the policy needs to match with the calling product
72
83
  /// @return expiredAt the effective expiry date
73
84
  function expire(NftId policyNftId, Timestamp expireAt) external returns (Timestamp expiredAt);
74
85
 
75
- function expirePolicy(IInstance instance, NftId policyNftId, Timestamp expireAt) external returns (Timestamp expiredAt);
76
-
77
- /// @dev closes the specified policy and sets the closed data in the policy metadata
86
+ /// @dev Closes the specified policy and sets the closed data in the policy metadata
78
87
  /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
79
88
  /// this function can only be called by a product. the policy needs to match with the calling product
80
89
  function close(NftId policyNftId) external;
81
90
 
91
+ /// @dev Expires the specified policy and sets the expiry date in the policy metadata.
92
+ /// Function consumers is claim service.
93
+ function expirePolicy(IInstance instance, NftId policyNftId, Timestamp expireAt) external returns (Timestamp expiredAt);
94
+
82
95
  }
@@ -53,7 +53,10 @@ interface IProductComponent is
53
53
  ) external view returns (Amount netPremiumAmount);
54
54
 
55
55
 
56
- /// @dev returns initial pool specific infos for this pool
56
+ /// @dev returns initial product specific infos
57
57
  function getInitialProductInfo() external view returns (IComponents.ProductInfo memory info);
58
+
59
+ /// @dev returns initial fee infos
60
+ function getInitialFeeInfo() external view returns (IComponents.FeeInfo memory info);
58
61
 
59
62
  }