@etherisc/gif-next 0.0.2-bdcb44f-543 → 0.0.2-be7d052-160

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 (627) hide show
  1. package/README.md +38 -86
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1548 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +279 -324
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1571 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +858 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +329 -215
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +401 -303
  36. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +296 -2066
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +318 -70
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +401 -2823
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +710 -330
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +379 -265
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +115 -74
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3591 -0
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  59. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  64. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  70. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  71. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  74. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  75. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  76. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  77. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1185 -0
  78. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  79. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  80. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  81. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  82. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  83. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +802 -0
  84. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  86. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  87. package/artifacts/contracts/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +290 -296
  88. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  90. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  92. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  93. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +338 -293
  94. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  95. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  96. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  97. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  101. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +281 -211
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  103. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +320 -371
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  106. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  107. package/artifacts/contracts/pool/Pool.sol/Pool.json +1288 -0
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  113. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  117. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -0
  118. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  119. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  120. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  124. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  125. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +174 -181
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  127. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  129. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +146 -153
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  133. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +985 -0
  134. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  135. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +80 -64
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  139. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  141. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  144. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  145. package/artifacts/contracts/product/Product.sol/Product.json +1276 -0
  146. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  147. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  148. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  150. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  151. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  152. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  153. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +191 -18
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  155. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +199 -149
  156. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  158. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/Registry.sol/Registry.json +453 -34
  160. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  161. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  162. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +372 -97
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
  166. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  168. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  170. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  171. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  172. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  174. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  175. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +200 -78
  176. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1640 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
  180. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  181. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +100 -113
  182. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  183. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  184. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  185. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +236 -52
  186. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  187. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +977 -0
  188. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  189. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +260 -195
  190. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  192. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  194. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  195. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  196. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  197. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  198. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  200. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  202. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IService.sol/IService.json +96 -19
  204. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  205. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  206. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1015 -0
  208. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  209. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  210. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
  212. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  213. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  214. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  216. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  217. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  218. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
  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 +103 -21
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  225. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  226. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  227. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  228. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  229. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  230. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  231. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  232. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  233. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  234. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  235. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  236. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  237. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  238. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  240. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  242. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  244. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  246. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  247. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  248. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  249. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  250. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  252. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  254. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  256. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  258. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  260. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  262. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  264. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  265. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  266. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  268. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  270. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  272. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  274. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  276. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  278. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  280. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  282. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  284. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  286. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  288. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  289. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +33 -7
  290. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/UFixed.sol/MathLib.json +10 -0
  292. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
  294. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  296. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  298. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  299. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  300. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  301. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  302. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  303. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  304. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  305. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  306. package/contracts/authorization/AccessAdmin.sol +591 -0
  307. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  308. package/contracts/authorization/Authorization.sol +218 -0
  309. package/contracts/authorization/IAccess.sol +48 -0
  310. package/contracts/authorization/IAccessAdmin.sol +136 -0
  311. package/contracts/authorization/IAuthorization.sol +54 -0
  312. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  313. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  314. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  315. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  316. package/contracts/distribution/BasicDistribution.sol +149 -0
  317. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  318. package/contracts/{components → distribution}/Distribution.sol +178 -170
  319. package/contracts/distribution/DistributionService.sol +352 -0
  320. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  321. package/contracts/distribution/IDistributionComponent.sol +52 -0
  322. package/contracts/{instance/service → distribution}/IDistributionService.sol +39 -27
  323. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +32 -31
  324. package/contracts/instance/IInstance.sol +60 -66
  325. package/contracts/instance/IInstanceService.sol +57 -24
  326. package/contracts/instance/Instance.sol +176 -213
  327. package/contracts/instance/InstanceAdmin.sol +266 -0
  328. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  329. package/contracts/instance/InstanceReader.sol +173 -61
  330. package/contracts/instance/InstanceService.sol +310 -357
  331. package/contracts/instance/InstanceServiceManager.sol +12 -26
  332. package/contracts/instance/InstanceStore.sol +276 -0
  333. package/contracts/instance/base/BalanceStore.sol +123 -0
  334. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  335. package/contracts/instance/base/ObjectCounter.sol +21 -0
  336. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  337. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +19 -24
  338. package/contracts/instance/module/IAccess.sol +19 -20
  339. package/contracts/instance/module/IBundle.sol +8 -9
  340. package/contracts/instance/module/{ISetup.sol → IComponents.sol} +25 -20
  341. package/contracts/instance/module/IDistribution.sol +7 -6
  342. package/contracts/instance/module/IPolicy.sol +28 -16
  343. package/contracts/instance/module/IRisk.sol +1 -1
  344. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  345. package/contracts/oracle/BasicOracle.sol +48 -0
  346. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  347. package/contracts/oracle/IOracle.sol +36 -0
  348. package/contracts/oracle/IOracleComponent.sol +33 -0
  349. package/contracts/oracle/IOracleService.sol +65 -0
  350. package/contracts/oracle/Oracle.sol +170 -0
  351. package/contracts/oracle/OracleService.sol +278 -0
  352. package/contracts/oracle/OracleServiceManager.sol +39 -0
  353. package/contracts/pool/BasicPool.sol +164 -0
  354. package/contracts/pool/BasicPoolAuthorization.sol +52 -0
  355. package/contracts/pool/BundleService.sol +284 -0
  356. package/contracts/pool/BundleServiceManager.sol +39 -0
  357. package/contracts/pool/IBundleService.sol +106 -0
  358. package/contracts/pool/IPoolComponent.sol +51 -0
  359. package/contracts/pool/IPoolService.sol +150 -0
  360. package/contracts/pool/Pool.sol +311 -0
  361. package/contracts/pool/PoolService.sol +436 -0
  362. package/contracts/pool/PoolServiceManager.sol +39 -0
  363. package/contracts/product/ApplicationService.sol +230 -0
  364. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  365. package/contracts/product/BasicProduct.sol +82 -0
  366. package/contracts/product/BasicProductAuthorization.sol +43 -0
  367. package/contracts/product/ClaimService.sol +416 -0
  368. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  369. package/contracts/{instance/service → product}/IApplicationService.sol +15 -35
  370. package/contracts/product/IClaimService.sol +99 -0
  371. package/contracts/{instance/service → product}/IPolicyService.sol +37 -29
  372. package/contracts/product/IPricingService.sol +39 -0
  373. package/contracts/product/IProductComponent.sol +40 -0
  374. package/contracts/product/IProductService.sol +33 -0
  375. package/contracts/product/PolicyService.sol +475 -0
  376. package/contracts/product/PolicyServiceManager.sol +39 -0
  377. package/contracts/product/PricingService.sol +300 -0
  378. package/contracts/product/PricingServiceManager.sol +39 -0
  379. package/contracts/{components → product}/Product.sol +210 -107
  380. package/contracts/product/ProductService.sol +99 -0
  381. package/contracts/product/ProductServiceManager.sol +39 -0
  382. package/contracts/registry/ChainNft.sol +16 -1
  383. package/contracts/registry/IRegistry.sol +61 -26
  384. package/contracts/registry/IRegistryService.sol +44 -42
  385. package/contracts/registry/ITransferInterceptor.sol +1 -0
  386. package/contracts/registry/Registry.sol +251 -139
  387. package/contracts/registry/RegistryAdmin.sol +365 -0
  388. package/contracts/registry/RegistryService.sol +70 -101
  389. package/contracts/registry/RegistryServiceManager.sol +23 -32
  390. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  391. package/contracts/registry/ReleaseRegistry.sol +487 -0
  392. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  393. package/contracts/registry/TokenRegistry.sol +261 -62
  394. package/contracts/shared/Component.sol +280 -0
  395. package/contracts/shared/ComponentService.sol +622 -0
  396. package/contracts/shared/ComponentServiceManager.sol +35 -0
  397. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  398. package/contracts/shared/ERC165.sol +1 -1
  399. package/contracts/{components → shared}/IComponent.sol +26 -24
  400. package/contracts/shared/IComponentService.sol +112 -0
  401. package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
  402. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  403. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  404. package/contracts/shared/INftOwnable.sol +2 -2
  405. package/contracts/shared/IPolicyHolder.sol +29 -10
  406. package/contracts/shared/IRegistryLinked.sol +0 -1
  407. package/contracts/shared/IService.sol +15 -8
  408. package/contracts/shared/InitializableCustom.sol +177 -0
  409. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  410. package/contracts/shared/KeyValueStore.sol +131 -0
  411. package/contracts/shared/Lifecycle.sol +77 -0
  412. package/contracts/shared/NftIdSet.sol +65 -0
  413. package/contracts/shared/NftOwnable.sol +3 -16
  414. package/contracts/shared/PolicyHolder.sol +40 -19
  415. package/contracts/shared/Registerable.sol +13 -12
  416. package/contracts/shared/RegistryLinked.sol +0 -5
  417. package/contracts/shared/Service.sol +47 -23
  418. package/contracts/shared/TokenHandler.sol +37 -6
  419. package/contracts/staking/IStaking.sol +167 -0
  420. package/contracts/staking/IStakingService.sol +160 -0
  421. package/contracts/staking/StakeManagerLib.sol +231 -0
  422. package/contracts/staking/Staking.sol +514 -0
  423. package/contracts/staking/StakingLifecycle.sol +23 -0
  424. package/contracts/staking/StakingManager.sol +50 -0
  425. package/contracts/staking/StakingReader.sol +183 -0
  426. package/contracts/staking/StakingService.sol +411 -0
  427. package/contracts/staking/StakingServiceManager.sol +44 -0
  428. package/contracts/staking/StakingStore.sol +605 -0
  429. package/contracts/staking/TargetManagerLib.sol +207 -0
  430. package/contracts/{types → type}/AddressSet.sol +1 -1
  431. package/contracts/type/Amount.sol +128 -0
  432. package/contracts/{types → type}/Blocknumber.sol +21 -3
  433. package/contracts/{types → type}/ClaimId.sol +25 -2
  434. package/contracts/{types → type}/Fee.sol +33 -23
  435. package/contracts/{types → type}/NftId.sol +21 -15
  436. package/contracts/{types → type}/NftIdSet.sol +2 -2
  437. package/contracts/type/ObjectType.sol +271 -0
  438. package/contracts/{types → type}/PayoutId.sol +33 -5
  439. package/contracts/{types → type}/Referral.sol +5 -1
  440. package/contracts/type/RequestId.sol +75 -0
  441. package/contracts/{types → type}/RiskId.sol +1 -1
  442. package/contracts/type/RoleId.sol +174 -0
  443. package/contracts/{types → type}/Seconds.sol +27 -0
  444. package/contracts/type/Selector.sol +102 -0
  445. package/contracts/{types → type}/StateId.sol +34 -4
  446. package/contracts/type/String.sol +53 -0
  447. package/contracts/{types → type}/Timestamp.sol +11 -1
  448. package/contracts/{types → type}/UFixed.sol +7 -0
  449. package/contracts/{types → type}/Version.sol +5 -2
  450. package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
  451. package/contracts/{shared → upgradeability}/ProxyManager.sol +36 -7
  452. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  453. package/contracts/{shared → upgradeability}/Versionable.sol +1 -1
  454. package/package.json +8 -5
  455. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  456. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  457. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  458. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  459. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  460. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  461. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  462. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  463. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  464. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
  465. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  466. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  467. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
  468. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  469. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  470. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  471. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  472. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  473. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  474. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  475. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  476. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  477. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  478. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  479. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  480. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -968
  481. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  482. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -665
  483. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  484. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1096
  485. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  486. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  487. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  488. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -754
  489. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  490. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  491. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  492. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1553
  493. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  494. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -793
  495. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  496. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  497. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  498. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -409
  499. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  500. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  501. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  502. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -347
  503. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  504. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  505. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1000
  506. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  507. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -689
  508. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  509. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -727
  510. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  511. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -649
  512. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  513. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  514. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  515. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  516. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  517. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  518. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  519. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  520. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  521. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  522. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  523. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  524. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
  525. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  526. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  527. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  528. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  529. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  530. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  531. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  532. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  533. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  534. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  535. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -521
  536. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  537. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  538. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  539. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  540. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  541. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  542. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  543. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  544. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  545. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  546. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  547. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  548. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  549. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  550. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  551. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  552. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  553. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  554. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  555. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  556. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  557. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  558. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  559. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  560. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  561. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  562. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  563. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  564. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  565. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  566. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  567. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  568. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  569. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  570. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  571. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  572. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  573. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  574. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  575. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  576. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  577. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  578. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  579. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  580. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  581. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  582. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  583. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  584. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  585. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  586. package/contracts/components/Component.sol +0 -221
  587. package/contracts/components/IDistributionComponent.sol +0 -79
  588. package/contracts/components/IPoolComponent.sol +0 -151
  589. package/contracts/components/IProductComponent.sol +0 -40
  590. package/contracts/components/Pool.sol +0 -378
  591. package/contracts/instance/InstanceAccessManager.sol +0 -297
  592. package/contracts/instance/base/ComponentService.sol +0 -134
  593. package/contracts/instance/base/KeyValueStore.sol +0 -172
  594. package/contracts/instance/base/Lifecycle.sol +0 -100
  595. package/contracts/instance/module/ITreasury.sol +0 -23
  596. package/contracts/instance/service/ApplicationService.sol +0 -349
  597. package/contracts/instance/service/BundleService.sol +0 -299
  598. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  599. package/contracts/instance/service/ClaimService.sol +0 -151
  600. package/contracts/instance/service/DistributionService.sol +0 -394
  601. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  602. package/contracts/instance/service/IBundleService.sol +0 -55
  603. package/contracts/instance/service/IClaimService.sol +0 -61
  604. package/contracts/instance/service/IPoolService.sol +0 -20
  605. package/contracts/instance/service/IProductService.sol +0 -40
  606. package/contracts/instance/service/PolicyService.sol +0 -402
  607. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  608. package/contracts/instance/service/PoolService.sol +0 -109
  609. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  610. package/contracts/instance/service/ProductService.sol +0 -233
  611. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  612. package/contracts/registry/RegistryAccessManager.sol +0 -216
  613. package/contracts/registry/ReleaseManager.sol +0 -322
  614. package/contracts/shared/ContractDeployerLib.sol +0 -72
  615. package/contracts/test/TestFee.sol +0 -25
  616. package/contracts/test/TestRegisterable.sol +0 -18
  617. package/contracts/test/TestRoleId.sol +0 -14
  618. package/contracts/test/TestService.sol +0 -25
  619. package/contracts/test/TestVersion.sol +0 -44
  620. package/contracts/test/TestVersionable.sol +0 -17
  621. package/contracts/test/Usdc.sol +0 -26
  622. package/contracts/types/ChainId.sol +0 -38
  623. package/contracts/types/NumberId.sol +0 -52
  624. package/contracts/types/ObjectType.sol +0 -156
  625. package/contracts/types/RoleId.sol +0 -95
  626. /package/contracts/{types → type}/DistributorType.sol +0 -0
  627. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -0,0 +1,99 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IInstance} from "../instance/IInstance.sol";
