@etherisc/gif-next 0.0.2-ba07940-332 → 0.0.2-ba5b255-091

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 (479) hide show
  1. package/README.md +27 -6
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +452 -243
  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 +1 -1
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -21
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +348 -184
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +100 -13
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +92 -285
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +207 -33
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +44 -162
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +309 -168
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +89 -51
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +31 -131
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +177 -67
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +93 -139
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +188 -46
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +247 -287
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +207 -33
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +161 -244
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +76 -155
  56. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -131
  58. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +288 -226
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  64. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  66. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +192 -30
  68. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +177 -12
  70. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/Instance.sol/Instance.json +221 -67
  72. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +775 -306
  74. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +226 -46
  76. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +713 -201
  78. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +203 -85
  80. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +46 -34
  82. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +421 -371
  84. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  86. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  88. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  91. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  93. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  95. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  97. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  98. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  102. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +66 -167
  105. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +189 -35
  107. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +36 -71
  110. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
  112. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +50 -103
  114. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +112 -81
  116. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +69 -27
  118. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +49 -102
  120. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  121. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +188 -46
  122. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +127 -331
  124. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +53 -87
  126. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +56 -136
  128. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +36 -95
  130. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +163 -226
  132. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  133. package/artifacts/contracts/pool/Pool.sol/Pool.json +49 -126
  134. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  135. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  136. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +302 -363
  138. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +93 -51
  140. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +165 -57
  142. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +54 -24
  144. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +155 -193
  146. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +207 -33
  148. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +244 -179
  150. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +74 -64
  152. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +103 -10
  154. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +142 -20
  156. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +112 -56
  158. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +48 -3
  160. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +142 -162
  162. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +58 -7
  164. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +211 -180
  166. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  167. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  168. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  169. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +76 -50
  170. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  171. package/artifacts/contracts/product/PricingService.sol/PricingService.json +120 -76
  172. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +60 -38
  174. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  175. package/artifacts/contracts/product/Product.sol/Product.json +155 -193
  176. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  177. package/artifacts/contracts/product/RiskService.sol/RiskService.json +143 -77
  178. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +66 -24
  180. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  181. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  182. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  183. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +50 -2
  184. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
  186. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  187. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  188. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  189. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/Registry.sol/Registry.json +88 -40
  191. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  192. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +559 -415
  193. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  194. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  195. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -46
  197. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +42 -20
  199. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  200. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1966 -0
  201. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  202. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  203. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +332 -54
  205. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
  207. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  209. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  210. package/artifacts/contracts/shared/Component.sol/Component.json +49 -88
  211. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  212. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +228 -440
  213. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +65 -63
  215. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +509 -4
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  225. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +36 -57
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +123 -262
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +36 -71
  231. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  232. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  233. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
  237. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
  240. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  241. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  242. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  243. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +49 -102
  244. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  246. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  247. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  248. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  249. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  250. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  251. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  252. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
  254. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  255. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  256. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  257. package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
  258. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  259. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
  260. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  261. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  262. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  263. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
  264. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  265. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +116 -90
  266. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  267. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +127 -3
  268. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  269. package/artifacts/contracts/staking/Staking.sol/Staking.json +193 -193
  270. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  271. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  272. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  273. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
  274. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  275. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +61 -45
  276. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  277. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +30 -57
  278. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +180 -49
  280. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +50 -24
  282. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +143 -129
  284. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  285. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +33 -23
  286. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  287. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/Amount.sol/AmountLib.json +3 -3
  289. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  292. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  294. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
  296. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  298. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  299. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  300. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  302. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  303. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  304. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  306. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  308. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  310. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  312. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +69 -7
  314. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
  316. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  319. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  321. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  325. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +3 -3
  327. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  329. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  331. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  332. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  333. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +18 -2
  334. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  335. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  336. package/contracts/accounting/AccountingService.sol +262 -0
  337. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  338. package/contracts/accounting/IAccountingService.sol +45 -0
  339. package/contracts/authorization/AccessAdmin.sol +301 -192
  340. package/contracts/authorization/AccessAdminLib.sol +183 -0
  341. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  342. package/contracts/authorization/Authorization.sol +307 -231
  343. package/contracts/authorization/IAccessAdmin.sol +69 -36
  344. package/contracts/authorization/IAuthorization.sol +21 -1
  345. package/contracts/distribution/BasicDistribution.sol +18 -16
  346. package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
  347. package/contracts/distribution/Distribution.sol +36 -77
  348. package/contracts/distribution/DistributionService.sol +84 -53
  349. package/contracts/distribution/DistributionServiceManager.sol +1 -1
  350. package/contracts/distribution/IDistributionComponent.sol +0 -9
  351. package/contracts/distribution/IDistributionService.sol +22 -20
  352. package/contracts/examples/fire/FirePool.sol +10 -11
  353. package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
  354. package/contracts/examples/fire/FireProduct.sol +16 -11
  355. package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
  356. package/contracts/examples/unpermissioned/SimpleDistribution.sol +39 -8
  357. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  358. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
  359. package/contracts/examples/unpermissioned/SimplePool.sol +26 -5
  360. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  361. package/contracts/examples/unpermissioned/SimpleProduct.sol +36 -8
  362. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  363. package/contracts/instance/BundleSet.sol +42 -38
  364. package/contracts/instance/IInstance.sol +61 -18
  365. package/contracts/instance/IInstanceService.sol +31 -9
  366. package/contracts/instance/Instance.sol +107 -53
  367. package/contracts/instance/InstanceAdmin.sol +310 -115
  368. package/contracts/instance/InstanceAuthorizationV3.sol +99 -40
  369. package/contracts/instance/InstanceReader.sol +209 -33
  370. package/contracts/instance/InstanceService.sol +205 -115
  371. package/contracts/instance/InstanceServiceManager.sol +1 -1
  372. package/contracts/instance/InstanceStore.sol +13 -2
  373. package/contracts/instance/RiskSet.sol +118 -0
  374. package/contracts/instance/base/ObjectCounter.sol +1 -2
  375. package/contracts/instance/base/ObjectLifecycle.sol +4 -2
  376. package/contracts/instance/base/ObjectSet.sol +31 -33
  377. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  378. package/contracts/instance/module/IComponents.sol +3 -4
  379. package/contracts/instance/module/IDistribution.sol +5 -2
  380. package/contracts/instance/module/IPolicy.sol +2 -1
  381. package/contracts/instance/module/IRisk.sol +3 -0
  382. package/contracts/oracle/BasicOracle.sol +1 -3
  383. package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
  384. package/contracts/oracle/Oracle.sol +1 -3
  385. package/contracts/oracle/OracleService.sol +92 -73
  386. package/contracts/oracle/OracleServiceManager.sol +1 -1
  387. package/contracts/pool/BasicPool.sol +19 -2
  388. package/contracts/pool/BasicPoolAuthorization.sol +22 -14
  389. package/contracts/pool/BundleService.sol +88 -154
  390. package/contracts/pool/BundleServiceManager.sol +1 -1
  391. package/contracts/pool/IBundleService.sol +15 -43
  392. package/contracts/pool/IPoolComponent.sol +1 -5
  393. package/contracts/pool/IPoolService.sol +58 -62
  394. package/contracts/pool/Pool.sol +95 -81
  395. package/contracts/pool/PoolLib.sol +216 -0
  396. package/contracts/pool/PoolService.sol +418 -211
  397. package/contracts/pool/PoolServiceManager.sol +1 -1
  398. package/contracts/product/ApplicationService.sol +39 -16
  399. package/contracts/product/ApplicationServiceManager.sol +1 -1
  400. package/contracts/product/BasicProduct.sol +2 -2
  401. package/contracts/product/BasicProductAuthorization.sol +24 -10
  402. package/contracts/product/ClaimService.sol +177 -136
  403. package/contracts/product/ClaimServiceManager.sol +1 -1
  404. package/contracts/product/IApplicationService.sol +8 -2
  405. package/contracts/product/IClaimService.sol +14 -2
  406. package/contracts/product/IPolicyService.sol +26 -11
  407. package/contracts/product/IPricingService.sol +1 -0
  408. package/contracts/product/IProductComponent.sol +4 -1
  409. package/contracts/product/IRiskService.sol +7 -7
  410. package/contracts/product/PolicyService.sol +244 -263
  411. package/contracts/product/PolicyServiceLib.sol +65 -0
  412. package/contracts/product/PolicyServiceManager.sol +1 -1
  413. package/contracts/product/PricingService.sol +32 -20
  414. package/contracts/product/PricingServiceManager.sol +3 -3
  415. package/contracts/product/Product.sol +59 -23
  416. package/contracts/product/RiskService.sol +89 -31
  417. package/contracts/product/RiskServiceManager.sol +1 -1
  418. package/contracts/registry/ChainNft.sol +4 -2
  419. package/contracts/registry/IRegistry.sol +10 -15
  420. package/contracts/registry/IRelease.sol +26 -0
  421. package/contracts/registry/Registry.sol +16 -3
  422. package/contracts/registry/RegistryAdmin.sol +145 -335
  423. package/contracts/registry/RegistryAuthorization.sol +267 -0
  424. package/contracts/registry/RegistryService.sol +3 -3
  425. package/contracts/registry/RegistryServiceManager.sol +1 -1
  426. package/contracts/registry/ReleaseAdmin.sol +253 -0
  427. package/contracts/registry/ReleaseLifecycle.sol +2 -0
  428. package/contracts/registry/ReleaseRegistry.sol +150 -134
  429. package/contracts/registry/ServiceAuthorizationV3.sol +180 -40
  430. package/contracts/registry/TokenRegistry.sol +6 -8
  431. package/contracts/shared/Component.sol +52 -107
  432. package/contracts/shared/ComponentService.sol +264 -291
  433. package/contracts/shared/ComponentServiceManager.sol +1 -1
  434. package/contracts/shared/ComponentVerifyingService.sol +16 -14
  435. package/contracts/shared/ContractLib.sol +246 -3
  436. package/contracts/shared/IComponent.sol +1 -17
  437. package/contracts/shared/IComponentService.sol +18 -26
  438. package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
  439. package/contracts/shared/IRegisterable.sol +15 -4
  440. package/contracts/shared/IService.sol +3 -5
  441. package/contracts/shared/InitializableERC165.sol +9 -1
  442. package/contracts/shared/InstanceLinkedComponent.sol +4 -22
  443. package/contracts/shared/NftOwnable.sol +10 -6
  444. package/contracts/shared/PolicyHolder.sol +1 -1
  445. package/contracts/shared/Registerable.sol +41 -20
  446. package/contracts/shared/RegistryLinked.sol +7 -13
  447. package/contracts/shared/Service.sol +8 -27
  448. package/contracts/shared/TokenHandler.sol +275 -72
  449. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  450. package/contracts/staking/IStaking.sol +17 -10
  451. package/contracts/staking/IStakingService.sol +16 -1
  452. package/contracts/staking/Staking.sol +95 -46
  453. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
  454. package/contracts/staking/StakingReader.sol +6 -16
  455. package/contracts/staking/StakingService.sol +85 -14
  456. package/contracts/staking/StakingServiceManager.sol +5 -4
  457. package/contracts/staking/StakingStore.sol +2 -1
  458. package/contracts/type/Key32.sol +2 -2
  459. package/contracts/type/Key32Set.sol +62 -0
  460. package/contracts/type/NftId.sol +6 -0
  461. package/contracts/type/ObjectType.sol +53 -35
  462. package/contracts/type/RiskId.sol +26 -8
  463. package/contracts/type/RoleId.sol +27 -4
  464. package/contracts/type/Selector.sol +5 -0
  465. package/contracts/type/Timestamp.sol +0 -5
  466. package/contracts/type/UFixed.sol +9 -119
  467. package/contracts/type/Version.sol +54 -5
  468. package/contracts/upgradeability/ProxyManager.sol +1 -1
  469. package/package.json +4 -4
  470. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
  471. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
  472. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  473. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  474. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  475. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
  476. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  477. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  478. package/contracts/authorization/ReleaseAccessManager.sol +0 -38
  479. package/contracts/instance/module/IAccess.sol +0 -46
