@etherisc/gif-next 0.0.2-fbe6493-116 → 0.0.2-fc0563c-260

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 (538) hide show
  1. package/README.md +89 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  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 +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +190 -464
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +109 -356
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +638 -386
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +208 -132
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +96 -191
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +478 -108
  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 +1472 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2045 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -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 +1423 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1639 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2484 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -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 +560 -66
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +377 -58
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +568 -166
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1688 -735
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +390 -228
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +142 -104
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +955 -640
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -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/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +135 -333
  106. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  108. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +103 -133
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +111 -293
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +176 -96
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +160 -350
  121. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  123. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +348 -431
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +169 -133
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +247 -121
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +141 -182
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +517 -281
  133. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  134. package/artifacts/contracts/pool/Pool.sol/Pool.json +139 -332
  135. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +701 -551
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +205 -113
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +357 -173
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +164 -96
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +288 -409
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +453 -287
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +186 -126
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +296 -9
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +333 -17
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +300 -64
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +257 -226
  163. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  164. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +385 -336
  167. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  168. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  169. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +174 -126
  171. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -332
  173. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +164 -136
  175. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  176. package/artifacts/contracts/product/Product.sol/Product.json +280 -401
  177. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  179. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  181. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  183. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +356 -45
  185. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  187. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  189. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  191. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.json +562 -106
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +795 -394
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +140 -88
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  203. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  205. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  207. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  209. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  211. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  212. package/artifacts/contracts/shared/Component.sol/Component.json +99 -252
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +480 -696
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +176 -146
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  225. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -93
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +432 -290
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +103 -133
  231. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  233. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  235. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  237. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  239. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  241. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  244. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  246. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +110 -292
  248. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  250. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  252. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  254. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  256. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  258. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  260. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  262. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +544 -18
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  268. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  270. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +341 -133
  272. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +184 -23
  274. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/Staking.sol/Staking.json +468 -405
  276. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  277. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  278. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  280. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +177 -108
  282. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +91 -67
  284. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +253 -171
  286. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +157 -93
  288. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
  290. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  291. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
  292. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  293. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  295. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  298. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  300. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  302. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  304. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  305. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  306. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  308. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  309. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  310. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  312. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  314. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  316. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  318. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  320. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  322. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
  324. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  326. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  328. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  330. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  332. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  334. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  336. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  338. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  340. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  341. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  342. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  343. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +117 -78
  344. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  346. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  348. package/contracts/accounting/AccountingService.sol +274 -0
  349. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  350. package/contracts/accounting/IAccountingService.sol +47 -0
  351. package/contracts/authorization/AccessAdmin.sol +456 -267
  352. package/contracts/authorization/AccessAdminLib.sol +396 -0
  353. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  354. package/contracts/authorization/Authorization.sol +159 -208
  355. package/contracts/authorization/IAccess.sol +25 -6
  356. package/contracts/authorization/IAccessAdmin.sol +87 -79
  357. package/contracts/authorization/IAuthorization.sol +9 -36
  358. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  359. package/contracts/authorization/ServiceAuthorization.sol +254 -24
  360. package/contracts/distribution/BasicDistribution.sol +20 -17
  361. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  362. package/contracts/distribution/Distribution.sol +42 -90
  363. package/contracts/distribution/DistributionService.sol +242 -117
  364. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  365. package/contracts/distribution/IDistributionComponent.sol +4 -11
  366. package/contracts/distribution/IDistributionService.sol +46 -26
  367. package/contracts/examples/fire/DamageLevel.sol +59 -0
  368. package/contracts/examples/fire/FirePool.sol +86 -0
  369. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  370. package/contracts/examples/fire/FireProduct.sol +433 -0
  371. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  372. package/contracts/examples/fire/FireUSD.sol +26 -0
  373. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  374. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  375. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  376. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  377. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  378. package/contracts/examples/unpermissioned/SimpleProduct.sol +391 -0
  379. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  380. package/contracts/instance/BundleSet.sol +42 -38
  381. package/contracts/instance/IInstance.sol +101 -42
  382. package/contracts/instance/IInstanceService.sol +56 -32
  383. package/contracts/instance/Instance.sol +189 -97
  384. package/contracts/instance/InstanceAdmin.sol +275 -158
  385. package/contracts/instance/InstanceAuthorizationV3.sol +120 -58
  386. package/contracts/instance/InstanceReader.sol +477 -253
  387. package/contracts/instance/InstanceService.sol +275 -243
  388. package/contracts/instance/InstanceServiceManager.sol +6 -7
  389. package/contracts/instance/InstanceStore.sol +23 -2
  390. package/contracts/instance/RiskSet.sol +126 -0
  391. package/contracts/instance/base/BalanceStore.sol +3 -5
  392. package/contracts/instance/base/ObjectCounter.sol +1 -2
  393. package/contracts/instance/base/ObjectLifecycle.sol +11 -8
  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 +29 -13
  398. package/contracts/instance/module/IDistribution.sol +21 -8
  399. package/contracts/instance/module/IPolicy.sol +49 -28
  400. package/contracts/instance/module/IRisk.sol +5 -0
  401. package/contracts/oracle/BasicOracle.sol +1 -4
  402. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  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 +117 -85
  407. package/contracts/oracle/OracleServiceManager.sol +6 -6
  408. package/contracts/pool/BasicPool.sol +33 -37
  409. package/contracts/pool/BasicPoolAuthorization.sol +34 -11
  410. package/contracts/pool/BundleService.sol +113 -164
  411. package/contracts/pool/BundleServiceManager.sol +6 -6
  412. package/contracts/pool/IBundleService.sol +28 -45
  413. package/contracts/pool/IPoolComponent.sol +19 -15
  414. package/contracts/pool/IPoolService.sol +93 -73
  415. package/contracts/pool/Pool.sol +140 -135
  416. package/contracts/pool/PoolLib.sol +341 -0
  417. package/contracts/pool/PoolService.sol +377 -291
  418. package/contracts/pool/PoolServiceManager.sol +4 -4
  419. package/contracts/product/ApplicationService.sol +111 -34
  420. package/contracts/product/ApplicationServiceManager.sol +4 -4
  421. package/contracts/product/BasicProduct.sol +10 -13
  422. package/contracts/product/BasicProductAuthorization.sol +32 -12
  423. package/contracts/product/ClaimService.sol +382 -158
  424. package/contracts/product/ClaimServiceManager.sol +4 -4
  425. package/contracts/product/IApplicationService.sol +28 -3
  426. package/contracts/product/IClaimService.sol +43 -8
  427. package/contracts/product/IPolicyService.sol +47 -29
  428. package/contracts/product/IPricingService.sol +11 -10
  429. package/contracts/product/IProductComponent.sol +27 -5
  430. package/contracts/product/IRiskService.sol +48 -0
  431. package/contracts/product/PolicyService.sol +374 -324
  432. package/contracts/product/PolicyServiceLib.sol +139 -0
  433. package/contracts/product/PolicyServiceManager.sol +4 -4
  434. package/contracts/product/PricingService.sol +85 -83
  435. package/contracts/product/PricingServiceManager.sol +4 -4
  436. package/contracts/product/Product.sol +166 -96
  437. package/contracts/product/RiskService.sol +190 -0
  438. package/contracts/product/RiskServiceManager.sol +39 -0
  439. package/contracts/registry/ChainNft.sol +72 -40
  440. package/contracts/registry/IRegistry.sol +70 -29
  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 +364 -204
  445. package/contracts/registry/RegistryAdmin.sol +110 -287
  446. package/contracts/registry/RegistryAuthorization.sol +284 -0
  447. package/contracts/registry/RegistryService.sol +38 -49
  448. package/contracts/registry/RegistryServiceManager.sol +3 -3
  449. package/contracts/registry/ReleaseAdmin.sol +195 -0
  450. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  451. package/contracts/registry/ReleaseRegistry.sol +275 -240
  452. package/contracts/registry/ServiceAuthorizationV3.sol +202 -57
  453. package/contracts/registry/TokenRegistry.sol +12 -13
  454. package/contracts/shared/Component.sol +66 -137
  455. package/contracts/shared/ComponentService.sol +415 -376
  456. package/contracts/shared/ComponentServiceManager.sol +8 -5
  457. package/contracts/shared/ContractLib.sol +311 -0
  458. package/contracts/shared/IComponent.sol +6 -19
  459. package/contracts/shared/IComponentService.sol +43 -40
  460. package/contracts/shared/IInstanceLinkedComponent.sol +2 -28
  461. package/contracts/shared/ILifecycle.sol +3 -1
  462. package/contracts/shared/INftOwnable.sol +4 -0
  463. package/contracts/shared/IPolicyHolder.sol +12 -22
  464. package/contracts/shared/IRegisterable.sol +22 -1
  465. package/contracts/shared/IService.sol +3 -5
  466. package/contracts/shared/InitializableERC165.sol +10 -2
  467. package/contracts/shared/InstanceLinkedComponent.sol +72 -50
  468. package/contracts/shared/KeyValueStore.sol +1 -1
  469. package/contracts/shared/Lifecycle.sol +15 -4
  470. package/contracts/shared/NftOwnable.sol +31 -9
  471. package/contracts/shared/PolicyHolder.sol +18 -54
  472. package/contracts/shared/Registerable.sol +52 -21
  473. package/contracts/shared/RegistryLinked.sol +9 -14
  474. package/contracts/shared/Service.sol +20 -35
  475. package/contracts/shared/TokenHandler.sol +309 -29
  476. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  477. package/contracts/staking/IStaking.sol +48 -20
  478. package/contracts/staking/IStakingService.sol +21 -11
  479. package/contracts/staking/Staking.sol +198 -109
  480. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  481. package/contracts/staking/StakingManager.sol +8 -6
  482. package/contracts/staking/StakingReader.sol +40 -24
  483. package/contracts/staking/StakingService.sol +88 -27
  484. package/contracts/staking/StakingServiceManager.sol +6 -5
  485. package/contracts/staking/StakingStore.sol +3 -2
  486. package/contracts/staking/TargetManagerLib.sol +8 -4
  487. package/contracts/type/Amount.sol +15 -0
  488. package/contracts/type/ClaimId.sol +6 -1
  489. package/contracts/type/Fee.sol +8 -8
  490. package/contracts/type/Key32.sol +2 -2
  491. package/contracts/type/Key32Set.sol +62 -0
  492. package/contracts/type/NftId.sol +7 -0
  493. package/contracts/type/ObjectType.sol +73 -37
  494. package/contracts/type/PayoutId.sol +10 -10
  495. package/contracts/type/RiskId.sol +38 -6
  496. package/contracts/type/RoleId.sol +61 -55
  497. package/contracts/type/Seconds.sol +12 -0
  498. package/contracts/type/Selector.sol +5 -0
  499. package/contracts/type/StateId.sol +15 -1
  500. package/contracts/type/String.sol +12 -0
  501. package/contracts/type/Timestamp.sol +0 -5
  502. package/contracts/type/UFixed.sol +37 -126
  503. package/contracts/type/Version.sol +54 -5
  504. package/contracts/upgradeability/IVersionable.sol +3 -0
  505. package/contracts/upgradeability/ProxyManager.sol +93 -45
  506. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
  507. package/contracts/upgradeability/Versionable.sol +8 -5
  508. package/package.json +5 -4
  509. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  510. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  511. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  512. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  513. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  514. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  515. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  516. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  517. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  518. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  519. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  520. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  521. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  522. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  523. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  524. package/artifacts/contracts/shared/TokenTransferLib.sol/TokenTransferLib.dbg.json +0 -4
  525. package/artifacts/contracts/shared/TokenTransferLib.sol/TokenTransferLib.json +0 -42
  526. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  527. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  528. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  529. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  530. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  531. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  532. package/contracts/instance/module/IAccess.sol +0 -46
  533. package/contracts/product/IProductService.sol +0 -33
  534. package/contracts/product/ProductService.sol +0 -99
  535. package/contracts/product/ProductServiceManager.sol +0 -39
  536. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  537. package/contracts/shared/InitializableCustom.sol +0 -177
  538. package/contracts/shared/TokenTransferLib.sol +0 -60
