@etherisc/gif-next 0.0.2-93de5de-423 → 0.0.2-93ee1cf-782

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 (684) hide show
  1. package/README.md +83 -93
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
  4. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  6. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  8. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  10. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  12. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  14. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  18. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1018 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1494 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +324 -350
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +984 -0
  36. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
  56. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  57. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
  58. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +338 -2102
  60. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  61. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +301 -77
  62. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/Instance.sol/Instance.json +404 -2888
  64. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1666 -0
  66. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
  68. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1382 -482
  70. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +366 -370
  72. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +159 -106
  74. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3668 -0
  76. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  77. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
  78. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  80. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  81. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  82. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  84. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  85. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  86. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  88. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  90. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  91. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  92. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  93. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  95. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  96. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  97. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  107. package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → oracle/IOracleService.sol/IOracleService.json} +370 -283
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  109. package/artifacts/contracts/{components/Component.sol/Component.json → oracle/Oracle.sol/Oracle.json} +327 -303
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +990 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +766 -0
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  115. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +473 -541
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1360 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +922 -0
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  125. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +414 -392
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1285 -0
  128. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/Pool.sol/Pool.json +1029 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1619 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +794 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +806 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  139. package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +422 -520
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1484 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +862 -0
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +203 -202
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  149. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +979 -0
  150. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  151. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +944 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  153. package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +253 -137
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  155. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +464 -265
  156. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  157. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +120 -64
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1313 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +810 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  166. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  167. package/artifacts/contracts/product/Product.sol/Product.json +1106 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  172. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +473 -24
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  177. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +263 -123
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  179. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  180. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/Registry.sol/Registry.json +958 -118
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  183. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +349 -253
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +161 -94
  188. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  189. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  191. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  193. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  194. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  195. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  196. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  197. package/artifacts/contracts/shared/Component.sol/Component.json +695 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1835 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +846 -0
  202. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +118 -185
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +488 -0
  206. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  207. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  208. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  209. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  210. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  211. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +245 -138
  212. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  213. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
  214. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  215. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
  216. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  217. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
  218. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  219. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  220. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  221. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -10
  222. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
  224. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +28 -6
  226. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  228. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IService.sol/IService.json +135 -18
  230. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  231. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  232. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  233. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +799 -0
  234. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  235. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  236. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  237. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  238. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  239. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  240. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +28 -70
  242. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  243. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +35 -85
  244. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +69 -99
  246. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  247. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
  248. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  249. package/artifacts/contracts/shared/Service.sol/Service.json +136 -108
  250. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  251. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +734 -8
  252. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  253. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  254. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  255. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  256. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  257. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → staking/IStaking.sol/IStaking.json} +723 -677
  258. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  259. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  260. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  262. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  263. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  264. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  266. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  268. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  270. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  271. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
  272. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  273. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
  274. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  275. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  276. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  277. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  278. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  279. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  280. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  282. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  284. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  286. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  288. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  290. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  292. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  293. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  294. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  296. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  297. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  298. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  300. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  302. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  304. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  306. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +180 -0
  308. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  310. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  312. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  314. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  316. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  318. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  320. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  322. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  324. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  326. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  328. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  330. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  331. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  332. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  333. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  334. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  335. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  336. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  337. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  338. package/contracts/authorization/AccessAdmin.sol +616 -0
  339. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  340. package/contracts/authorization/Authorization.sol +289 -0
  341. package/contracts/authorization/IAccess.sol +49 -0
  342. package/contracts/authorization/IAccessAdmin.sol +137 -0
  343. package/contracts/authorization/IAuthorization.sol +60 -0
  344. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  345. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  346. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  347. package/contracts/distribution/BasicDistribution.sol +139 -0
  348. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  349. package/contracts/distribution/Distribution.sol +284 -0
  350. package/contracts/distribution/DistributionService.sol +354 -0
  351. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  352. package/contracts/distribution/IDistributionComponent.sol +52 -0
  353. package/contracts/distribution/IDistributionService.sol +100 -0
  354. package/contracts/examples/fire/DamageLevel.sol +59 -0
  355. package/contracts/examples/fire/FirePool.sol +86 -0
  356. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  357. package/contracts/examples/fire/FireProduct.sol +431 -0
  358. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  359. package/contracts/examples/fire/FireUSD.sol +26 -0
  360. package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
  361. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  362. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  363. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  364. package/contracts/instance/BundleSet.sol +130 -0
  365. package/contracts/instance/IInstance.sol +51 -71
  366. package/contracts/instance/IInstanceService.sol +41 -26
  367. package/contracts/instance/Instance.sol +173 -223
  368. package/contracts/instance/InstanceAdmin.sol +278 -0
  369. package/contracts/instance/InstanceAuthorizationV3.sol +217 -0
  370. package/contracts/instance/InstanceReader.sol +349 -63
  371. package/contracts/instance/InstanceService.sol +295 -347
  372. package/contracts/instance/InstanceServiceManager.sol +14 -29
  373. package/contracts/instance/InstanceStore.sol +287 -0
  374. package/contracts/instance/RiskSet.sol +119 -0
  375. package/contracts/instance/base/BalanceStore.sol +123 -0
  376. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  377. package/contracts/instance/base/ObjectCounter.sol +21 -0
  378. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  379. package/contracts/instance/base/ObjectSet.sol +78 -0
  380. package/contracts/instance/module/IAccess.sol +19 -20
  381. package/contracts/instance/module/IBundle.sol +8 -8
  382. package/contracts/instance/module/IComponents.sol +50 -0
  383. package/contracts/instance/module/IDistribution.sol +6 -4
  384. package/contracts/instance/module/IPolicy.sol +56 -18
  385. package/contracts/instance/module/IRisk.sol +2 -1
  386. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  387. package/contracts/oracle/BasicOracle.sol +47 -0
  388. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  389. package/contracts/oracle/IOracle.sol +36 -0
  390. package/contracts/oracle/IOracleComponent.sol +33 -0
  391. package/contracts/oracle/IOracleService.sol +66 -0
  392. package/contracts/oracle/Oracle.sol +156 -0
  393. package/contracts/oracle/OracleService.sol +309 -0
  394. package/contracts/oracle/OracleServiceManager.sol +39 -0
  395. package/contracts/pool/BasicPool.sol +175 -0
  396. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  397. package/contracts/pool/BundleService.sol +423 -0
  398. package/contracts/pool/BundleServiceManager.sol +39 -0
  399. package/contracts/pool/IBundleService.sol +122 -0
  400. package/contracts/pool/IPoolComponent.sol +62 -0
  401. package/contracts/pool/IPoolService.sol +153 -0
  402. package/contracts/pool/Pool.sol +345 -0
  403. package/contracts/pool/PoolService.sol +612 -0
  404. package/contracts/pool/PoolServiceManager.sol +39 -0
  405. package/contracts/product/ApplicationService.sol +259 -0
  406. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
  407. package/contracts/product/BasicProduct.sol +49 -0
  408. package/contracts/product/BasicProductAuthorization.sol +42 -0
  409. package/contracts/product/ClaimService.sol +643 -0
  410. package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
  411. package/contracts/{instance/service → product}/IApplicationService.sol +20 -36
  412. package/contracts/product/IClaimService.sol +130 -0
  413. package/contracts/product/IPolicyService.sol +90 -0
  414. package/contracts/product/IPricingService.sol +39 -0
  415. package/contracts/product/IProductComponent.sol +59 -0
  416. package/contracts/product/IRiskService.sol +33 -0
  417. package/contracts/product/PolicyService.sol +733 -0
  418. package/contracts/product/PolicyServiceManager.sol +39 -0
  419. package/contracts/product/PricingService.sol +300 -0
  420. package/contracts/product/PricingServiceManager.sol +39 -0
  421. package/contracts/product/Product.sol +427 -0
  422. package/contracts/product/RiskService.sol +107 -0
  423. package/contracts/product/RiskServiceManager.sol +39 -0
  424. package/contracts/registry/ChainNft.sol +79 -34
  425. package/contracts/registry/IRegistry.sol +100 -26
  426. package/contracts/registry/IRegistryService.sol +36 -41
  427. package/contracts/registry/ITransferInterceptor.sol +1 -1
  428. package/contracts/registry/Registry.sol +465 -204
  429. package/contracts/registry/RegistryAdmin.sol +451 -0
  430. package/contracts/registry/RegistryService.sol +87 -129
  431. package/contracts/registry/RegistryServiceManager.sol +23 -32
  432. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  433. package/contracts/registry/ReleaseRegistry.sol +485 -0
  434. package/contracts/registry/ServiceAuthorizationV3.sol +175 -0
  435. package/contracts/registry/TokenRegistry.sol +261 -62
  436. package/contracts/shared/Component.sol +217 -0
  437. package/contracts/shared/ComponentService.sol +806 -0
  438. package/contracts/shared/ComponentServiceManager.sol +38 -0
  439. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  440. package/contracts/shared/ContractLib.sol +224 -0
  441. package/contracts/shared/IComponent.sol +67 -0
  442. package/contracts/shared/IComponentService.sol +130 -0
  443. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  444. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  445. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  446. package/contracts/shared/INftOwnable.sol +4 -2
  447. package/contracts/shared/IPolicyHolder.sol +23 -14
  448. package/contracts/shared/IRegisterable.sol +11 -0
  449. package/contracts/shared/IRegistryLinked.sol +0 -1
  450. package/contracts/shared/IService.sol +15 -6
  451. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  452. package/contracts/shared/InstanceLinkedComponent.sol +205 -0
  453. package/contracts/shared/KeyValueStore.sol +131 -0
  454. package/contracts/shared/Lifecycle.sol +88 -0
  455. package/contracts/shared/NftIdSet.sol +65 -0
  456. package/contracts/shared/NftOwnable.sol +32 -25
  457. package/contracts/shared/PolicyHolder.sol +22 -41
  458. package/contracts/shared/Registerable.sol +31 -22
  459. package/contracts/shared/RegistryLinked.sol +9 -19
  460. package/contracts/shared/Service.sol +55 -29
  461. package/contracts/shared/TokenHandler.sol +374 -12
  462. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  463. package/contracts/staking/IStaking.sol +173 -0
  464. package/contracts/staking/IStakingService.sol +157 -0
  465. package/contracts/staking/StakeManagerLib.sol +224 -0
  466. package/contracts/staking/Staking.sol +505 -0
  467. package/contracts/staking/StakingLifecycle.sol +23 -0
  468. package/contracts/staking/StakingManager.sol +52 -0
  469. package/contracts/staking/StakingReader.sol +190 -0
  470. package/contracts/staking/StakingService.sol +440 -0
  471. package/contracts/staking/StakingServiceManager.sol +44 -0
  472. package/contracts/staking/StakingStore.sol +605 -0
  473. package/contracts/staking/TargetManagerLib.sol +211 -0
  474. package/contracts/{types → type}/AddressSet.sol +1 -1
  475. package/contracts/type/Amount.sol +150 -0
  476. package/contracts/{types → type}/Blocknumber.sol +27 -3
  477. package/contracts/{types → type}/ClaimId.sol +31 -3
  478. package/contracts/{types → type}/Fee.sol +33 -23
  479. package/contracts/{types → type}/Key32.sol +2 -2
  480. package/contracts/type/Key32Set.sol +62 -0
  481. package/contracts/{types → type}/NftId.sol +28 -15
  482. package/contracts/{types → type}/NftIdSet.sol +2 -2
  483. package/contracts/type/ObjectType.sol +278 -0
  484. package/contracts/type/PayoutId.sol +82 -0
  485. package/contracts/{types → type}/Referral.sol +6 -1
  486. package/contracts/type/RequestId.sol +75 -0
  487. package/contracts/{types → type}/RiskId.sol +31 -5
  488. package/contracts/type/RoleId.sol +162 -0
  489. package/contracts/type/Seconds.sol +101 -0
  490. package/contracts/type/Selector.sol +102 -0
  491. package/contracts/{types → type}/StateId.sol +48 -4
  492. package/contracts/type/String.sol +53 -0
  493. package/contracts/{types → type}/Timestamp.sol +34 -15
  494. package/contracts/{types → type}/UFixed.sol +39 -9
  495. package/contracts/{types → type}/Version.sol +5 -2
  496. package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
  497. package/contracts/{shared → upgradeability}/ProxyManager.sol +93 -30
  498. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  499. package/contracts/{shared → upgradeability}/Versionable.sol +3 -3
  500. package/package.json +11 -7
  501. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  502. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  503. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  504. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  505. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  506. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  507. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  508. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  509. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  510. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
  511. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  512. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  513. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
  514. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  515. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  516. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  517. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  518. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  519. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  520. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  521. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  522. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  523. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  524. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  525. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  526. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -858
  527. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  528. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -657
  529. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  530. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1085
  531. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  532. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  533. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  534. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -743
  535. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  536. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  537. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  538. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -935
  539. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  540. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -677
  541. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  543. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -398
  545. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -480
  547. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -336
  550. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  552. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1109
  553. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  554. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -717
  555. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  556. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -716
  557. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  558. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -649
  559. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  560. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -766
  561. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  562. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  563. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  564. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  565. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  566. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  567. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  568. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  569. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  570. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  571. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  572. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  573. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
  574. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  575. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  576. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  578. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  579. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  580. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  581. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  582. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  583. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  584. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -510
  585. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  586. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  587. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  588. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  589. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  590. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  591. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  592. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  593. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  594. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  595. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  596. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  597. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  598. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  599. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  600. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  601. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  602. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  603. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  604. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  605. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  606. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  607. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  608. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  609. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  610. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  611. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  612. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  613. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  614. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  615. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  616. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  617. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  618. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  619. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  620. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  621. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  622. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  623. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  624. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  625. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  627. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  628. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  629. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  630. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  631. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  632. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  633. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  634. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  635. package/contracts/components/Component.sol +0 -241
  636. package/contracts/components/Distribution.sol +0 -308
  637. package/contracts/components/IComponent.sol +0 -54
  638. package/contracts/components/IDistributionComponent.sol +0 -100
  639. package/contracts/components/IPoolComponent.sol +0 -87
  640. package/contracts/components/IProductComponent.sol +0 -39
  641. package/contracts/components/Pool.sol +0 -254
  642. package/contracts/components/Product.sol +0 -285
  643. package/contracts/instance/BundleManager.sol +0 -125
  644. package/contracts/instance/InstanceAccessManager.sol +0 -297
  645. package/contracts/instance/ObjectManager.sol +0 -84
  646. package/contracts/instance/base/ComponentService.sol +0 -134
  647. package/contracts/instance/base/KeyValueStore.sol +0 -172
  648. package/contracts/instance/base/Lifecycle.sol +0 -100
  649. package/contracts/instance/module/ISetup.sol +0 -47
  650. package/contracts/instance/module/ITreasury.sol +0 -23
  651. package/contracts/instance/service/ApplicationService.sol +0 -268
  652. package/contracts/instance/service/BundleService.sol +0 -298
  653. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  654. package/contracts/instance/service/ClaimService.sol +0 -151
  655. package/contracts/instance/service/DistributionService.sol +0 -277
  656. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  657. package/contracts/instance/service/IBundleService.sol +0 -54
  658. package/contracts/instance/service/IClaimService.sol +0 -61
  659. package/contracts/instance/service/IDistributionService.sol +0 -65
  660. package/contracts/instance/service/IPolicyService.sol +0 -89
  661. package/contracts/instance/service/IPoolService.sol +0 -20
  662. package/contracts/instance/service/IProductService.sol +0 -40
  663. package/contracts/instance/service/PolicyService.sol +0 -474
  664. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  665. package/contracts/instance/service/PoolService.sol +0 -109
  666. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  667. package/contracts/instance/service/ProductService.sol +0 -233
  668. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  669. package/contracts/registry/RegistryAccessManager.sol +0 -216
  670. package/contracts/registry/ReleaseManager.sol +0 -322
  671. package/contracts/shared/ContractDeployerLib.sol +0 -72
  672. package/contracts/test/TestFee.sol +0 -25
  673. package/contracts/test/TestRegisterable.sol +0 -18
  674. package/contracts/test/TestRoleId.sol +0 -14
  675. package/contracts/test/TestService.sol +0 -25
  676. package/contracts/test/TestToken.sol +0 -26
  677. package/contracts/test/TestVersion.sol +0 -44
  678. package/contracts/test/TestVersionable.sol +0 -17
  679. package/contracts/types/ChainId.sol +0 -38
  680. package/contracts/types/NumberId.sol +0 -52
  681. package/contracts/types/ObjectType.sol +0 -156
  682. package/contracts/types/PayoutId.sol +0 -54
  683. package/contracts/types/RoleId.sol +0 -90
  684. /package/contracts/{types → type}/DistributorType.sol +0 -0