5
+ import {InstanceReader} from "../instance/InstanceReader.sol";
6
+ import {IService} from "../shared/IService.sol";
7
+
8
+ import {Amount} from "../type/Amount.sol";
9
+ import {ClaimId} from "../type/ClaimId.sol";
10
+ import {PayoutId} from "../type/PayoutId.sol";
11
+ import {NftId} from "../type/NftId.sol";
12
+ import {StateId} from "../type/StateId.sol";
13
+ import {Timestamp} from "../type/Timestamp.sol";
14
+ import {UFixed} from "../type/UFixed.sol";
15
+ import {Fee} from "../type/Fee.sol";
16
+
17
+ /// @dev gif service responsible for creating claims and payouts
18
+ /// only product components may call transaction functions
19
+ interface IClaimService is
20
+ IService
21
+ {
22
+
23
+ event LogClaimServiceClaimSubmitted(NftId policyNftId, ClaimId claimId, Amount claimAmount);
24
+ event LogClaimServiceClaimConfirmed(NftId policyNftId, ClaimId claimId, Amount confirmedAmount);
25
+ event LogClaimServiceClaimDeclined(NftId policyNftId, ClaimId claimId);
26
+ event LogClaimServiceClaimClosed(NftId policyNftId, ClaimId claimId);
27
+
28
+ event LogClaimServicePayoutCreated(NftId policyNftId, PayoutId payoutId, Amount amount);
29
+ event LogClaimServicePayoutProcessed(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary, Amount netAmount);
30
+
31
+ error ErrorClaimServicePolicyProductMismatch(NftId policyNftId, NftId expectedProduct, NftId actualProduct);
32
+ error ErrorClaimServicePolicyNotOpen(NftId policyNftId);
33
+ error ErrorClaimServiceClaimExceedsSumInsured(NftId policyNftId, Amount sumInsured, Amount payoutsIncludingClaimAmount);
34
+
35
+ error ErrorClaimServiceClaimWithOpenPayouts(NftId policyNftId, ClaimId claimId, uint8 openPayouts);
36
+ error ErrorClaimServiceClaimWithMissingPayouts(NftId policyNftId, ClaimId claimId, Amount claimAmount, Amount paidAmount);
37
+ error ErrorClaimServiceClaimNotInExpectedState(NftId policyNftId, ClaimId claimId, StateId expectedState, StateId actualState);
38
+
39
+ /// @dev create a new claim for the specified policy
40
+ /// returns the id of the newly created claim
41
+ /// function can only be called by product, policy needs to match with calling product
42
+ function submit(
43
+ NftId policyNftId,
44
+ Amount claimAmount,
45
+ bytes memory claimData
46
+ ) external returns (ClaimId claimId);
47
+
48
+
49
+ // TODO add claim revoke functionality
50
+
51
+
52
+ /// @dev declines the specified claim
53
+ /// function can only be called by product, policy needs to match with calling product
54
+ function decline(
55
+ NftId policyNftId,
56
+ ClaimId claimId,
57
+ bytes memory data // claim processing data
58
+ ) external;
59
+
60
+
61
+ /// @dev confirms the specified claim and specifies the payout amount
62
+ /// function can only be called by product, policy needs to match with calling product
63
+ function confirm(
64
+ NftId policyNftId,
65
+ ClaimId claimId,
66
+ Amount confirmedAmount,
67
+ bytes memory data // claim processing data
68
+ ) external;
69
+
70
+
71
+ /// @dev closes the specified claim
72
+ /// function can only be called by product, policy needs to match with calling product
73
+ function close(
74
+ NftId policyNftId,
75
+ ClaimId claimId
76
+ ) external;
77
+
78
+
79
+ /// @dev creates a new payout for the specified claim
80
+ /// returns the id of the newly created payout, this id is unique for the specified policy
81
+ /// function can only be called by product, policy needs to match with calling product
82
+ function createPayout(
83
+ NftId policyNftId,
84
+ ClaimId claimId,
85
+ Amount amount,
86
+ bytes memory data
87
+ )
88
+ external
89
+ returns (PayoutId payoutId);
90
+
91
+
92
+ /// @dev processes the specified payout
93
+ /// this includes moving the payout token to the beneficiary (default: policy holder)
94
+ /// function can only be called by product, policy needs to match with calling product
95
+ function processPayout(
96
+ NftId policyNftId,
97
+ PayoutId payoutId
98
+ ) external;
99
+ }
@@ -1,48 +1,62 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "../../shared/IService.sol";
4
+ import {IRisk} from "../instance/module/IRisk.sol";
5
+ import {IService} from "../shared/IService.sol";
6
6
 
