@etherisc/gif-next 0.0.2-742eda3-807 → 0.0.2-750c7cb-311

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 (376) hide show
  1. package/README.md +16 -2
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +2 -2
  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/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +2 -2
  14. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  16. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  17. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -64
  18. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +16 -16
  20. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +43 -38
  22. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +237 -74
  24. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +66 -38
  26. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +43 -0
  28. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +102 -0
  30. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  31. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  32. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  33. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +6 -6
  34. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  35. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +5 -5
  36. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  37. package/artifacts/contracts/instance/Instance.sol/Instance.json +9 -9
  38. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  39. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +73 -73
  40. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  41. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +31 -31
  42. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  43. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +80 -122
  44. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  45. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +15 -15
  46. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  47. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +6 -6
  48. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +72 -194
  50. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  51. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  52. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  53. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  54. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  55. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  56. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  57. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  58. package/artifacts/contracts/instance/base/{ObjectManager.sol/ObjectManager.json → ObjectSet.sol/ObjectSet.json} +6 -6
  59. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  62. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  63. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  64. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  65. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  66. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  67. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  68. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +51 -51
  69. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  70. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  71. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  72. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  73. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +30 -0
  74. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  75. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  76. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +27 -35
  77. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  78. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
  79. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  80. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
  81. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  82. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +54 -99
  83. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  84. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
  85. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  86. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +449 -62
  87. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  88. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +102 -26
  89. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  90. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +236 -1
  91. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  92. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +44 -57
  93. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  94. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +189 -54
  95. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  96. package/artifacts/contracts/pool/Pool.sol/Pool.json +44 -95
  97. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  98. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +337 -90
  99. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  100. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +75 -19
  101. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  102. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
  103. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  104. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
  105. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  106. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +19 -38
  107. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  108. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +16 -16
  109. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  110. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +82 -58
  111. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  112. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +34 -30
  113. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  114. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  115. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +16 -0
  116. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  117. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +184 -88
  118. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  119. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  120. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +19 -0
  121. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  122. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  123. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +291 -139
  124. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +54 -26
  126. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  127. package/artifacts/contracts/product/PricingService.sol/PricingService.json +7 -2
  128. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  130. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  131. package/artifacts/contracts/product/Product.sol/Product.json +19 -38
  132. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  133. package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
  134. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  135. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
  136. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  137. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  138. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +50 -2
  139. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  140. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +0 -183
  141. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  142. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  143. package/artifacts/contracts/registry/Registry.sol/Registry.json +95 -23
  144. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  145. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +88 -88
  146. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  147. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  148. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  150. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  151. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  152. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  153. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  154. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  155. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
  156. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  157. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  158. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  159. package/artifacts/contracts/shared/Component.sol/Component.json +0 -38
  160. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  161. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +287 -62
  162. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  163. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +68 -32
  164. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  165. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  166. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  167. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +153 -0
  168. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  169. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -0
  170. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  171. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  172. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  174. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  176. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  177. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  178. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  179. package/artifacts/contracts/shared/{ERC165.sol/ERC165.json → InitializableERC165.sol/InitializableERC165.json} +4 -4
  180. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  181. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -38
  182. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  183. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  184. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  185. package/artifacts/contracts/shared/{NftIdSetManager.sol/NftIdSetManager.json → NftIdSet.sol/NftIdSet.json} +4 -4
  186. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  187. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  188. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  189. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  190. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  191. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  192. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  193. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  194. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  195. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  196. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +53 -6
  197. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  198. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  199. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  200. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +12 -2
  201. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  202. package/artifacts/contracts/staking/Staking.sol/Staking.json +60 -74
  203. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  204. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
  205. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  206. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +31 -19
  207. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  208. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  209. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  210. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +22 -22
  211. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  212. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +12 -12
  213. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  214. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +20 -15
  215. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  216. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +7 -2
  217. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  218. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  219. package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
  220. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  221. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  222. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  223. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  224. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  225. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  226. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  227. package/artifacts/contracts/type/Fee.sol/FeeLib.json +7 -2
  228. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  229. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  230. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  231. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  232. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  233. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  234. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  235. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  236. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  237. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  238. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  239. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  240. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  241. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  242. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  243. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  244. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  245. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  246. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  247. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  248. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  249. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  251. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  253. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  254. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  256. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  257. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +39 -2
  258. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  259. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  260. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  261. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  262. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  263. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  264. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  265. package/artifacts/contracts/{shared → upgradeability}/ProxyManager.sol/ProxyManager.json +3 -3
  266. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  267. package/artifacts/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  268. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  269. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  270. package/contracts/distribution/BasicDistribution.sol +4 -15
  271. package/contracts/distribution/BasicDistributionAuthorization.sol +5 -1
  272. package/contracts/distribution/Distribution.sol +22 -10
  273. package/contracts/distribution/DistributionService.sol +60 -26
  274. package/contracts/distribution/DistributionServiceManager.sol +2 -5
  275. package/contracts/distribution/IDistributionComponent.sol +8 -4
  276. package/contracts/distribution/IDistributionService.sol +12 -0
  277. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  278. package/contracts/instance/IInstance.sol +5 -5
  279. package/contracts/instance/IInstanceService.sol +5 -5
  280. package/contracts/instance/Instance.sol +4 -4
  281. package/contracts/instance/InstanceAdmin.sol +2 -2
  282. package/contracts/instance/InstanceAuthorizationV3.sol +13 -11
  283. package/contracts/instance/InstanceReader.sol +10 -7
  284. package/contracts/instance/InstanceService.sol +10 -10
  285. package/contracts/instance/InstanceServiceManager.sol +2 -6
  286. package/contracts/instance/InstanceStore.sol +2 -1
  287. package/contracts/instance/base/ObjectLifecycle.sol +1 -3
  288. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +5 -5
  289. package/contracts/instance/module/IBundle.sol +1 -1
  290. package/contracts/instance/module/IComponents.sol +1 -7
  291. package/contracts/instance/module/IDistribution.sol +0 -1
  292. package/contracts/instance/module/IPolicy.sol +1 -1
  293. package/contracts/mock/Dip.sol +1 -1
  294. package/contracts/oracle/IOracleComponent.sol +2 -1
  295. package/contracts/oracle/Oracle.sol +15 -6
  296. package/contracts/oracle/OracleServiceManager.sol +2 -5
  297. package/contracts/pool/BasicPool.sol +7 -5
  298. package/contracts/pool/BasicPoolAuthorization.sol +11 -2
  299. package/contracts/pool/BundleService.sol +195 -41
  300. package/contracts/pool/BundleServiceManager.sol +2 -5
  301. package/contracts/pool/IBundleService.sol +34 -5
  302. package/contracts/pool/IPoolComponent.sol +6 -0
  303. package/contracts/pool/IPoolService.sol +15 -16
  304. package/contracts/pool/Pool.sol +32 -15
  305. package/contracts/pool/PoolService.sol +183 -76
  306. package/contracts/pool/PoolServiceManager.sol +2 -5
  307. package/contracts/product/ApplicationService.sol +12 -36
  308. package/contracts/product/ApplicationServiceManager.sol +2 -2
  309. package/contracts/product/BasicProduct.sol +3 -33
  310. package/contracts/product/BasicProductAuthorization.sol +3 -0
  311. package/contracts/product/ClaimService.sol +21 -39
  312. package/contracts/product/ClaimServiceManager.sol +2 -2
  313. package/contracts/product/IClaimService.sol +1 -0
  314. package/contracts/product/IPolicyService.sol +19 -12
  315. package/contracts/product/IProductComponent.sol +1 -0
  316. package/contracts/product/PolicyService.sol +189 -108
  317. package/contracts/product/PolicyServiceManager.sol +2 -5
  318. package/contracts/product/PricingServiceManager.sol +2 -5
  319. package/contracts/product/Product.sol +20 -1
  320. package/contracts/product/ProductService.sol +7 -32
  321. package/contracts/product/ProductServiceManager.sol +2 -5
  322. package/contracts/registry/IRegistry.sol +26 -13
  323. package/contracts/registry/IRegistryService.sol +6 -6
  324. package/contracts/registry/Registry.sol +80 -82
  325. package/contracts/registry/RegistryAdmin.sol +23 -23
  326. package/contracts/registry/RegistryService.sol +4 -18
  327. package/contracts/registry/RegistryServiceManager.sol +2 -2
  328. package/contracts/registry/{ReleaseManager.sol → ReleaseRegistry.sol} +48 -50
  329. package/contracts/registry/ServiceAuthorizationV3.sol +5 -5
  330. package/contracts/registry/TokenRegistry.sol +2 -2
  331. package/contracts/shared/Component.sol +21 -21
  332. package/contracts/shared/ComponentService.sol +81 -12
  333. package/contracts/shared/ComponentServiceManager.sol +2 -2
  334. package/contracts/shared/IComponent.sol +4 -3
  335. package/contracts/shared/IComponentService.sol +15 -9
  336. package/contracts/shared/IInstanceLinkedComponent.sol +9 -3
  337. package/contracts/shared/IService.sol +1 -1
  338. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
  339. package/contracts/shared/InstanceLinkedComponent.sol +21 -0
  340. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  341. package/contracts/shared/NftOwnable.sol +2 -2
  342. package/contracts/shared/PolicyHolder.sol +2 -5
  343. package/contracts/shared/Service.sol +3 -4
  344. package/contracts/shared/TokenHandler.sol +4 -0
  345. package/contracts/staking/IStaking.sol +1 -2
  346. package/contracts/staking/IStakingService.sol +12 -5
  347. package/contracts/staking/Staking.sol +20 -17
  348. package/contracts/staking/StakingManager.sol +2 -6
  349. package/contracts/staking/StakingReader.sol +12 -16
  350. package/contracts/staking/StakingService.sol +8 -12
  351. package/contracts/staking/StakingServiceManager.sol +2 -2
  352. package/contracts/staking/StakingStore.sol +12 -22
  353. package/contracts/type/Amount.sol +12 -5
  354. package/contracts/type/Blocknumber.sol +7 -1
  355. package/contracts/type/ObjectType.sol +3 -7
  356. package/contracts/type/Referral.sol +1 -0
  357. package/contracts/type/Seconds.sol +13 -1
  358. package/contracts/type/Timestamp.sol +11 -1
  359. package/contracts/type/UFixed.sol +29 -10
  360. package/contracts/type/Version.sol +3 -1
  361. package/contracts/{shared → upgradeability}/ProxyManager.sol +3 -4
  362. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  363. package/package.json +1 -1
  364. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  365. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -703
  366. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  367. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  368. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1159
  369. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  370. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  371. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  372. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  373. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  374. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  375. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
  376. /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,48 +1,22 @@
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
- import {IService} from "./IApplicationService.sol";
6
-
7
4
  import {IComponents} from "../instance/module/IComponents.sol";
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
- import {IProductComponent} from "./IProductComponent.sol";
10
- import {Product} from "./Product.sol";
11
- import {IPoolComponent} from "../pool/IPoolComponent.sol";
12
- import {IDistributionComponent} from "../distribution/IDistributionComponent.sol";
13
5
  import {IInstance} from "../instance/IInstance.sol";