@@ -1,53 +1,67 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {DistributorType} from "../types/DistributorType.sol";
7
- import {Fee, FeeLib} from "../types/Fee.sol";
8
- import {Key32} from "../types/Key32.sol";
9
- import {NftId} from "../types/NftId.sol";
10
- import {ObjectType, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, TREASURY, BUNDLE} from "../types/ObjectType.sol";
11
- import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../types/Referral.sol";
12
- import {Registerable} from "../shared/Registerable.sol";
13
- import {RiskId} from "../types/RiskId.sol";
14
- import {UFixed, MathLib, UFixedLib} from "../types/UFixed.sol";
15
- import {Version} from "../types/Version.sol";
16
- import {StateId} from "../types/StateId.sol";
17
-
18
- import {IRegistry} from "../registry/IRegistry.sol";
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
6
+ import {DistributorType} from "../type/DistributorType.sol";
7
+ import {Key32} from "../type/Key32.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
10
+ import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
11
+ import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
12
+ import {RequestId} from "../type/RequestId.sol";
13
+ import {RiskId} from "../type/RiskId.sol";
14
+ import {RoleId} from "../type/RoleId.sol";
15
+ import {StateId} from "../type/StateId.sol";
16
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
17
+
19
18
  import {IBundle} from "../instance/module/IBundle.sol";
