@etherisc/gif-next 0.0.2-9d962ff-442 → 0.0.2-9daf7a4-699

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 (530) hide show
  1. package/README.md +87 -8
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +496 -255
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +277 -20
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +395 -203
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +143 -19
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +151 -490
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +265 -31
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +82 -386
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +382 -359
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -129
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -198
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +252 -126
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +236 -39
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +144 -93
  73. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  74. package/artifacts/contracts/instance/Instance.sol/Instance.json +256 -123
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +737 -327
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +209 -94
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1080 -352
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +172 -278
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +859 -712
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +108 -355
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +247 -33
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +91 -140
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +84 -323
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +132 -98
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +132 -421
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +265 -31
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +281 -320
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +132 -118
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +178 -103
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +120 -236
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +460 -308
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +110 -416
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +673 -552
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +173 -107
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -100
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +261 -439
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +265 -31
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +415 -234
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +150 -124
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +354 -106
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +245 -233
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  166. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +445 -308
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +151 -109
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -336
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +119 -141
  177. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  178. package/artifacts/contracts/product/Product.sol/Product.json +253 -431
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  192. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  193. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +640 -368
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +431 -253
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  213. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  214. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +511 -651
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +142 -138
  219. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  229. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +463 -300
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +91 -140
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  245. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +83 -322
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  266. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +196 -143
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +280 -397
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +136 -105
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +205 -168
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +113 -95
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +90 -49
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  332. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  334. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  339. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  343. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  344. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
  346. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  348. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  349. package/contracts/accounting/AccountingService.sol +262 -0
  350. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  351. package/contracts/accounting/IAccountingService.sol +45 -0
  352. package/contracts/authorization/AccessAdmin.sol +338 -225
  353. package/contracts/authorization/AccessAdminLib.sol +183 -0
  354. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  355. package/contracts/authorization/Authorization.sol +350 -203
  356. package/contracts/authorization/IAccess.sol +13 -4
  357. package/contracts/authorization/IAccessAdmin.sol +69 -35
  358. package/contracts/authorization/IAuthorization.sol +33 -7
  359. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  360. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  361. package/contracts/distribution/BasicDistribution.sol +20 -17
  362. package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
  363. package/contracts/distribution/Distribution.sol +37 -88
  364. package/contracts/distribution/DistributionService.sol +167 -119
  365. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  366. package/contracts/distribution/IDistributionComponent.sol +1 -10
  367. package/contracts/distribution/IDistributionService.sol +31 -25
  368. package/contracts/examples/fire/DamageLevel.sol +59 -0
  369. package/contracts/examples/fire/FirePool.sol +86 -0
  370. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  371. package/contracts/examples/fire/FireProduct.sol +433 -0
  372. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  373. package/contracts/examples/fire/FireUSD.sol +26 -0
  374. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  375. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  376. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  377. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  378. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  379. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  380. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  381. package/contracts/instance/BundleSet.sol +42 -38
  382. package/contracts/instance/IInstance.sol +64 -44
  383. package/contracts/instance/IInstanceService.sol +27 -31
  384. package/contracts/instance/Instance.sol +120 -70
  385. package/contracts/instance/InstanceAdmin.sol +287 -103
  386. package/contracts/instance/InstanceAuthorizationV3.sol +92 -61
  387. package/contracts/instance/InstanceReader.sol +288 -43
  388. package/contracts/instance/InstanceService.sol +207 -191
  389. package/contracts/instance/InstanceServiceManager.sol +6 -7
  390. package/contracts/instance/InstanceStore.sol +23 -2
  391. package/contracts/instance/RiskSet.sol +118 -0
  392. package/contracts/instance/base/ObjectCounter.sol +1 -2
  393. package/contracts/instance/base/ObjectLifecycle.sol +11 -4
  394. package/contracts/instance/base/ObjectSet.sol +31 -33
  395. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  396. package/contracts/instance/module/IBundle.sol +6 -5
  397. package/contracts/instance/module/IComponents.sol +30 -19
  398. package/contracts/instance/module/IDistribution.sol +21 -8
  399. package/contracts/instance/module/IPolicy.sol +50 -29
  400. package/contracts/instance/module/IRisk.sol +5 -0
  401. package/contracts/oracle/BasicOracle.sol +1 -4
  402. package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
  403. package/contracts/oracle/IOracle.sol +9 -4
  404. package/contracts/oracle/IOracleService.sol +2 -1
  405. package/contracts/oracle/Oracle.sol +7 -19
  406. package/contracts/oracle/OracleService.sol +113 -81
  407. package/contracts/oracle/OracleServiceManager.sol +6 -6
  408. package/contracts/pool/BasicPool.sol +37 -28
  409. package/contracts/pool/BasicPoolAuthorization.sol +32 -11
  410. package/contracts/pool/BundleService.sol +179 -125
  411. package/contracts/pool/BundleServiceManager.sol +6 -6
  412. package/contracts/pool/IBundleService.sol +29 -34
  413. package/contracts/pool/IPoolComponent.sol +19 -15
  414. package/contracts/pool/IPoolService.sol +90 -75
  415. package/contracts/pool/Pool.sol +145 -130
  416. package/contracts/pool/PoolLib.sol +216 -0
  417. package/contracts/pool/PoolService.sol +538 -217
  418. package/contracts/pool/PoolServiceManager.sol +4 -4
  419. package/contracts/product/ApplicationService.sol +87 -43
  420. package/contracts/product/ApplicationServiceManager.sol +4 -4
  421. package/contracts/product/BasicProduct.sol +10 -13
  422. package/contracts/product/BasicProductAuthorization.sol +24 -11
  423. package/contracts/product/ClaimService.sol +368 -153
  424. package/contracts/product/ClaimServiceManager.sol +4 -4
  425. package/contracts/product/IApplicationService.sol +9 -2
  426. package/contracts/product/IClaimService.sol +44 -8
  427. package/contracts/product/IPolicyService.sol +53 -38
  428. package/contracts/product/IPricingService.sol +11 -10
  429. package/contracts/product/IProductComponent.sol +27 -5
  430. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  431. package/contracts/product/PolicyService.sol +446 -281
  432. package/contracts/product/PolicyServiceLib.sol +65 -0
  433. package/contracts/product/PolicyServiceManager.sol +4 -4
  434. package/contracts/product/PricingService.sol +69 -60
  435. package/contracts/product/PricingServiceManager.sol +4 -4
  436. package/contracts/product/Product.sol +161 -95
  437. package/contracts/product/RiskService.sol +154 -0
  438. package/contracts/product/RiskServiceManager.sol +39 -0
  439. package/contracts/registry/ChainNft.sol +72 -40
  440. package/contracts/registry/IRegistry.sol +64 -28
  441. package/contracts/registry/IRegistryService.sol +5 -12
  442. package/contracts/registry/IRelease.sol +29 -0
  443. package/contracts/registry/ITransferInterceptor.sol +1 -2
  444. package/contracts/registry/Registry.sol +357 -203
  445. package/contracts/registry/RegistryAdmin.sol +162 -269
  446. package/contracts/registry/RegistryAuthorization.sol +267 -0
  447. package/contracts/registry/RegistryService.sol +37 -48
  448. package/contracts/registry/RegistryServiceManager.sol +3 -3
  449. package/contracts/registry/ReleaseAdmin.sol +253 -0
  450. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  451. package/contracts/registry/ReleaseRegistry.sol +272 -240
  452. package/contracts/registry/ServiceAuthorizationV3.sol +183 -52
  453. package/contracts/registry/TokenRegistry.sol +10 -9
  454. package/contracts/shared/Component.sol +65 -135
  455. package/contracts/shared/ComponentService.sol +435 -378
  456. package/contracts/shared/ComponentServiceManager.sol +8 -5
  457. package/contracts/shared/ComponentVerifyingService.sol +28 -17
  458. package/contracts/shared/ContractLib.sol +281 -0
  459. package/contracts/shared/IComponent.sol +5 -17
  460. package/contracts/shared/IComponentService.sol +44 -40
  461. package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
  462. package/contracts/shared/ILifecycle.sol +3 -1
  463. package/contracts/shared/INftOwnable.sol +2 -0
  464. package/contracts/shared/IPolicyHolder.sol +12 -22
  465. package/contracts/shared/IRegisterable.sol +23 -1
  466. package/contracts/shared/IService.sol +3 -5
  467. package/contracts/shared/InitializableERC165.sol +10 -2
  468. package/contracts/shared/InstanceLinkedComponent.sol +73 -50
  469. package/contracts/shared/KeyValueStore.sol +1 -1
  470. package/contracts/shared/Lifecycle.sol +15 -4
  471. package/contracts/shared/NftOwnable.sol +29 -9
  472. package/contracts/shared/PolicyHolder.sol +15 -52
  473. package/contracts/shared/Registerable.sol +52 -21
  474. package/contracts/shared/RegistryLinked.sol +9 -14
  475. package/contracts/shared/Service.sol +15 -32
  476. package/contracts/shared/TokenHandler.sol +310 -26
  477. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  478. package/contracts/staking/IStaking.sol +25 -13
  479. package/contracts/staking/IStakingService.sol +16 -4
  480. package/contracts/staking/Staking.sol +103 -73
  481. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  482. package/contracts/staking/StakingManager.sol +8 -6
  483. package/contracts/staking/StakingReader.sol +18 -21
  484. package/contracts/staking/StakingService.sol +90 -37
  485. package/contracts/staking/StakingServiceManager.sol +6 -5
  486. package/contracts/staking/StakingStore.sol +2 -1
  487. package/contracts/staking/TargetManagerLib.sol +7 -3
  488. package/contracts/type/Amount.sol +15 -0
  489. package/contracts/type/ClaimId.sol +6 -1
  490. package/contracts/type/Fee.sol +8 -8
  491. package/contracts/type/Key32.sol +2 -2
  492. package/contracts/type/Key32Set.sol +62 -0
  493. package/contracts/type/NftId.sol +7 -0
  494. package/contracts/type/ObjectType.sol +57 -34
  495. package/contracts/type/PayoutId.sol +10 -10
  496. package/contracts/type/RiskId.sol +38 -6
  497. package/contracts/type/RoleId.sol +23 -15
  498. package/contracts/type/Seconds.sol +21 -1
  499. package/contracts/type/Selector.sol +5 -0
  500. package/contracts/type/StateId.sol +15 -1
  501. package/contracts/type/Timestamp.sol +4 -5
  502. package/contracts/type/UFixed.sol +37 -126
  503. package/contracts/type/Version.sol +54 -5
  504. package/contracts/upgradeability/ProxyManager.sol +79 -43
  505. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
  506. package/contracts/upgradeability/Versionable.sol +2 -2
  507. package/package.json +5 -4
  508. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  509. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  510. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  511. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  512. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  513. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  514. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  515. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  516. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  517. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  518. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  519. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  520. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  521. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  522. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  523. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  524. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  525. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  526. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  527. package/contracts/instance/module/IAccess.sol +0 -46
  528. package/contracts/product/ProductService.sol +0 -99
  529. package/contracts/product/ProductServiceManager.sol +0 -39
  530. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,18 +1,21 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {IService} from "../shared/IService.sol";