@@ -1,16 +1,17 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {
5
- PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE
6
- } from "../../contracts/type/ObjectType.sol";
7
-
8
- import {BundleSet} from "../instance/BundleSet.sol";
9
4
  import {IAccess} from "../authorization/IAccess.sol";
5
+
6
+ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
7
+ import {Authorization} from "../authorization/Authorization.sol";
8
+ import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK} from "../../contracts/type/ObjectType.sol";
9
+ import {BundleSet} from "../instance/BundleSet.sol";
10
10
  import {Instance} from "../instance/Instance.sol";
11
11
  import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
12
12
  import {InstanceStore} from "../instance/InstanceStore.sol";
13
- import {Authorization} from "../authorization/Authorization.sol";
13
+ import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
14
+ import {RiskSet} from "../instance/RiskSet.sol";
14
15
 
15
16
 
16
17
  contract InstanceAuthorizationV3
@@ -18,49 +19,56 @@ contract InstanceAuthorizationV3
18
19
  {
19
20
 
20
21
  string public constant INSTANCE_ROLE_NAME = "InstanceRole";
22
+ string public constant INSTANCE_OWNER_ROLE_NAME = "InstanceOwnerRole";
21
23
 
22
24
  string public constant INSTANCE_TARGET_NAME = "Instance";
23
25
  string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
24
26
  string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
25
27
  string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
28
+ string public constant RISK_SET_TARGET_NAME = "RiskSet";
26
29
 
27
- constructor() Authorization(INSTANCE_TARGET_NAME) {}
30
+ constructor()
31
+ Authorization(INSTANCE_TARGET_NAME, INSTANCE(), false, false)
32
+ { }
28
33
 
34
+ function _setupServiceTargets() internal virtual override {
35
+ // service targets relevant to instance
36
+ _addServiceTargetWithRole(INSTANCE());
37
+ _addServiceTargetWithRole(ACCOUNTING());
38
+ _addServiceTargetWithRole(COMPONENT());
39
+ _addServiceTargetWithRole(DISTRIBUTION());
40
+ _addServiceTargetWithRole(ORACLE());
41
+ _addServiceTargetWithRole(POOL());
42
+ _addServiceTargetWithRole(BUNDLE());
43
+ _addServiceTargetWithRole(RISK());
44
+ _addServiceTargetWithRole(APPLICATION());
45
+ _addServiceTargetWithRole(POLICY());
46
+ _addServiceTargetWithRole(CLAIM());
47
+ }
29
48
 
30
49
  function _setupRoles()
31
50
  internal
32
51
  override
33
52
  {
34
- // empty implementation
53
+ _addRole(
54
+ INSTANCE_OWNER_ROLE(),
55
+ AccessAdminLib.toRole(
56
+ ADMIN_ROLE(),
57
+ RoleType.Custom,
58
+ 0, // max member count special case: instance nft owner is sole role owner
59
+ INSTANCE_OWNER_ROLE_NAME));
35
60
  }
36
61
 
37
-
38
62
  function _setupTargets()
39
63
  internal
40
64
  override
41
65
  {
42
- // instance target
43
- _addTargetWithRole(
44
- INSTANCE_TARGET_NAME,
45
- _toTargetRoleId(INSTANCE()),
46
- INSTANCE_ROLE_NAME);
47
-
48
66
  // instance supporting targets
49
- _addTarget(INSTANCE_STORE_TARGET_NAME);
50
67
  _addTarget(INSTANCE_ADMIN_TARGET_NAME);
68
+ _addTarget(INSTANCE_STORE_TARGET_NAME);
51
69
  _addTarget(BUNDLE_SET_TARGET_NAME);
70
+ _addTarget(RISK_SET_TARGET_NAME);
52
71
 
53
- // service targets relevant to instance
54
- _addServiceTargetWithRole(INSTANCE());
55
- _addServiceTargetWithRole(COMPONENT());
56
- _addServiceTargetWithRole(DISTRIBUTION());
57
- _addServiceTargetWithRole(ORACLE());
58
- _addServiceTargetWithRole(POOL());
59
- _addServiceTargetWithRole(BUNDLE());
60
- _addServiceTargetWithRole(PRODUCT());
61
- _addServiceTargetWithRole(APPLICATION());
62
- _addServiceTargetWithRole(POLICY());
63
- _addServiceTargetWithRole(CLAIM());
64
72
  }
65
73
 
66
74
 
@@ -72,7 +80,7 @@ contract InstanceAuthorizationV3
72
80
  _setupInstanceAdminAuthorization();
73
81
  _setupInstanceStoreAuthorization();
74
82
  _setupBundleSetAuthorization();
75
-
83
+ _setUpRiskSetAuthorization();
76
84
  }
