@etherisc/gif-next 0.0.2-d696c44-627 → 0.0.2-d6a50e7-658

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 (524) hide show
  1. package/README.md +46 -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 +158 -70
  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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +97 -37
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +173 -375
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +123 -317
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +336 -229
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -109
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +135 -139
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +198 -33
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2408 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +130 -61
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -103
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +165 -157
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +317 -143
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +57 -84
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +919 -315
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +131 -266
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +102 -92
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +619 -492
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  104. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +139 -335
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
  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 +128 -126
  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 +115 -303
  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 +122 -88
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +162 -387
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +114 -22
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +434 -201
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +163 -97
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +270 -27
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +143 -195
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +448 -217
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +128 -370
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +569 -396
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -91
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +134 -184
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +91 -93
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +258 -396
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +435 -212
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +145 -107
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +94 -9
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +318 -8
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +361 -113
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +136 -83
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +250 -198
  163. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  164. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +57 -4
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +455 -318
  167. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +141 -99
  169. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -312
  171. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  173. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  174. package/artifacts/contracts/product/Product.sol/Product.json +256 -394
  175. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  176. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  177. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  178. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  179. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  180. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  181. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  182. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +315 -34
  183. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  185. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  186. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  187. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  188. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  189. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/Registry.sol/Registry.json +521 -95
  191. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  192. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +275 -160
  193. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  195. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
  197. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  198. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  199. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  200. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  201. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  202. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +412 -246
  203. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  205. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  207. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  208. package/artifacts/contracts/shared/Component.sol/Component.json +76 -265
  209. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  210. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +559 -558
  211. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  212. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +137 -121
  213. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  215. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  216. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  217. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  223. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +89 -88
  225. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +492 -212
  227. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +117 -126
  229. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  231. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  232. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  233. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  235. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  237. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  239. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  242. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  243. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  244. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  245. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +104 -303
  246. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  247. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  248. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  249. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  250. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  251. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  252. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  254. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  255. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  256. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  257. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  258. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  259. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  260. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  261. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  262. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  263. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +697 -25
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  266. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  267. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  268. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  269. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +134 -125
  270. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -23
  272. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  273. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +73 -93
  274. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/Staking.sol/Staking.json +210 -366
  276. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  277. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  278. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +122 -95
  280. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
  282. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +100 -171
  284. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +98 -84
  286. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +153 -107
  288. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  289. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
  290. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  291. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
  293. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  295. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  297. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  299. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/Fee.sol/FeeLib.json +7 -2
  301. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  302. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  303. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  304. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  305. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  307. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  308. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  309. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  311. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  313. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  315. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  317. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +118 -5
  319. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +3 -3
  321. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  323. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  327. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  330. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +52 -2
  332. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  334. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
  336. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  337. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  338. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  339. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  340. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  341. package/artifacts/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  342. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  343. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  344. package/contracts/accounting/AccountingService.sol +262 -0
  345. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  346. package/contracts/accounting/IAccountingService.sol +45 -0
  347. package/contracts/authorization/AccessAdmin.sol +192 -124
  348. package/contracts/authorization/AccessManagerCloneable.sol +136 -3
  349. package/contracts/authorization/Authorization.sol +111 -40
  350. package/contracts/authorization/IAccess.sol +1 -0
  351. package/contracts/authorization/IAccessAdmin.sol +10 -6
  352. package/contracts/authorization/IAuthorization.sol +13 -7
  353. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  354. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  355. package/contracts/distribution/BasicDistribution.sol +12 -22
  356. package/contracts/distribution/BasicDistributionAuthorization.sol +6 -2
  357. package/contracts/distribution/Distribution.sol +37 -50
  358. package/contracts/distribution/DistributionService.sol +152 -97
  359. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  360. package/contracts/distribution/IDistributionComponent.sol +6 -3
  361. package/contracts/distribution/IDistributionService.sol +23 -8
  362. package/contracts/examples/fire/DamageLevel.sol +59 -0
  363. package/contracts/examples/fire/FirePool.sol +90 -0
  364. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  365. package/contracts/examples/fire/FireProduct.sol +438 -0
  366. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  367. package/contracts/examples/fire/FireUSD.sol +26 -0
  368. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  369. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  370. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  371. package/contracts/examples/unpermissioned/SimplePool.sol +107 -0
  372. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  373. package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
  374. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  375. package/contracts/instance/BundleSet.sol +42 -38
  376. package/contracts/instance/IInstance.sol +16 -36
  377. package/contracts/instance/IInstanceService.sol +9 -29
  378. package/contracts/instance/Instance.sol +47 -66
  379. package/contracts/instance/InstanceAdmin.sol +133 -73
  380. package/contracts/instance/InstanceAuthorizationV3.sol +55 -32
  381. package/contracts/instance/InstanceReader.sol +218 -27
  382. package/contracts/instance/InstanceService.sol +125 -164
  383. package/contracts/instance/InstanceServiceManager.sol +8 -13
  384. package/contracts/instance/InstanceStore.sol +24 -2
  385. package/contracts/instance/RiskSet.sol +118 -0
  386. package/contracts/instance/base/ObjectCounter.sol +1 -2
  387. package/contracts/instance/base/ObjectLifecycle.sol +11 -4
  388. package/contracts/instance/base/ObjectSet.sol +31 -33
  389. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  390. package/contracts/instance/module/IBundle.sol +1 -1
  391. package/contracts/instance/module/IComponents.sol +14 -15
  392. package/contracts/instance/module/IDistribution.sol +0 -1
  393. package/contracts/instance/module/IPolicy.sol +26 -25
  394. package/contracts/instance/module/IRisk.sol +3 -0
  395. package/contracts/mock/Dip.sol +1 -1
  396. package/contracts/oracle/BasicOracle.sol +0 -1
  397. package/contracts/oracle/IOracleComponent.sol +2 -1
  398. package/contracts/oracle/IOracleService.sol +2 -1
  399. package/contracts/oracle/Oracle.sol +21 -22
  400. package/contracts/oracle/OracleService.sol +113 -81
  401. package/contracts/oracle/OracleServiceManager.sol +8 -11
  402. package/contracts/pool/BasicPool.sol +38 -27
  403. package/contracts/pool/BasicPoolAuthorization.sol +22 -3
  404. package/contracts/pool/BundleService.sol +226 -97
  405. package/contracts/pool/BundleServiceManager.sol +8 -11
  406. package/contracts/pool/IBundleService.sol +33 -18
  407. package/contracts/pool/IPoolComponent.sol +20 -10
  408. package/contracts/pool/IPoolService.sol +53 -50
  409. package/contracts/pool/Pool.sol +150 -116
  410. package/contracts/pool/PoolService.sol +343 -179
  411. package/contracts/pool/PoolServiceManager.sol +6 -9
  412. package/contracts/product/ApplicationService.sol +83 -78
  413. package/contracts/product/ApplicationServiceManager.sol +6 -6
  414. package/contracts/product/BasicProduct.sol +13 -44
  415. package/contracts/product/BasicProductAuthorization.sol +3 -2
  416. package/contracts/product/ClaimService.sol +425 -159
  417. package/contracts/product/ClaimServiceManager.sol +6 -6
  418. package/contracts/product/IApplicationService.sol +6 -2
  419. package/contracts/product/IClaimService.sol +44 -7
  420. package/contracts/product/IPolicyService.sol +46 -34
  421. package/contracts/product/IPricingService.sol +10 -10
  422. package/contracts/product/IProductComponent.sol +28 -5
  423. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  424. package/contracts/product/PolicyService.sol +520 -259
  425. package/contracts/product/PolicyServiceManager.sol +6 -9
  426. package/contracts/product/PricingService.sol +66 -62
  427. package/contracts/product/PricingServiceManager.sol +6 -9
  428. package/contracts/product/Product.sol +160 -89
  429. package/contracts/product/RiskService.sol +151 -0
  430. package/contracts/product/RiskServiceManager.sol +39 -0
  431. package/contracts/registry/ChainNft.sol +72 -40
  432. package/contracts/registry/IRegistry.sol +58 -28
  433. package/contracts/registry/IRegistryService.sol +5 -12
  434. package/contracts/registry/IRelease.sol +26 -0
  435. package/contracts/registry/ITransferInterceptor.sol +1 -2
  436. package/contracts/registry/Registry.sol +353 -203
  437. package/contracts/registry/RegistryAdmin.sol +161 -182
  438. package/contracts/registry/RegistryService.sol +41 -66
  439. package/contracts/registry/RegistryServiceManager.sol +5 -5
  440. package/contracts/registry/ReleaseAdmin.sol +245 -0
  441. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  442. package/contracts/registry/ReleaseRegistry.sol +258 -234
  443. package/contracts/registry/ServiceAuthorizationV3.sol +94 -52
  444. package/contracts/registry/TokenRegistry.sol +6 -8
  445. package/contracts/shared/Component.sol +71 -126
  446. package/contracts/shared/ComponentService.sol +441 -358
  447. package/contracts/shared/ComponentServiceManager.sol +10 -7
  448. package/contracts/shared/ComponentVerifyingService.sol +28 -17
  449. package/contracts/shared/ContractLib.sol +252 -0
  450. package/contracts/shared/IComponent.sol +8 -17
  451. package/contracts/shared/IComponentService.sol +47 -39
  452. package/contracts/shared/IInstanceLinkedComponent.sol +7 -27
  453. package/contracts/shared/ILifecycle.sol +3 -1
  454. package/contracts/shared/INftOwnable.sol +2 -0
  455. package/contracts/shared/IPolicyHolder.sol +12 -22
  456. package/contracts/shared/IRegisterable.sol +23 -1
  457. package/contracts/shared/IService.sol +4 -6
  458. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
  459. package/contracts/shared/InstanceLinkedComponent.sol +80 -34
  460. package/contracts/shared/KeyValueStore.sol +1 -1
  461. package/contracts/shared/Lifecycle.sol +15 -4
  462. package/contracts/shared/NftOwnable.sol +31 -11
  463. package/contracts/shared/PolicyHolder.sol +17 -57
  464. package/contracts/shared/Registerable.sol +55 -21
  465. package/contracts/shared/RegistryLinked.sol +9 -14
  466. package/contracts/shared/Service.sol +18 -36
  467. package/contracts/shared/TokenHandler.sol +357 -26
  468. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  469. package/contracts/staking/IStaking.sol +12 -6
  470. package/contracts/staking/IStakingService.sol +0 -3
  471. package/contracts/staking/StakeManagerLib.sol +18 -25
  472. package/contracts/staking/Staking.sol +85 -70
  473. package/contracts/staking/StakingManager.sol +10 -11
  474. package/contracts/staking/StakingReader.sol +17 -13
  475. package/contracts/staking/StakingService.sol +64 -36
  476. package/contracts/staking/StakingServiceManager.sol +4 -4
  477. package/contracts/staking/StakingStore.sol +5 -15
  478. package/contracts/staking/TargetManagerLib.sol +7 -3
  479. package/contracts/type/Amount.sol +27 -5
  480. package/contracts/type/Blocknumber.sol +7 -1
  481. package/contracts/type/ClaimId.sol +6 -1
  482. package/contracts/type/Key32.sol +2 -2
  483. package/contracts/type/Key32Set.sol +62 -0
  484. package/contracts/type/NftId.sol +7 -0
  485. package/contracts/type/ObjectType.sol +36 -17
  486. package/contracts/type/PayoutId.sol +10 -10
  487. package/contracts/type/Referral.sol +1 -0
  488. package/contracts/type/RiskId.sol +35 -4
  489. package/contracts/type/RoleId.sol +4 -13
  490. package/contracts/type/Seconds.sol +21 -1
  491. package/contracts/type/StateId.sol +15 -1
  492. package/contracts/type/Timestamp.sol +10 -5
  493. package/contracts/type/UFixed.sol +35 -122
  494. package/contracts/type/Version.sol +15 -5
  495. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -37
  496. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  497. package/package.json +4 -3
  498. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  499. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  500. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  501. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  502. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  503. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  504. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  505. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  506. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  507. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  508. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  509. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  510. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  511. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  512. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  513. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  514. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  515. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  516. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  517. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  518. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  519. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  520. package/contracts/product/ProductService.sol +0 -124
  521. package/contracts/product/ProductServiceManager.sol +0 -42
  522. package/contracts/shared/InitializableCustom.sol +0 -177
  523. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
  524. /package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +0 -0
