@etherisc/gif-next 0.0.2-f761c0d-394 → 0.0.2-f78f882-351

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 (581) hide show
  1. package/README.md +120 -320
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +810 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +760 -278
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +485 -26
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +588 -220
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +227 -20
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +275 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +479 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +212 -483
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +475 -41
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +139 -391
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +814 -399
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +246 -122
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +135 -197
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +582 -141
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1474 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +844 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2043 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +844 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
  65. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  66. package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +55 -197
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  69. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  70. package/artifacts/contracts/{shared/KeyValueStore.sol/KeyValueStore.json → instance/IBaseStore.sol/IBaseStore.json} +34 -227
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +593 -70
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  74. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +407 -62
  75. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  76. package/artifacts/contracts/instance/Instance.sol/Instance.json +631 -188
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1154 -380
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +363 -92
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1644 -853
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +421 -233
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +160 -102
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1300 -1852
  89. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  90. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  91. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  92. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  93. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  95. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  96. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  98. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  100. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  102. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  103. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  104. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  107. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  108. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  109. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  110. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  111. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +152 -360
  113. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +473 -42
  115. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +129 -139
  118. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  120. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +128 -328
  122. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  124. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +195 -95
  126. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +198 -443
  128. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  129. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +474 -40
  130. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  131. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +567 -263
  132. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  133. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +234 -102
  134. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  135. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +383 -53
  136. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  137. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +158 -222
  138. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  139. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +711 -340
  140. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  141. package/artifacts/contracts/pool/Pool.sol/Pool.json +148 -402
  142. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  143. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  144. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  145. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +925 -545
  146. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  147. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +246 -102
  148. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  149. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
  150. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  151. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +177 -97
  152. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  153. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +281 -431
  154. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  155. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +474 -40
  156. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  157. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +466 -245
  158. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  159. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +204 -120
  160. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
  162. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +350 -18
  164. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  165. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +417 -101
  166. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  167. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  169. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +272 -232
  170. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  171. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  173. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +532 -311
  174. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  175. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  176. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  177. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +213 -105
  178. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  179. package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -329
  180. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  181. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +177 -129
  182. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  183. package/artifacts/contracts/product/Product.sol/Product.json +273 -423
  184. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  186. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
  188. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  189. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  190. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +395 -36
  192. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  193. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +97 -148
  194. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  195. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  196. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  197. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  198. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  199. package/artifacts/contracts/registry/Registry.sol/Registry.json +622 -94
  200. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +913 -404
  202. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  203. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
  204. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  205. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  206. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  207. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +159 -87
  208. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  209. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
  210. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  211. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  212. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
  214. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  215. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +511 -20
  216. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  217. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  218. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  219. package/artifacts/contracts/shared/Component.sol/Component.json +86 -287
  220. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +624 -560
  222. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  223. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +216 -118
  224. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  232. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -103
  234. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +535 -240
  236. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +118 -139
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  239. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  246. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  248. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  250. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  252. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -328
  253. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  255. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  256. package/artifacts/contracts/shared/{NftIdSetManager.sol/NftIdSetManager.json → NftIdSet.sol/NftIdSet.json} +4 -4
  257. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  259. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  261. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  263. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  265. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  266. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  271. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  273. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1513 -204
  275. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  277. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  278. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  279. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  280. package/artifacts/contracts/staking/Staking.sol/Staking.json +1635 -465
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  282. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  283. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +211 -105
  285. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  287. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  289. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +162 -94
  291. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1646 -786
  293. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  294. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  296. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +184 -76
  297. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
  302. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  304. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  306. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  308. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  310. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  312. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  314. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  316. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  318. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  320. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  322. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  324. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  326. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  328. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  330. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +93 -2
  332. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  334. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  336. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  338. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  340. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +24 -5
  342. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +109 -35
  344. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  349. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  354. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  355. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  356. package/contracts/accounting/AccountingService.sol +274 -0
  357. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  358. package/contracts/accounting/IAccountingService.sol +47 -0
  359. package/contracts/authorization/AccessAdmin.sol +401 -313
  360. package/contracts/authorization/AccessAdminLib.sol +678 -0
  361. package/contracts/authorization/AccessManagerCloneable.sol +128 -4
  362. package/contracts/authorization/Authorization.sol +179 -207
  363. package/contracts/authorization/IAccess.sol +29 -11
  364. package/contracts/authorization/IAccessAdmin.sol +89 -83
  365. package/contracts/authorization/IAuthorization.sol +9 -37
  366. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  367. package/contracts/authorization/ServiceAuthorization.sol +235 -25
  368. package/contracts/distribution/BasicDistribution.sol +23 -32
  369. package/contracts/distribution/BasicDistributionAuthorization.sol +34 -10
  370. package/contracts/distribution/Distribution.sol +50 -88
  371. package/contracts/distribution/DistributionService.sol +276 -130
  372. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  373. package/contracts/distribution/IDistributionComponent.sol +11 -14
  374. package/contracts/distribution/IDistributionService.sol +56 -26
  375. package/contracts/examples/fire/DamageLevel.sol +59 -0
  376. package/contracts/examples/fire/FirePool.sol +86 -0
  377. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  378. package/contracts/examples/fire/FireProduct.sol +433 -0
  379. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  380. package/contracts/examples/fire/FireUSD.sol +26 -0
  381. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  382. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  383. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  384. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  385. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  386. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  387. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  388. package/contracts/instance/BaseStore.sol +93 -0
  389. package/contracts/instance/BundleSet.sol +130 -0
  390. package/contracts/instance/IBaseStore.sol +37 -0
  391. package/contracts/instance/IInstance.sol +117 -47
  392. package/contracts/instance/IInstanceService.sol +64 -37
  393. package/contracts/instance/Instance.sol +202 -105
  394. package/contracts/instance/InstanceAdmin.sol +218 -177
  395. package/contracts/instance/InstanceAuthorizationV3.sol +160 -87
  396. package/contracts/instance/InstanceReader.sol +456 -255
  397. package/contracts/instance/InstanceService.sol +335 -264
  398. package/contracts/instance/InstanceServiceManager.sol +8 -13
  399. package/contracts/instance/InstanceStore.sol +154 -107
  400. package/contracts/instance/ProductStore.sol +290 -0
  401. package/contracts/instance/RiskSet.sol +126 -0
  402. package/contracts/instance/TargetNames.sol +10 -0
  403. package/contracts/instance/base/BalanceStore.sol +4 -6
  404. package/contracts/instance/base/ObjectCounter.sol +1 -2
  405. package/contracts/instance/base/ObjectLifecycle.sol +13 -10
  406. package/contracts/instance/base/ObjectSet.sol +77 -0
  407. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  408. package/contracts/instance/module/IBundle.sol +6 -5
  409. package/contracts/instance/module/IComponents.sol +29 -21
  410. package/contracts/instance/module/IDistribution.sol +21 -9
  411. package/contracts/instance/module/IPolicy.sol +50 -29
  412. package/contracts/instance/module/IRisk.sol +5 -0
  413. package/contracts/mock/Dip.sol +1 -1
  414. package/contracts/oracle/BasicOracle.sol +3 -7
  415. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  416. package/contracts/oracle/IOracle.sol +9 -4
  417. package/contracts/oracle/IOracleComponent.sol +2 -1
  418. package/contracts/oracle/IOracleService.sol +2 -1
  419. package/contracts/oracle/Oracle.sol +25 -30
  420. package/contracts/oracle/OracleService.sol +119 -87
  421. package/contracts/oracle/OracleServiceManager.sol +8 -11
  422. package/contracts/pool/BasicPool.sol +40 -43
  423. package/contracts/pool/BasicPoolAuthorization.sol +43 -11
  424. package/contracts/pool/BundleService.sol +222 -132
  425. package/contracts/pool/BundleServiceManager.sol +8 -11
  426. package/contracts/pool/IBundleService.sol +43 -33
  427. package/contracts/pool/IPoolComponent.sol +20 -10
  428. package/contracts/pool/IPoolService.sol +97 -77
  429. package/contracts/pool/Pool.sol +148 -128
  430. package/contracts/pool/PoolLib.sol +341 -0
  431. package/contracts/pool/PoolService.sol +419 -257
  432. package/contracts/pool/PoolServiceManager.sol +6 -9
  433. package/contracts/product/ApplicationService.sol +154 -81
  434. package/contracts/product/ApplicationServiceManager.sol +6 -6
  435. package/contracts/product/BasicProduct.sol +13 -47
  436. package/contracts/product/BasicProductAuthorization.sol +33 -10
  437. package/contracts/product/ClaimService.sol +391 -207
  438. package/contracts/product/ClaimServiceManager.sol +6 -6
  439. package/contracts/product/IApplicationService.sol +29 -3
  440. package/contracts/product/IClaimService.sol +48 -11
  441. package/contracts/product/IPolicyService.sol +61 -37
  442. package/contracts/product/IPricingService.sol +11 -10
  443. package/contracts/product/IProductComponent.sol +28 -5
  444. package/contracts/product/IRiskService.sol +48 -0
  445. package/contracts/product/PolicyService.sol +445 -275
  446. package/contracts/product/PolicyServiceLib.sol +139 -0
  447. package/contracts/product/PolicyServiceManager.sol +6 -9
  448. package/contracts/product/PricingService.sol +90 -84
  449. package/contracts/product/PricingServiceManager.sol +6 -9
  450. package/contracts/product/Product.sol +203 -104
  451. package/contracts/product/RiskService.sol +189 -0
  452. package/contracts/product/RiskServiceManager.sol +39 -0
  453. package/contracts/registry/ChainNft.sol +72 -40
  454. package/contracts/registry/IRegistry.sol +84 -33
  455. package/contracts/registry/IRegistryService.sol +3 -10
  456. package/contracts/registry/IRelease.sol +29 -0
  457. package/contracts/registry/ITransferInterceptor.sol +1 -2
  458. package/contracts/registry/Registry.sol +378 -220
  459. package/contracts/registry/RegistryAdmin.sol +101 -293
  460. package/contracts/registry/RegistryAuthorization.sol +337 -0
  461. package/contracts/registry/RegistryService.sol +42 -67
  462. package/contracts/registry/RegistryServiceManager.sol +5 -5
  463. package/contracts/registry/ReleaseAdmin.sol +199 -0
  464. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  465. package/contracts/registry/ReleaseRegistry.sol +525 -0
  466. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  467. package/contracts/registry/TokenRegistry.sol +61 -59
  468. package/contracts/shared/Component.sol +71 -142
  469. package/contracts/shared/ComponentService.sol +457 -347
  470. package/contracts/shared/ComponentServiceManager.sol +10 -7
  471. package/contracts/shared/ContractLib.sol +312 -0
  472. package/contracts/shared/IComponent.sol +6 -18
  473. package/contracts/shared/IComponentService.sol +50 -41
  474. package/contracts/shared/IInstanceLinkedComponent.sol +7 -27
  475. package/contracts/shared/ILifecycle.sol +3 -1
  476. package/contracts/shared/INftOwnable.sol +4 -0
  477. package/contracts/shared/IPolicyHolder.sol +12 -22
  478. package/contracts/shared/IRegisterable.sol +22 -1
  479. package/contracts/shared/IService.sol +4 -6
  480. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  481. package/contracts/shared/InstanceLinkedComponent.sol +84 -43
  482. package/contracts/shared/Lifecycle.sol +15 -4
  483. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  484. package/contracts/shared/NftOwnable.sol +33 -11
  485. package/contracts/shared/PolicyHolder.sol +20 -59
  486. package/contracts/shared/Registerable.sol +52 -21
  487. package/contracts/shared/RegistryLinked.sol +9 -14
  488. package/contracts/shared/Service.sol +22 -38
  489. package/contracts/shared/TokenHandler.sol +310 -26
  490. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  491. package/contracts/staking/IStaking.sol +271 -73
  492. package/contracts/staking/IStakingService.sol +48 -74
  493. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  494. package/contracts/staking/Staking.sol +534 -250
  495. package/contracts/staking/StakingLib.sol +195 -0
  496. package/contracts/staking/StakingManager.sol +14 -15
  497. package/contracts/staking/StakingReader.sol +72 -88
  498. package/contracts/staking/StakingService.sol +62 -152
  499. package/contracts/staking/StakingServiceManager.sol +9 -7
  500. package/contracts/staking/StakingStore.sol +1096 -343
  501. package/contracts/staking/TargetHandler.sol +132 -0
  502. package/contracts/staking/TargetManagerLib.sol +73 -46
  503. package/contracts/type/Amount.sol +31 -5
  504. package/contracts/type/Blocknumber.sol +24 -23
  505. package/contracts/type/ChainId.sol +101 -0
  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 +76 -44
  512. package/contracts/type/PayoutId.sol +10 -10
  513. package/contracts/type/Referral.sol +1 -0
  514. package/contracts/type/RiskId.sol +38 -6
  515. package/contracts/type/RoleId.sol +61 -55
  516. package/contracts/type/Seconds.sol +40 -1
  517. package/contracts/type/Selector.sol +5 -0
  518. package/contracts/type/StateId.sol +15 -1
  519. package/contracts/type/String.sol +12 -0
  520. package/contracts/type/Timestamp.sol +14 -7
  521. package/contracts/type/UFixed.sol +57 -126
  522. package/contracts/type/Version.sol +57 -6
  523. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  524. package/contracts/{shared → upgradeability}/ProxyManager.sol +97 -50
  525. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  526. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  527. package/package.json +7 -6
  528. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  529. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  530. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  531. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  532. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  533. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -703
  534. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  535. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -181
  536. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  537. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  538. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  539. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  540. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  541. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  542. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  543. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  544. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  545. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1159
  546. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  547. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  548. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  549. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  550. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  551. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  552. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  553. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  554. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  555. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  556. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  557. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  558. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  559. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  560. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  561. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  562. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  563. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -164
  564. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  565. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  566. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  567. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  568. package/contracts/instance/BundleManager.sol +0 -126
  569. package/contracts/instance/base/ObjectManager.sol +0 -79
  570. package/contracts/instance/module/IAccess.sol +0 -46
  571. package/contracts/product/IProductService.sol +0 -33
  572. package/contracts/product/ProductService.sol +0 -124
  573. package/contracts/product/ProductServiceManager.sol +0 -42
  574. package/contracts/registry/ReleaseManager.sol +0 -487
  575. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  576. package/contracts/shared/IKeyValueStore.sol +0 -54
  577. package/contracts/shared/InitializableCustom.sol +0 -177
  578. package/contracts/shared/KeyValueStore.sol +0 -131
  579. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  580. package/contracts/staking/StakeManagerLib.sol +0 -231
  581. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -4,133 +4,139 @@ pragma solidity ^0.8.20;