@@ -0,0 +1,139 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {InstanceReader} from "../instance/InstanceReader.sol";
5
+ import {IPolicy} from "../instance/module/IPolicy.sol";
6
+ import {IPolicyService} from "../product/IPolicyService.sol";
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {StateId, CLOSED, COLLATERALIZED} from "../type/StateId.sol";
9
+ import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
10
+
11
+ library PolicyServiceLib {
12
+
13
+ function policyIsActive(InstanceReader instanceReader, NftId policyNftId)
14
+ external
15
+ view
16
+ returns (bool isActive)
17
+ {
18
+ // policy not collateralized
19
+ if (instanceReader.getPolicyState(policyNftId) != COLLATERALIZED()) {
20
+ return false;
21
+ }
22
+
23
+ IPolicy.PolicyInfo memory info = instanceReader.getPolicyInfo(policyNftId);
24
+
25
+ if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
26
+ if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
27
+ if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
28
+ if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
29
+
30
+ return true;
31
+ }
32
+
33
+ function activate(
34
+ NftId policyNftId,
35
+ IPolicy.PolicyInfo memory policyInfo,
36
+ Timestamp activateAt
37
+ )
38
+ external
39
+ pure
40
+ returns (IPolicy.PolicyInfo memory)
41
+ {
42
+ // fail if policy has already been activated and activateAt is different
43
+ if(! policyInfo.activatedAt.eqz() && activateAt != policyInfo.activatedAt) {
44
+ revert IPolicyService.ErrorPolicyServicePolicyAlreadyActivated(policyNftId);
45
+ }
46
+
47
+ // ignore if policy has already been activated and activateAt is the same
48
+ if (policyInfo.activatedAt == activateAt) {
49
+ return policyInfo;
50
+ }
51
+
52
+ policyInfo.activatedAt = activateAt;
53
+ policyInfo.expiredAt = activateAt.addSeconds(policyInfo.lifetime);
54
+
55
+ return policyInfo;
56
+ }
57
+
58
+ function expire(
59
+ InstanceReader instanceReader,
60
+ NftId policyNftId,
61
+ IPolicy.PolicyInfo memory policyInfo,
62
+ Timestamp expireAt
63
+ )
64
+ external
65
+ view
66
+ returns (IPolicy.PolicyInfo memory)
67
+ {
68
+ StateId policyState = instanceReader.getPolicyState(policyNftId);
69
+
70
+ checkExpiration(
71
+ expireAt,
72
+ policyNftId,
73
+ policyState,
74
+ policyInfo);
75
+
76
+ // effects
77
+ // update policyInfo with new expiredAt timestamp
78
+ if (expireAt.gtz()) {
79
+ policyInfo.expiredAt = expireAt;
80
+ } else {
81
+ policyInfo.expiredAt = TimestampLib.blockTimestamp();
82
+ }
83
+
84
+ return policyInfo;
85
+ }
86
+
87
+ function checkExpiration(
88
+ Timestamp newExpiredAt,
89
+ NftId policyNftId,
90
+ StateId policyState,
91
+ IPolicy.PolicyInfo memory policyInfo
92
+ )
93
+ public
94
+ view
95
+ {
96
+ if (policyState != COLLATERALIZED()) {
97
+ revert IPolicyService.ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
98
+ }
99
+ if (TimestampLib.blockTimestamp() < policyInfo.activatedAt) {
100
+ revert IPolicyService.ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
101
+ }
102
+
103
+ // check expiredAt represents a valid expiry time
104
+ if (newExpiredAt >= policyInfo.expiredAt) {
105
+ revert IPolicyService.ErrorPolicyServicePolicyExpirationTooLate(policyNftId, policyInfo.expiredAt, newExpiredAt);
106
+ }
107
+
108
+ if (newExpiredAt.gtz() && newExpiredAt < TimestampLib.blockTimestamp()) {
109
+ revert IPolicyService.ErrorPolicyServicePolicyExpirationTooEarly(policyNftId, TimestampLib.blockTimestamp(), newExpiredAt);
110
+ }
111
+ }
112
+
113
+ function policyIsCloseable(InstanceReader instanceReader, NftId policyNftId)
114
+ external
115
+ view
116
+ returns (bool isCloseable)
117
+ {
118
+ // policy already closed
119
+ if (instanceReader.getPolicyState(policyNftId) == CLOSED()) {
120
+ return false;
121
+ }
122
+
123
+ IPolicy.PolicyInfo memory info = instanceReader.getPolicyInfo(policyNftId);
124
+
125
+ if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
126
+ if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
127
+ if (info.openClaimsCount > 0) { return false; } // not closeable: has open claims
128
+
129
+ // closeable: if sum of claims matches sum insured a policy may be closed prior to the expiry date
130
+ if (info.claimAmount == info.sumInsuredAmount) { return true; }
131
+
132
+ // not closeable: not yet expired
133
+ if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
134
+
135
+ // all conditions to close the policy are met
136
+ return true;
137
+ }
138
+
139
+ }
@@ -12,14 +12,14 @@ contract PolicyServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with product 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
  PolicyService svc = new PolicyService{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,41 +1,35 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Amount, AmountLib} from "../type/Amount.sol";
