@etherisc/gif-next 0.0.2-8bdd2eb-413 → 0.0.2-8c6c3ef-628

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 (591) hide show
  1. package/README.md +128 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1494 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +615 -0
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/{shared/IAccessManagerExtended.sol/IAccessManagerExtended.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +507 -845
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +382 -0
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  27. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1225 -0
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +644 -0
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +119 -605
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +529 -282
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +192 -118
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +133 -279
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +323 -66
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2018 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  53. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2405 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +265 -88
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +269 -111
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +278 -213
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1581 -253
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +716 -0
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1294 -401
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +275 -274
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -104
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1096 -770
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  102. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  107. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  108. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +938 -0
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  112. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
  113. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  114. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  115. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  116. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +753 -0
  117. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  118. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
  119. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  120. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +854 -0
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  122. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1013 -0
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  124. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +772 -0
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  126. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
  127. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  128. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
  129. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +408 -220
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +190 -104
  133. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +224 -34
  135. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +128 -396
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +472 -307
  139. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  140. package/artifacts/contracts/pool/Pool.sol/Pool.json +125 -684
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  142. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +472 -0
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +715 -541
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +189 -103
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +207 -170
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +129 -99
  151. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  152. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
  153. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  154. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
  155. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +454 -220
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +166 -120
  159. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +148 -8
  161. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +320 -15
  163. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +377 -103
  165. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  166. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +169 -82
  167. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -268
  169. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  170. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +100 -7
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +487 -292
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  174. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +727 -0
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +162 -104
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingService.sol/PricingService.json +252 -308
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  180. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -132
  181. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  182. package/artifacts/contracts/product/Product.sol/Product.json +268 -567
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  184. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  186. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  188. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +367 -63
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  192. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +84 -151
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  194. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  196. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  197. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  198. package/artifacts/contracts/registry/Registry.sol/Registry.json +599 -126
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1777 -166
  201. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  202. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  203. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  204. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +132 -278
  205. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  206. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +111 -85
  207. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  208. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  209. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  210. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  211. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  212. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
  213. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  214. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  215. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  216. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  217. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  218. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  219. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +542 -530
  221. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  222. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +152 -124
  223. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  224. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +63 -104
  225. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +661 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  233. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  235. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +512 -245
  237. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -133
  239. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  241. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  242. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  243. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  245. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  247. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  248. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  249. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  250. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  251. package/artifacts/contracts/shared/IService.sol/IService.json +67 -1
  252. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  253. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  254. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  255. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +106 -366
  256. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  257. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  258. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  260. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  261. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  262. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  264. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  265. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  266. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  268. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  269. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  270. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  271. package/artifacts/contracts/shared/Service.sol/Service.json +63 -104
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  276. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  277. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  278. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +196 -143
  280. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  281. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +203 -29
  282. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  283. package/artifacts/contracts/staking/Staking.sol/Staking.json +280 -421
  284. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  285. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  286. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  288. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +140 -117
  290. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
  292. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +259 -187
  294. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  295. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +117 -99
  296. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  297. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +273 -165
  298. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  299. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +94 -48
  300. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  301. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  302. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  304. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  306. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  308. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  310. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  312. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  313. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  314. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  315. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  316. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  318. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  319. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  320. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +153 -4
  322. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  324. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  326. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  328. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  330. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +283 -6
  332. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  334. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  336. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  338. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  340. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +126 -33
  346. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  348. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  350. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  351. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  352. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  354. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  356. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  357. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  358. package/contracts/accounting/AccountingService.sol +261 -0
  359. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  360. package/contracts/accounting/IAccountingService.sol +45 -0
  361. package/contracts/authorization/AccessAdmin.sol +704 -0
  362. package/contracts/authorization/AccessAdminLib.sol +183 -0
  363. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  364. package/contracts/authorization/Authorization.sol +365 -0
  365. package/contracts/authorization/IAccess.sol +57 -0
  366. package/contracts/authorization/IAccessAdmin.sol +170 -0
  367. package/contracts/authorization/IAuthorization.sol +80 -0
  368. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  369. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  370. package/contracts/distribution/BasicDistribution.sol +141 -0
  371. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  372. package/contracts/distribution/Distribution.sol +122 -139
  373. package/contracts/distribution/DistributionService.sol +237 -137
  374. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  375. package/contracts/distribution/IDistributionComponent.sol +19 -42
  376. package/contracts/distribution/IDistributionService.sol +44 -22
  377. package/contracts/examples/fire/DamageLevel.sol +59 -0
  378. package/contracts/examples/fire/FirePool.sol +86 -0
  379. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  380. package/contracts/examples/fire/FireProduct.sol +433 -0
  381. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  382. package/contracts/examples/fire/FireUSD.sol +26 -0
  383. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  384. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  385. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  386. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  387. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  388. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  389. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  390. package/contracts/instance/BundleSet.sol +130 -0
  391. package/contracts/instance/IInstance.sol +75 -48
  392. package/contracts/instance/IInstanceService.sol +47 -40
  393. package/contracts/instance/Instance.sol +198 -129
  394. package/contracts/instance/InstanceAdmin.sol +363 -244
  395. package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
  396. package/contracts/instance/InstanceReader.sol +329 -44
  397. package/contracts/instance/InstanceService.sol +272 -175
  398. package/contracts/instance/InstanceServiceManager.sol +8 -13
  399. package/contracts/instance/InstanceStore.sol +58 -20
  400. package/contracts/instance/RiskSet.sol +118 -0
  401. package/contracts/instance/base/BalanceStore.sol +14 -11
  402. package/contracts/instance/base/Cloneable.sol +2 -25
  403. package/contracts/instance/base/ObjectCounter.sol +20 -0
  404. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  405. package/contracts/instance/base/ObjectSet.sol +77 -0
  406. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  407. package/contracts/instance/module/IBundle.sol +6 -5
  408. package/contracts/instance/module/IComponents.sol +30 -20
  409. package/contracts/instance/module/IDistribution.sol +21 -9
  410. package/contracts/instance/module/IPolicy.sol +50 -29
  411. package/contracts/instance/module/IRisk.sol +5 -0
  412. package/contracts/mock/Dip.sol +1 -1
  413. package/contracts/oracle/BasicOracle.sol +45 -0
  414. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  415. package/contracts/oracle/IOracle.sol +41 -0
  416. package/contracts/oracle/IOracleComponent.sol +33 -0
  417. package/contracts/oracle/IOracleService.sol +66 -0
  418. package/contracts/oracle/Oracle.sol +154 -0
  419. package/contracts/oracle/OracleService.sol +310 -0
  420. package/contracts/oracle/OracleServiceManager.sol +39 -0
  421. package/contracts/pool/BasicPool.sol +173 -0
  422. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  423. package/contracts/pool/BundleService.sol +212 -112
  424. package/contracts/pool/BundleServiceManager.sol +8 -11
  425. package/contracts/pool/IBundleService.sol +31 -22
  426. package/contracts/pool/IPoolComponent.sol +20 -70
  427. package/contracts/pool/IPoolService.sol +90 -75
  428. package/contracts/pool/Pool.sol +207 -163
  429. package/contracts/pool/PoolLib.sol +309 -0
  430. package/contracts/pool/PoolService.sol +396 -262
  431. package/contracts/pool/PoolServiceManager.sol +6 -9
  432. package/contracts/product/ApplicationService.sol +132 -86
  433. package/contracts/product/ApplicationServiceManager.sol +6 -6
  434. package/contracts/product/BasicProduct.sol +49 -0
  435. package/contracts/product/BasicProductAuthorization.sol +56 -0
  436. package/contracts/product/ClaimService.sol +378 -180
  437. package/contracts/product/ClaimServiceManager.sol +6 -6
  438. package/contracts/product/IApplicationService.sol +9 -2
  439. package/contracts/product/IClaimService.sol +47 -5
  440. package/contracts/product/IPolicyService.sol +53 -36
  441. package/contracts/product/IPricingService.sol +11 -10
  442. package/contracts/product/IProductComponent.sol +29 -9
  443. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  444. package/contracts/product/PolicyService.sol +441 -276
  445. package/contracts/product/PolicyServiceLib.sol +119 -0
  446. package/contracts/product/PolicyServiceManager.sol +6 -9
  447. package/contracts/product/PricingService.sol +73 -65
  448. package/contracts/product/PricingServiceManager.sol +6 -9
  449. package/contracts/product/Product.sol +230 -140
  450. package/contracts/product/RiskService.sol +154 -0
  451. package/contracts/product/RiskServiceManager.sol +39 -0
  452. package/contracts/registry/ChainNft.sol +72 -40
  453. package/contracts/registry/IRegistry.sol +78 -32
  454. package/contracts/registry/IRegistryService.sol +3 -10
  455. package/contracts/registry/IRelease.sol +29 -0
  456. package/contracts/registry/ITransferInterceptor.sol +1 -2
  457. package/contracts/registry/Registry.sol +368 -214
  458. package/contracts/registry/RegistryAdmin.sol +188 -167
  459. package/contracts/registry/RegistryAuthorization.sol +267 -0
  460. package/contracts/registry/RegistryService.sol +46 -71
  461. package/contracts/registry/RegistryServiceManager.sol +5 -10
  462. package/contracts/registry/ReleaseAdmin.sol +253 -0
  463. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  464. package/contracts/registry/ReleaseRegistry.sol +517 -0
  465. package/contracts/registry/ServiceAuthorizationV3.sol +332 -0
  466. package/contracts/registry/TokenRegistry.sol +12 -11
  467. package/contracts/shared/Component.sol +66 -134
  468. package/contracts/shared/ComponentService.sol +429 -364
  469. package/contracts/shared/ComponentServiceManager.sol +10 -7
  470. package/contracts/shared/ComponentVerifyingService.sol +40 -23
  471. package/contracts/shared/ContractLib.sol +347 -0
  472. package/contracts/shared/IComponent.sol +5 -17
  473. package/contracts/shared/IComponentService.sol +50 -31
  474. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  475. package/contracts/shared/IKeyValueStore.sol +1 -0
  476. package/contracts/shared/ILifecycle.sol +3 -2
  477. package/contracts/shared/INftOwnable.sol +2 -0
  478. package/contracts/shared/IPolicyHolder.sol +12 -22
  479. package/contracts/shared/IRegisterable.sol +23 -1
  480. package/contracts/shared/IService.sol +10 -5
  481. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  482. package/contracts/shared/InstanceLinkedComponent.sol +95 -45
  483. package/contracts/shared/KeyValueStore.sol +7 -3
  484. package/contracts/shared/Lifecycle.sol +30 -63
  485. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  486. package/contracts/shared/NftOwnable.sol +31 -11
  487. package/contracts/shared/PolicyHolder.sol +17 -57
  488. package/contracts/shared/Registerable.sol +52 -21
  489. package/contracts/shared/RegistryLinked.sol +9 -14
  490. package/contracts/shared/Service.sol +28 -40
  491. package/contracts/shared/TokenHandler.sol +310 -26
  492. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  493. package/contracts/staking/IStaking.sol +26 -15
  494. package/contracts/staking/IStakingService.sol +41 -15
  495. package/contracts/staking/Staking.sol +153 -158
  496. package/contracts/staking/StakingLib.sol +281 -0
  497. package/contracts/staking/StakingLifecycle.sol +23 -0
  498. package/contracts/staking/StakingManager.sol +10 -12
  499. package/contracts/staking/StakingReader.sol +26 -33
  500. package/contracts/staking/StakingService.sol +143 -82
  501. package/contracts/staking/StakingServiceManager.sol +8 -8
  502. package/contracts/staking/StakingStore.sol +94 -60
  503. package/contracts/staking/TargetManagerLib.sol +7 -3
  504. package/contracts/type/Amount.sol +27 -5
  505. package/contracts/type/Blocknumber.sol +7 -1
  506. package/contracts/type/ClaimId.sol +6 -1
  507. package/contracts/type/Fee.sol +8 -8
  508. package/contracts/type/Key32.sol +2 -2
  509. package/contracts/type/Key32Set.sol +62 -0
  510. package/contracts/type/NftId.sol +7 -0
  511. package/contracts/type/ObjectType.sol +190 -65
  512. package/contracts/type/PayoutId.sol +10 -10
  513. package/contracts/type/Referral.sol +1 -0
  514. package/contracts/type/RequestId.sol +75 -0
  515. package/contracts/type/RiskId.sol +38 -6
  516. package/contracts/type/RoleId.sol +117 -78
  517. package/contracts/type/Seconds.sol +21 -1
  518. package/contracts/type/Selector.sol +107 -0
  519. package/contracts/type/StateId.sol +27 -1
  520. package/contracts/type/String.sol +53 -0
  521. package/contracts/type/Timestamp.sol +16 -7
  522. package/contracts/type/UFixed.sol +61 -125
  523. package/contracts/type/Version.sol +57 -6
  524. package/contracts/{shared → upgradeability}/ProxyManager.sol +82 -47
  525. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +8 -4
  526. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  527. package/package.json +12 -8
  528. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  529. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  530. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  531. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -204
  532. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  533. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  534. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  535. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  536. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  537. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  538. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
  539. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  540. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
  541. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  542. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
  543. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  544. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  545. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  546. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  547. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  548. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  549. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  550. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  551. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  552. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  553. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  554. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  555. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  556. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  557. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  558. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  559. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  560. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  561. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  562. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  563. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  564. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  565. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  566. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  567. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  568. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  569. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  570. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  571. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -444
  572. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  573. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  574. package/contracts/instance/BundleManager.sol +0 -126
  575. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -349
  576. package/contracts/instance/base/ObjectManager.sol +0 -82
  577. package/contracts/instance/module/IAccess.sol +0 -46
  578. package/contracts/product/ProductService.sol +0 -124
  579. package/contracts/product/ProductServiceManager.sol +0 -42
  580. package/contracts/registry/ReleaseManager.sol +0 -599
  581. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  582. package/contracts/shared/AccessManagerCustom.sol +0 -736
  583. package/contracts/shared/AccessManagerExtended.sol +0 -470
  584. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  585. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  586. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  587. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  588. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  589. package/contracts/shared/InitializableCustom.sol +0 -177
  590. package/contracts/staking/StakeManagerLib.sol +0 -179
  591. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -3,31 +3,36 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
5
 
6
- import {Amount} from "../type/Amount.sol";
7
- import {ClaimId} from "../type/ClaimId.sol";
8
- import {DistributorType} from "../type/DistributorType.sol";
9
- import {Fee, FeeLib} from "../type/Fee.sol";
10
- import {Key32} from "../type/Key32.sol";
11
- import {NftId} from "../type/NftId.sol";
12
- import {ObjectType, COMPONENT, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, FEE, BUNDLE} from "../type/ObjectType.sol";
13
- import {PayoutId} from "../type/PayoutId.sol";
14
- import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
15
- import {RiskId} from "../type/RiskId.sol";
16
- import {UFixed, MathLib, UFixedLib} from "../type/UFixed.sol";
17
- import {Version} from "../type/Version.sol";
18
- import {StateId} from "../type/StateId.sol";
19
-
20
- import {IRegistry} from "../registry/IRegistry.sol";
21
6
  import {IBundle} from "../instance/module/IBundle.sol";
22
7
  import {IComponents} from "../instance/module/IComponents.sol";
23
8
  import {IDistribution} from "../instance/module/IDistribution.sol";
9
+ import {IDistributionService} from "../distribution/IDistributionService.sol";
24
10
  import {IInstance} from "./IInstance.sol";
25
11
  import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
12
+ import {IOracle} from "../oracle/IOracle.sol";
26
13
  import {IPolicy} from "../instance/module/IPolicy.sol";
14
+ import {IRegistry} from "../registry/IRegistry.sol";
27
15
  import {IRisk} from "../instance/module/IRisk.sol";
28
16
  import {TimestampLib} from "../type/Timestamp.sol";
29
17
 
18
+ import {Amount} from "../type/Amount.sol";
19
+ import {BundleSet} from "./BundleSet.sol";
20
+ import {BUNDLE, COMPONENT, DISTRIBUTOR, DISTRIBUTION, FEE, PREMIUM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
21
+ import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
22
+ import {DistributorType} from "../type/DistributorType.sol";
30
23
  import {InstanceStore} from "./InstanceStore.sol";
24
+ import {Key32} from "../type/Key32.sol";
25
+ import {NftId} from "../type/NftId.sol";
26
+ import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
27
+ import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
28
+ import {RequestId} from "../type/RequestId.sol";
29
+ import {RiskId} from "../type/RiskId.sol";
30
+ import {RiskSet} from "./RiskSet.sol";
31
+ import {RoleId} from "../type/RoleId.sol";
32
+ import {StateId} from "../type/StateId.sol";
33
+ import {TokenHandler} from "../shared/TokenHandler.sol";
34
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
35
+
31
36
 
32
37
 
33
38
  contract InstanceReader {
@@ -35,26 +40,68 @@ contract InstanceReader {
35
40
  error ErrorInstanceReaderAlreadyInitialized();
36
41
  error ErrorInstanceReaderInstanceAddressZero();
37
42
 
38
- bool private _initialized;
43
+ bool private _initialized = false;
39
44
 
45
+ IRegistry internal _registry;
40
46
  IInstance internal _instance;
47
+
41
48
  InstanceStore internal _store;
49
+ BundleSet internal _bundleSet;
50
+ RiskSet internal _riskSet;
51
+ IDistributionService internal _distributionService;
42
52
 
43
- function initialize(address instance) public {
53
+ /// @dev This initializer needs to be called from the instance itself.
54
+ function initialize() public {
44
55
  if(_initialized) {
45
56
  revert ErrorInstanceReaderAlreadyInitialized();
46
57
  }
47
58
 
48
- if(instance == address(0)) {
49
- revert ErrorInstanceReaderInstanceAddressZero();
59
+ initializeWithInstance(msg.sender);
60
+ }
61
+
62
+ function initializeWithInstance(address instanceAddress)
63
+ public
64
+ {
65
+ if(_initialized) {
66
+ revert ErrorInstanceReaderAlreadyInitialized();
50
67
  }
51
68
 
52
- _instance = IInstance(instance);
69
+ _initialized = true;
70
+ _instance = IInstance(instanceAddress);
71
+ _registry = _instance.getRegistry();
72
+
53
73
  _store = _instance.getInstanceStore();
74
+ _bundleSet = _instance.getBundleSet();
75
+ _riskSet = _instance.getRiskSet();
76
+ _distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
77
+ }
54
78
 
55
- _initialized = true;
79
+
80
+ // instance level functions
81
+
82
+ function getRegistry() public view returns (IRegistry registry) {
83
+ return _registry;
84
+ }
85
+
86
+ function getInstanceNftId() public view returns (NftId instanceNftid) {
87
+ return _registry.getNftIdForAddress(address(_instance));
56
88
  }
57
89
 
90
+ function getInstance() public view returns (IInstance instance) {
91
+ return _instance;
92
+ }
93
+
94
+ function components() public view returns (uint256 componentCount) {
95
+ return _instance.getInstanceAdmin().components();
96
+ }
97
+
98
+ function products() public view returns (uint256 productCount) {
99
+ return _instance.products();
100
+ }
101
+
102
+ function getProductNftId(uint256 idx) public view returns (NftId productNftId) {
103
+ return _instance.getProductNftId(idx);
104
+ }
58
105
 
59
106
  // module specific functions
60
107
 
@@ -77,14 +124,67 @@ contract InstanceReader {
77
124
  return _store.getState(toPolicyKey(policyNftId));
78
125
  }
79
126
 
80
- /// @dev returns true iff policy may be closed
81
- /// a policy can be closed all conditions below are met
82
- /// - policy exists
83
- /// - has been activated
84
- /// - is not yet closed
85
- /// - has no open claims
86
- /// - claim amount matches sum insured amount or is expired
87
- function policyIsCloseable(NftId policyNftId)
127
+ function getPremiumInfo(NftId policyNftId)
128
+ public
129
+ view
130
+ returns (IPolicy.PremiumInfo memory info)
131
+ {
132
+ bytes memory data = _store.getData(toPremiumKey(policyNftId));
133
+ if (data.length > 0) {
134
+ return abi.decode(data, (IPolicy.PremiumInfo));
135
+ }
136
+ }
137
+
138
+ function getPremiumInfoState(NftId policyNftId)
139
+ public
140
+ view
141
+ returns (StateId state)
142
+ {
143
+ return _store.getState(toPremiumKey(policyNftId));
144
+ }
145
+
146
+ function bundles(NftId poolNftId)
147
+ public
148
+ view
149
+ returns (uint256 bundleCount)
150
+ {
151
+ return _bundleSet.bundles(poolNftId);
152
+ }
153
+
154
+ function activeBundles(NftId poolNftId)
155
+ public
156
+ view
157
+ returns (uint256 bundleCount)
158
+ {
159
+ return _bundleSet.activeBundles(poolNftId);
160
+ }
161
+
162
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx)
163
+ public
164
+ view
165
+ returns (NftId bundleNftId)
166
+ {
167
+ return _bundleSet.getActiveBundleNftId(poolNftId, idx);
168
+ }
169
+
170
+ function getBundleNftId(NftId poolNftId, uint256 idx)
171
+ public
172
+ view
173
+ returns (NftId bundleNftId)
174
+ {
175
+ return _bundleSet.getBundleNftId(poolNftId, idx);
176
+ }
177
+
178
+ function getBundleState(NftId bundleNftId)
179
+ public
180
+ view
181
+ returns (StateId state)
182
+ {
183
+ return _store.getState(toBundleKey(bundleNftId));
184
+ }
185
+
186
+ /// @dev Returns true iff policy is active.
187
+ function policyIsActive(NftId policyNftId)
88
188
  public
89
189
  view
90
190
  returns (bool isCloseable)
@@ -93,17 +193,27 @@ contract InstanceReader {
93
193
 
94
194
  if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
95
195
  if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
96
- if (info.closedAt.gtz()) { return false; } // not closeable: already closed
97
- if (info.openClaimsCount > 0) { return false; } // not closeable: has open claims
196
+ if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
197
+ if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
98
198
 
99
- // closeable: if sum of claims matches sum insured a policy may be closed prior to the expiry date
100
- if (info.claimAmount == info.sumInsuredAmount) { return true; }
199
+ return true;
200
+ }
201
+
202
+ function claims(NftId policyNftId)
203
+ public
204
+ view
205
+ returns (uint16 claimCount)
206
+ {
207
+ return getPolicyInfo(policyNftId).claimsCount;
208
+ }
101
209
 
102
- // not closeable: not yet expired
103
- if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
104
210
 
105
- // all conditionsl to close the policy are met
106
- return true;
211
+ function getClaimId(uint idx)
212
+ public
213
+ view
214
+ returns (ClaimId claimId)
215
+ {
216
+ return ClaimIdLib.toClaimId(idx + 1);
107
217
  }
108
218
 
109
219
  function getClaimInfo(NftId policyNftId, ClaimId claimId)
@@ -117,6 +227,7 @@ contract InstanceReader {
117
227
  }
118
228
  }
119
229
 
230
+
120
231
  function getClaimState(NftId policyNftId, ClaimId claimId)
121
232
  public
122
233
  view
@@ -125,6 +236,34 @@ contract InstanceReader {
125
236
  return _store.getState(claimId.toKey32(policyNftId));
126
237
  }
127
238
 
239
+
240
+ function payouts(NftId policyNftId, ClaimId claimId)
241
+ public
242
+ view
243
+ returns (uint24 payoutCount)
244
+ {
245
+ return getClaimInfo(policyNftId, claimId).payoutsCount;
246
+ }
247
+
248
+
249
+ function getPayoutId(ClaimId claimId, uint24 idx)
250
+ public
251
+ view
252
+ returns (PayoutId payoutId)
253
+ {
254
+ return PayoutIdLib.toPayoutId(claimId, idx + 1);
255
+ }
256
+
257
+
258
+ function getRemainingClaimableAmount(NftId policyNftId)
259
+ public
260
+ view
261
+ returns (Amount remainingClaimableAmount)
262
+ {
263
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
264
+ return info.sumInsuredAmount - info.claimAmount;
265
+ }
266
+
128
267
  function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
129
268
  public
130
269
  view
@@ -144,6 +283,38 @@ contract InstanceReader {
144
283
  return _store.getState(payoutId.toKey32(policyNftId));
145
284
  }
146
285
 
286
+ function risks(NftId productNftId)
287
+ public
288
+ view
289
+ returns (uint256 riskCount)
290
+ {
291
+ return _riskSet.risks(productNftId);
292
+ }
293
+
294
+ function getRiskId(NftId productNftId, uint256 idx)
295
+ public
296
+ view
297
+ returns (RiskId riskId)
298
+ {
299
+ return _riskSet.getRiskId(productNftId, idx);
300
+ }
301
+
302
+ function activeRisks(NftId productNftId)
303
+ public
304
+ view
305
+ returns (uint256 activeRiskCount)
306
+ {
307
+ return _riskSet.activeRisks(productNftId);
308
+ }
309
+
310
+ function getActiveRiskId(NftId productNftId, uint256 idx)
311
+ public
312
+ view
313
+ returns (RiskId riskId)
314
+ {
315
+ return _riskSet.getActiveRiskId(productNftId, idx);
316
+ }
317
+
147
318
  function getRiskInfo(RiskId riskId)
148
319
  public
149
320
  view
@@ -155,19 +326,68 @@ contract InstanceReader {
155
326
  }
156
327
  }
157
328
 
329
+ function getRiskState(RiskId riskId)
330
+ public
331
+ view
332
+ returns (StateId stateId)
333
+ {
334
+ bytes memory data = _store.getData(riskId.toKey32());
335
+ return _store.getState(riskId.toKey32());
336
+ }
337
+
338
+ function policiesForRisk(RiskId riskId)
339
+ public
340
+ view
341
+ returns (uint256 linkedPolicies)
342
+ {
343
+ return _riskSet.linkedPolicies(riskId);
344
+ }
345
+
346
+ function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
347
+ public
348
+ view
349
+ returns (NftId linkedPolicyNftId)
350
+ {
351
+ return _riskSet.getLinkedPolicyNftId(riskId, idx);
352
+ }
353
+
354
+
355
+ function getToken(NftId componentNftId)
356
+ public
357
+ view
358
+ returns (IERC20Metadata token)
359
+ {
360
+ TokenHandler tokenHandler = getTokenHandler(componentNftId);
361
+ if (address(tokenHandler) != address(0)) {
362
+ return tokenHandler.TOKEN();
363
+ }
364
+ }
365
+
366
+
367
+ function getWallet(NftId componentNftId)
368
+ public
369
+ view
370
+ returns (address wallet)
371
+ {
372
+ TokenHandler tokenHandler = getTokenHandler(componentNftId);
373
+ if (address(tokenHandler) != address(0)) {
374
+ return tokenHandler.getWallet();
375
+ }
376
+ }
377
+
378
+
158
379
  function getTokenHandler(NftId componentNftId)
159
380
  public
160
381
  view
161
- returns (address tokenHandler)
382
+ returns (TokenHandler tokenHandler)
162
383
  {
163
384
  bytes memory data = _store.getData(toComponentKey(componentNftId));
164
-
165
385
  if (data.length > 0) {
166
- IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
167
- return address(info.tokenHandler);
386
+ return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
168
387
  }
169
388
  }
170
389
 
390
+
171
391
  function getBundleInfo(NftId bundleNftId)
172
392
  public
173
393
  view
@@ -235,6 +455,17 @@ contract InstanceReader {
235
455
  }
236
456
  }
237
457
 
458
+ function getFeeInfo(NftId productNftId)
459
+ public
460
+ view
461
+ returns (IComponents.FeeInfo memory feeInfo)
462
+ {
463
+ bytes memory data = _store.getData(toFeeKey(productNftId));
464
+ if (data.length > 0) {
465
+ return abi.decode(data, (IComponents.FeeInfo));
466
+ }
467
+ }
468
+
238
469
  function getPoolInfo(NftId poolNftId)
239
470
  public
240
471
  view
@@ -257,6 +488,26 @@ contract InstanceReader {
257
488
  }
258
489
  }
259
490
 
491
+ function isReferralValid(NftId distributionNftId, ReferralId referralId)
492
+ external
493
+ view
494
+ returns (bool isValid)
495
+ {
496
+ return _distributionService.referralIsValid(
497
+ distributionNftId,
498
+ referralId);
499
+ }
500
+
501
+ function getRequestInfo(RequestId requestId)
502
+ public
503
+ view
504
+ returns (IOracle.RequestInfo memory requestInfo)
505
+ {
506
+ bytes memory data = _store.getData(requestId.toKey32());
507
+ if (data.length > 0) {
508
+ return abi.decode(data, (IOracle.RequestInfo));
509
+ }
510
+ }
260
511
 
261
512
  function getMetadata(Key32 key)
262
513
  public
@@ -266,6 +517,14 @@ contract InstanceReader {
266
517
  return _store.getMetadata(key);
267
518
  }
268
519
 
520
+ function getState(Key32 key)
521
+ public
522
+ view
523
+ returns (StateId state)
524
+ {
525
+ return _store.getMetadata(key).state;
526
+ }
527
+
269
528
 
270
529
  function toReferralId(
271
530
  NftId distributionNftId,
@@ -317,10 +576,27 @@ contract InstanceReader {
317
576
  }
318
577
 
319
578
 
579
+ function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
580
+ return _instance.getInstanceAdmin().hasRole(account, roleId);
581
+ }
582
+
583
+
584
+ function hasAdminRole(address account, RoleId roleId) public view returns (bool isMember) {
585
+ return _instance.getInstanceAdmin().hasAdminRole(account, roleId);
586
+ }
587
+
588
+
589
+ function isLocked(address target) public view returns (bool) {
590
+ return _instance.getInstanceAdmin().isTargetLocked(target);
591
+ }
592
+
320
593
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
321
594
  return policyNftId.toKey32(POLICY());
322
595
  }
323
596
 
597
+ function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
598
+ return policyNftId.toKey32(PREMIUM());
599
+ }
324
600
 
325
601
  function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
326
602
  return distributorNftId.toKey32(DISTRIBUTOR());
@@ -346,15 +622,24 @@ contract InstanceReader {
346
622
  return productNftId.toKey32(PRODUCT());
347
623
  }
348
624
 
349
- // low level function
350
- function getInstance() external view returns (IInstance instance) {
351
- return _instance;
625
+ function toFeeKey(NftId productNftId) public pure returns (Key32) {
626
+ return productNftId.toKey32(FEE());
352
627
  }
353
628
 
629
+ // low level function
630
+
354
631
  function getInstanceStore() external view returns (IKeyValueStore store) {
355
632
  return _store;
356
633
  }
357
634
 
635
+ function getBundleSet() external view returns (BundleSet bundleSet) {
636
+ return _bundleSet;
637
+ }
638
+
639
+ function getRiskSet() external view returns (RiskSet riskSet) {
640
+ return _riskSet;
641
+ }
642
+
358
643
  function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
359
644
  return UFixedLib.toUFixed(value, exp);
360
645
  }