4
4
  import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
5
 
6
6
  import {IAccess} from "./IAccess.sol";
7
+ import {IAuthorization} from "./IAuthorization.sol";
8
+ import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
9
+ import {IRelease} from "../registry/IRelease.sol";
10
+
11
+ import {Blocknumber} from "../type/Blocknumber.sol";
12
+ import {NftId} from "../type/NftId.sol";
13
+ import {ObjectType} from "../type/ObjectType.sol";
7
14
  import {RoleId} from "../type/RoleId.sol";
8
- import {Selector} from "../type/Selector.sol";
9
15
  import {Str} from "../type/String.sol";
10
- import {Timestamp} from "../type/Timestamp.sol";
16
+ import {VersionPart} from "../type/Version.sol";
11
17
 
18
+ /// @dev Base interface for registry admin, release admin, and instance admin
12
19
  interface IAccessAdmin is
13
20
  IAccessManaged,
14
- IAccess
21
+ IAccess,
22
+ IRegistryLinked,
23
+ IRelease
15
24
  {
16
25
 
17
- // roles
18
- event LogRoleCreated(RoleId roleId, RoleType roleType, RoleId roleAdminId, string name);
19
- event LogTargetCreated(address target, string name);
20
- event LogFunctionCreated(address target, Selector selector, string name);
26
+ // roles, targets and functions
27
+ event LogAccessAdminRoleCreated(string admin, RoleId roleId, TargetType targetType, RoleId roleAdminId, string name);
28
+ event LogAccessAdminTargetCreated(string admin, string name, bool managed, address target, RoleId roleId);
29
+
30
+ event LogAccessAdminRoleActivatedSet(string admin, RoleId roleId, bool active, Blocknumber lastUpdateIn);
31
+ event LogAccessAdminRoleGranted(string admin, address account, string roleName);
32
+ event LogAccessAdminRoleRevoked(string admin, address account, string roleName);
33
+ event LogAccessAdminTargetLockedSet(string admin, address target, bool locked, Blocknumber lastUpdateIn);
34
+ event LogAccessAdminFunctionGranted(string admin, address target, string func, Blocknumber lastUpdateIn);
21
35
 
22
36
  // only deployer modifier
23
- error ErrorNotDeployer();
37
+ error ErrorAccessAdminNotDeployer();
24
38
 
25
39
  // only role admin modifier
26
- error ErrorNotAdminOfRole(RoleId adminRoleId);
40
+ error ErrorAccessAdminNotAdminOfRole(RoleId adminRoleId, address account);
27
41
 
28
42
  // only role owner modifier
29
- error ErrorNotRoleOwner(RoleId roleId);
43
+ error ErrorAccessAdminNotRoleOwner(RoleId roleId, address account);
44
+
45
+ // role management
46
+ error ErrorAccessAdminInvalidUseOfAdminRole();
47
+ error ErrorAccessAdminInvalidUseOfPublicRole();
48
+ error ErrorAccessAdminRoleNotCustom(RoleId roleId);
49
+
50
+ // initialization
51
+ error ErrorAccessAdminNotRegistry(address registry);
52
+ error ErrorAccessAdminAuthorityNotContract(address authority);
53
+ error ErrorAccessAdminAccessManagerNotAccessManager(address authority);
54
+ error ErrorAccessAdminAccessManagerEmptyName();
55
+
56
+ // check target
57
+ error ErrorAccessAdminInvalidTargetType(address target, TargetType targetType);
58
+ error ErrorAccessAdminInvalidServiceType(address target, TargetType serviceTargetType);
59
+ error ErrorAccessAdminTargetNotCreated(address target);
60
+ error ErrorAccessAdminTargetNotRegistered(address target);
61
+ error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
62
+
63
+ // check authorization
64
+ error ErrorAccessAdminAlreadyInitialized(address authorization);
65
+ error ErrorAccessAdminNotAuthorization(address authorization);
66
+ error ErrorAccessAdminNotServiceAuthorization(address serviceAuthorization);
67
+ error ErrorAccessAdminDomainMismatch(address authorization, ObjectType expectedDomain, ObjectType actualDomain);
68
+ error ErrorAccessAdminReleaseMismatch(address authorization, VersionPart expectedRelease, VersionPart actualRelease);
69
+
70
+ // link to nft
71
+ error ErrorAccessAdminNotRegistered(address registerable);
30
72
 
31
73
  // initialize authority
32
- error ErrorAuthorityAlreadySet();
33
- error ErrorAdminRoleMissing();
74
+ error ErrorAccessAdminAdminRoleMissing();
34
75
 
35
76
  // create role
36
- error ErrorRoleAlreadyCreated(RoleId roleId, string name);
37
- error ErrorRoleAdminNotExisting(RoleId adminRoleId);
38
- error ErrorRoleNameEmpty(RoleId roleId);
39
- error ErrorRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
77
+ error ErrorAccessAdminRoleAlreadyCreated(RoleId roleId, string name);
78
+ error ErrorAccessAdminRoleAdminNotExisting(RoleId adminRoleId);
79
+ error ErrorAccessAdminRoleNameEmpty(RoleId roleId);
80
+ error ErrorAccessAdminRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
40
81
 
41
82
  // grant/revoke/renounce role
42
- error ErrorRoleUnknown(RoleId roleId);
43
- error ErrorRoleIsLocked(RoleId roleId);
44
- error ErrorRoleIsDisabled(RoleId roleId);
45
- error ErrorRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
46
- error ErrorRoleRemovalDisabled(RoleId roleId);
83
+ error ErrorAccessAdminRoleUnknown(RoleId roleId);
84
+ error ErrorAccessAdminRoleIsLocked(RoleId roleId);
85
+ error ErrorAccessAdminRoleIsPaused(RoleId roleId);
86
+ error ErrorAccessAdminRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
87
+ error ErrorAccessAdminRoleMemberNotContract(RoleId roleId, address notContract);
88
+ error ErrorAccessAdminRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
47
89
 
48
90
  // create target
49
- error ErrorTargetAlreadyCreated(address target, string name);
50
- error ErrorTargetNameEmpty(address target);
51
- error ErrorTargetNameAlreadyExists(address target, string name, address existingTarget);
52
- error ErrorTargetNotAccessManaged(address target);
53
- error ErrorTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
91
+ error ErrorAccessAdminTargetAlreadyCreated(address target, string name);
92
+ error ErrorAccessAdminTargetNameEmpty(address target);
93
+ error ErrorAccessAdminTargetNameAlreadyExists(address target, string name, address existingTarget);
94
+ error ErrorAccessAdminTargetNotAccessManaged(address target);
95
+ error ErrorAccessAdminTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
54
96
 
55
97
  // lock target
56
- error ErrorTagetNotLockable();
98
+ error ErrorAccessAdminTagetNotLockable();
99
+ error ErrorAccessAdminTargetAlreadyLocked(address target, bool isLocked);
57
100
 
58
101
  // authorize target functions
59
- error ErrorAuthorizeForAdminRoleInvalid(address target);
102
+ error ErrorAccessAdminNotComponentOrCustomTarget(address target);
103
+ error ErrorAccessAdminAuthorizeForAdminRoleInvalid(address target);
104
+
105
+ // toFunction
106
+ error ErrorAccessAdminSelectorZero();
107
+ error ErrorAccessAdminFunctionNameEmpty();
60
108
 
61
109
  // check target
62
- error ErrorTargetUnknown(address target);
63
-
64
- /// @dev Set the disabled status of the speicified role.
65
- /// Role disabling only prevents the role from being granted to new accounts.
66
- /// Existing role members may still execute functions that are authorized for that role.
67
- /// Permissioned: the caller must have the manager role (getManagerRole).
68
- // TODO move to instance admin
69
- // function setRoleDisabled(RoleId roleId, bool disabled) external;
70
-
71
- /// @dev Grant the specified account the provided role.
72
- /// Permissioned: the caller must have the roles admin role.
73
- // TODO move to instance admin
74
- // function grantRole(address account, RoleId roleId) external;
75
-
76
- /// @dev Revoke the provided role from the specified account.
77
- /// Permissioned: the caller must have the roles admin role.
78
- // TODO move to instance admin
79
- // function revokeRole(address account, RoleId roleId) external;
80
-
81
- /// @dev Removes the provided role from the caller
82
- // TODO move to instance admin
83
- // function renounceRole(RoleId roleId) external;
84
-
85
- /// @dev Set the locked status of the speicified contract.
86
- /// IMPORTANT: using this function the AccessManager might itself be put into locked state from which it cannot be unlocked again.
87
- /// Overwrite this function if a different use case specific behaviour is required.
88
- /// Alternatively, add specific function to just unlock this contract without a restricted() modifier.
89
- /// Permissioned: the caller must have the manager role (getManagerRole).
90
- // TODO move to instance admin
91
- // function setTargetLocked(address target, bool locked) external;
92
-
93
- /// @dev Specifies which functions of the target can be accessed by the provided role.
94
- /// Previously existing authorizations will be overwritten.
95
- /// Authorizing the admin role is not allowed, use function unauthorizedFunctions for this.
96
- /// Permissioned: the caller must have the manager role (getManagerRole).
97
- // TODO move to instance admin
98
- // function authorizeFunctions(address target, RoleId roleId, FunctionInfo[] memory functions) external;
99
-
100
- /// @dev Specifies for which functionss to remove any previous authorization
101
- /// Permissioned: the caller must have the manager role (getManagerRole).
102
- // TODO move to instance admin
103
- // function unauthorizeFunctions(address target, FunctionInfo[] memory functions) external;
110
+ error ErrorAccessAdminTargetUnknown(address target);
104
111
 
105
112
  //--- view functions ----------------------------------------------------//
106
113
 
114
+ function getAuthorization() external view returns (IAuthorization authorization);
115
+ function getLinkedNftId() external view returns (NftId linkedNftId);
116
+
117
+ function isLocked() external view returns (bool locked);
118
+
107
119
  function roles() external view returns (uint256 numberOfRoles);
108
120
  function getRoleId(uint256 idx) external view returns (RoleId roleId);
109
- function getAdminRole() external view returns (RoleId roleId);
110
- function getPublicRole() external view returns (RoleId roleId);
111
121
 
112
122
  function roleExists(RoleId roleId) external view returns (bool exists);
123
+ function getRoleForName(string memory name) external view returns (RoleId roleId, bool exists);
113
124
  function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
114
- function getRoleForName(Str name) external view returns (RoleNameInfo memory);
125
+ function isRoleActive(RoleId roleId) external view returns (bool isActive);
126
+ function isRoleCustom(RoleId roleId) external view returns (bool isCustom);
115
127
 
116
- function hasRole(address account, RoleId roleId) external view returns (bool);
117
- function hasAdminRole(address account, RoleId roleId) external view returns (bool);
128
+ function isRoleMember(RoleId roleId, address account) external view returns (bool);
129
+ function isRoleAdmin(RoleId roleId, address account) external view returns (bool);
118
130
  function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers);