5
- import {Seconds} from "../type/Seconds.sol";
6
- import {UFixed, UFixedLib} from "../type/UFixed.sol";
7
- import {ObjectType} from "../type/ObjectType.sol";
8
- import {NftId} from "../type/NftId.sol";
9
- import {Fee} from "../type/Fee.sol";
10
- import {ReferralId} from "../type/Referral.sol";
11
- import {RiskId} from "../type/RiskId.sol";
12
- import {PRODUCT, DISTRIBUTION, PRICE} from "../type/ObjectType.sol";
13
- import {IRegistry} from "../registry/IRegistry.sol";
14
-
15
- import {IProductComponent} from "./IProductComponent.sol";
16
-
17
- import {IInstance} from "../instance/IInstance.sol";
18
- import {InstanceReader} from "../instance/InstanceReader.sol";
19
- import {IComponents} from "../instance/module/IComponents.sol";
20
- import {IPolicy} from "../instance/module/IPolicy.sol";
21
4
  import {IBundle} from "../instance/module/IBundle.sol";
5
+ import {IComponents} from "../instance/module/IComponents.sol";
22
6
  import {IDistribution} from "../instance/module/IDistribution.sol";
23
-
24
- import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
25
-
26
- import {IPricingService} from "./IPricingService.sol";
27
7
  import {IDistributionService} from "../distribution/IDistributionService.sol";