5
+ import {IInstance} from "../instance/IInstance.sol";
6
+
4
7
  import {Amount} from "../type/Amount.sol";
5
8
  import {NftId} from "../type/NftId.sol";
6
9
  import {Fee} from "../type/Fee.sol";
7
- import {IService} from "../shared/IService.sol";
8
- import {IBundle} from "../instance/module/IBundle.sol";
9
- import {IInstance} from "../instance/IInstance.sol";
10
+ import {InstanceReader} from "../instance/InstanceReader.sol";
11
+ import {InstanceStore} from "../instance/InstanceStore.sol";
10
12
  import {Seconds} from "../type/Seconds.sol";
11
13
  import {StateId} from "../type/StateId.sol";
12
14
  import {Timestamp} from "../type/Timestamp.sol";
13
15
 
14
16
  interface IBundleService is IService {
15
17
 
18
+ event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId);
16
19
  event LogBundleServiceBundleActivated(NftId bundleNftId);
17
20
  event LogBundleServiceBundleLocked(NftId bundleNftId);
18
21
 
@@ -25,22 +28,17 @@ interface IBundleService is IService {
25
28
  error ErrorBundleServiceBundlePoolMismatch(NftId bundleNftId, NftId expectedPool, NftId actualPool);
26
29
 
27
30
  error ErrorBundleServicePolicyNotCloseable(NftId policyNftId);
31
+
32
+ error ErrorBundleServiceUnstakeAmountExceedsLimit(Amount amount, Amount limit);
28
33
 
29
- // error ErrorBundleServiceBundleNotActive(NftId distributorNftId);
30
- error ErrorBundleServiceFeesWithdrawAmountExceedsLimit(Amount amount, Amount limit);
31
- error ErrorBundleServiceFeesWithdrawAmountIsZero();
32
- error ErrorBundleServiceWalletAllowanceTooSmall(address wallet, address tokenHandler, uint256 allowance, uint256 amount);
34
+ error ErrorBundleServiceExtensionLifetimeIsZero();
33
35
 
34
- event LogBundleServiceFeesWithdrawn(NftId bundleNftId, address recipient, address tokenAddress, Amount amount);
36
+ event LogBundleServiceBundleExtended(NftId bundleNftId, Seconds lifetimeExtension, Timestamp extendedExpiredAt);
35
37
 
36
- /// @dev create a new bundle for the specified attributes
37
- /// may only be called by pool service
38
+ /// @dev Create a new bundle for the specified attributes.
38
39
  function create(
39
- IInstance instance, // instance relevant for bundle
40
- NftId poolNftId, // the pool the bundle will be linked to
41
40
  address owner, // initial bundle owner
42
41
  Fee memory fee, // fees deducted from premium that go to bundle owner
43
- Amount stakingAmount, // staking amount - staking fees result in initial bundle capital
44
42
  Seconds lifetime, // initial duration for which new policies are covered
45
43
  bytes calldata filter // optional use case specific criteria that define if a policy may be covered by this bundle
46
44
  )
@@ -48,11 +46,21 @@ interface IBundleService is IService {
48
46
  returns(NftId bundleNftId); // the nft id of the newly created bundle
49
47
 
50
48
 
51
- /// @dev increase bundle stakes by the specified amount
52
- /// may only be called by the bundle owner
53
- // function stake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
49
+ /// @dev increase bundle stakes by the specified amount. bundle must not be expired or closed
50
+ /// may only be called by the pool service
51
+ function stake(
52
+ InstanceReader instanceReader,
53
+ InstanceStore instanceStore,
54
+ NftId bundleNftId,
55
+ Amount amount
56
+ ) external;
57
+
58
+ /// @dev decrease bundle stakes by the specified amount
59
+ /// may only be called by the pool service
60
+ function unstake(InstanceStore instanceStore, NftId bundleNftId, Amount amount) external returns (Amount unstakedAmount);
54
61
 
55
- // function unstake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
62
+ /// @dev extend the lifetime of the bundle by the specified time in seconds
63
+ function extend(NftId bundleNftId, Seconds lifetimeExtension) external returns (Timestamp extendedExpiredAt);
56
64
 
57
65
  /// @dev locks the specified bundle, locked bundles are not available to collateralize new policies
58
66
  /// only active bundles may be locked
@@ -68,10 +76,12 @@ interface IBundleService is IService {
68
76
  /// only open bundles (active or locked) may be closed
69
77
  /// to close a bundle it may not have any non-closed polices attached to it
70
78
  /// may only be called by registered and unlocked pool components
79
+ /// @return balanceAmount the unstaked amount that was remaining in the bundle
80
+ /// @return feeAmount the fee amount that was remaining for the bundle
71
81
  function close(
72
82
  IInstance instance,
73
83
  NftId bundleNftId
74
- ) external;
84
+ ) external returns (Amount balanceAmount, Amount feeAmount);
75
85
 
76
86
  /// @dev set bundle fee to provided value
77
87
  /// may only be called by registered and unlocked pool components
@@ -97,24 +107,9 @@ interface IBundleService is IService {
97
107
  /// @dev releases the specified collateral in the bundle
98
108
  /// may only be called by pool service
99
109
  function releaseCollateral(
100
- IInstance instance,
110
+ InstanceStore instanceStore,
101
111
  NftId policyNftId,
102
112
  NftId bundleNftId,
103
113
  Amount collateralAmount
104
114
  ) external;
105
-
106
- /// @dev unlink policy from bundle
107
- /// policy may only be unlinked if policy is closeable
108
- /// may only be called by pool service
109
- function unlinkPolicy(
110
- IInstance instance,
111
- NftId policyNftId
112
- ) external;
113
-
114
- /// @dev Withdraw bundle feeds for the given bundle
115
- /// @param bundleNftId the bundle Nft Id
116
- /// @param amount the amount to withdraw. If set to AMOUNT_MAX, the full commission available is withdrawn
117
- /// @return withdrawnAmount the effective withdrawn amount
118
- function withdrawBundleFees(NftId bundleNftId, Amount amount) external returns (Amount withdrawnAmount);
119
-
120
115
  }
@@ -2,6 +2,7 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {Amount} from "../type/Amount.sol";
5
+ import {ClaimId} from "../type/ClaimId.sol";
5
6
  import {Fee} from "../type/Fee.sol";
6
7
  import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
7
8
  import {IComponents} from "../instance/module/IComponents.sol";
@@ -20,21 +21,19 @@ interface IPoolComponent is IInstanceLinkedComponent {
20
21
 
21
22
  event LogPoolVerifiedByPool(address pool, NftId applicationNftId, Amount collateralizationAmount);
22
23
 
23
- /// @dev this is a callback function that is called by the product service when underwriting a policy.
24
- /// the pool has the option to check the details and object to underwriting by reverting.
25
- /// the function is only called for "active" pools that ask to be involved/notified
26
- /// by product related state changes.
24
+ /// @dev This is a callback function that is called by the product service when underwriting a policy.
25
+ /// The pool has the option to check the details and object to underwriting by reverting.
26
+ /// The function is only called for "active" pools that ask to be involved/notified.
27
+ /// The default implementation is empty.
27
28
  function verifyApplication(
28
29
  NftId applicationNftId,
29
- bytes memory applicationData,
30
30
  NftId bundleNftId,
31
- bytes memory bundleFilter,
32
31
  Amount collateralizationAmount
33
32
  ) external;
34
33
 
35
- /// @dev returns true iff the application matches with the bundle
36
- /// this is a callback function that is only called if a pool declares itself as a verifying pool
37
- /// default implementation returns true
34
+ /// @dev Returns true iff the application matches with the bundle.
35
+ /// This is a callback function that is only called if a pool declares itself as a verifying pool
36
+ /// The default implementation returns true.
38
37
  function applicationMatchesBundle(
39
38
  NftId applicationNftId,
40
39
  bytes memory applicationData,
@@ -46,13 +45,18 @@ interface IPoolComponent is IInstanceLinkedComponent {
46
45
  view
47
46
  returns (bool isMatching);
48
47
 
49
- /// @dev Withdraw bundle feeds for the given bundle
50
- /// @param bundleNftId the bundle Nft Id
51
- /// @param amount the amount to withdraw. If set to AMOUNT_MAX, the full commission available is withdrawn
52
- /// @return withdrawnAmount the effective withdrawn amount
53
- function withdrawBundleFees(NftId bundleNftId, Amount amount) external returns (Amount withdrawnAmount);
54
48
 
55
- /// @dev returns initial pool specific infos for this pool
49
+ /// @dev This is a callback function that is called by the claim service when a claim is confirmed.
50
+ /// The pool has the option to implement custom behavirous such as triggering a reinsurance claim or blocking the claim confirmaation.
51
+ /// The default implementation is empty.
52
+ function processConfirmedClaim(
53
+ NftId policyNftId,
54
+ ClaimId claimId,
55
+ Amount amount
56
+ ) external;
57
+
58
+
59
+ /// @dev Returns initial pool specific infos for this pool
56
60
  function getInitialPoolInfo() external view returns (IComponents.PoolInfo memory info);
57
61
 
58
62
  }
@@ -1,45 +1,44 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Amount} from "../type/Amount.sol";
5
- import {Fee} from "../type/Fee.sol";
6
- import {NftId} from "../type/NftId.sol";
7
- import {PayoutId} from "../type/PayoutId.sol";
8
- import {IBundle} from "../instance/module/IBundle.sol";
9
4
  import {IInstance} from "../instance/IInstance.sol";
10
- import {InstanceReader} from "../instance/InstanceReader.sol";
11
5
  import {IPolicy} from "../instance/module/IPolicy.sol";
12
6
  import {IService} from "../shared/IService.sol";
13
- import {RoleId} from "../type/RoleId.sol";
14
- import {Seconds} from "../type/Seconds.sol";
15
- import {StateId} from "../type/StateId.sol";
7
+
8
+ import {Amount} from "../type/Amount.sol";
9
+ import {ClaimId} from "../type/ClaimId.sol";
10
+ import {InstanceReader} from "../instance/InstanceReader.sol";
11
+ import {InstanceStore} from "../instance/InstanceStore.sol";
12
+ import {NftId} from "../type/NftId.sol";
13
+ import {PayoutId} from "../type/PayoutId.sol";
16
14
  import {UFixed} from "../type/UFixed.sol";
17
15
 
18
16
  interface IPoolService is IService {
19
17
 
20
- event LogPoolServiceMaxCapitalAmountUpdated(NftId poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
21
- event LogPoolServiceBundleOwnerRoleSet(NftId poolNftId, RoleId bundleOwnerRole);
18
+ event LogPoolServiceMaxBalanceAmountUpdated(NftId poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
19
+ event LogPoolServiceWalletFunded(NftId poolNftId, address poolOwner, Amount amount);
20
+ event LogPoolServiceWalletDefunded(NftId poolNftId, address poolOwner, Amount amount);
22
21
 
23
22
  event LogPoolServiceBundleCreated(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
24
23
  event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
25
24
 
26
- error ErrorPoolServiceBundleOwnerRoleAlreadySet(NftId poolNftId);
27
- error ErrorPoolServiceInvalidTransferAmount(Amount expectedAmount, Amount actualAmount);
25
+ event LogPoolServiceBundleStaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
26
+ event LogPoolServiceBundleUnstaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
28
27
 
29
- /// @dev defines the required role for bundle owners for the calling pool
30
- /// default implementation returns PUBLIC ROLE
31
- function setBundleOwnerRole(RoleId bundleOwnerRole) external;
28
+ event LogPoolServiceFeesWithdrawn(NftId bundleNftId, address recipient, address tokenAddress, Amount amount);
32
29
 
33
- /// @dev sets the max capital amount for the calling pool
34
- function setMaxCapitalAmount(Amount maxCapitalAmount) external;
30
+ event LogPoolServiceProcessFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount);
35
31
 
36
- /// @dev set pool sepecific fees
37
- function setFees(
38
- Fee memory poolFee,
39
- Fee memory stakingFee,
40
- Fee memory performanceFee
41
- ) external;
32
+ error ErrorPoolServicePoolNotExternallyManaged(NftId poolNftId);
33
+ error ErrorPoolServicePolicyPoolMismatch(NftId policyNftId, NftId productNftId, NftId expectedProductNftId);
34
+ error ErrorPoolServiceBundleOwnerRoleAlreadySet(NftId poolNftId);
35
+ error ErrorPoolServiceInvalidTransferAmount(Amount expectedAmount, Amount actualAmount);
36
+ error ErrorPoolServiceBundlePoolMismatch(NftId bundleNftId, NftId poolNftId);
37
+ error ErrorPoolServiceMaxBalanceAmountExceeded(NftId poolNftId, Amount maxBalanceAmount, Amount currentBalanceAmount, Amount transferAmount);
38
+ error ErrorPoolServiceFeesWithdrawAmountExceedsLimit(Amount amount, Amount limit);
42
39
 
40
+ /// @dev sets the max balance amount for the calling pool
41
+ function setMaxBalanceAmount(Amount maxBalanceAmount) external;
43
42
 
44
43
  /// @dev locks required collateral to cover the specified application (and turn it into a policy)
45
44
  /// - retention level == 1: the full collateral amount will be locked by the specified bundle
@@ -65,36 +64,36 @@ interface IPoolService is IService {
65
64
  /// may only be called by the policy service for unlocked pool components
66
65
  function releaseCollateral(
67
66
  IInstance instance,
68
- address token,
69
67
  NftId policyNftId,
70
68
  IPolicy.PolicyInfo memory policyInfo
71
69
  ) external;
72
70
 
73
71
 
74
- /// @dev reduces the locked collateral in the bundle associated with the specified policy
72
+ /// @dev reduces the locked collateral in the bundle associated with the specified policy and updates pool/bundle counters
75
73
  /// every payout of a policy reduces the collateral by the payout amount
76
74
  /// may only be called by the claim service for unlocked pool components
77
- function reduceCollateral(
78
- IInstance instance,
79
- address token,
75
+ function processPayout(
76
+ InstanceReader instanceReader,
77
+ InstanceStore instanceStore,
78
+ NftId productNftId,
80
79
  NftId policyNftId,
81
- IPolicy.PolicyInfo memory policyInfo,
82
- Amount payoutAmount
80
+ NftId bundleNftId,
81
+ PayoutId payoutId,
82
+ Amount payoutAmount,
83
+ address payoutBeneficiary
83
84
  ) external;
84
85
 
85
86
 
86
- /// @dev create a new bundle for the provided parameters
87
+ /// @dev increase stakes for bundle
87
88
  /// staking fees will be deducted by the pool service from the staking amount
88
89
  /// may only be called by registered and unlocked pool components
89
- function createBundle(
90
- address owner, // initial bundle owner
91
- Fee memory fee, // fees deducted from premium that go to bundle owner
92
- Amount stakingAmount, // staking amount - staking fees result in initial bundle capital
93
- Seconds lifetime, // initial duration for which new policies are covered
94
- bytes calldata filter // optional use case specific criteria that define if a policy may be covered by this bundle
95
- )
96
- external
97
- returns(NftId bundleNftId); // the nft id of the newly created bundle
90
+ function stake(NftId bundleNftId, Amount amount) external returns(Amount netAmount);
91
+
92
+
93
+ /// @dev decrease stakes for bundle
94
+ /// performance fees will be deducted by the pool service from the staking amount
95
+ /// may only be called by registered and unlocked pool components
96
+ function unstake(NftId bundleNftId, Amount amount) external returns(Amount netAmount);
98
97
 
99
98
 
100
99
  /// @dev closes the specified bundle
@@ -105,46 +104,62 @@ interface IPoolService is IService {
105
104
  function closeBundle(NftId bundleNftId) external;
106
105
 
107
106
 
108
- /// @dev processes the sale of a bundle and track the pool fee and bundle fee amounts
109
- function processSale(NftId bundleNftId, IPolicy.Premium memory premium) external;
107
+ /// @dev Withdraw bundle feeds for the specified bundle.
108
+ function withdrawBundleFees(NftId bundleNftId, Amount amount) external returns (Amount withdrawnAmount);
110
109
 
111
- /// @dev increase stakes for bundle
112
- /// staking fees will be deducted by the pool service from the staking amount
113
- /// may only be called by registered and unlocked pool components
114
- // function stake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
115
110
 
111
+ /// @dev Informs product about available funds to process a confirmed claim.
112
+ /// The function triggers a callback to the product component when the product's property isProcessingFundedClaims is set.
113
+ function processFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount) external;
116
114
 
117
- /// @dev decrease stakes for bundle
118
- /// performance fees will be deducted by the pool service from the staking amount
119
- /// may only be called by registered and unlocked pool components
120
- // function unstake(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
121
115
 
116
+ /// @dev Fund the pool wallet with the provided amount.
117
+ /// This function will collect the amount from the pool owner and transfers it to the pool wallet.
118
+ /// The function will not update balance amounts managed by the framework.
119
+ /// Only available for externally managed pools.
120
+ function fundPoolWallet(Amount amount) external;
122
121
 
123
- /// @dev calulate required collateral for the provided parameters
124
- function calculateRequiredCollateral(
125
- InstanceReader instanceReader,
126
- NftId productNftId,
127
- Amount sumInsuredAmount
128
- )
129
- external
130
- view
131
- returns(
132
- Amount localCollateralAmount,
133
- Amount totalCollateralAmount
134
- );
135
122
 
123
+ /// @dev Defund the specified pool wallet with the provided amount.
124
+ /// This function will transfer the amount from the pool wallet to the pool owner.
125
+ /// The function will not update balance amounts managed by the framework.
126
+ /// Only available for externally managed pools.
127
+ function defundPoolWallet(Amount amount) external;
136
128
 
137
- /// @dev calulate required collateral for the provided parameters
138
- function calculateRequiredCollateral(
139
- UFixed collateralizationLevel,
140
- UFixed retentionLevel,
141
- Amount sumInsuredAmount
142
- )
143
- external
144
- pure
145
- returns(
146
- Amount localCollateralAmount,
147
- Amount totalCollateralAmount
148
- );
129
+
130
+ /// @dev processes the sale of a bundle and track the pool fee and bundle fee amounts
131
+ function processSale(NftId bundleNftId, IPolicy.PremiumInfo memory premium) external;
132
+
133
+
134
+ // /// @dev Calulate required collateral for the provided parameters.
135
+ // function calculateRequiredCollateral(
136
+ // InstanceReader instanceReader,
137
+ // NftId productNftId,
138
+ // Amount sumInsuredAmount
139
+ // )
140
+ // external
141
+ // view
142
+ // returns(
143
+ // NftId poolNftId,
144
+ // Amount totalCollateralAmount,
145
+ // Amount localCollateralAmount,
146
+ // bool poolIsVerifyingApplications
147
+ // );
148
+
149
+
150
+ // /// @dev calulate required collateral for the provided parameters.
151
+ // /// Collateralization is applied to sum insured.
152
+ // /// Retention level defines the fraction of the collateral that is required locally.
153
+ // function calculateRequiredCollateral(
154
+ // UFixed collateralizationLevel,
155
+ // UFixed retentionLevel,
156
+ // Amount sumInsuredAmount
157
+ // )
158
+ // external
159
+ // pure
160
+ // returns(
161
+ // Amount totalCollateralAmount,
162
+ // Amount localCollateralAmount
163
+ // );
149
164
 
150
165
  }