119
131
  function getRoleMember(RoleId roleId, uint256 idx) external view returns (address account);
120
132
 
121
133
  function targetExists(address target) external view returns (bool exists);
122
- function isTargetLocked(address target) external view returns (bool locked);
134
+ function getTargetForName(Str name) external view returns (address target);
123
135
  function targets() external view returns (uint256 numberOfTargets);
124
136
  function getTargetAddress(uint256 idx) external view returns (address target);
125
137
  function getTargetInfo(address target) external view returns (TargetInfo memory targetInfo);
126
- function getTargetForName(Str name) external view returns (address target);
138
+ function isTargetLocked(address target) external view returns (bool locked);
127
139
 
128
140
  function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
129
141
  function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
130
- function canCall(address caller, address target, Selector selector) external view returns (bool can);
131
-
132
- function toRole(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) external view returns (RoleInfo memory);
133
- function toFunction(bytes4 selector, string memory name) external view returns (FunctionInfo memory);
134
- function isAccessManaged(address target) external view returns (bool);
135
- function deployer() external view returns (address);
136
142
  }
@@ -1,54 +1,26 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IAccess} from "../authorization/IAccess.sol";
5
- import {ObjectType} from "../type/ObjectType.sol";
6
- import {RoleId} from "../type/RoleId.sol";
4
+ import {IServiceAuthorization} from "./IServiceAuthorization.sol";
7
5
  import {Str} from "../type/String.sol";