8
+ import {IInstance} from "../instance/IInstance.sol";
9
+ import {IPolicy} from "../instance/module/IPolicy.sol";
10
+ import {IPricingService} from "./IPricingService.sol";
11
+ import {IProductComponent} from "./IProductComponent.sol";
12
+ import {IRegistry} from "../registry/IRegistry.sol";
13
+
14
+ import {Amount} from "../type/Amount.sol";
15
+ import {BUNDLE, DISTRIBUTION, PRICE, PRODUCT} from "../type/ObjectType.sol";
16
+ import {ContractLib} from "../shared/ContractLib.sol";
17
+ import {Fee} from "../type/Fee.sol";
18
+ import {InstanceReader} from "../instance/InstanceReader.sol";
19
+ import {NftId} from "../type/NftId.sol";
20
+ import {ObjectType} from "../type/ObjectType.sol";
21
+ import {ReferralId} from "../type/Referral.sol";
22
+ import {RiskId} from "../type/RiskId.sol";
23
+ import {Seconds} from "../type/Seconds.sol";
24
+ import {Service} from "../shared/Service.sol";
28
25
 
29
26
 
30
27
  contract PricingService is
31
- ComponentVerifyingService,
28
+ Service,
32
29
  IPricingService
33
30
  {
34
- using UFixedLib for UFixed;
35
-
36
31
  IDistributionService internal _distributionService;
37
32
 
38
-
39
33
  function _initialize(
40
34
  address owner,
41
35
  bytes memory data
@@ -45,15 +39,15 @@ contract PricingService is
45
39
  initializer()
46
40
  {
47
41
  (
48
- address registryAddress,,
49
- //address managerAddress
50
- address authority
51
- ) = abi.decode(data, (address, address, address));
42
+ address authority,
43
+ address registry
44
+ ) = abi.decode(data, (address, address));
52
45
 
53
- initializeService(registryAddress, authority, owner);
54
- registerInterface(type(IPricingService).interfaceId);
46
+ __Service_init(authority, registry, owner);
55
47
 
56
48
  _distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
49
+
50
+ _registerInterface(type(IPricingService).interfaceId);
57
51
  }
58
52
 
59
53
  /// @dev calculates the premium amount for the specified attributes
@@ -71,9 +65,12 @@ contract PricingService is
71
65
  view
72
66
  virtual override
73
67
  returns (
74
- IPolicy.Premium memory premium
68
+ IPolicy.PremiumInfo memory premium
75
69
  )
76
70
  {
71
+ _checkNftType(productNftId, PRODUCT());
72
+ _checkNftType(bundleNftId, BUNDLE());
73
+
77
74
  InstanceReader reader;
78
75
  Amount netPremiumAmount;
79
76
 
@@ -81,11 +78,16 @@ contract PricingService is
81
78
  // verify product
82
79
  (
83
80
  IRegistry.ObjectInfo memory registryInfo,
84
- IInstance instance
85
- ) = _getAndVerifyComponentInfo(productNftId, PRODUCT(), false);
81
+ address instanceAddress
82
+ ) = ContractLib.getInfoAndInstance(getRegistry(), productNftId, false);
86
83
 
87
84
  // get instance reader from local instance variable
88
- reader = instance.getInstanceReader();
85
+ reader = IInstance(instanceAddress).getInstanceReader();
86
+
87
+ NftId riskProductNftId = reader.getRiskInfo(riskId).productNftId;
88
+ if (productNftId != riskProductNftId) {
89
+ revert ErrorPricingServiceRiskProductMismatch(riskId, riskProductNftId, productNftId);
90
+ }
89
91
 
90
92
  // calculate net premium
91
93
  netPremiumAmount = IProductComponent(registryInfo.objectAddress).calculateNetPremium(
@@ -99,30 +101,32 @@ contract PricingService is
99
101
  {
100
102
  // get configurations for all involed objects
101
103
  IComponents.ProductInfo memory productInfo = reader.getProductInfo(productNftId);
104
+ IComponents.FeeInfo memory feeInfo = reader.getFeeInfo(productNftId);
102
105
 
103
106
  IBundle.BundleInfo memory bundleInfo = reader.getBundleInfo(bundleNftId);
104
107
  if(bundleInfo.poolNftId != productInfo.poolNftId) {
105
- revert ErrorIPricingServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, productInfo.poolNftId);
108
+ revert ErrorPricingServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, productInfo.poolNftId);
106
109
  }
107
110
 
108
111
  // calculate fixed fees for product, pool, bundle
109
112
  premium = _getFixedFeeAmounts(
110
113
  netPremiumAmount,
111
- productInfo,
114
+ feeInfo,
112
115
  bundleInfo
113
116
  );
114
117
 
115
118
  // calculate variable fees for product, pool, bundle
116
119
  premium = _calculateVariableFeeAmounts(
117
120
  premium,
118
- productInfo,
121
+ feeInfo,
119
122
  bundleInfo
120
123
  );
121
124
 
122
125
  // calculate distribution fee and (if applicable) commission
123
126
  premium = _calculateDistributionOwnerFeeAmount(
124
127
  premium,
125
- productInfo,
128
+ feeInfo,
129
+ productInfo.distributionNftId,
126
130
  referralId,
127
131
  reader
128
132
  );
@@ -131,16 +135,15 @@ contract PricingService is
131
135
  premium = _calculateTargetWalletAmounts(premium);
132
136
 
133
137
  // sanity check to validate the fee calculation
134
- if(AmountLib.toAmount(premium.premiumAmount) !=
135
- premium.productFeeAmount
138
+ if(premium.premiumAmount != premium.productFeeAmount
136
139
  + premium.distributionFeeAndCommissionAmount
137
140
  + premium.poolPremiumAndFeeAmount)
138
141
  {
139
142
  revert ErrorPricingServiceTargetWalletAmountsMismatch();
140
143
  }
141
144
 
142
- if (premium.distributionOwnerFeeFixAmount < productInfo.minDistributionOwnerFee.fixedFee) {
143
- revert ErrorIPricingServiceFeeCalculationMismatch(
145
+ if (premium.distributionOwnerFeeFixAmount < feeInfo.minDistributionOwnerFee.fixedFee) {
146
+ revert ErrorPricingServiceFeeCalculationMismatch(
144
147
  premium.distributionFeeFixAmount,
145
148
  premium.distributionFeeVarAmount,
146
149
  premium.distributionOwnerFeeFixAmount,
@@ -151,7 +154,7 @@ contract PricingService is
151
154
  }
152
155
 
153
156
  if ((premium.distributionFeeVarAmount) != (premium.discountAmount + premium.distributionOwnerFeeVarAmount + premium.commissionAmount)) {
154
- revert ErrorIPricingServiceFeeCalculationMismatch(
157
+ revert ErrorPricingServiceFeeCalculationMismatch(
155
158
  premium.distributionFeeFixAmount,
156
159
  premium.distributionFeeVarAmount,
157
160
  premium.distributionOwnerFeeFixAmount,
@@ -166,89 +169,90 @@ contract PricingService is
166
169
  // internal functions
167
170
  function _getFixedFeeAmounts(
168
171
  Amount netPremiumAmount,
169
- IComponents.ProductInfo memory productInfo,
172
+ IComponents.FeeInfo memory feeInfo,
170
173
  IBundle.BundleInfo memory bundleInfo
171
174
  )
172
175
  internal
173
176
  pure
174
177
  returns (
175
- IPolicy.Premium memory premium
178
+ IPolicy.PremiumInfo memory premium
176
179
  )
177
180
  {
178
181
  // initial premium amount is the net premium
179
- premium.netPremiumAmount = netPremiumAmount.toInt();
180
- premium.fullPremiumAmount = netPremiumAmount.toInt();
182
+ premium.netPremiumAmount = netPremiumAmount;
183
+ premium.fullPremiumAmount = netPremiumAmount;
181
184
 
182
- uint256 t = productInfo.productFee.fixedFee;
185
+ Amount t = feeInfo.productFee.fixedFee;
183
186
  premium.productFeeFixAmount = t;
184
- premium.fullPremiumAmount += t;
187
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
185
188
 
186
- t = productInfo.poolFee.fixedFee;
189
+ t = feeInfo.poolFee.fixedFee;
187
190
  premium.poolFeeFixAmount = t;
188
- premium.fullPremiumAmount += t;
191
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
189
192
 
190
193
  t = bundleInfo.fee.fixedFee;
191
194
  premium.bundleFeeFixAmount = t;
192
- premium.fullPremiumAmount += t;
195
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
193
196
 
194
- t = productInfo.distributionFee.fixedFee;
197
+ t = feeInfo.distributionFee.fixedFee;
195
198
  premium.distributionFeeFixAmount = t;
196
- premium.fullPremiumAmount += t;
199
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
197
200
  }
198
201
 
199
202
  function _calculateVariableFeeAmounts(
200
- IPolicy.Premium memory premium,
201
- IComponents.ProductInfo memory productInfo,
203
+ IPolicy.PremiumInfo memory premium,
204
+ IComponents.FeeInfo memory feeInfo,
202
205
  IBundle.BundleInfo memory bundleInfo
203
206
  )
204
207
  internal
205
208
  pure
206
209
  returns (
207
- IPolicy.Premium memory intermadiatePremium
210
+ IPolicy.PremiumInfo memory intermadiatePremium
208
211
  )
209
212
  {
210
- UFixed netPremiumAmount = UFixedLib.toUFixed(premium.netPremiumAmount);
213
+ Amount netPremiumAmount = premium.netPremiumAmount;
211
214
 
212
- uint256 t = (netPremiumAmount * productInfo.productFee.fractionalFee).toInt();
215
+ Amount t = netPremiumAmount.multiplyWith(feeInfo.productFee.fractionalFee);
213
216
  premium.productFeeVarAmount = t;
214
- premium.fullPremiumAmount += t;
217
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
215
218
 
216
- t = (netPremiumAmount * productInfo.poolFee.fractionalFee).toInt();
219
+ t = netPremiumAmount.multiplyWith(feeInfo.poolFee.fractionalFee);
217
220
  premium.poolFeeVarAmount = t;
218
- premium.fullPremiumAmount += t;
221
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
219
222
 
220
- t = (netPremiumAmount * bundleInfo.fee.fractionalFee).toInt();
223
+ t = netPremiumAmount.multiplyWith(bundleInfo.fee.fractionalFee);
221
224
  premium.bundleFeeVarAmount = t;
222
- premium.fullPremiumAmount += t;
225
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
223
226
 
224
- t = (netPremiumAmount * productInfo.distributionFee.fractionalFee).toInt();
227
+ t = netPremiumAmount.multiplyWith(feeInfo.distributionFee.fractionalFee);
225
228
  premium.distributionFeeVarAmount = t;
226
- premium.fullPremiumAmount += t;
229
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
227
230
 
228
231
  return premium;
229
232
  }
230
233
 
231
234
  function _calculateDistributionOwnerFeeAmount(
232
- IPolicy.Premium memory premium,
233
- IComponents.ProductInfo memory productInfo,
235
+ IPolicy.PremiumInfo memory premium,
236
+ IComponents.FeeInfo memory feeInfo,
237
+ NftId distributionNftId,
234
238
  // ISetup.DistributionSetupInfo memory distInfo,
235
239
  ReferralId referralId,
236
240
  InstanceReader reader
237
241
  )
238
242
  internal
239
243
  view
240
- returns (IPolicy.Premium memory finalPremium)
244
+ returns (IPolicy.PremiumInfo memory finalPremium)
241
245
  {
242
246
 
243
247
  // if the referral is not valid, then the distribution owner gets everything
244
- if (! _distributionService.referralIsValid(productInfo.distributionNftId, referralId)) {
248
+ if (distributionNftId.eqz() || ! _distributionService.referralIsValid(distributionNftId, referralId)) {
245
249
  premium.distributionOwnerFeeFixAmount = premium.distributionFeeFixAmount;
246
250
  premium.distributionOwnerFeeVarAmount = premium.distributionFeeVarAmount;
247
251
  premium.premiumAmount = premium.fullPremiumAmount;
248
252
  return premium;
249
253
  }
250
254
 
251
- Fee memory minDistributionOwnerFee = productInfo.minDistributionOwnerFee;
255
+ Fee memory minDistributionOwnerFee = feeInfo.minDistributionOwnerFee;
252
256
 
253
257
  // if the referral is valid, the the commission and discount are calculated based in the full premium
254
258
  // the remaing amount goes to the distribution owner
@@ -257,9 +261,9 @@ contract PricingService is
257
261
  IDistribution.DistributorInfo memory distributorInfo = reader.getDistributorInfo(referralInfo.distributorNftId);
258
262
  IDistribution.DistributorTypeInfo memory distributorTypeInfo = reader.getDistributorTypeInfo(distributorInfo.distributorType);
259
263
 
260
- uint256 commissionAmount = UFixedLib.toUFixed(premium.netPremiumAmount).mul(distributorTypeInfo.commissionPercentage).toInt();
264
+ Amount commissionAmount = premium.netPremiumAmount.multiplyWith(distributorTypeInfo.commissionPercentage);
261
265
  premium.commissionAmount = commissionAmount;
262
- premium.discountAmount = UFixedLib.toUFixed(premium.fullPremiumAmount).mul(referralInfo.discountPercentage).toInt();
266
+ premium.discountAmount = premium.fullPremiumAmount.multiplyWith(referralInfo.discountPercentage);
263
267
  premium.distributionOwnerFeeFixAmount = minDistributionOwnerFee.fixedFee;
264
268
  premium.distributionOwnerFeeVarAmount = premium.distributionFeeVarAmount - commissionAmount - premium.discountAmount;
265
269
  premium.premiumAmount = premium.fullPremiumAmount - premium.discountAmount;
@@ -270,29 +274,27 @@ contract PricingService is
270
274
 
271
275
 
272
276
  function _calculateTargetWalletAmounts(
273
- IPolicy.Premium memory premium
277
+ IPolicy.PremiumInfo memory premium
274
278
  )
275
279
  internal
276
280
  virtual
277
281
  view
278
282
  returns (
279
- IPolicy.Premium memory premiumWithTargetWalletAmounts
283
+ IPolicy.PremiumInfo memory premiumWithTargetWalletAmounts
280
284
  )
281
285
  {
282
286
  // fees for product owner
283
- premium.productFeeAmount = AmountLib.toAmount(
284
- premium.productFeeFixAmount + premium.productFeeVarAmount);
287
+ premium.productFeeAmount = premium.productFeeFixAmount + premium.productFeeVarAmount;
285
288
 
286
289
  // fees for distribution owner + distributor commission
287
- premium.distributionFeeAndCommissionAmount = AmountLib.toAmount(
290
+ premium.distributionFeeAndCommissionAmount =
288
291
  premium.distributionFeeFixAmount + premium.distributionOwnerFeeVarAmount
289
- + premium.commissionAmount);
292
+ + premium.commissionAmount;
290
293
 
291
294
  // net premium + fees for pool owner + bundle owner
292
- premium.poolPremiumAndFeeAmount = AmountLib.toAmount(
293
- premium.netPremiumAmount
295
+ premium.poolPremiumAndFeeAmount = premium.netPremiumAmount
294
296
  + premium.poolFeeFixAmount + premium.poolFeeVarAmount
295
- + premium.bundleFeeFixAmount + premium.bundleFeeVarAmount);
297
+ + premium.bundleFeeFixAmount + premium.bundleFeeVarAmount;
296
298
 
297
299
  premiumWithTargetWalletAmounts = premium;
298
300
  }
@@ -12,14 +12,14 @@ contract PricingServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with pricing service implementation and deploys instance
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
  PricingService pricingSrv = new PricingService{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(pricingSrv),
24
24
  data,
25
25
  salt);