19
+ import {IComponents} from "../instance/module/IComponents.sol";
20
20
  import {IDistribution} from "../instance/module/IDistribution.sol";
21
21
  import {IInstance} from "./IInstance.sol";
22
- import {IKeyValueStore} from "../instance/base/IKeyValueStore.sol";
22
+ import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
23
+ import {IOracle} from "../oracle/IOracle.sol";
23
24
  import {IPolicy} from "../instance/module/IPolicy.sol";
24
25
  import {IRisk} from "../instance/module/IRisk.sol";
25
- import {ISetup} from "../instance/module/ISetup.sol";
26
- import {ITreasury} from "../instance/module/ITreasury.sol";
27
- import {TimestampLib} from "../types/Timestamp.sol";
26
+ import {TimestampLib} from "../type/Timestamp.sol";
28
27
 
28
+ import {InstanceStore} from "./InstanceStore.sol";
29
+ import {BundleSet} from "./BundleSet.sol";
30
+ import {RiskSet} from "./RiskSet.sol";
29
31
 
30
- contract InstanceReader {
31
- bool private _initialized;
32
32
 
33
- IRegistry internal _registry;
34
- IInstance internal _instance;
35
- IKeyValueStore internal _store;
33
+ contract InstanceReader {
36
34
 
37
- function initialize(address registry, address instance) public {
38
- require(!_initialized, "ERROR:CRD-000:ALREADY_INITIALIZED");
35
+ error ErrorInstanceReaderAlreadyInitialized();
36
+ error ErrorInstanceReaderInstanceAddressZero();
39
37
 
40
- require(
41
- address(registry) != address(0),
42
- "ERROR:CRD-001:REGISTRY_ZERO");
38
+ bool private _initialized = false;
43
39
 
40
+ IInstance internal _instance;
41
+ InstanceStore internal _store;
42
+ BundleSet internal _bundleSet;
43
+ RiskSet internal _riskSet;
44
+
45
+ /// @dev This initializer needs to be called from the instance itself.
46
+ function initialize() public {
47
+ if(_initialized) {
48
+ revert ErrorInstanceReaderAlreadyInitialized();
49
+ }
44
50
 
45
- _registry = IRegistry(registry);
51
+ initializeWithInstance(msg.sender);
52
+ }
46
53
 
47
- _instance = IInstance(instance);
48
- _store = IKeyValueStore(instance);
54
+ /// @dev This initializer needs to be called from the instance itself.
55
+ function initializeWithInstance(address instanceAddress) public {
56
+ if(_initialized) {
57
+ revert ErrorInstanceReaderAlreadyInitialized();
58
+ }
49
59
 
50
60
  _initialized = true;
61
+ _instance = IInstance(instanceAddress);
62
+ _store = _instance.getInstanceStore();
63
+ _bundleSet = _instance.getBundleSet();
64
+ _riskSet = _instance.getRiskSet();
51
65
  }
52
66
 
53
67
 
@@ -69,7 +83,198 @@ contract InstanceReader {
69
83
  view
70
84
  returns (StateId state)
71
85
  {
72
- return _instance.getState(toPolicyKey(policyNftId));
86
+ return _store.getState(toPolicyKey(policyNftId));
87
+ }
88
+
89
+ function getPremiumInfo(NftId policyNftId)
90
+ public
91
+ view
92
+ returns (IPolicy.PremiumInfo memory info)
93
+ {
94
+ bytes memory data = _store.getData(toPremiumKey(policyNftId));
95
+ if (data.length > 0) {
96
+ return abi.decode(data, (IPolicy.PremiumInfo));
97
+ }
98
+ }
99
+
100
+ function getPremiumInfoState(NftId policyNftId)
101
+ public
102
+ view
103
+ returns (StateId state)
104
+ {
105
+ return _store.getState(toPremiumKey(policyNftId));
106
+ }
107
+
108
+ function bundles(NftId poolNftId)
109
+ public
110
+ view
111
+ returns (uint256 bundles)
112
+ {
113
+ return _bundleSet.bundles(poolNftId);
114
+ }
115
+
116
+ function activeBundles(NftId poolNftId)
117
+ public
118
+ view
119
+ returns (uint256 bundles)
120
+ {
121
+ return _bundleSet.activeBundles(poolNftId);
122
+ }
123
+
124
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx)
125
+ public
126
+ view
127
+ returns (NftId bundleNftId)
128
+ {
129
+ return _bundleSet.getActiveBundleNftId(poolNftId, idx);
130
+ }
131
+
132
+ function getBundleNftId(NftId poolNftId, uint256 idx)
133
+ public
134
+ view
135
+ returns (NftId bundleNftId)
136
+ {
137
+ return _bundleSet.getBundleNftId(poolNftId, idx);
138
+ }
139
+
140
+ function getBundleState(NftId bundleNftId)
141
+ public
142
+ view
143
+ returns (StateId state)
144
+ {
145
+ return _store.getState(toBundleKey(bundleNftId));
146
+ }
147
+
148
+ /// @dev Returns true iff policy is active.
149
+ function policyIsActive(NftId policyNftId)
150
+ public
151
+ view
152
+ returns (bool isCloseable)
153
+ {
154
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
155
+
156
+ if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
157
+ if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
158
+ if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
159
+ if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
160
+
161
+ return true;
162
+ }
163
+
164
+ function claims(NftId policyNftId)
165
+ public
166
+ view
167
+ returns (uint16 claims)
168
+ {
169
+ return getPolicyInfo(policyNftId).claimsCount;
170
+ }
171
+
172
+
173
+ function getClaimId(uint idx)
174
+ public
175
+ view
176
+ returns (ClaimId claimId)
177
+ {
178
+ return ClaimIdLib.toClaimId(idx + 1);
179
+ }
180
+
181
+ function getClaimInfo(NftId policyNftId, ClaimId claimId)
182
+ public
183
+ view
184
+ returns (IPolicy.ClaimInfo memory info)
185
+ {
186
+ bytes memory data = _store.getData(claimId.toKey32(policyNftId));
187
+ if (data.length > 0) {
188
+ return abi.decode(data, (IPolicy.ClaimInfo));
189
+ }
190
+ }
191
+
192
+
193
+ function getClaimState(NftId policyNftId, ClaimId claimId)
194
+ public
195
+ view
196
+ returns (StateId state)
197
+ {
198
+ return _store.getState(claimId.toKey32(policyNftId));
199
+ }
200
+
201
+
202
+ function payouts(NftId policyNftId, ClaimId claimId)
203
+ public
204
+ view
205
+ returns (uint24 payouts)
206
+ {
207
+ return getClaimInfo(policyNftId, claimId).payoutsCount;
208
+ }
209
+
210
+
211
+ function getPayoutId(ClaimId claimId, uint24 idx)
212
+ public
213
+ view
214
+ returns (PayoutId payoutId)
215
+ {
216
+ return PayoutIdLib.toPayoutId(claimId, idx + 1);
217
+ }
218
+
219
+
220
+ function getRemainingClaimableAmount(NftId policyNftId)
221
+ public
222
+ view
223
+ returns (Amount remainingClaimableAmount)
224
+ {
225
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
226
+ return info.sumInsuredAmount - info.claimAmount;
227
+ }
228
+
229
+ function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
230
+ public
231
+ view
232
+ returns (IPolicy.PayoutInfo memory info)
233
+ {
234
+ bytes memory data = _store.getData(payoutId.toKey32(policyNftId));
235
+ if (data.length > 0) {
236
+ return abi.decode(data, (IPolicy.PayoutInfo));
237
+ }
238
+ }
239
+
240
+ function getPayoutState(NftId policyNftId, PayoutId payoutId)
241
+ public
242
+ view
243
+ returns (StateId state)
244
+ {
245
+ return _store.getState(payoutId.toKey32(policyNftId));
246
+ }
247
+
248
+ function risks(NftId productNftId)
249
+ public
250
+ view
251
+ returns (uint256 activeRisks)
252
+ {
253
+ return _riskSet.risks(productNftId);
254
+ }
255
+
256
+ function getRiskId(NftId productNftId, uint256 idx)
257
+ public
258
+ view
259
+ returns (RiskId riskId)
260
+ {
261
+ return _riskSet.getRiskId(productNftId, idx);
262
+ }
263
+
264
+ function activeRisks(NftId productNftId)
265
+ public
266
+ view
267
+ returns (uint256 activeRisks)
268
+ {
269
+ return _riskSet.activeRisks(productNftId);
270
+ }
271
+
272
+ function getActiveRiskId(NftId productNftId, uint256 idx)
273
+ public
274
+ view
275
+ returns (RiskId riskId)
276
+ {
277
+ return _riskSet.getActiveRiskId(productNftId, idx);
73
278
  }
74
279
 
75
280
  function getRiskInfo(RiskId riskId)
@@ -83,30 +288,57 @@ contract InstanceReader {
83
288
  }
84
289
  }
85
290
 
86
- function getTokenHandler(NftId productNftId)
291
+ function getRiskState(RiskId riskId)
292
+ public
293
+ view
294
+ returns (StateId stateId)
295
+ {
296
+ bytes memory data = _store.getData(riskId.toKey32());
297
+ return _store.getState(riskId.toKey32());
298
+ }
299
+
300
+ function policiesForRisk(RiskId riskId)
301
+ public
302
+ view
303
+ returns (uint256 linkedPolicies)
304
+ {
305
+ return _riskSet.linkedPolicies(riskId);
306
+ }
307
+
308
+ function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
309
+ public
310
+ view
311
+ returns (NftId linkedPolicyNftId)
312
+ {
313
+ return _riskSet.getLinkedPolicyNftId(riskId, idx);
314
+ }
315
+
316
+ function getWallet(NftId componentNftId)
87
317
  public
88
318
  view
89
319
  returns (address tokenHandler)
90
320
  {
91
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
321
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
92
322
 
93
323
  if (data.length > 0) {
94
- ITreasury.TreasuryInfo memory info = abi.decode(data, (ITreasury.TreasuryInfo));
95
- return address(info.tokenHandler);
324
+ IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
325
+ return info.tokenHandler.getWallet();
96
326
  }
97
327
  }
98
328
 
99
- function getTreasuryInfo(NftId productNftId)
100
- public
101
- view
102
- returns (ITreasury.TreasuryInfo memory info)
329
+ function getTokenHandler(NftId componentNftId)
330
+ public
331
+ view
332
+ returns (address tokenHandler)
103
333
  {
104
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
334
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
335
+
105
336
  if (data.length > 0) {
106
- return abi.decode(data, (ITreasury.TreasuryInfo));
337
+ IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
338
+ return address(info.tokenHandler);
107
339
  }
108
340
  }
109
-
341
+
110
342
  function getBundleInfo(NftId bundleNftId)
111
343
  public
112
344
  view
@@ -140,36 +372,48 @@ contract InstanceReader {
140
372
  }
141
373
  }
142
374
 
143
- function getDistributionSetupInfo(NftId distributionNftId)
375
+ function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
376
+ return _store.getBalanceAmount(targetNftId);
377
+ }
378
+
379
+ function getLockedAmount(NftId targetNftId) external view returns (Amount) {
380
+ return _store.getLockedAmount(targetNftId);
381
+ }
382
+
383
+ function getFeeAmount(NftId targetNftId) external view returns (Amount) {
384
+ return _store.getFeeAmount(targetNftId);
385
+ }
386
+
387
+ function getComponentInfo(NftId componentNftId)
144
388
  public
