@etherisc/gif-next 0.0.2-ada79c3-016 → 0.0.2-adb0ad8-584

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 (447) hide show
  1. package/README.md +5 -2
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +105 -65
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
  7. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +60 -32
  10. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
  12. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  14. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  16. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  18. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  19. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +157 -273
  20. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
  22. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +91 -239
  24. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +190 -292
  26. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +107 -123
  28. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +78 -92
  30. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +78 -62
  32. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  33. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  34. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1538 -0
  36. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  38. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2077 -0
  40. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  42. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  44. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  45. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1471 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -0
  52. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  53. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  54. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  55. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +53 -31
  56. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +29 -84
  58. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/Instance.sol/Instance.json +56 -123
  60. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +166 -139
  62. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  63. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +57 -97
  64. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  65. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +446 -81
  66. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  67. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +77 -242
  68. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +75 -87
  70. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +335 -126
  72. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  74. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  75. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  76. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  77. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  78. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  79. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  80. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  81. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  82. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  83. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  84. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  87. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  88. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  89. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +131 -247
  90. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  91. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
  92. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  93. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  94. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -80
  95. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  96. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +43 -9
  97. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  98. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +79 -227
  99. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  100. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +91 -159
  101. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  102. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +75 -83
  103. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  104. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +102 -235
  105. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  106. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +82 -22
  107. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  108. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +172 -228
  109. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +114 -110
  111. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  112. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +53 -31
  113. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  114. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +91 -77
  115. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  116. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +221 -151
  117. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  118. package/artifacts/contracts/pool/Pool.sol/Pool.json +102 -222
  119. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  120. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +299 -374
  121. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +93 -125
  123. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  124. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +71 -152
  125. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +72 -84
  127. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  128. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +136 -243
  129. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  130. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
  131. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  132. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +282 -190
  133. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  134. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +116 -104
  135. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  136. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +29 -0
  137. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  138. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +161 -7
  139. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  140. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +144 -35
  141. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  142. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +114 -85
  143. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  144. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +124 -97
  145. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  146. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +31 -2
  147. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  148. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +231 -264
  149. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +107 -119
  151. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  152. package/artifacts/contracts/product/PricingService.sol/PricingService.json +199 -309
  153. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +96 -120
  155. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  156. package/artifacts/contracts/product/Product.sol/Product.json +136 -243
  157. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  158. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  159. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  160. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  161. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  162. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  163. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  164. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +286 -34
  165. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  166. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +114 -35
  167. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  168. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  169. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  170. package/artifacts/contracts/registry/Registry.sol/Registry.json +492 -95
  171. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  172. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +283 -143
  173. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  174. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +78 -284
  175. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +67 -75
  177. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  178. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  179. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  180. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +129 -221
  181. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  182. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  183. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  184. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  185. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  186. package/artifacts/contracts/shared/Component.sol/Component.json +68 -201
  187. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  188. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +355 -299
  189. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  190. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +122 -128
  191. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  192. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +47 -112
  193. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  194. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  195. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  196. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +55 -54
  197. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  198. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +321 -19
  199. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  200. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +66 -80
  201. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  202. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  203. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  204. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  205. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  206. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  207. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  208. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  209. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  210. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +29 -0
  211. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  212. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  213. package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
  214. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  215. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  216. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  217. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +79 -227
  218. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  219. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  220. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  221. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  222. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  223. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  224. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  225. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  226. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  227. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  228. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  229. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +58 -89
  230. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  231. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  232. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  233. package/artifacts/contracts/shared/Service.sol/Service.json +47 -112
  234. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  235. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +288 -16
  236. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  237. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  238. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  239. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +82 -55
  240. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  241. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +29 -21
  242. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  243. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +63 -93
  244. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  245. package/artifacts/contracts/staking/Staking.sol/Staking.json +167 -270
  246. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  247. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  248. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  249. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +100 -97
  250. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  251. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
  252. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  253. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +71 -165
  254. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  255. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +71 -79
  256. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  257. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +169 -128
  258. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  259. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +54 -23
  260. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  261. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  262. package/artifacts/contracts/type/Amount.sol/AmountLib.json +32 -8
  263. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  264. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  265. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  266. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  267. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  268. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
  270. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  271. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  272. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  274. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  275. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  276. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  278. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  280. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  282. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  284. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  286. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  288. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  290. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  294. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  297. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  299. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +15 -2
  301. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  303. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  304. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  305. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +55 -70
  306. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  307. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  308. package/contracts/authorization/AccessAdmin.sol +64 -59
  309. package/contracts/authorization/Authorization.sol +111 -40
  310. package/contracts/authorization/IAccess.sol +1 -0
  311. package/contracts/authorization/IAccessAdmin.sol +4 -3
  312. package/contracts/authorization/IAuthorization.sol +13 -7
  313. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  314. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  315. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  316. package/contracts/distribution/BasicDistribution.sol +2 -1
  317. package/contracts/distribution/Distribution.sol +7 -17
  318. package/contracts/distribution/DistributionService.sol +84 -65
  319. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  320. package/contracts/distribution/IDistributionComponent.sol +1 -1
  321. package/contracts/distribution/IDistributionService.sol +9 -5
  322. package/contracts/examples/fire/DamageLevel.sol +59 -0
  323. package/contracts/examples/fire/FirePool.sol +75 -0
  324. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  325. package/contracts/examples/fire/FireProduct.sol +418 -0
  326. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  327. package/contracts/examples/fire/FireUSD.sol +26 -0
  328. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  329. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  330. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  331. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  332. package/contracts/instance/IInstance.sol +10 -30
  333. package/contracts/instance/IInstanceService.sol +0 -20
  334. package/contracts/instance/Instance.sol +29 -51
  335. package/contracts/instance/InstanceAdmin.sol +42 -31
  336. package/contracts/instance/InstanceAuthorizationV3.sol +11 -21
  337. package/contracts/instance/InstanceReader.sol +106 -19
  338. package/contracts/instance/InstanceService.sol +65 -97
  339. package/contracts/instance/InstanceServiceManager.sol +6 -7
  340. package/contracts/instance/InstanceStore.sol +11 -1
  341. package/contracts/instance/base/ObjectLifecycle.sol +7 -1
  342. package/contracts/instance/module/IComponents.sol +10 -5
  343. package/contracts/instance/module/IPolicy.sol +23 -23
  344. package/contracts/oracle/BasicOracle.sol +0 -1
  345. package/contracts/oracle/IOracleService.sol +2 -1
  346. package/contracts/oracle/Oracle.sol +6 -16
  347. package/contracts/oracle/OracleService.sol +47 -34
  348. package/contracts/oracle/OracleServiceManager.sol +6 -6
  349. package/contracts/pool/BasicPool.sol +14 -26
  350. package/contracts/pool/BasicPoolAuthorization.sol +0 -1
  351. package/contracts/pool/BundleService.sol +93 -50
  352. package/contracts/pool/BundleServiceManager.sol +6 -6
  353. package/contracts/pool/IBundleService.sol +11 -3
  354. package/contracts/pool/IPoolComponent.sol +18 -8
  355. package/contracts/pool/IPoolService.sol +49 -31
  356. package/contracts/pool/Pool.sol +53 -46
  357. package/contracts/pool/PoolService.sol +159 -174
  358. package/contracts/pool/PoolServiceManager.sol +4 -4
  359. package/contracts/product/ApplicationService.sol +24 -15
  360. package/contracts/product/ApplicationServiceManager.sol +4 -4
  361. package/contracts/product/BasicProduct.sol +7 -6
  362. package/contracts/product/BasicProductAuthorization.sol +0 -1
  363. package/contracts/product/ClaimService.sol +309 -121
  364. package/contracts/product/ClaimServiceManager.sol +4 -4
  365. package/contracts/product/IClaimService.sol +30 -7
  366. package/contracts/product/IPolicyService.sol +21 -26
  367. package/contracts/product/IPricingService.sol +10 -10
  368. package/contracts/product/IProductComponent.sol +23 -4
  369. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  370. package/contracts/product/PolicyService.sol +309 -174
  371. package/contracts/product/PolicyServiceManager.sol +4 -4
  372. package/contracts/product/PricingService.sol +49 -53
  373. package/contracts/product/PricingServiceManager.sol +3 -3
  374. package/contracts/product/Product.sol +114 -72
  375. package/contracts/product/{ProductService.sol → RiskService.sol} +7 -10
  376. package/contracts/product/RiskServiceManager.sol +39 -0
  377. package/contracts/registry/ChainNft.sol +68 -38
  378. package/contracts/registry/IRegistry.sol +55 -18
  379. package/contracts/registry/IRegistryService.sol +5 -12
  380. package/contracts/registry/ITransferInterceptor.sol +1 -2
  381. package/contracts/registry/Registry.sol +342 -201
  382. package/contracts/registry/RegistryAdmin.sol +134 -51
  383. package/contracts/registry/RegistryService.sol +35 -46
  384. package/contracts/registry/RegistryServiceManager.sol +2 -2
  385. package/contracts/registry/ReleaseLifecycle.sol +6 -3
  386. package/contracts/registry/ReleaseRegistry.sol +204 -188
  387. package/contracts/registry/ServiceAuthorizationV3.sol +16 -22
  388. package/contracts/shared/Component.sol +36 -52
  389. package/contracts/shared/ComponentService.sol +244 -149
  390. package/contracts/shared/ComponentServiceManager.sol +8 -5
  391. package/contracts/shared/ComponentVerifyingService.sol +23 -14
  392. package/contracts/shared/ContractLib.sol +38 -0
  393. package/contracts/shared/IComponent.sol +6 -3
  394. package/contracts/shared/IComponentService.sol +25 -13
  395. package/contracts/shared/IInstanceLinkedComponent.sol +2 -17
  396. package/contracts/shared/ILifecycle.sol +3 -1
  397. package/contracts/shared/INftOwnable.sol +2 -0
  398. package/contracts/shared/IPolicyHolder.sol +12 -22
  399. package/contracts/shared/IRegisterable.sol +11 -0
  400. package/contracts/shared/InitializableERC165.sol +2 -2
  401. package/contracts/shared/InstanceLinkedComponent.sol +72 -31
  402. package/contracts/shared/KeyValueStore.sol +1 -1
  403. package/contracts/shared/Lifecycle.sol +15 -4
  404. package/contracts/shared/NftOwnable.sol +27 -7
  405. package/contracts/shared/PolicyHolder.sol +15 -52
  406. package/contracts/shared/Registerable.sol +19 -9
  407. package/contracts/shared/RegistryLinked.sol +3 -2
  408. package/contracts/shared/Service.sol +20 -18
  409. package/contracts/shared/TokenHandler.sol +99 -22
  410. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  411. package/contracts/staking/IStaking.sol +2 -1
  412. package/contracts/staking/IStakingService.sol +0 -3
  413. package/contracts/staking/StakeManagerLib.sol +18 -25
  414. package/contracts/staking/Staking.sol +13 -32
  415. package/contracts/staking/StakingManager.sol +8 -6
  416. package/contracts/staking/StakingReader.sol +12 -5
  417. package/contracts/staking/StakingService.sol +17 -17
  418. package/contracts/staking/StakingServiceManager.sol +2 -2
  419. package/contracts/staking/TargetManagerLib.sol +7 -3
  420. package/contracts/type/Amount.sol +15 -0
  421. package/contracts/type/ClaimId.sol +6 -1
  422. package/contracts/type/NftId.sol +1 -0
  423. package/contracts/type/ObjectType.sol +16 -11
  424. package/contracts/type/PayoutId.sol +10 -10
  425. package/contracts/type/RiskId.sol +15 -1
  426. package/contracts/type/RoleId.sol +0 -12
  427. package/contracts/type/Seconds.sol +8 -0
  428. package/contracts/type/StateId.sol +15 -1
  429. package/contracts/type/UFixed.sol +4 -0
  430. package/contracts/upgradeability/ProxyManager.sol +68 -34
  431. package/contracts/upgradeability/Versionable.sol +2 -2
  432. package/package.json +2 -1
  433. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  434. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  435. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  436. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  437. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  438. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  439. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  440. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  441. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  442. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  443. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  444. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  445. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  446. package/contracts/product/ProductServiceManager.sol +0 -39
  447. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -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(registry, authority);