7
- import {NftId} from "../../types/NftId.sol";
8
- import {ReferralId} from "../../types/Referral.sol";
9
- import {RiskId} from "../../types/RiskId.sol";
10
- import {Seconds} from "../../types/Seconds.sol";
11
- import {StateId} from "../../types/StateId.sol";
12
- import {Timestamp} from "../../types/Timestamp.sol";
13
- import {UFixed} from "../../types/UFixed.sol";
14
- import {Fee} from "../../types/Fee.sol";
7
+ import {Amount} from "../type/Amount.sol";
8
+ import {ClaimId} from "../type/ClaimId.sol";
9
+ 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
+ import {StateId} from "../type/StateId.sol";
15
+ import {Timestamp} from "../type/Timestamp.sol";
16
+ import {UFixed} from "../type/UFixed.sol";
17
+ import {Fee} from "../type/Fee.sol";
15
18
 
16
19
  interface IPolicyService is IService {
17
-
20
+
21
+ error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
22
+ error ErrorPolicyServicePolicyStateNotApplied(NftId applicationNftId);
23
+ error ErrorPolicyServicePolicyStateNotCollateralizedOrApplied(NftId applicationNftId);
24
+
25
+ error ErrorPolicyServicePremiumHigherThanExpected(Amount premiumExpectedAmount, Amount premiumToBePaidAmount);
26
+ error ErrorPolicyServiceBalanceInsufficient(address policyOwner, uint256 premiumAmount, uint256 balance);
27
+ error ErrorPolicyServiceAllowanceInsufficient(address policyOwner, address tokenHandler, uint256 premiumAmount, uint256 allowance);
28
+
18
29
  error ErrorIPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
19
- error ErrorIPolicyServicePremiumAlreadyPaid(NftId policyNftId, uint256 premiumPaidAmount);
30
+ error ErrorPolicyServicePremiumAlreadyPaid(NftId policyNftId, Amount premiumPaidAmount);
20
31
  error ErrorIPolicyServicePolicyNotActivated(NftId policyNftId);
21
32
  error ErrorIPolicyServicePolicyAlreadyClosed(NftId policyNftId);
22
33
  error ErrorIPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
23
- error ErrorIPolicyServicePremiumNotFullyPaid(NftId policyNftId, uint256 premiumAmount, uint256 premiumPaidAmount);
34
+ error ErrorPolicyServicePremiumNotFullyPaid(NftId policyNftId, Amount premiumAmount, Amount premiumPaidAmount);
24
35
  error ErrorIPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
25
36
  error ErrorIPolicyServicePolicyHasNotExpired(NftId policyNftId, Timestamp expiredAt);
26
37
 
27
- /// @dev declines an application represented by {policyNftId}
28
- /// an application can only be declined in applied state
29
- /// only the related product may decline an application
30
- function decline(NftId policyNftId) external;
38
+ error ErrorPolicyServicePremiumMismatch(NftId policyNftId, Amount expectedPremiumAmount, Amount recalculatedPremiumAmount);
39
+ error ErrorPolicyServiceTransferredPremiumMismatch(NftId policyNftId, Amount expectedPremiumAmount, Amount transferredPremiumAmount);
31
40
 
32
- /// @dev underwrites the policy represented by {policyNftId}
33
- /// sets the policy state to underwritten
41
+ /// @dev collateralizes the policy represented by {policyNftId}
42
+ /// sets the policy state to collateralized
34
43
  /// may set the policy state to activated and set the activation date
35
44
  /// optionally collects premiums and activates the policy.
36
45
  /// - premium payment is only attempted if requirePremiumPayment is set to true
37
46
  /// - activation is only done if activateAt is a non-zero timestamp
38
- /// an application can only be underwritten in applied state
39
- /// only the related product may underwrite an application
40
- function underwrite(
47
+ /// an application can only be collateralized in applied state
48
+ /// only the related product may collateralize an application
49
+ function collateralize(
41
50
  NftId policyNftId,
42
51
  bool requirePremiumPayment,
43
52
  Timestamp activateAt
44
53
  ) external;
45
54
 
55
+ /// @dev declines an application represented by {policyNftId}
56
+ /// an application can only be declined in applied state
57
+ /// only the related product may decline an application
58
+ function decline(NftId policyNftId) external;
59
+
46
60
  /// @dev collects the premium token for the specified policy
47
61
  function collectPremium(NftId policyNftId, Timestamp activateAt) external;
48
62
 
@@ -61,10 +75,4 @@ interface IPolicyService is IService {
61
75
  /// this function can only be called by a product. the policy needs to match with the calling product
62
76
  function close(NftId policyNftId) external;
63
77
 
64
- // TODO move function to pool service
65
- function calculateRequiredCollateral(
66
- UFixed collateralizationLevel,
67
- uint256 sumInsuredAmount
68
- ) external pure returns(uint256 collateralAmount);
69
-
70
78
  }
@@ -0,0 +1,39 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Seconds} from "../type/Seconds.sol";
5
+ import {NftId} from "../type/NftId.sol";
6
+ import {ReferralId} from "../type/Referral.sol";
7
+ import {RiskId} from "../type/RiskId.sol";
8
+ import {Amount} from "../type/Amount.sol";
9
+
10
+ import {IService} from "./IApplicationService.sol";
11
+ import {IPolicy} from "../instance/module/IPolicy.sol";
12
+
13
+ interface IPricingService is IService
14
+ {
15
+
16
+ error ErrorPricingServiceTargetWalletAmountsMismatch();
17
+ error ErrorIPricingServiceBundlePoolMismatch(NftId bundleNftId, NftId bundlePoolNftId, NftId poolNftId);
18
+ error ErrorIPricingServiceFeeCalculationMismatch(
19
+ uint256 distributionFeeFixAmount,
20
+ uint256 distributionFeeVarAmount,
21
+ uint256 distributionOwnerFeeFixAmount,
22
+ uint256 distributionOwnerFeeVarAmount,
23
+ uint256 commissionAmount,
24
+ uint256 discountAmount
25
+ );
26
+
27
+ function calculatePremium(
28
+ NftId productNftId,
29
+ RiskId riskId,
30
+ Amount sumInsuredAmount,
31
+ Seconds lifetime,
32
+ bytes memory applicationData,
33
+ NftId bundleNftId,
34
+ ReferralId referralId
35
+ )
36
+ external
37
+ view
38
+ returns (IPolicy.Premium memory premium);
39
+ }
@@ -0,0 +1,40 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {Fee} from "../type/Fee.sol";
6
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
7
+ import {IComponents} from "../instance/module/IComponents.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {ReferralId} from "../type/Referral.sol";
10
+ import {RiskId} from "../type/RiskId.sol";
11
+ import {Seconds} from "../type/Seconds.sol";
12
+
13
+ interface IProductComponent is
14
+ IInstanceLinkedComponent
15
+ {
16
+
17
+ function calculatePremium(
18
+ Amount sumInsuredAmount,
19
+ RiskId riskId,
20
+ Seconds lifetime,
21
+ bytes memory applicationData,
22
+ NftId bundleNftId,
23
+ ReferralId referralId
24
+ ) external view returns (Amount premiumAmount);
25
+
26
+ function calculateNetPremium(
27
+ Amount sumInsuredAmount,
28
+ RiskId riskId,
29
+ Seconds lifetime,
30
+ bytes memory applicationData
31
+ ) external view returns (Amount netPremiumAmount);
32
+
33
+ function getPoolNftId() external view returns (NftId poolNftId);
34
+ function getDistributionNftId() external view returns (NftId distributionNftId);
35
+
36
+
37
+ /// @dev returns initial pool specific infos for this pool
38
+ function getInitialProductInfo() external view returns (IComponents.ProductInfo memory info);
39
+
40
+ }
@@ -0,0 +1,33 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IRisk} from "../instance/module/IRisk.sol";
5
+ import {IService} from "../shared/IService.sol";
6
+
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {ReferralId} from "../type/Referral.sol";
9
+ import {RiskId} from "../type/RiskId.sol";
10
+ import {StateId} from "../type/StateId.sol";
11
+ import {Timestamp} from "../type/Timestamp.sol";
12
+ import {UFixed} from "../type/UFixed.sol";
13
+ import {Fee} from "../type/Fee.sol";
14
+
15
+ interface IProductService is IService {
16
+
17
+ function createRisk(
18
+ RiskId riskId,
19
+ bytes memory data
20
+ ) external;
21
+
22
+
23
+ function updateRisk(
24
+ RiskId riskId,
25
+ bytes memory data
26
+ ) external;
27
+
28
+
29
+ function updateRiskState(
30
+ RiskId riskId,
31
+ StateId newState
32
+ ) external;
33
+ }