77
85
 
78
86
 
@@ -83,11 +91,31 @@ contract InstanceAuthorizationV3
83
91
 
84
92
  // authorize bundle service role
85
93
  functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(BUNDLE()));
86
- _authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
87
- _authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
88
94
  _authorize(functions, BundleSet.add.selector, "add");
89
95
  _authorize(functions, BundleSet.lock.selector, "lock");
90
96
  _authorize(functions, BundleSet.unlock.selector, "unlock");
97
+
98
+ // authorize bundle service role
99
+ functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(POLICY()));
100
+ _authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
101
+ _authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
102
+ }
103
+
104
+ function _setUpRiskSetAuthorization()
105
+ internal
106
+ {
107
+ IAccess.FunctionInfo[] storage functions;
108
+
109
+ // authorize risk service role
110
+ functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(RISK()));
111
+ _authorize(functions, RiskSet.add.selector, "add");
112
+ _authorize(functions, RiskSet.pause.selector, "pause");
113
+ _authorize(functions, RiskSet.activate.selector, "activate");
114
+
115
+ // authorize policy service role
116
+ functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(POLICY()));
117
+ _authorize(functions, RiskSet.linkPolicy.selector, "linkPolicy");
118
+ _authorize(functions, RiskSet.unlinkPolicy.selector, "unlinkPolicy");
91
119
  }
