@etherisc/gif-next 0.0.2-91b514c-961 → 0.0.2-9272c43-568

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 (351) hide show
  1. package/README.md +1 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +34 -18
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +18 -10
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +267 -97
  9. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +652 -36
  11. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
  13. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -47
  15. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +175 -27
  18. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +85 -12
  20. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
  22. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
  24. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +23 -7
  26. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +221 -60
  28. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1 -1
  30. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +203 -118
  32. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +88 -44
  34. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +29 -0
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +20 -4
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +220 -59
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +34 -18
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +220 -59
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +27 -11
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +220 -59
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +2 -2
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  54. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +24 -8
  55. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +220 -59
  57. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +24 -8
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  60. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +220 -59
  61. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  62. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  63. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  64. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +310 -32
  65. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  66. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +182 -0
  67. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/Instance.sol/Instance.json +322 -72
  69. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  70. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +608 -295
  71. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  72. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +242 -56
  73. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +477 -289
  75. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +208 -26
  77. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +14 -14
  79. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +68 -12
  81. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  82. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  83. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  85. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  86. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  87. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  88. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  90. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  94. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  95. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  96. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  97. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  98. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  99. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  100. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  101. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -2
  102. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +234 -56
  104. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +54 -38
  110. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +28 -20
  112. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  113. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  114. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +220 -59
  115. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  116. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +122 -90
  117. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +62 -30
  119. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  120. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  121. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  122. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  123. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  124. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +104 -22
  125. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +98 -66
  127. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +50 -34
  129. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  130. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +50 -58
  131. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +26 -14
  133. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  134. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  135. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +220 -59
  136. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  137. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +92 -76
  138. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  139. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +47 -39
  140. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  141. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  142. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  143. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  144. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  145. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  146. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  147. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +94 -86
  148. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  149. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +508 -18
  150. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  151. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +48 -44
  152. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  153. package/artifacts/contracts/product/PricingService.sol/PricingService.json +64 -72
  154. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  155. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +33 -21
  156. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  157. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  158. package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
  159. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  160. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +2 -2
  161. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  162. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  163. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  164. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  165. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  166. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  167. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  168. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  169. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +378 -249
  170. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +243 -68
  172. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  173. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
  174. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +10 -10
  176. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  177. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +384 -186
  178. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  179. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  180. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +128 -76
  182. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  183. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
  184. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  186. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  187. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  188. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +54 -54
  189. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  190. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +28 -28
  191. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  192. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +16 -45
  193. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  194. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  195. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  196. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  197. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  198. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  200. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  201. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  202. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  204. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  206. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  207. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  208. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  209. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  210. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  211. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  212. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  213. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  214. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  215. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  216. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  217. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  218. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  219. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  220. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  221. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  222. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  223. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
  224. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  225. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  226. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  227. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  228. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +3 -3
  229. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  230. package/artifacts/contracts/staking/Staking.sol/Staking.json +22 -6
  231. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  232. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  233. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  234. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
  235. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  236. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +12 -4
  237. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  238. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  239. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  240. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +31 -15
  241. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  242. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +15 -7
  243. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  244. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  245. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  246. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +3 -3
  247. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  248. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  249. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  251. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  252. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  253. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  254. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  256. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  257. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  258. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  259. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  261. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  262. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  263. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  264. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
  265. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  266. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  267. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  269. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  271. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  273. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
  275. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  278. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  281. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  282. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  285. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  286. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  287. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
  288. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  289. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  290. package/contracts/accounting/AccountingService.sol +2 -3
  291. package/contracts/authorization/AccessAdmin.sol +261 -185
  292. package/contracts/authorization/AccessAdminLib.sol +220 -7
  293. package/contracts/authorization/Authorization.sol +38 -229
  294. package/contracts/authorization/IAccess.sol +14 -4
  295. package/contracts/authorization/IAccessAdmin.sol +19 -45
  296. package/contracts/authorization/IAuthorization.sol +3 -56
  297. package/contracts/authorization/IServiceAuthorization.sol +55 -17
  298. package/contracts/authorization/ServiceAuthorization.sol +247 -33
  299. package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
  300. package/contracts/distribution/Distribution.sol +2 -1
  301. package/contracts/distribution/DistributionService.sol +76 -28
  302. package/contracts/distribution/IDistributionComponent.sol +3 -1
  303. package/contracts/distribution/IDistributionService.sol +10 -4
  304. package/contracts/instance/IInstance.sol +43 -4
  305. package/contracts/instance/IInstanceService.sol +28 -3
  306. package/contracts/instance/Instance.sol +80 -39
  307. package/contracts/instance/InstanceAdmin.sol +162 -229
  308. package/contracts/instance/InstanceAuthorizationV3.sol +58 -28
  309. package/contracts/instance/InstanceReader.sol +371 -389
  310. package/contracts/instance/InstanceService.sol +105 -53
  311. package/contracts/instance/base/BalanceStore.sol +3 -5
  312. package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
  313. package/contracts/oracle/OracleService.sol +4 -4
  314. package/contracts/pool/BasicPoolAuthorization.sol +9 -3
  315. package/contracts/pool/BundleService.sol +9 -10
  316. package/contracts/pool/PoolLib.sol +138 -1
  317. package/contracts/pool/PoolService.sol +13 -186
  318. package/contracts/product/ApplicationService.sol +30 -5
  319. package/contracts/product/BasicProductAuthorization.sol +9 -4
  320. package/contracts/product/ClaimService.sol +19 -20
  321. package/contracts/product/IPolicyService.sol +0 -1
  322. package/contracts/product/PolicyService.sol +18 -45
  323. package/contracts/product/PolicyServiceLib.sol +75 -1
  324. package/contracts/product/PricingService.sol +22 -25
  325. package/contracts/registry/RegistryAdmin.sol +27 -97
  326. package/contracts/registry/RegistryAuthorization.sol +35 -25
  327. package/contracts/registry/ReleaseAdmin.sol +42 -100
  328. package/contracts/registry/ReleaseRegistry.sol +12 -9
  329. package/contracts/registry/ServiceAuthorizationV3.sol +33 -20
  330. package/contracts/registry/TokenRegistry.sol +2 -4
  331. package/contracts/shared/ComponentService.sol +29 -5
  332. package/contracts/shared/ContractLib.sol +9 -45
  333. package/contracts/shared/IRegisterable.sol +0 -1
  334. package/contracts/shared/NftOwnable.sol +1 -1
  335. package/contracts/shared/PolicyHolder.sol +3 -2
  336. package/contracts/shared/Service.sol +6 -4
  337. package/contracts/staking/IStakingService.sol +3 -0
  338. package/contracts/staking/Staking.sol +4 -5
  339. package/contracts/staking/StakingService.sol +3 -0
  340. package/contracts/staking/TargetManagerLib.sol +1 -1
  341. package/contracts/type/ObjectType.sol +16 -3
  342. package/contracts/type/RoleId.sol +57 -59
  343. package/contracts/type/String.sol +12 -0
  344. package/contracts/upgradeability/ProxyManager.sol +2 -2
  345. package/contracts/upgradeability/Versionable.sol +4 -1
  346. package/package.json +1 -1
  347. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
  348. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
  349. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  350. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
  351. package/contracts/shared/ComponentVerifyingService.sol +0 -128