21
+ IVersionable versionable = initialize(
22
+ registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
@@ -9,7 +9,7 @@ import {NftId} from "../type/NftId.sol";
9
9
  import {Fee} from "../type/Fee.sol";
10
10
  import {ReferralId} from "../type/Referral.sol";
11
11
  import {RiskId} from "../type/RiskId.sol";
12
- import {PRODUCT, DISTRIBUTION, PRICE} from "../type/ObjectType.sol";
12
+ import {PRODUCT, BUNDLE, DISTRIBUTION, PRICE} from "../type/ObjectType.sol";
13
13
  import {IRegistry} from "../registry/IRegistry.sol";
14
14
 
15
15
  import {IProductComponent} from "./IProductComponent.sol";
@@ -31,11 +31,8 @@ contract PricingService is
31
31
  ComponentVerifyingService,
32
32
  IPricingService
33
33
  {
34
- using UFixedLib for UFixed;
35
-
36
34
  IDistributionService internal _distributionService;
37
35
 
38
-
39
36
  function _initialize(
40
37
  address owner,
41
38
  bytes memory data
@@ -45,13 +42,12 @@ contract PricingService is
45
42
  initializer()
46
43
  {
47
44
  (
48
- address registryAddress,,
49
- //address managerAddress
45
+ address registryAddress,
50
46
  address authority
51
- ) = abi.decode(data, (address, address, address));
47
+ ) = abi.decode(data, (address, address));
52
48
 
53
- initializeService(registryAddress, authority, owner);
54
- registerInterface(type(IPricingService).interfaceId);
49
+ _initializeService(registryAddress, authority, owner);
50
+ _registerInterface(type(IPricingService).interfaceId);
55
51
 
56
52
  _distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
57
53
  }
@@ -71,9 +67,12 @@ contract PricingService is
71
67
  view
72
68
  virtual override
73
69
  returns (
74
- IPolicy.Premium memory premium
70
+ IPolicy.PremiumInfo memory premium
75
71
  )
76
72
  {
73
+ _checkNftType(productNftId, PRODUCT());
74
+ _checkNftType(bundleNftId, BUNDLE());
75
+
77
76
  InstanceReader reader;
78
77
  Amount netPremiumAmount;
79
78
 
@@ -102,7 +101,7 @@ contract PricingService is
102
101
 
103
102
  IBundle.BundleInfo memory bundleInfo = reader.getBundleInfo(bundleNftId);
104
103
  if(bundleInfo.poolNftId != productInfo.poolNftId) {
105
- revert ErrorIPricingServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, productInfo.poolNftId);
104
+ revert ErrorPricingServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, productInfo.poolNftId);
106
105
  }
107
106
 
108
107
  // calculate fixed fees for product, pool, bundle
@@ -131,16 +130,15 @@ contract PricingService is
131
130
  premium = _calculateTargetWalletAmounts(premium);
132
131
 
133
132
  // sanity check to validate the fee calculation
134
- if(AmountLib.toAmount(premium.premiumAmount) !=
135
- premium.productFeeAmount
133
+ if(premium.premiumAmount != premium.productFeeAmount
136
134
  + premium.distributionFeeAndCommissionAmount
137
135
  + premium.poolPremiumAndFeeAmount)
138
136
  {
139
137
  revert ErrorPricingServiceTargetWalletAmountsMismatch();
140
138
  }
141
139
 
142
- if (premium.distributionOwnerFeeFixAmount < productInfo.minDistributionOwnerFee.fixedFee) {
143
- revert ErrorIPricingServiceFeeCalculationMismatch(
140
+ if (premium.distributionOwnerFeeFixAmount.toInt() < productInfo.minDistributionOwnerFee.fixedFee) {
141
+ revert ErrorPricingServiceFeeCalculationMismatch(
144
142
  premium.distributionFeeFixAmount,
145
143
  premium.distributionFeeVarAmount,
146
144
  premium.distributionOwnerFeeFixAmount,
@@ -151,7 +149,7 @@ contract PricingService is
151
149
  }
152
150
 
153
151
  if ((premium.distributionFeeVarAmount) != (premium.discountAmount + premium.distributionOwnerFeeVarAmount + premium.commissionAmount)) {
154
- revert ErrorIPricingServiceFeeCalculationMismatch(
152
+ revert ErrorPricingServiceFeeCalculationMismatch(
155
153
  premium.distributionFeeFixAmount,
156
154
  premium.distributionFeeVarAmount,
157
155
  premium.distributionOwnerFeeFixAmount,
@@ -172,64 +170,64 @@ contract PricingService is
172
170
  internal
173
171
  pure
174
172
  returns (
175
- IPolicy.Premium memory premium
173
+ IPolicy.PremiumInfo memory premium
176
174
  )
177
175
  {
178
176
  // initial premium amount is the net premium
179
- premium.netPremiumAmount = netPremiumAmount.toInt();
180
- premium.fullPremiumAmount = netPremiumAmount.toInt();
177
+ premium.netPremiumAmount = netPremiumAmount;
178
+ premium.fullPremiumAmount = netPremiumAmount;
181
179
 
182
- uint256 t = productInfo.productFee.fixedFee;
180
+ Amount t = AmountLib.toAmount(productInfo.productFee.fixedFee);
183
181
  premium.productFeeFixAmount = t;
184
- premium.fullPremiumAmount += t;
182
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
185
183
 
186
- t = productInfo.poolFee.fixedFee;
184
+ t = AmountLib.toAmount(productInfo.poolFee.fixedFee);
187
185
  premium.poolFeeFixAmount = t;
188
- premium.fullPremiumAmount += t;
186
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
189
187
 
190
- t = bundleInfo.fee.fixedFee;
188
+ t = AmountLib.toAmount(bundleInfo.fee.fixedFee);
191
189
  premium.bundleFeeFixAmount = t;
192
- premium.fullPremiumAmount += t;
190
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
193
191
 
194
- t = productInfo.distributionFee.fixedFee;
192
+ t = AmountLib.toAmount(productInfo.distributionFee.fixedFee);
195
193
  premium.distributionFeeFixAmount = t;
196
- premium.fullPremiumAmount += t;
194
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
197
195
  }
198
196
 
199
197
  function _calculateVariableFeeAmounts(
200
- IPolicy.Premium memory premium,
198
+ IPolicy.PremiumInfo memory premium,
201
199
  IComponents.ProductInfo memory productInfo,
202
200
  IBundle.BundleInfo memory bundleInfo
203
201
  )
204
202
  internal
205
203
  pure
206
204
  returns (
207
- IPolicy.Premium memory intermadiatePremium
205
+ IPolicy.PremiumInfo memory intermadiatePremium
208
206
  )
209
207
  {
210
- UFixed netPremiumAmount = UFixedLib.toUFixed(premium.netPremiumAmount);
208
+ Amount netPremiumAmount = premium.netPremiumAmount;
211
209
 
212
- uint256 t = (netPremiumAmount * productInfo.productFee.fractionalFee).toInt();
210
+ Amount t = netPremiumAmount.multiplyWith(productInfo.productFee.fractionalFee);
213
211
  premium.productFeeVarAmount = t;
214
- premium.fullPremiumAmount += t;
212
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
215
213
 
216
- t = (netPremiumAmount * productInfo.poolFee.fractionalFee).toInt();
214
+ t = netPremiumAmount.multiplyWith(productInfo.poolFee.fractionalFee);
217
215
  premium.poolFeeVarAmount = t;
218
- premium.fullPremiumAmount += t;
216
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
219
217
 
220
- t = (netPremiumAmount * bundleInfo.fee.fractionalFee).toInt();
218
+ t = netPremiumAmount.multiplyWith(bundleInfo.fee.fractionalFee);
221
219
  premium.bundleFeeVarAmount = t;
222
- premium.fullPremiumAmount += t;
220
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
223
221
 
224
- t = (netPremiumAmount * productInfo.distributionFee.fractionalFee).toInt();
222
+ t = netPremiumAmount.multiplyWith(productInfo.distributionFee.fractionalFee);
225
223
  premium.distributionFeeVarAmount = t;
226
- premium.fullPremiumAmount += t;
224
+ premium.fullPremiumAmount = premium.fullPremiumAmount + t;
227
225
 
228
226
  return premium;
229
227
  }
230
228
 
231
229
  function _calculateDistributionOwnerFeeAmount(
232
- IPolicy.Premium memory premium,
230
+ IPolicy.PremiumInfo memory premium,
233
231
  IComponents.ProductInfo memory productInfo,
234
232
  // ISetup.DistributionSetupInfo memory distInfo,
235
233
  ReferralId referralId,
@@ -237,11 +235,11 @@ contract PricingService is
237
235
  )
238
236
  internal
239
237
  view
240
- returns (IPolicy.Premium memory finalPremium)
238
+ returns (IPolicy.PremiumInfo memory finalPremium)
241
239
  {
242
240
 
243
241
  // if the referral is not valid, then the distribution owner gets everything
244
- if (! _distributionService.referralIsValid(productInfo.distributionNftId, referralId)) {
242
+ if (productInfo.distributionNftId.eqz() || ! _distributionService.referralIsValid(productInfo.distributionNftId, referralId)) {
245
243
  premium.distributionOwnerFeeFixAmount = premium.distributionFeeFixAmount;
246
244
  premium.distributionOwnerFeeVarAmount = premium.distributionFeeVarAmount;
247
245
  premium.premiumAmount = premium.fullPremiumAmount;
@@ -257,10 +255,10 @@ contract PricingService is
257
255
  IDistribution.DistributorInfo memory distributorInfo = reader.getDistributorInfo(referralInfo.distributorNftId);
258
256
  IDistribution.DistributorTypeInfo memory distributorTypeInfo = reader.getDistributorTypeInfo(distributorInfo.distributorType);
259
257
 
260
- uint256 commissionAmount = UFixedLib.toUFixed(premium.netPremiumAmount).mul(distributorTypeInfo.commissionPercentage).toInt();
258
+ Amount commissionAmount = premium.netPremiumAmount.multiplyWith(distributorTypeInfo.commissionPercentage);
261
259
  premium.commissionAmount = commissionAmount;
262
- premium.discountAmount = UFixedLib.toUFixed(premium.fullPremiumAmount).mul(referralInfo.discountPercentage).toInt();
263
- premium.distributionOwnerFeeFixAmount = minDistributionOwnerFee.fixedFee;
260
+ premium.discountAmount = premium.fullPremiumAmount.multiplyWith(referralInfo.discountPercentage);
261
+ premium.distributionOwnerFeeFixAmount = AmountLib.toAmount(minDistributionOwnerFee.fixedFee);
264
262
  premium.distributionOwnerFeeVarAmount = premium.distributionFeeVarAmount - commissionAmount - premium.discountAmount;
265
263
  premium.premiumAmount = premium.fullPremiumAmount - premium.discountAmount;
266
264
  }
@@ -270,29 +268,27 @@ contract PricingService is
270
268
 
271
269
 
272
270
  function _calculateTargetWalletAmounts(
273
- IPolicy.Premium memory premium
271
+ IPolicy.PremiumInfo memory premium
274
272
  )
275
273
  internal
276
274
  virtual
277
275
  view
278
276
  returns (
279
- IPolicy.Premium memory premiumWithTargetWalletAmounts
277
+ IPolicy.PremiumInfo memory premiumWithTargetWalletAmounts
280
278
  )
281
279
  {
282
280
  // fees for product owner
283
- premium.productFeeAmount = AmountLib.toAmount(
284
- premium.productFeeFixAmount + premium.productFeeVarAmount);
281
+ premium.productFeeAmount = premium.productFeeFixAmount + premium.productFeeVarAmount;
285
282
 
286
283
  // fees for distribution owner + distributor commission
287
- premium.distributionFeeAndCommissionAmount = AmountLib.toAmount(
284
+ premium.distributionFeeAndCommissionAmount =
288
285
  premium.distributionFeeFixAmount + premium.distributionOwnerFeeVarAmount
289
- + premium.commissionAmount);
286
+ + premium.commissionAmount;
290
287
 
291
288
  // net premium + fees for pool owner + bundle owner
292
- premium.poolPremiumAndFeeAmount = AmountLib.toAmount(
293
- premium.netPremiumAmount
289
+ premium.poolPremiumAndFeeAmount = premium.netPremiumAmount
294
290
  + premium.poolFeeFixAmount + premium.poolFeeVarAmount
295
- + premium.bundleFeeFixAmount + premium.bundleFeeVarAmount);
291
+ + premium.bundleFeeFixAmount + premium.bundleFeeVarAmount;
296
292
 
297
293
  premiumWithTargetWalletAmounts = premium;
298
294
  }
@@ -15,11 +15,11 @@ contract PricingServiceManager is ProxyManager {
15
15
  address registryAddress,
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(registryAddress, authority);
21
+ IVersionable versionable = initialize(
22
+ registryAddress,
23
23
  address(pricingSrv),
24
24
  data,
25
25
  salt);