8
- import {VersionPart} from "../type/Version.sol";
6
+
9
7
 
10
8
  interface IAuthorization is
11
- IAccess
9
+ IServiceAuthorization
12
10
  {
13
11
 
14
- /// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
15
- /// Matches with the release returned by the linked service authorization.
16
- function getRelease() external view returns(VersionPart release);
17
-
18
- /// @dev Returns the list of involved roles.
19
- function getRoles() external view returns(RoleId[] memory roles);
20
-
21
- /// @dev Returns the service role for the specified service domain.
22
- function getServiceRole(ObjectType serviceDomain) external pure returns (RoleId serviceRoleId);
23
-
24
- /// @dev Returns the name for the provided role id.
25
- function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
26
-
27
- /// @dev Returns true iff the specified role id exists.
28
- function roleExists(RoleId roleId) external view returns(bool exists);
12
+ /// @dev Returns the token hander name.
13
+ /// Only components have a token handler.
14
+ function getTokenHandlerName() external view returns(string memory name);
29
15
 
30
- /// @dev Returns the main target id name as string.
31
- /// This name is used to derive the target id and a corresponding target role name
32
- /// Overwrite this function to change the basic pool target name.
33
- function getTargetName() external view returns (string memory name);
34
-
35
- /// @dev Returns the main target.
36
- function getTarget() external view returns(Str target);
16
+ /// @dev Returns the token hander target.
17
+ /// Only components have a token handler.
18
+ function getTokenHandlerTarget() external view returns(Str target);
37
19
 
38
20
  /// @dev Returns the complete list of targets.
39
21
  function getTargets() external view returns(Str[] memory targets);
40
22
 
41
23
  /// @dev Returns true iff the specified target exists.
42
24
  function targetExists(Str target) external view returns(bool exists);
43
-
44
- /// @dev Returns the role id associated with the target.
45
- /// If no role is associated with the target the zero role id is returned.
46
- function getTargetRole(Str target) external view returns(RoleId roleId);
47
-
48
- /// @dev For the given target the list of authorized role ids is returned
49
- function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds);
50
-
51
- /// @dev For the given target and role id the list of authorized functions is returned
52
- function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
53
25
  }