92
120
 
93
121
 
@@ -96,6 +124,24 @@ contract InstanceAuthorizationV3
96
124
  {
97
125
  IAccess.FunctionInfo[] storage functions;
98
126
 
127
+ // authorize instance service role
128
+ functions = _authorizeForTarget(INSTANCE_TARGET_NAME, PUBLIC_ROLE());
129
+ _authorize(functions, Instance.registerProduct.selector, "registerProduct");
130
+ _authorize(functions, Instance.upgradeInstanceReader.selector, "upgradeInstanceReader");
131
+
132
+ // staking
133
+ _authorize(functions, Instance.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
134
+ _authorize(functions, Instance.setStakingRewardRate.selector, "setStakingRewardRate");
135
+ _authorize(functions, Instance.refillStakingRewardReserves.selector, "refillStakingRewardReserves");
136
+ _authorize(functions, Instance.withdrawStakingRewardReserves.selector, "withdrawStakingRewardReserves");
137
+
138
+ // custom authz
139
+ _authorize(functions, Instance.createRole.selector, "createRole");
140
+ _authorize(functions, Instance.grantRole.selector, "grantRole");
141
+ _authorize(functions, Instance.revokeRole.selector, "revokeRole");
142
+ _authorize(functions, Instance.createTarget.selector, "createTarget");
143
+ _authorize(functions, Instance.setTargetFunctionRole.selector, "setTargetFunctionRole");
144
+
99
145
  // authorize instance service role
100
146
  functions = _authorizeForTarget(INSTANCE_TARGET_NAME, getServiceRole(INSTANCE()));
101
147
  _authorize(functions, Instance.setInstanceReader.selector, "setInstanceReader");
@@ -107,12 +153,19 @@ contract InstanceAuthorizationV3
107
153
  {
108
154
  IAccess.FunctionInfo[] storage functions;
109
155
 
110
- // authorize instance role
111
- functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, _toTargetRoleId(INSTANCE()));
156
+ // authorize component service role
157
+ functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(INSTANCE()));
158
+ _authorize(functions, InstanceAdmin.createRole.selector, "createRole");
112
159
  _authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
160
+ _authorize(functions, InstanceAdmin.revokeRole.selector, "revokeRole");
113
161
 
114
- // authorize instance service role
115
- // functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(INSTANCE()));
162
+ _authorize(functions, InstanceAdmin.setInstanceLocked.selector, "setInstanceLocked");
163
+ _authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
164
+
165
+ // authorize component service role
166
+ functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
167
+ _authorize(functions, InstanceAdmin.initializeComponentAuthorization.selector, "initializeComponentAuthoriz");
168
+ _authorize(functions, InstanceAdmin.setComponentLocked.selector, "setComponentLocked");
116
169
  }