@@ -1,12 +1,9 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../shared/IVersionable.sol";
5
- import {ProxyManager} from "../shared/ProxyManager.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {PoolService} from "./PoolService.sol";
7
- import {Registry} from "../registry/Registry.sol";
8
- import {RegistryService} from "../registry/RegistryService.sol";
9
- import {REGISTRY} from "../type/ObjectType.sol";
10
7
 
11
8
  contract PoolServiceManager is ProxyManager {
12
9
 
@@ -15,14 +12,14 @@ contract PoolServiceManager is ProxyManager {
15
12
  /// @dev initializes proxy manager with pool service implementation
16
13
  constructor(
17
14
  address authority,
18
- address registryAddress,
15
+ address registry,
19
16
  bytes32 salt
20
17
  )
21
- ProxyManager(registryAddress)
22
18
  {
23
19
  PoolService poolSrv = new PoolService{salt: salt}();
24
- bytes memory data = abi.encode(registryAddress, address(this), authority);
25
- IVersionable versionable = deployDetermenistic(
20
+ bytes memory data = abi.encode(authority, registry);
21
+ IVersionable versionable = initialize(
22
+ registry,
26
23
  address(poolSrv),
27
24
  data,
28
25
  salt);
@@ -1,51 +1,27 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {IApplicationService} from "./IApplicationService.sol";
5
+ import {IComponents} from "../instance/module/IComponents.sol";
6
+ import {IInstance} from "../instance/IInstance.sol";
7
+ import {IRegistry} from "../registry/IRegistry.sol";
8
+ import {IPolicy} from "../instance/module/IPolicy.sol";
9
+ import {IDistributionService} from "../distribution/IDistributionService.sol";
10
+ import {IPricingService} from "./IPricingService.sol";
11
+ import {IRegistryService} from "../registry/IRegistryService.sol";
12
+
4
13
  import {AmountLib} from "../type/Amount.sol";
5
14
  import {Seconds} from "../type/Seconds.sol";
6
- import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
7
- import {UFixed, UFixedLib} from "../type/UFixed.sol";
8
- import {Blocknumber, blockNumber} from "../type/Blocknumber.sol";
9
- import {ObjectType, DISTRIBUTION, INSTANCE, PRODUCT, POOL, REGISTRY, APPLICATION, POLICY, BUNDLE, PRICE} from "../type/ObjectType.sol";
10
- import {APPLIED, REVOKED, ACTIVE, KEEP_STATE} from "../type/StateId.sol";
15
+ import {zeroTimestamp} from "../type/Timestamp.sol";
16
+ import {ObjectType, BUNDLE, DISTRIBUTION, PRODUCT, REGISTRY, APPLICATION, POLICY, PRICE} from "../type/ObjectType.sol";
17
+ import {REVOKED} from "../type/StateId.sol";
11
18
  import {NftId, NftIdLib} from "../type/NftId.sol";
12
- import {Fee, FeeLib} from "../type/Fee.sol";
13
19
  import {ReferralId} from "../type/Referral.sol";
14
20
  import {RiskId} from "../type/RiskId.sol";
15
- import {StateId} from "../type/StateId.sol";
16
- import {Version, VersionLib} from "../type/Version.sol";
17
21
  import {Amount, AmountLib} from "../type/Amount.sol";
18
-
19
- import {TokenHandler} from "../shared/TokenHandler.sol";
20
- import {IVersionable} from "../shared/IVersionable.sol";
21
- import {Versionable} from "../shared/Versionable.sol";
22
- import {IService} from "../shared/IService.sol";
23
- import {Service} from "../shared/Service.sol";
24
-
25
- import {IRegistry} from "../registry/IRegistry.sol";
26
-
27
- import {IProductComponent} from "./IProductComponent.sol";
28
- import {IPoolComponent} from "../pool/IPoolComponent.sol";
29
- import {IDistributionComponent} from "../distribution/IDistributionComponent.sol";
30
- import {Product} from "./Product.sol";
31
-
32
- import {IComponents} from "../instance/module/IComponents.sol";
33
- import {IPolicy} from "../instance/module/IPolicy.sol";
34
- import {IRisk} from "../instance/module/IRisk.sol";
35
- import {IBundle} from "../instance/module/IBundle.sol";
36
- import {IProductService} from "./IProductService.sol";
37
-
38
22
  import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
39
-
40
- import {IInstance} from "../instance/IInstance.sol";
41
23
  import {InstanceReader} from "../instance/InstanceReader.sol";
42
24
 
43
- import {IApplicationService} from "./IApplicationService.sol";
44
- import {IBundleService} from "../pool/IBundleService.sol";
45
- import {IDistributionService} from "../distribution/IDistributionService.sol";
46
- import {IPoolService} from "../pool/IPoolService.sol";
47
- import {IPricingService} from "./IPricingService.sol";
48
- import {IRegistryService} from "../registry/IRegistryService.sol";
49
25
 
50
26
 
51
27
  contract ApplicationService is
@@ -65,25 +41,24 @@ contract ApplicationService is
65
41
  initializer()
66
42
  {
67
43
  (
68
- address registryAddress,,
69
- //address managerAddress
70
- address authority
71
- ) = abi.decode(data, (address, address, address));
44
+ address authority,
45
+ address registry
46
+ ) = abi.decode(data, (address, address));
72
47
 
73
- initializeService(registryAddress, address(0), owner);
48
+ __Service_init(authority, registry, owner);
74
49
 
75
50
  _distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
76
51
  _pricingService = IPricingService(_getServiceAddress(PRICE()));
77
52
  _registryService = IRegistryService(_getServiceAddress(REGISTRY()));
78
53
 
79
- registerInterface(type(IApplicationService).interfaceId);
54
+ _registerInterface(type(IApplicationService).interfaceId);
80
55
  }
81
56
 
82
57
 
83
- function _checkLinkedpplicationParameters(
58
+ function _checkLinkedApplicationParameters(
84
59
  InstanceReader instanceReader,
85
60
  NftId productNftId,
86
- RiskId rirskId,
61
+ RiskId riskId,
87
62
  ReferralId referralId,
88
63
  NftId bundleNftId
89
64
  )
@@ -91,18 +66,18 @@ contract ApplicationService is
91
66
  virtual
92
67
  view
93
68
  {
94
- IComponents.ProductInfo memory productInfo = instanceReader.getProductInfo(productNftId);
69
+ // check risk with product
70
+ (bool exists, bool active) = instanceReader.getRiskSet().checkRisk(productNftId, riskId);
71
+ if (!exists) { revert ErrorApplicationServiceRiskUnknown(riskId, productNftId); }
72
+ if (!active) { revert ErrorApplicationServiceRiskPaused(riskId, productNftId); }
95
73
 
96
- // TODO check riskId with product
74
+ // check bundle with pool
75
+ NftId poolNftId = instanceReader.getProductInfo(productNftId).poolNftId;
76
+ (exists, active) = instanceReader.getBundleSet().checkBundle(poolNftId, bundleNftId);
77
+ if (!exists) { revert ErrorApplicationServiceBundleUnknown(bundleNftId, poolNftId); }
78
+ if (!active) { revert ErrorApplicationServiceBundleLocked(bundleNftId, poolNftId); }
97
79
 
98
80
  // TODO check referral with distribution
99
-
100
- // check bundle with pool
101
- NftId productPoolNftId = productInfo.poolNftId;
102
- NftId bundlePoolNftId = instanceReader.getBundleInfo(bundleNftId).poolNftId;
103
- if(bundlePoolNftId != productPoolNftId) {
104
- revert ErrorApplicationServiceBundlePoolMismatch(bundleNftId, productPoolNftId, bundlePoolNftId);
105
- }
106
81
  }
107
82
 
108
83
 
@@ -135,8 +110,7 @@ contract ApplicationService is
135
110
  view
136
111
  returns (Amount premiumAmount)
137
112
  {
138
- return AmountLib.toAmount(
139
- _pricingService.calculatePremium(
113
+ return _pricingService.calculatePremium(
140
114
  info.productNftId,
141
115
  info.riskId,
142
116
  info.sumInsuredAmount,
@@ -144,7 +118,7 @@ contract ApplicationService is
144
118
  info.applicationData,
145
119
  info.bundleNftId,
146
120
  info.referralId
147
- ).premiumAmount);
121
+ ).premiumAmount;
148
122
  }
149
123
 
150
124
 
@@ -152,6 +126,7 @@ contract ApplicationService is
152
126
  address applicationOwner,
153
127
  RiskId riskId,
154
128
  Amount sumInsuredAmount,
129
+ Amount premiumAmount,
155
130
  Seconds lifetime,
156
131
  NftId bundleNftId,
157
132
  ReferralId referralId,
@@ -159,13 +134,16 @@ contract ApplicationService is
159
134
  )
160
135
  external
161
136
  virtual
137
+ nonReentrant()
162
138
  returns (NftId applicationNftId)
163
139
  {
140
+ _checkNftType(bundleNftId, BUNDLE());
141
+
164
142
  (NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
165
143
 
166
144
  // check if provided references are valid and linked to calling product contract
167
145
  InstanceReader instanceReader = instance.getInstanceReader();
168
- _checkLinkedpplicationParameters(
146
+ _checkLinkedApplicationParameters(
169
147
  instanceReader,
170
148
  productNftId,
171
149
  riskId,
@@ -176,14 +154,45 @@ contract ApplicationService is
176
154
  applicationNftId = _registerApplication(productNftId, applicationOwner);
177
155
 
178
156
  // create policy info for application
179
- IPolicy.PolicyInfo memory applicationInfo = IPolicy.PolicyInfo({
157
+ IPolicy.PolicyInfo memory applicationInfo = _createApplicationInfo(
158
+ productNftId,
159
+ riskId,
160
+ sumInsuredAmount,
161
+ premiumAmount,
162
+ lifetime,
163
+ bundleNftId,
164
+ referralId,
165
+ applicationData);
166
+
167
+ // register application with instance
168
+ instance.getInstanceStore().createApplication(
169
+ applicationNftId,
170
+ applicationInfo);
171
+
172
+ // TODO: add logging
173
+ }
174
+
175
+ function _createApplicationInfo(
176
+ NftId productNftId,
177
+ RiskId riskId,
178
+ Amount sumInsuredAmount,
179
+ Amount premiumAmount,
180
+ Seconds lifetime,
181
+ NftId bundleNftId,
182
+ ReferralId referralId,
183
+ bytes memory applicationData
184
+ )
185
+ internal
186
+ virtual
187
+ returns (IPolicy.PolicyInfo memory applicationInfo)
188
+ {
189
+ return IPolicy.PolicyInfo({
180
190
  productNftId: productNftId,
181
191
  bundleNftId: bundleNftId,
182
192
  referralId: referralId,
183
193
  riskId: riskId,
184
194
  sumInsuredAmount: sumInsuredAmount,
185
- premiumAmount: AmountLib.zero(),
186
- premiumPaidAmount: AmountLib.zero(),
195
+ premiumAmount: premiumAmount,
187
196
  lifetime: lifetime,
188
197
  applicationData: applicationData,
189
198
  processData: "",
@@ -195,30 +204,20 @@ contract ApplicationService is
195
204
  expiredAt: zeroTimestamp(),
196
205
  closedAt: zeroTimestamp()
197
206
  });
198
-
199
- // TODO consider to provide this amount externally
200
- // actual calculation is done 2nd time anyway for premium collection
201
- // calculate premium amount
202
- applicationInfo.premiumAmount = _calculatePremiumAmount(applicationInfo);
203
-
204
- // register application with instance
205
- instance.getInstanceStore().createApplication(
206
- applicationNftId,
207
- applicationInfo);
208
-
209
- // TODO: add logging
210
207
  }
211
208
 
212
-
213
209
  function renew(
214
210
  NftId policyNftId, // policy to be renewd (renewal inherits policy attributes)
215
211
  NftId bundleNftId // will likely need a newer bundle for underwriting
216
212
  )
217
213
  external
218
- virtual override
214
+ virtual
215
+ nonReentrant()
219
216
  returns (NftId applicationNftId)
220
217
  {
221
-
218
+ _checkNftType(policyNftId, POLICY());
219
+ _checkNftType(bundleNftId, BUNDLE());
220
+ // TODO implement
222
221
  }
223
222
 
224
223
 
@@ -232,15 +231,21 @@ contract ApplicationService is
232
231
  bytes memory applicationData
233
232
  )
234
233
  external
235
- virtual override
234
+ virtual
235
+ nonReentrant()
236
236
  {
237
-
237
+ _checkNftType(applicationNftId, POLICY());
238
+ _checkNftType(bundleNftId, BUNDLE());
239
+ // TODO implement
238
240
  }
239
241
 
240
242
  function revoke(NftId applicationNftId)
241
243
  external
242
- virtual override
244
+ virtual
245
+ nonReentrant()
243
246
  {
247
+ _checkNftType(applicationNftId, POLICY());
248
+
244
249
  (,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
245
250
  instance.getInstanceStore().updateApplicationState(applicationNftId, REVOKED());
246
251
  }
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../shared/IVersionable.sol";
5
- import {ProxyManager} from "../shared/ProxyManager.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {ApplicationService} from "./ApplicationService.sol";
7
7
 
8
8
  contract ApplicationServiceManager is ProxyManager {
@@ -12,14 +12,14 @@ contract ApplicationServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with service implementation
13
13
  constructor(
14
14
  address authority,
15
- address registryAddress,
15
+ address registry,
16
16
  bytes32 salt
17
17
  )
18
- ProxyManager(registryAddress)
19
18
  {
20
19
  ApplicationService svc = new ApplicationService{salt: salt}();
21
- bytes memory data = abi.encode(registryAddress, address(this), authority);
22
- IVersionable versionable = deployDetermenistic(
20
+ bytes memory data = abi.encode(authority, registry);
21
+ IVersionable versionable = initialize(
22
+ registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
@@ -1,43 +1,16 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Amount, AmountLib} from "../type/Amount.sol";
7
- import {ClaimId} from "../type/ClaimId.sol";
8
- import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
9
- import {Fee, FeeLib} from "../type/Fee.sol";
10
- import {IRisk} from "../instance/module/IRisk.sol";
11
- import {IApplicationService} from "./IApplicationService.sol";
4
+ import {Fee} from "../type/Fee.sol";
12
5
  import {IAuthorization} from "../authorization/IAuthorization.sol";
13
- import {IComponentService} from "../shared/IComponentService.sol";
14
- import {IPolicyService} from "./IPolicyService.sol";
15
- import {IProductService} from "./IProductService.sol";
16
- import {IClaimService} from "./IClaimService.sol";
17
- import {IPricingService} from "./IPricingService.sol";
18
- import {IProductComponent} from "./IProductComponent.sol";
19
- import {NftId, NftIdLib} from "../type/NftId.sol";
20
- import {Product} from "../product/Product.sol";
21
- import {PayoutId} from "../type/PayoutId.sol";
22
- import {COMPONENT, PRODUCT, APPLICATION, POLICY, CLAIM, PRICE } from "../type/ObjectType.sol";
23
- import {ReferralId} from "../type/Referral.sol";
24
- import {RiskId, RiskIdLib} from "../type/RiskId.sol";
25
- import {Seconds} from "../type/Seconds.sol";
26
- import {StateId} from "../type/StateId.sol";
27
- import {Timestamp} from "../type/Timestamp.sol";
28
-
29
- import {TokenHandler} from "../shared/TokenHandler.sol";
30
-
31
- import {InstanceReader} from "../instance/InstanceReader.sol";
32
- import {IPolicy} from "../instance/module/IPolicy.sol";
33
6
  import {IComponents} from "../instance/module/IComponents.sol";
34
- import {Pool} from "../pool/Pool.sol";
35
- import {Distribution} from "../distribution/Distribution.sol";
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {Product} from "../product/Product.sol";
36
9
 
37
10
  abstract contract BasicProduct is
38
11
  Product
39
12
  {
40
-
13
+
41
14
  function setFees(
42
15
  Fee memory productFee,
43
16
  Fee memory processingFee
@@ -50,17 +23,15 @@ abstract contract BasicProduct is
50
23
  _setFees(productFee, processingFee);
51
24
  }
52
25
 
53
-
54
26
  function _initializeBasicProduct(
55
27
  address registry,
56
28
  NftId instanceNftId,
57
- IAuthorization authorization,
58
- address initialOwner,
59
29
  string memory name,
60
30
  address token,
61
- bool isInterceptor,
62
- address pool,
63
- address distribution
31
+ IComponents.ProductInfo memory productInfo,
32
+ IComponents.FeeInfo memory feeInfo,
33
+ IAuthorization authorization,
34
+ address initialOwner
64
35
  )
65
36
  internal
66
37
  virtual
@@ -69,14 +40,12 @@ abstract contract BasicProduct is
69
40
  _initializeProduct(
70
41
  registry,
71
42
  instanceNftId,
72
- authorization,
73
- initialOwner,
74
43
  name,
75
44
  token,
76
- isInterceptor,
77
- pool,
78
- distribution,
79
- "", //registryData,
80
- ""); // componentData
45
+ productInfo,
46
+ feeInfo,
47
+ authorization,
48
+ initialOwner,
49
+ ""); // component data
81
50
  }
82
51
  }
@@ -5,8 +5,8 @@ import {Authorization} from "../authorization/Authorization.sol";
5
5
  import {BasicProduct} from "./BasicProduct.sol";
6
6
  import {PRODUCT} from "../type/ObjectType.sol";
7
7
  import {IAccess} from "../authorization/IAccess.sol";
8
- import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
9
- import {RoleId} from "../type/RoleId.sol";
8
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
9
+ import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
10
10
 
11
11
 
12
12
  contract BasicProductAuthorization
@@ -35,6 +35,7 @@ contract BasicProductAuthorization
35
35
  // authorize public role (open access to any account, only allows to lock target)
36
36
  functions = _authorizeForTarget(getTargetName(), PUBLIC_ROLE());
37
37
  _authorize(functions, BasicProduct.setFees.selector, "setFees");
38
+ _authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
38
39
  }
39
40
  }
40
41