145
389
  view
146
- returns (ISetup.DistributionSetupInfo memory info)
390
+ returns (IComponents.ComponentInfo memory info)
147
391
  {
148
- bytes memory data = _store.getData(toDistributionKey(distributionNftId));
392
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
149
393
  if (data.length > 0) {
150
- return abi.decode(data, (ISetup.DistributionSetupInfo));
394
+ return abi.decode(data, (IComponents.ComponentInfo));
151
395
  }
152
396
  }
153
397
 
154
- function getPoolSetupInfo(NftId poolNftId)
398
+ function getProductInfo(NftId productNftId)
155
399
  public
156
400
  view
157
- returns (ISetup.PoolSetupInfo memory info)
401
+ returns (IComponents.ProductInfo memory info)
158
402
  {
159
- bytes memory data = _store.getData(toPoolKey(poolNftId));
403
+ bytes memory data = _store.getData(toProductKey(productNftId));
160
404
  if (data.length > 0) {
161
- return abi.decode(data, (ISetup.PoolSetupInfo));
405
+ return abi.decode(data, (IComponents.ProductInfo));
162
406
  }
163
407
  }
164
408
 
165
- function getProductSetupInfo(NftId productNftId)
409
+ function getPoolInfo(NftId poolNftId)
166
410
  public