117
170
 
118
171
 
@@ -121,6 +174,13 @@ contract InstanceAuthorizationV3
121
174
  {
122
175
  IAccess.FunctionInfo[] storage functions;
123
176
 
177
+ // authorize accounting service role
178
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(ACCOUNTING()));
179
+ _authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
180
+ _authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
181
+ _authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
182
+ _authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
183
+
124
184
  // authorize component service role
125
185
  functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(COMPONENT()));
126
186
  _authorize(functions, InstanceStore.createComponent.selector, "createComponent");
@@ -128,11 +188,9 @@ contract InstanceAuthorizationV3
128
188
  _authorize(functions, InstanceStore.createPool.selector, "createPool");
129
189
  _authorize(functions, InstanceStore.createProduct.selector, "createProduct");
130
190
  _authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
131
- _authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
132
- _authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
133
- _authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
134
- _authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
135
-
191
+ _authorize(functions, InstanceStore.createFee.selector, "createFee");
192
+ _authorize(functions, InstanceStore.updateFee.selector, "updateFee");
193
+
136
194
  // authorize distribution service role
137
195
  functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
138
196
  _authorize(functions, InstanceStore.createDistributorType.selector, "createDistributorType");
@@ -164,7 +222,7 @@ contract InstanceAuthorizationV3
164
222
  _authorize(functions, InstanceStore.decreaseLocked.selector, "decreaseLocked");
165
223
 
166
224
  // authorize product service role
167
- functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(PRODUCT()));
225
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(RISK()));
168
226
  _authorize(functions, InstanceStore.createRisk.selector, "createRisk");