@@ -2,13 +2,11 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAccountingService} from "../accounting/IAccountingService.sol";
5
- import {IBundle} from "../instance/module/IBundle.sol";
6
5
  import {IBundleService} from "./IBundleService.sol";
7
6
  import {IComponents} from "../instance/module/IComponents.sol";
8
7
  import {IComponentService} from "../shared/IComponentService.sol";
9
8
  import {IInstance} from "../instance/IInstance.sol";
10
9
  import {IPolicy} from "../instance/module/IPolicy.sol";
11
- import {IPolicyHolder} from "../shared/IPolicyHolder.sol";
12
10
  import {IPoolComponent} from "../pool/IPoolComponent.sol";
13
11
  import {IPoolService} from "./IPoolService.sol";
14
12
  import {IProductComponent} from "../product/IProductComponent.sol";
@@ -27,9 +25,6 @@ import {PayoutId} from "../type/PayoutId.sol";
27
25
  import {PoolLib} from "./PoolLib.sol";
28
26
  import {Service} from "../shared/Service.sol";
29
27
  import {TokenHandler} from "../shared/TokenHandler.sol";
30
- import {UFixed} from "../type/UFixed.sol";
31
-
32
- string constant POOL_SERVICE_NAME = "PoolService";
33
28
 
34
29
 
35
30
  contract PoolService is
@@ -69,6 +64,7 @@ contract PoolService is
69
64
  function setMaxBalanceAmount(Amount maxBalanceAmount)
70
65
  external