167
411
  view
168
- returns (ISetup.ProductSetupInfo memory info)
412
+ returns (IComponents.PoolInfo memory info)
169
413
  {
170
- bytes memory data = _store.getData(toProductKey(productNftId));
414
+ bytes memory data = _store.getData(toPoolKey(poolNftId));
171
415
  if (data.length > 0) {
172
- return abi.decode(data, (ISetup.ProductSetupInfo));
416
+ return abi.decode(data, (IComponents.PoolInfo));
173
417
  }
174
418
  }
175
419
 
@@ -184,6 +428,16 @@ contract InstanceReader {
184
428
  }
185
429
  }
186
430
 
431
+ function getRequestInfo(RequestId requestId)
432
+ public
433
+ view
434
+ returns (IOracle.RequestInfo memory requestInfo)
435
+ {
436
+ bytes memory data = _store.getData(requestId.toKey32());
437
+ if (data.length > 0) {
438
+ return abi.decode(data, (IOracle.RequestInfo));
439
+ }
440
+ }
187
441
 
188
442
  function getMetadata(Key32 key)
189
443
  public
@@ -193,6 +447,14 @@ contract InstanceReader {
193
447
  return _store.getMetadata(key);
194
448
  }
195
449
 
450
+ function getState(Key32 key)
451
+ public
452
+ view
453
+ returns (StateId state)
454
+ {
455
+ return _store.getMetadata(key).state;
456
+ }
457
+
196
458
 