14
6
  import {IPolicy} from "../instance/module/IPolicy.sol";
15
- import {IRisk} from "../instance/module/IRisk.sol";
16
- import {IBundle} from "../instance/module/IBundle.sol";
17
- import {IProductService} from "./IProductService.sol";
18
-
19
- import {TokenHandler} from "../shared/TokenHandler.sol";
20
-
21
- import {IVersionable} from "../shared/IVersionable.sol";
22
- import {Versionable} from "../shared/Versionable.sol";
23
-
24
7
  import {Amount, AmountLib} from "../type/Amount.sol";
25
- import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
26
- import {UFixed, UFixedLib} from "../type/UFixed.sol";
27
- import {Blocknumber, blockNumber} from "../type/Blocknumber.sol";
28
- import {ObjectType, INSTANCE, PRODUCT, POOL, APPLICATION, POLICY, CLAIM, BUNDLE} from "../type/ObjectType.sol";
29
- import {SUBMITTED, ACTIVE, KEEP_STATE, DECLINED, CONFIRMED, CLOSED, PAID} from "../type/StateId.sol";
30
- import {NftId, NftIdLib} from "../type/NftId.sol";
31
- import {Fee, FeeLib} from "../type/Fee.sol";
32
- import {ReferralId} from "../type/Referral.sol";
33
- import {RiskId} from "../type/RiskId.sol";
8
+ import {TimestampLib} from "../type/Timestamp.sol";
9
+ import {ObjectType, CLAIM, PRODUCT, POOL} from "../type/ObjectType.sol";
10
+ import {SUBMITTED, KEEP_STATE, DECLINED, CONFIRMED, CLOSED, PAID} from "../type/StateId.sol";
11
+ import {NftId} from "../type/NftId.sol";
12
+ import {FeeLib} from "../type/Fee.sol";
34
13
  import {StateId} from "../type/StateId.sol";