54
26
 
@@ -1,38 +1,78 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
+
4
6
  import {IAccess} from "../authorization/IAccess.sol";
5
7
  import {ObjectType} from "../type/ObjectType.sol";
8
+ import {RoleId} from "../type/RoleId.sol";
9
+ import {Str} from "../type/String.sol";
6
10
  import {VersionPart} from "../type/Version.sol";
7
11
 
8
- interface IServiceAuthorization {
12
+ interface IServiceAuthorization is
13
+ IERC165,
14
+ IAccess
15
+ {
9
16
 
10
- /// @dev Returns the commit hash representing the deployed release
11
- function getCommitHash()
12
- external
13
- view
14
- returns(string memory commitHash);
17
+ error ErrorAuthorizationMainTargetNameEmpty();
18
+ error ErrorAuthorizationTargetDomainZero();
19
+ error ErrorAuthorizationReleaseInvalid(uint8 release);
20
+ error ErrorAuthorizationCommitHashInvalid(string commitHash);
15
21
 
16
- /// @dev Returns the release (VersionPart) for which the service authorizations are defined by this contract.
17
- function getRelease()
18
- external
19
- view
20
- returns(VersionPart release);
22
+ /// @dev Returns the main domain of the authorization.
23
+ function getDomain() external view returns(ObjectType targetDomain);
21
24
 
22
- /// @dev Returns the service domain for the provided index.
23
- function getServiceDomain(uint idx) external view returns(ObjectType serviceDomain);
25
+ /// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
26
+ /// Matches with the release returned by the linked service authorization.
27
+ function getRelease() external view returns(VersionPart release);
28
+
29
+ /// @dev Returns the commit hash for the related GIF release.
30
+ function getCommitHash() external view returns(string memory commitHash);
31
+
32
+ /// @dev Returns the main target id name as string.
33
+ /// This name is used to derive the target id and a corresponding target role name
34
+ /// Overwrite this function to change the basic pool target name.
35
+ function getMainTargetName() external view returns (string memory name);
36
+
37
+ /// @dev Returns the main target.
38
+ function getMainTarget() external view returns(Str target);
24
39
 
25
40
  /// @dev Returns the full list of service domains for this release.
26
41
  /// Services need to be registered for the release in revers order of this list.
27
42
  function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
28
43
 
44
+ /// @dev Returns the service domain for the provided index.
45
+ function getServiceDomain(uint256 idx) external view returns(ObjectType serviceDomain);
46
+
47
+ /// @dev Returns the service target for the specified domain.
48
+ function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
49
+
50
+ /// @dev Returns the service target for the specified domain.
51
+ function getServiceRole(ObjectType serviceDomain) external view returns(RoleId serviceRoleId);
52
+
29
53
  /// @dev Returns the expected service address for the provided domain.
30
54
  function getServiceAddress(ObjectType serviceDomain) external view returns(address service);
31
55
 
32
- /// @dev Given the service domain this function returns the list of other service domains that are authorized to access this service.
33
- function getAuthorizedDomains(ObjectType serviceDomain) external view returns(ObjectType[] memory authorizatedDomains);
56
+ /// @dev Returns the role id associated with the target.
57
+ /// If no role is associated with the target the zero role id is returned.
58
+ function getTargetRole(Str target) external view returns(RoleId roleId);
59
+
60
+ /// @dev Returns true iff the role exists.
61
+ function roleExists(RoleId roleId) external view returns(bool exists);
62
+
63
+ /// @dev Returns the list of involved roles.
64
+ function getRoles() external view returns(RoleId[] memory roles);
65
+
66
+ /// @dev Returns the role info for the provided role id.
67
+ function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
68
+
69
+ /// @dev Returns the name for the provided role id.
70
+ function getRoleName(RoleId roleId) external view returns (string memory roleName);
71
+
72
+ /// @dev For the given target the list of authorized role ids is returned
73
+ function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds);
34
74
 
35
- /// @dev For the given service domain and authorized domain the function returns the list of authorized functions
36
- function getAuthorizedFunctions(ObjectType serviceDomain, ObjectType authorizedDomain) external view returns(IAccess.FunctionInfo[] memory authorizatedFunctions);
75
+ /// @dev For the given target and role id the list of authorized functions is returned
76
+ function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
37
77
  }
38
78