169
227
  _authorize(functions, InstanceStore.updateRisk.selector, "updateRisk");
170
228
  _authorize(functions, InstanceStore.updateRiskState.selector, "updateRiskState");
@@ -189,6 +247,7 @@ contract InstanceAuthorizationV3
189
247
  _authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
190
248
  _authorize(functions, InstanceStore.createPayout.selector, "createPayout");
191
249
  _authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
250
+ _authorize(functions, InstanceStore.updatePayoutState.selector, "updatePayoutState");
192
251
  }
193
252
  }
194
253
 
@@ -1,32 +1,39 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
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";
4
+ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
17
5
 
6
+ import {IAccess} from "../authorization/IAccess.sol";
18
7
  import {IBundle} from "../instance/module/IBundle.sol";
19
8
  import {IComponents} from "../instance/module/IComponents.sol";
20
9
  import {IDistribution} from "../instance/module/IDistribution.sol";
10
+ import {IDistributionService} from "../distribution/IDistributionService.sol";
21
11
  import {IInstance} from "./IInstance.sol";
22
12
  import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
23
13
  import {IOracle} from "../oracle/IOracle.sol";
24
14
  import {IPolicy} from "../instance/module/IPolicy.sol";
15
+ import {IRegistry} from "../registry/IRegistry.sol";
25
16
  import {IRisk} from "../instance/module/IRisk.sol";
26
17
  import {TimestampLib} from "../type/Timestamp.sol";
27
18
 
28
- import {InstanceStore} from "./InstanceStore.sol";
19
+ import {Amount} from "../type/Amount.sol";
29
20
  import {BundleSet} from "./BundleSet.sol";
