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

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