35
14
  import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
36
15
  import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
37
- import {Version, VersionLib} from "../type/Version.sol";
38
-
39
16
  import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
40
17
  import {InstanceReader} from "../instance/InstanceReader.sol";
41
- import {IBundleService} from "../pool/IBundleService.sol";
42
18
  import {IClaimService} from "./IClaimService.sol";
43
19
  import {IPoolService} from "../pool/IPoolService.sol";
44
- import {IService} from "../shared/IService.sol";
45
- import {Service} from "../shared/Service.sol";
46
20
 
47
21
 
48
22
  contract ClaimService is
@@ -320,7 +294,7 @@ contract ClaimService is
320
294
  (
321
295
  Amount netPayoutAmount,
322
296
  address beneficiary
323
- ) = _transferPayoutAmount(
297
+ ) = _calculatePayoutAmount(
324
298
  instanceReader,
325
299
  policyNftId,
326
300
  policyInfo,
@@ -328,11 +302,24 @@ contract ClaimService is
328
302
 
329
303
  // TODO callback IPolicyHolder
330
304
 
305
+ if (netPayoutAmount.eqz()) {
306
+ revert ErrorClaimsServicePayoutAmountIsZero(policyNftId, payoutId);
307
+ }
308
+
331
309
  emit LogClaimServicePayoutProcessed(policyNftId, payoutId, payoutAmount, beneficiary, netPayoutAmount);
310
+
311
+ {
312
+ NftId poolNftId = getRegistry().getObjectInfo(policyInfo.bundleNftId).parentNftId;
313
+ IComponents.ComponentInfo memory poolInfo = instanceReader.getComponentInfo(poolNftId);
314
+ // TODO: centralize token handling (issue #471)
315
+ poolInfo.tokenHandler.transfer(
316
+ poolInfo.wallet,
317
+ beneficiary,
318
+ netPayoutAmount);
319
+ }
332
320
  }