21
+ import {BUNDLE, COMPONENT, DISTRIBUTOR, DISTRIBUTION, FEE, PREMIUM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
22
+ import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
23
+ import {DistributorType} from "../type/DistributorType.sol";
24
+ import {InstanceStore} from "./InstanceStore.sol";
25
+ import {Key32} from "../type/Key32.sol";
26
+ import {NftId} from "../type/NftId.sol";
27
+ import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
28
+ import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
29
+ import {RequestId} from "../type/RequestId.sol";
30
+ import {RiskId} from "../type/RiskId.sol";
31
+ import {RiskSet} from "./RiskSet.sol";
32
+ import {RoleId, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
33
+ import {StateId} from "../type/StateId.sol";
34
+ import {TokenHandler} from "../shared/TokenHandler.sol";
35
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
36
+
30
37
 
31
38
 
32
39
  contract InstanceReader {
@@ -36,9 +43,13 @@ contract InstanceReader {
36
43
 
37
44
  bool private _initialized = false;
38
45
 
46
+ IRegistry internal _registry;
39
47
  IInstance internal _instance;
48
+
40
49
  InstanceStore internal _store;
41
50
  BundleSet internal _bundleSet;
51
+ RiskSet internal _riskSet;
52
+ IDistributionService internal _distributionService;
42
53
 
43
54
  /// @dev This initializer needs to be called from the instance itself.
44
55
  function initialize() public {
@@ -49,18 +60,49 @@ contract InstanceReader {
49
60
  initializeWithInstance(msg.sender);
50
61
  }
51
62
 
52
- /// @dev This initializer needs to be called from the instance itself.
53
- function initializeWithInstance(address instanceAddress) public {
63
+ function initializeWithInstance(address instanceAddress)
64
+ public
65
+ {
54
66
  if(_initialized) {
55
67
  revert ErrorInstanceReaderAlreadyInitialized();
56
68
  }
57
69
 
58
70
  _initialized = true;
59
71
  _instance = IInstance(instanceAddress);
72
+ _registry = _instance.getRegistry();
73
+
60
74
  _store = _instance.getInstanceStore();
61
75
  _bundleSet = _instance.getBundleSet();
76
+ _riskSet = _instance.getRiskSet();
77
+ _distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
78
+ }
79
+
80
+
81
+ // instance level functions
82
+
83
+ function getRegistry() public view returns (IRegistry registry) {
84
+ return _registry;
62
85
  }
63
86
 
87
+ function getInstanceNftId() public view returns (NftId instanceNftid) {
88
+ return _registry.getNftIdForAddress(address(_instance));
89
+ }
90
+
91
+ function getInstance() public view returns (IInstance instance) {
92
+ return _instance;
93
+ }
94
+
95
+ function components() public view returns (uint256 componentCount) {
96
+ return _instance.getInstanceAdmin().components();
97
+ }
98
+
99
+ function products() public view returns (uint256 productCount) {
100
+ return _instance.products();
101
+ }
102
+
103
+ function getProductNftId(uint256 idx) public view returns (NftId productNftId) {
104
+ return _instance.getProductNftId(idx);
105
+ }
64
106
 
65
107
  // module specific functions
66
108
 
@@ -102,10 +144,18 @@ contract InstanceReader {
102
144
  return _store.getState(toPremiumKey(policyNftId));
103
145
  }
104
146
 
147
+ function bundles(NftId poolNftId)
148
+ public
149
+ view
150
+ returns (uint256 bundleCount)
151
+ {
152
+ return _bundleSet.bundles(poolNftId);
153
+ }
154
+
105
155
  function activeBundles(NftId poolNftId)
106
156
  public
107
157
  view
108
- returns (uint256 bundles)
158
+ returns (uint256 bundleCount)
109
159
  {
110
160
  return _bundleSet.activeBundles(poolNftId);
111
161
  }
@@ -118,6 +168,14 @@ contract InstanceReader {
118
168
  return _bundleSet.getActiveBundleNftId(poolNftId, idx);
119
169
  }
120
170
 
171
+ function getBundleNftId(NftId poolNftId, uint256 idx)
172
+ public
173
+ view
174
+ returns (NftId bundleNftId)
175
+ {
176
+ return _bundleSet.getBundleNftId(poolNftId, idx);
177
+ }
178
+
121
179
  function getBundleState(NftId bundleNftId)
122
180
  public
123
181
  view
@@ -145,7 +203,7 @@ contract InstanceReader {
145
203
  function claims(NftId policyNftId)
146
204
  public
147
205
  view
148
- returns (uint16 claims)
206
+ returns (uint16 claimCount)
149
207
  {
150
208
  return getPolicyInfo(policyNftId).claimsCount;
151
209
  }
@@ -183,7 +241,7 @@ contract InstanceReader {
183
241
  function payouts(NftId policyNftId, ClaimId claimId)
184
242
  public
185
243
  view
186
- returns (uint24 payouts)
244
+ returns (uint24 payoutCount)
187
245
  {
188
246
  return getClaimInfo(policyNftId, claimId).payoutsCount;
189
247
  }
@@ -226,6 +284,38 @@ contract InstanceReader {
226
284
  return _store.getState(payoutId.toKey32(policyNftId));
227
285
  }
228
286
 
287
+ function risks(NftId productNftId)
288
+ public
289
+ view
290
+ returns (uint256 riskCount)
291
+ {
292
+ return _riskSet.risks(productNftId);
293
+ }
294
+
295
+ function getRiskId(NftId productNftId, uint256 idx)
296
+ public
297
+ view
298
+ returns (RiskId riskId)
299
+ {
300
+ return _riskSet.getRiskId(productNftId, idx);
301
+ }
302
+
303
+ function activeRisks(NftId productNftId)
304
+ public
305
+ view
306
+ returns (uint256 activeRiskCount)
307
+ {
308
+ return _riskSet.activeRisks(productNftId);
309
+ }
310
+
311
+ function getActiveRiskId(NftId productNftId, uint256 idx)
312
+ public
313
+ view
314
+ returns (RiskId riskId)
315
+ {
316
+ return _riskSet.getActiveRiskId(productNftId, idx);
317
+ }
318
+
229
319
  function getRiskInfo(RiskId riskId)
230
320
  public
231
321
  view
@@ -237,32 +327,68 @@ contract InstanceReader {
237
327
  }
238
328
  }
239
329
 
240
- function getWallet(NftId componentNftId)
330
+ function getRiskState(RiskId riskId)
331
+ public
332
+ view
333
+ returns (StateId stateId)
334
+ {
335
+ bytes memory data = _store.getData(riskId.toKey32());
336
+ return _store.getState(riskId.toKey32());
337
+ }
338
+
339
+ function policiesForRisk(RiskId riskId)
241
340
  public
242
341
  view
243
- returns (address tokenHandler)
342
+ returns (uint256 linkedPolicies)
244
343
  {
245
- bytes memory data = _store.getData(toComponentKey(componentNftId));
344
+ return _riskSet.linkedPolicies(riskId);
345
+ }
246
346
 
247
- if (data.length > 0) {
248
- IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
249
- return info.wallet;
347
+ function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
348
+ public
349
+ view
350
+ returns (NftId linkedPolicyNftId)
351
+ {
352
+ return _riskSet.getLinkedPolicyNftId(riskId, idx);
353
+ }
354
+
355
+
356
+ function getToken(NftId componentNftId)
357
+ public
358
+ view
359
+ returns (IERC20Metadata token)
360
+ {
361
+ TokenHandler tokenHandler = getTokenHandler(componentNftId);
362
+ if (address(tokenHandler) != address(0)) {
363
+ return tokenHandler.TOKEN();
364
+ }
365
+ }
366
+
367
+
368
+ function getWallet(NftId componentNftId)
369
+ public
370
+ view
371
+ returns (address wallet)
372
+ {
373
+ TokenHandler tokenHandler = getTokenHandler(componentNftId);
374
+ if (address(tokenHandler) != address(0)) {
375
+ return tokenHandler.getWallet();
250
376
  }
251
377
  }
252
378
 
379
+
253
380
  function getTokenHandler(NftId componentNftId)
254
381
  public
255
382
  view
256
- returns (address tokenHandler)
383
+ returns (TokenHandler tokenHandler)
257
384
  {
258
385
  bytes memory data = _store.getData(toComponentKey(componentNftId));
259
-
260
386
  if (data.length > 0) {
261
- IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
262
- return address(info.tokenHandler);
387
+ return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
263
388
  }
264
389
  }
265
390
 
391
+
266
392
  function getBundleInfo(NftId bundleNftId)
267
393
  public
268
394
  view
@@ -330,6 +456,17 @@ contract InstanceReader {
330
456
  }
331
457
  }
332
458
 
459
+ function getFeeInfo(NftId productNftId)
460
+ public
461
+ view
462
+ returns (IComponents.FeeInfo memory feeInfo)
463
+ {
464
+ bytes memory data = _store.getData(toFeeKey(productNftId));
465
+ if (data.length > 0) {
466
+ return abi.decode(data, (IComponents.FeeInfo));
467
+ }
468
+ }
469
+
333
470
  function getPoolInfo(NftId poolNftId)
334
471
  public
335
472
  view
@@ -352,6 +489,16 @@ contract InstanceReader {
352
489
  }
353
490
  }
354
491
 
492
+ function isReferralValid(NftId distributionNftId, ReferralId referralId)
493
+ external
494
+ view
495
+ returns (bool isValid)
496
+ {
497
+ return _distributionService.referralIsValid(
498
+ distributionNftId,
499
+ referralId);
500
+ }
501
+
355
502
  function getRequestInfo(RequestId requestId)
356
503
  public
357
504
  view
@@ -430,6 +577,26 @@ contract InstanceReader {
430
577
  }
431
578
 
432
579
 
580
+ function roles() public view returns (uint256) {
581
+ return _instance.getInstanceAdmin().roles();
582
+ }
583
+
584
+
585
+ function getInstanceOwnerRole() public view returns (RoleId roleId) {
586
+ return INSTANCE_OWNER_ROLE();
587
+ }
588
+
589
+
590
+ function getRoleId(uint256 idx) public view returns (RoleId roleId) {
591
+ return _instance.getInstanceAdmin().getRoleId(uint64(idx));
592
+ }
593
+
594
+
595
+ function getRoleInfo(RoleId roleId) public view returns (IAccess.RoleInfo memory roleInfo) {
596
+ return _instance.getInstanceAdmin().getRoleInfo(roleId);
597
+ }
598
+
599
+
433
600
  function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
434
601
  return _instance.getInstanceAdmin().hasRole(account, roleId);
435
602
  }
@@ -440,7 +607,7 @@ contract InstanceReader {
440
607
  }
441
608
 
442
609
 
443
- function isTargetLocked(address target) public view returns (bool) {
610
+ function isLocked(address target) public view returns (bool) {
444
611
  return _instance.getInstanceAdmin().isTargetLocked(target);
445
612
  }
446
613
 
@@ -476,15 +643,24 @@ contract InstanceReader {
476
643
  return productNftId.toKey32(PRODUCT());
477
644
  }
478
645
 
479
- // low level function
480
- function getInstance() external view returns (IInstance instance) {
481
- return _instance;
646
+ function toFeeKey(NftId productNftId) public pure returns (Key32) {
647
+ return productNftId.toKey32(FEE());
482
648
  }
483
649
 
650
+ // low level function
651
+
484
652
  function getInstanceStore() external view returns (IKeyValueStore store) {
485
653
  return _store;
486
654
  }
487
655
 
656
+ function getBundleSet() external view returns (BundleSet bundleSet) {
657
+ return _bundleSet;
658
+ }
659
+
660
+ function getRiskSet() external view returns (RiskSet riskSet) {
661
+ return _riskSet;
662
+ }
663
+
488
664
  function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
489
665
  return UFixedLib.toUFixed(value, exp);
490
666
  }