71
66
  virtual
67
+ restricted()
72
68
  {
73
69
  (NftId poolNftId, IInstance instance) = _getAndVerifyActivePool();
74
70
  InstanceReader instanceReader = instance.getInstanceReader();
@@ -84,6 +80,7 @@ contract PoolService is
84
80
 
85
81
  function closeBundle(NftId bundleNftId)
86
82
  external
83
+ restricted()
87
84
  virtual
88
85
  {
89
86
  _checkNftType(bundleNftId, BUNDLE());
@@ -119,6 +116,7 @@ contract PoolService is
119
116
  Amount availableAmount
120
117
  )
121
118
  external
119
+ restricted()
122
120
  virtual
123
121
  {
124
122
  _checkNftType(policyNftId, POLICY());
@@ -175,7 +173,7 @@ contract PoolService is
175
173
  function stake(NftId bundleNftId, Amount amount)
176
174
  external
177
175
  virtual
178
- // TODO: restricted() (once #462 is done)
176
+ restricted()
179
177
  returns(
180
178
  Amount netAmount
181
179
  )
@@ -222,7 +220,7 @@ contract PoolService is
222
220
 
223
221
  // collect tokens from bundle owner
224
222
  address bundleOwner = getRegistry().ownerOf(bundleNftId);
225
- _pullStakingAmount(
223
+ PoolLib.pullStakingAmount(
226
224
  instanceReader,
227
225
  poolNftId,
228
226
  bundleOwner,
@@ -235,7 +233,7 @@ contract PoolService is
235
233
  function unstake(NftId bundleNftId, Amount amount)
236
234
  external
237
235
  virtual
238
- // TODO: restricted() (once #462 is done)
236
+ restricted()
239
237
  returns(Amount netAmount)
240
238
  {
241
239
  (
@@ -269,7 +267,7 @@ contract PoolService is
269
267
 
270
268
  // transfer amount to bundle owner
271
269
  address bundleOwner = getRegistry().ownerOf(bundleNftId);
272
- _pushUnstakingAmount(
270
+ PoolLib.pushUnstakingAmount(
273
271
  instanceReader,
274
272
  poolNftId,
275
273
  bundleOwner,
@@ -281,7 +279,7 @@ contract PoolService is
281
279
  function fundPoolWallet(Amount amount)
282
280
  external
283
281
  virtual
284
- // restricted()
282
+ restricted()
285
283
  {
286
284
  (
287
285
  NftId poolNftId,
@@ -297,7 +295,7 @@ contract PoolService is
297
295
  address poolOwner = getRegistry().ownerOf(poolNftId);
298
296
  emit LogPoolServiceWalletFunded(poolNftId, poolOwner, amount);
299
297
 
300
- _pullStakingAmount(
298
+ PoolLib.pullStakingAmount(
301
299
  reader,
302
300
  poolNftId,
303
301
  poolOwner,
@@ -308,7 +306,7 @@ contract PoolService is
308
306
  function defundPoolWallet(Amount amount)
309
307
  external
310
308
  virtual
311
- // restricted()
309
+ restricted()
312
310
  {
313
311
  (
314
312
  NftId poolNftId,
@@ -324,7 +322,7 @@ contract PoolService is
324
322
  address poolOwner = getRegistry().ownerOf(poolNftId);
325
323
  emit LogPoolServiceWalletDefunded(poolNftId, poolOwner, amount);
326
324
 
327
- _pushUnstakingAmount(
325
+ PoolLib.pushUnstakingAmount(
328
326
  reader,
329
327
  poolNftId,
330
328
  poolOwner,
@@ -474,7 +472,8 @@ contract PoolService is
474
472
  payoutAmount);
475
473
 
476
474
  // interactions
477
- _transferTokenAndNotifyPolicyHolder(
475
+ PoolLib.transferTokenAndNotifyPolicyHolder(
476
+ getRegistry(),
478
477
  instanceReader,
479
478
  poolTokenHandler,
480
479
  productNftId,
@@ -484,50 +483,6 @@ contract PoolService is
484
483
  payoutBeneficiary);
485
484
  }
486
485
 
487
- function _transferTokenAndNotifyPolicyHolder(
488
- InstanceReader instanceReader,
489
- TokenHandler poolTokenHandler,
490
- NftId productNftId,
491
- NftId policyNftId,
492
- PayoutId payoutId,
493
- Amount payoutAmount,
494
- address payoutBeneficiary
495
- )
496
- internal
497
- {
498
- (
499
- Amount netPayoutAmount,
500
- Amount processingFeeAmount,
501
- address beneficiary
502
- ) = PoolLib.calculatePayoutAmounts(
503
- getRegistry(),
504
- instanceReader,
505
- productNftId,
506
- policyNftId,
507
- payoutAmount,
508
- payoutBeneficiary);
509
-
510
- // 1st token tx to payout to beneficiary
511
- poolTokenHandler.pushToken(
512
- beneficiary,
513
- netPayoutAmount);
514
-
515
- // 2nd token tx to transfer processing fees to product wallet
516
- // if processingFeeAmount > 0
517
- if (processingFeeAmount.gtz()) {
518
- poolTokenHandler.pushToken(
519
- instanceReader.getWallet(productNftId),
520
- processingFeeAmount);
521
- }
522
-
523
- // callback to policy holder if applicable
524
- _policyHolderPayoutExecuted(
525
- policyNftId,
526
- payoutId,
527
- beneficiary,
528
- netPayoutAmount);
529
- }
530
-
531
486
 
532
487
  /// @inheritdoc IPoolService
533
488
  function withdrawBundleFees(
@@ -608,112 +563,6 @@ contract PoolService is
608
563
  }
609
564
 
610
565
 
611
- // function calculateRequiredCollateral(
612
- // InstanceReader instanceReader,
613
- // NftId productNftId,
614
- // Amount sumInsuredAmount
615
- // )
616
- // public
617
- // view
618
- // returns(
619
- // NftId poolNftId,
620
- // Amount totalCollateralAmount,
621
- // Amount localCollateralAmount,
622
- // bool poolIsVerifyingApplications
623
- // )
624
- // {
625
- // return CollateralLib.calculateRequiredCollateral(
626
- // instanceReader,
627
- // productNftId,
628
- // sumInsuredAmount);
629
- // }
630
-
631
- // _checkNftType(productNftId, PRODUCT());
632
-
633
- // poolNftId = instanceReader.getProductInfo(productNftId).poolNftId;
634
- // IComponents.PoolInfo memory poolInfo = instanceReader.getPoolInfo(poolNftId);
635
- // poolIsVerifyingApplications = poolInfo.isVerifyingApplications;
636
-
637
- // (
638
- // totalCollateralAmount,
639
- // localCollateralAmount
640
- // ) = calculateRequiredCollateral(
641
- // poolInfo.collateralizationLevel,
642
- // poolInfo.retentionLevel,
643
- // sumInsuredAmount);
644
- // }
645
-
646
-
647
- // function calculateRequiredCollateral(
648
- // UFixed collateralizationLevel,
649
- // UFixed retentionLevel,
650
- // Amount sumInsuredAmount
651
- // )
652
- // public
653
- // pure
654
- // returns(
655
- // Amount totalCollateralAmount,
656
- // Amount localCollateralAmount
657
- // )
658
- // {
659
- // // collateralization is applied to sum insured
660
- // UFixed totalUFixed = collateralizationLevel * sumInsuredAmount.toUFixed();
661
- // totalCollateralAmount = AmountLib.toAmount(totalUFixed.toInt());
662
-
663
- // // retention level defines how much capital is required locally
664
- // localCollateralAmount = AmountLib.toAmount(
665
- // (retentionLevel * totalUFixed).toInt());
666
- // }
667
-
668
-
669
-
670
-
671
- function _policyHolderPayoutExecuted(
672
- NftId policyNftId,
673
- PayoutId payoutId,
674
- address beneficiary,
675
- Amount payoutAmount
676
- )
677
- internal
678
- {
679
- IPolicyHolder policyHolder = PoolLib.getPolicyHolder(getRegistry(), policyNftId);
680
- if(address(policyHolder) != address(0)) {
681
- policyHolder.payoutExecuted(policyNftId, payoutId, payoutAmount, beneficiary);
682
- }
683
- }
684
-
685
-
686
- /// @dev Transfers the specified amount from the "from account" to the pool's wallet
687
- function _pullStakingAmount(
688
- InstanceReader reader,
689
- NftId poolNftId,
690
- address from,
691
- Amount amount
692
- )
693
- internal
694
- {
695
- IComponents.ComponentInfo memory info = reader.getComponentInfo(poolNftId);
696
- info.tokenHandler.pullToken(
697
- from,
698
- amount);
699
- }
700
-
701
- /// @dev Transfers the specified amount from the pool's wallet to the "to account"
702
- function _pushUnstakingAmount(
703
- InstanceReader reader,
704
- NftId poolNftId,
705
- address to,
706
- Amount amount
707
- )
708
- internal
709
- {
710
- IComponents.ComponentInfo memory info = reader.getComponentInfo(poolNftId);
711
- info.tokenHandler.pushToken(
712
- to,
713
- amount);
714
- }
715
-
716
-
717
566
  function _getAndVerifyActivePool()
718
567
  internal
719
568
  virtual
@@ -726,28 +575,6 @@ contract PoolService is
726
575
  return PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
727
576
  }
728
577
 
729
- // function _getAndVerifyActivePool()
730
- // internal
731
- // virtual
732
- // view
733
- // returns (
734
- // NftId poolNftId,
735
- // IInstance instance
736
- // )
737
- // {
738
- // (
739
- // IRegistry.ObjectInfo memory info,
740
- // address instanceAddress
741
- // ) = ContractLib.getAndVerifyComponent(
742
- // getRegistry(),
743
- // msg.sender,
744
- // POOL(),
745
- // true); // only active pools
746
-
747
- // poolNftId = info.nftId;
748
- // instance = IInstance(instanceAddress);
749
- // }
750
-
751
578
 
752
579
  function _getDomain() internal pure override returns(ObjectType) {
753
580
  return POOL();
@@ -11,6 +11,7 @@ import {IPricingService} from "./IPricingService.sol";
11
11
  import {IRegistryService} from "../registry/IRegistryService.sol";
12
12
 
13
13
  import {AmountLib} from "../type/Amount.sol";
14
+ import {ContractLib} from "../shared/ContractLib.sol";
14
15
  import {Seconds} from "../type/Seconds.sol";
15
16
  import {zeroTimestamp} from "../type/Timestamp.sol";
16
17
  import {ObjectType, BUNDLE, DISTRIBUTION, PRODUCT, REGISTRY, APPLICATION, POLICY, PRICE} from "../type/ObjectType.sol";
@@ -19,13 +20,12 @@ import {NftId, NftIdLib} from "../type/NftId.sol";
19
20
  import {ReferralId} from "../type/Referral.sol";
20
21
  import {RiskId} from "../type/RiskId.sol";
21
22
  import {Amount, AmountLib} from "../type/Amount.sol";
22
- import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
23
+ import {Service} from "../shared/Service.sol";
23
24
  import {InstanceReader} from "../instance/InstanceReader.sol";
24
25
 
25
26
 
26
-
27
27
  contract ApplicationService is
28
- ComponentVerifyingService,
28
+ Service,
29
29
  IApplicationService
30
30
  {
31
31
  IDistributionService private _distributionService;
@@ -149,12 +149,13 @@ contract ApplicationService is
149
149
  )
150
150
  external
151
151
  virtual
152
+ restricted()
152
153
  nonReentrant()
153
154
  returns (NftId applicationNftId)
154
155
  {
155
156
  _checkNftType(bundleNftId, BUNDLE());
156
157
 
157
- (NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
158
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveProduct();
158
159
 
159
160
  // check if provided references are valid and linked to calling product contract
160
161
  InstanceReader instanceReader = instance.getInstanceReader();
@@ -227,6 +228,7 @@ contract ApplicationService is
227
228
  )
228
229
  external
229
230
  virtual
231
+ restricted()
230
232
  nonReentrant()
231
233
  returns (NftId applicationNftId)
232
234
  {
@@ -247,6 +249,7 @@ contract ApplicationService is
247
249
  )
248
250
  external
249
251
  virtual
252
+ restricted()
250
253
  nonReentrant()
251
254
  {
252
255
  _checkNftType(applicationNftId, POLICY());
@@ -257,16 +260,38 @@ contract ApplicationService is
257
260
  function revoke(NftId applicationNftId)
258
261
  external
259
262
  virtual
263
+ restricted()
260
264
  nonReentrant()
261
265
  {
262
266
  _checkNftType(applicationNftId, POLICY());
263
267
 
264
- (,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
268
+ (, IInstance instance) = _getAndVerifyActiveProduct();
265
269
  instance.getInstanceStore().updateApplicationState(applicationNftId, REVOKED());
266
270
  }
267
271
 
268
272
  // internal functions
269
273
 
274
+ function _getAndVerifyActiveProduct()
275
+ internal
276
+ view
277
+ returns (
278
+ NftId productNftId,
279
+ IInstance instance
280
+ )
281
+ {
282
+ (
283
+ IRegistry.ObjectInfo memory info,
284
+ address instanceAddress
285
+ ) = ContractLib.getAndVerifyComponent(
286
+ getRegistry(),
287
+ msg.sender,
288
+ PRODUCT(),
289
+ true); // only active pools
290
+
291
+ productNftId = info.nftId;
292
+ instance = IInstance(instanceAddress);
293
+ }
294
+
270
295
 
271
296
  function _getDomain() internal pure override returns(ObjectType) {
272
297
  return APPLICATION();
@@ -14,17 +14,22 @@ import {TokenHandler} from "../shared/TokenHandler.sol";
14
14
  contract BasicProductAuthorization
15
15
  is Authorization
16
16
  {
17
-
18
17
  constructor(string memory componentName)
19
- Authorization(componentName, PRODUCT(), true, true)
18
+ Authorization(
19
+ componentName,
20
+ PRODUCT(),
21
+ 3,
22
+ COMMIT_HASH,
23
+ true,
24
+ true)
20
25
  {}
21
26
 
22
27
  function _setupServiceTargets()
23
28
  internal
24
29
  virtual override
25
30
  {
26
- _addServiceTargetWithRole(COMPONENT());
27
- _addServiceTargetWithRole(POLICY());
31
+ _authorizeServiceDomain(COMPONENT(), address(10));
32
+ _authorizeServiceDomain(POLICY(), address(11));
28
33
  }
29
34
 
30
35
  function _setupTokenHandlerAuthorizations() internal virtual override {
@@ -2,7 +2,6 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IClaimService} from "./IClaimService.sol";
5
- import {IComponents} from "../instance/module/IComponents.sol";
6
5
  import {IInstance} from "../instance/IInstance.sol";
7
6
  import {IPolicy} from "../instance/module/IPolicy.sol";
8
7
  import {IPolicyHolder} from "../shared/IPolicyHolder.sol";
@@ -14,11 +13,10 @@ import {IRegistry} from "../registry/IRegistry.sol";
14
13
  import {Amount, AmountLib} from "../type/Amount.sol";
15
14
  import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
16
15
  import {ContractLib} from "../shared/ContractLib.sol";
17
- import {FeeLib} from "../type/Fee.sol";
18
16
  import {InstanceReader} from "../instance/InstanceReader.sol";
19
17
  import {InstanceStore} from "../instance/InstanceStore.sol";
20
18
  import {NftId} from "../type/NftId.sol";
21
- import {ObjectType, COMPONENT, CLAIM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
19
+ import {ObjectType, CLAIM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
22
20
  import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
23
21
  import {Service} from "../shared/Service.sol";
24
22
  import {StateId} from "../type/StateId.sol";
@@ -68,8 +66,7 @@ contract ClaimService is
68
66
  {
69
67
  // checks
70
68
  (
71
- ,
72
- IInstance instance,,
69
+ ,,,
73
70
  InstanceStore instanceStore,
74
71
  IPolicy.PolicyInfo memory policyInfo
75
72
  ) = _verifyCallerWithPolicy(policyNftId);
@@ -114,6 +111,7 @@ contract ClaimService is
114
111
  )
115
112
  external
116
113
  virtual
114
+ restricted()
117
115
  // nonReentrant() // prevents creating a reinsurance claim in a single tx
118
116
  {
119
117
  // checks
@@ -163,13 +161,13 @@ contract ClaimService is
163
161
  )
164
162
  external
165
163
  virtual
164
+ restricted()
166
165
  // nonReentrant() // prevents creating a reinsurance claim in a single tx
167
166
  {
168
167
  _checkNftType(policyNftId, POLICY());
169
168
 
170
169
  (
171
- ,
172
- IInstance instance,
170
+ ,,
173
171
  InstanceReader instanceReader,
174
172
  InstanceStore instanceStore,
175
173
  IPolicy.PolicyInfo memory policyInfo
@@ -195,11 +193,11 @@ contract ClaimService is
195
193
  )
196
194
  external
197
195
  virtual
196
+ restricted()
198
197
  // nonReentrant() // prevents creating a reinsurance claim in a single tx
199
198
  {
200
199
  (
201
- ,
202
- IInstance instance,
200
+ ,,
203
201
  InstanceReader instanceReader,
204
202
  InstanceStore instanceStore,
205
203
  IPolicy.PolicyInfo memory policyInfo
@@ -224,16 +222,15 @@ contract ClaimService is
224
222
  )
225
223
  external
226
224
  virtual
225
+ restricted()
227
226
  // nonReentrant() // prevents creating a reinsurance claim in a single tx
228
227
  {
229
228
  _checkNftType(policyNftId, POLICY());
230
229
 
231
230
  (
232
- ,
233
- IInstance instance,
231
+ ,,
234
232
  InstanceReader instanceReader,
235
233
  InstanceStore instanceStore,
236
- IPolicy.PolicyInfo memory policyInfo
237
234
  ) = _verifyCallerWithPolicy(policyNftId);
238
235
 
239
236
  // check/update claim info
@@ -270,6 +267,7 @@ contract ClaimService is
270
267
  )
271
268
  external
272
269
  virtual
270
+ restricted()
273
271
  // nonReentrant() // prevents creating a reinsurance claim in a single tx
274
272
  returns (PayoutId payoutId)
275
273
  {
@@ -294,6 +292,7 @@ contract ClaimService is
294
292
  )
295
293
  external
296
294
  virtual
295
+ restricted()
297
296
  // nonReentrant() // prevents creating a reinsurance payout in a single tx
298
297
  returns (PayoutId payoutId)
299
298
  {
@@ -314,12 +313,12 @@ contract ClaimService is
314
313
  )
315
314
  external
316
315
  virtual
316
+ restricted()
317
317
  // nonReentrant() // prevents creating a reinsurance payout in a single tx
318
318
  {
319
319
  // checks
320
320
  (
321
- NftId productNftId,,
322
- // IInstance instance,
321
+ ,,
323
322
  InstanceReader instanceReader,
324
323
  InstanceStore instanceStore,
325
324
  IPolicy.PolicyInfo memory policyInfo
@@ -351,7 +350,8 @@ contract ClaimService is
351
350
  Amount payoutAmount = payoutInfo.amount;
352
351
  {
353
352
  ClaimId claimId = payoutId.toClaimId();
354
- IPolicy.ClaimInfo memory claimInfo = instanceReader.getClaimInfo(policyNftId, claimId);
353
+ // TODO cleanup
354
+ // IPolicy.ClaimInfo memory claimInfo = instanceReader.getClaimInfo(policyNftId, claimId);
355
355
  claimInfo.paidAmount = claimInfo.paidAmount.add(payoutAmount);
356
356
  claimInfo.openPayoutsCount -= 1;
357
357
 
@@ -392,14 +392,13 @@ contract ClaimService is
392
392
  )
393
393
  external
394
394
  virtual
395
+ restricted()
395
396
  {
396
397
  // checks
397
398
  (
398
- ,
399
- IInstance instance,
399
+ ,,
400
400
  InstanceReader instanceReader,
401
401
  InstanceStore instanceStore,
402
- IPolicy.PolicyInfo memory policyInfo
403
402
  ) = _verifyCallerWithPolicy(policyNftId);
404
403
 
405
404
  StateId payoutState = instanceReader.getPayoutState(policyNftId, payoutId);
@@ -522,7 +521,7 @@ contract ClaimService is
522
521
  IPolicy.PolicyInfo memory policyInfo
523
522
  )
524
523
  {
525
- (productNftId, instance) = _getAndVerifyActiveComponent(PRODUCT());
524
+ (productNftId, instance) = _getAndVerifyActiveProduct();
526
525
  instanceReader = instance.getInstanceReader();
527
526
  instanceStore = instance.getInstanceStore();
528
527
 
@@ -536,7 +535,7 @@ contract ClaimService is
536
535
  }
537
536
 
538
537
 
539
- function _getAndVerifyActiveComponent(ObjectType expectedType)
538
+ function _getAndVerifyActiveProduct()
540
539
  internal
541
540
  view
542
541
  returns (
@@ -5,7 +5,6 @@ import {IService} from "../shared/IService.sol";
5
5
 
6
6
  import {Amount} from "../type/Amount.sol";
7
7
  import {IInstance} from "../instance/IInstance.sol";
8
- import {InstanceReader} from "../instance/InstanceReader.sol";
9
8
  import {NftId} from "../type/NftId.sol";
10
9
  import {StateId} from "../type/StateId.sol";
11
10
  import {Timestamp} from "../type/Timestamp.sol";