333
321
 
334
- // TODO create (I)TreasuryService that deals with all gif related token transfers
335
- function _transferPayoutAmount(
322
+ function _calculatePayoutAmount(
336
323
  InstanceReader instanceReader,
337
324
  NftId policyNftId,
338
325
  IPolicy.PolicyInfo memory policyInfo,
@@ -362,11 +349,6 @@ contract ClaimService is
362
349
  // TODO transfer processing fees to product wallet
363
350
  // TODO inform product to update fee book keeping
364
351
  }
365
-
366
- poolInfo.tokenHandler.transfer(
367
- poolInfo.wallet,
368
- beneficiary,
369
- netPayoutAmount);
370
352
  }
371
353
  }
372
354
 
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../shared/IVersionable.sol";
5
- import {ProxyManager} from "../shared/ProxyManager.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {ClaimService} from "./ClaimService.sol";
7
7
 
8
8
  contract ClaimServiceManager is ProxyManager {
@@ -31,6 +31,7 @@ interface IClaimService is
31
31
  error ErrorClaimServicePolicyProductMismatch(NftId policyNftId, NftId expectedProduct, NftId actualProduct);
32
32
  error ErrorClaimServicePolicyNotOpen(NftId policyNftId);
33
33
  error ErrorClaimServiceClaimExceedsSumInsured(NftId policyNftId, Amount sumInsured, Amount payoutsIncludingClaimAmount);
34
+ error ErrorClaimsServicePayoutAmountIsZero(NftId policyNftId, PayoutId payoutId);
34
35
 
35
36
  error ErrorClaimServiceClaimWithOpenPayouts(NftId policyNftId, ClaimId claimId, uint8 openPayouts);
36
37
  error ErrorClaimServiceClaimWithMissingPayouts(NftId policyNftId, ClaimId claimId, Amount claimAmount, Amount paidAmount);
@@ -20,25 +20,31 @@ interface IPolicyService is IService {
20
20
 
21
21
  error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
22
22
  error ErrorPolicyServicePolicyStateNotApplied(NftId applicationNftId);
23
- error ErrorPolicyServicePolicyStateNotCollateralizedOrApplied(NftId applicationNftId);
23
+ error ErrorPolicyServicePolicyStateNotCollateralized(NftId applicationNftId);
24
+ error ErrorPolicyServicePolicyAlreadyActivated(NftId policyNftId);
24
25
 
25
- error ErrorPolicyServicePremiumHigherThanExpected(Amount premiumExpectedAmount, Amount premiumToBePaidAmount);
26
+ error ErrorPolicyServicePremiumHigherThanExpected(uint256 premiumExpectedAmount, uint256 premiumToBePaidAmount);
26
27
  error ErrorPolicyServiceBalanceInsufficient(address policyOwner, uint256 premiumAmount, uint256 balance);
27
28
  error ErrorPolicyServiceAllowanceInsufficient(address policyOwner, address tokenHandler, uint256 premiumAmount, uint256 allowance);
28
29
 
29
- error ErrorIPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
30
+ error ErrorPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
30
31
  error ErrorPolicyServicePremiumAlreadyPaid(NftId policyNftId, Amount premiumPaidAmount);
31
- error ErrorIPolicyServicePolicyNotActivated(NftId policyNftId);
32
- error ErrorIPolicyServicePolicyAlreadyClosed(NftId policyNftId);
33
- error ErrorIPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
32
+ error ErrorPolicyServicePolicyNotActivated(NftId policyNftId);
33
+ error ErrorPolicyServicePolicyAlreadyClosed(NftId policyNftId);
34
+ error ErrorPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
34
35
  error ErrorPolicyServicePremiumNotFullyPaid(NftId policyNftId, Amount premiumAmount, Amount premiumPaidAmount);
35
- error ErrorIPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
36
- error ErrorIPolicyServicePolicyHasNotExpired(NftId policyNftId, Timestamp expiredAt);
36
+ error ErrorPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
37
+ error ErrorPolicyServicePolicyHasNotExpired(NftId policyNftId, Timestamp expiredAt);
38
+ error ErrorPolicyServicePolicyExpirationTooLate(NftId policyNftId, Timestamp upperLimit, Timestamp expiredAt);
39
+ error ErrorPolicyServicePolicyExpirationTooEarly(NftId policyNftId, Timestamp lowerLimit, Timestamp expiredAt);
37
40
 
38
41
  error ErrorPolicyServicePremiumMismatch(NftId policyNftId, Amount expectedPremiumAmount, Amount recalculatedPremiumAmount);
39
42
  error ErrorPolicyServiceTransferredPremiumMismatch(NftId policyNftId, Amount expectedPremiumAmount, Amount transferredPremiumAmount);
40
43
 
41
- /// @dev collateralizes the policy represented by {policyNftId}
44
+ event LogPolicyServicePolicyDeclined(NftId policyNftId);
45
+ event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp expiredAt);
46
+
47
+ /// @dev collateralizes the policy represented by {policyNftId}. locks the sum insured amount in the pool.
42
48
  /// sets the policy state to collateralized
43
49
  /// may set the policy state to activated and set the activation date
44
50
  /// optionally collects premiums and activates the policy.
@@ -57,18 +63,19 @@ interface IPolicyService is IService {
57
63
  /// only the related product may decline an application
58
64
  function decline(NftId policyNftId) external;
59
65
 
60
- /// @dev collects the premium token for the specified policy
66
+ /// @dev collects the premium token for the specified policy (must be in COLLATERALIZED or ACTIVE state)
61
67
  function collectPremium(NftId policyNftId, Timestamp activateAt) external;
62
68
 
63
69
  /// @dev activates the specified policy and sets the activation date in the policy metadata
64
70
  /// to activate a policy it needs to be in underwritten state
65
71
  function activate(NftId policyNftId, Timestamp activateAt) external;
66
72
 
67
- /// @dev expires the specified policy and sets the expiry date in the policy metadata
73
+ /// @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
74
  /// 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
75
  /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
70
76
  /// this function can only be called by a product. the policy needs to match with the calling product
71
- function expire(NftId policyNftId) external;
77
+ /// @return expiredAt the effective expiry date
78
+ function expire(NftId policyNftId, Timestamp expireAt) external returns (Timestamp expiredAt);
72
79
 
73
80
  /// @dev closes the specified policy and sets the closed data in the policy metadata
74
81
  /// a policy can only be closed when it has been expired. in addition, it must not have any open claims
@@ -36,4 +36,5 @@ interface IProductComponent is
36
36
 
37
37
  /// @dev returns initial pool specific infos for this pool
38
38
  function getInitialProductInfo() external view returns (IComponents.ProductInfo memory info);
39
+
39
40
  }