197
459
  function toReferralId(
198
460
  NftId distributionNftId,
@@ -244,28 +506,44 @@ contract InstanceReader {
244
506
  }
245
507
 
246
508
 
247
- function toTreasuryKey(NftId productNftId) public pure returns (Key32) {
248
- return productNftId.toKey32(TREASURY());
509
+ function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
510
+ return _instance.getInstanceAdmin().hasRole(account, roleId);
511
+ }
512
+
513
+
514
+ function hasAdminRole(address account, RoleId roleId) public view returns (bool isMember) {
515
+ return _instance.getInstanceAdmin().hasAdminRole(account, roleId);
249
516
  }
250
517
 
251
518
 
519
+ function isTargetLocked(address target) public view returns (bool) {
520
+ return _instance.getInstanceAdmin().isTargetLocked(target);
521
+ }
522
+
252
523
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
253
524
  return policyNftId.toKey32(POLICY());
254
525
  }
255
526
 
527
+ function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
528
+ return policyNftId.toKey32(PREMIUM());
529
+ }
256
530
 
257
531
  function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
258
532
  return distributorNftId.toKey32(DISTRIBUTOR());
259
533
  }
260
534
 
261
- function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
262
- return distributionNftId.toKey32(DISTRIBUTION());
263
- }
264
-
265
535
  function toBundleKey(NftId poolNftId) public pure returns (Key32) {
266
536
  return poolNftId.toKey32(BUNDLE());
267
537
  }
268
538
 
539
+ function toComponentKey(NftId componentNftId) public pure returns (Key32) {
540
+ return componentNftId.toKey32(COMPONENT());
541
+ }
542
+
543
+ function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
544
+ return distributionNftId.toKey32(DISTRIBUTION());
545
+ }
546
+
269
547
  function toPoolKey(NftId poolNftId) public pure returns (Key32) {
270
548
  return poolNftId.toKey32(POOL());
271
549
  }
@@ -283,6 +561,14 @@ contract InstanceReader {
283
561
  return _store;
284
562
  }
285
563
 
564
+ function getBundleSet() external view returns (BundleSet bundleSet) {
565
+ return _bundleSet;
566
+ }
567
+
568
+ function getRiskSet() external view returns (RiskSet riskSet) {
569
+ return _riskSet;
570
+ }
571
+
286
572
  function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
287
573
  return UFixedLib.toUFixed(value, exp);
288
574
  }
@@ -290,4 +576,4 @@ contract InstanceReader {
290
576
  function toInt(UFixed value) public pure returns (uint256) {
291
577
  return UFixedLib.toInt(value);
292
578
  }
293
- }
579
+ }