@etherisc/gif-next 0.0.2-fd4931b-974 → 0.0.2-fd4ee14-428

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 (393) hide show
  1. package/README.md +2 -1
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +19 -13
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +115 -80
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +81 -54
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +11 -5
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +20 -1
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +32 -101
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +83 -71
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +121 -12
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +105 -85
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +1 -1
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +126 -30
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +195 -64
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +206 -49
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +74 -31
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +248 -118
  32. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  33. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  34. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  35. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  36. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  38. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  39. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +2 -71
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  47. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  48. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  49. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +10 -0
  50. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  51. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  52. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  53. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  54. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  55. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  56. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  58. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  60. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  61. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +91 -48
  62. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  63. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +69 -38
  64. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  65. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +20 -1
  66. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  67. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +11 -5
  68. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  69. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +35 -1
  70. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  71. package/artifacts/contracts/pool/Pool.sol/Pool.json +18 -12
  72. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  73. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +84 -42
  74. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  75. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +58 -35
  76. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  77. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +79 -36
  78. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  79. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +63 -32
  80. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  81. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +119 -68
  82. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +83 -48
  84. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  85. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +20 -1
  86. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  87. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +20 -1
  88. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  89. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +20 -1
  90. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  91. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +20 -1
  92. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  93. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +11 -5
  94. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  95. package/artifacts/contracts/product/IProductService.sol/IProductService.json +20 -1
  96. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  97. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +97 -46
  98. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  99. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +72 -37
  100. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  101. package/artifacts/contracts/product/PricingService.sol/PricingService.json +105 -62
  102. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  103. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +76 -45
  104. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  105. package/artifacts/contracts/product/Product.sol/Product.json +18 -12
  106. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  107. package/artifacts/contracts/product/ProductService.sol/ProductService.json +61 -26
  108. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  109. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +54 -27
  110. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  112. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +82 -45
  114. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -1
  116. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
  118. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  119. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  120. package/artifacts/contracts/registry/Registry.sol/Registry.json +254 -97
  121. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  122. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
  123. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  124. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -15
  125. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +46 -30
  127. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  128. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +288 -182
  129. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  130. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
  131. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  132. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +187 -0
  133. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  134. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +46 -177
  135. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  136. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -0
  137. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  138. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  139. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  140. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  141. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  142. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  143. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  144. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  145. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  146. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  147. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  148. package/artifacts/contracts/shared/Component.sol/Component.json +18 -12
  149. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  150. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +120 -70
  151. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +80 -49
  153. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  154. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +20 -1
  155. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  156. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  157. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  158. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1189 -0
  159. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  160. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  161. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  162. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  163. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  164. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +11 -5
  165. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  166. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -1
  167. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  168. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +11 -5
  169. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  170. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +0 -10
  171. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  172. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  173. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
  174. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  176. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
  177. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  178. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
  180. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  181. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  182. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  183. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  184. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +18 -12
  185. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  186. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +10 -20
  187. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  188. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +6 -6
  189. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
  190. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +27 -35
  191. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  192. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +13 -7
  193. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  194. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  195. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  196. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +35 -16
  197. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  198. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +15 -9
  199. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  200. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  201. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  202. package/artifacts/contracts/shared/Service.sol/Service.json +20 -1
  203. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  204. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  205. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  206. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  207. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  208. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  209. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +247 -579
  210. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  211. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +471 -62
  212. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  213. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  214. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  215. package/artifacts/contracts/staking/Staking.sol/Staking.json +303 -798
  216. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  217. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +81 -164
  218. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  219. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -39
  220. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  221. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +503 -120
  222. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  223. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +67 -43
  224. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  225. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
  226. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  227. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +281 -18
  228. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  229. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  230. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  231. package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
  232. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  233. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +40 -2
  234. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  235. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  236. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  237. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  238. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  239. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
  240. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  241. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  242. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  243. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +28 -4
  244. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  245. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  246. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  247. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +96 -2
  248. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  249. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  250. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  251. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  252. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  254. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  256. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  257. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +114 -4
  258. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  259. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +52 -2
  260. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  262. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  264. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  265. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  266. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  268. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
  270. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  274. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
  276. package/contracts/distribution/Distribution.sol +2 -4
  277. package/contracts/distribution/DistributionService.sol +5 -6
  278. package/contracts/distribution/DistributionServiceManager.sol +0 -12
  279. package/contracts/distribution/IDistributionComponent.sol +1 -1
  280. package/contracts/distribution/IDistributionService.sol +1 -1
  281. package/contracts/instance/IInstance.sol +21 -11
  282. package/contracts/instance/IInstanceService.sol +26 -12
  283. package/contracts/instance/Instance.sol +84 -49
  284. package/contracts/instance/InstanceAdmin.sol +331 -0
  285. package/contracts/instance/InstanceAuthorizationsLib.sol +192 -151
  286. package/contracts/instance/InstanceReader.sol +32 -6
  287. package/contracts/instance/InstanceService.sol +119 -47
  288. package/contracts/instance/InstanceStore.sol +29 -20
  289. package/contracts/instance/base/BalanceStore.sol +11 -6
  290. package/contracts/instance/base/Cloneable.sol +2 -25
  291. package/contracts/instance/base/ObjectCounter.sol +21 -0
  292. package/contracts/instance/base/ObjectManager.sol +1 -3
  293. package/contracts/instance/module/IAccess.sol +2 -10
  294. package/contracts/oracle/IOracle.sol +20 -0
  295. package/contracts/oracle/IOracleComponent.sol +32 -0
  296. package/contracts/oracle/IOracleService.sol +65 -0
  297. package/contracts/oracle/Oracle.sol +145 -0
  298. package/contracts/oracle/OracleService.sol +278 -0
  299. package/contracts/oracle/OracleServiceManager.sol +42 -0
  300. package/contracts/pool/BundleService.sol +20 -20
  301. package/contracts/pool/IBundleService.sol +1 -1
  302. package/contracts/pool/IPoolService.sol +4 -1
  303. package/contracts/pool/PoolService.sol +38 -10
  304. package/contracts/product/ApplicationService.sol +6 -6
  305. package/contracts/product/ClaimService.sol +12 -7
  306. package/contracts/product/IApplicationService.sol +1 -1
  307. package/contracts/product/IClaimService.sol +7 -1
  308. package/contracts/product/IPolicyService.sol +1 -1
  309. package/contracts/product/IPricingService.sol +1 -1
  310. package/contracts/product/IProductService.sol +1 -1
  311. package/contracts/product/PolicyService.sol +9 -7
  312. package/contracts/product/PricingService.sol +8 -9
  313. package/contracts/product/Product.sol +1 -1
  314. package/contracts/product/ProductService.sol +6 -6
  315. package/contracts/registry/ChainNft.sol +1 -0
  316. package/contracts/registry/IRegistry.sol +20 -14
  317. package/contracts/registry/IRegistryService.sol +1 -0
  318. package/contracts/registry/IServiceAuthorization.sol +35 -0
  319. package/contracts/registry/Registry.sol +85 -66
  320. package/contracts/registry/RegistryAdmin.sol +333 -0
  321. package/contracts/registry/RegistryService.sol +8 -70
  322. package/contracts/registry/RegistryServiceManager.sol +1 -20
  323. package/contracts/registry/ReleaseManager.sol +218 -221
  324. package/contracts/registry/ServiceAuthorization.sol +86 -0
  325. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  326. package/contracts/registry/TokenRegistry.sol +56 -60
  327. package/contracts/shared/AccessAdmin.sol +759 -0
  328. package/contracts/shared/AccessManagerCustom.sol +741 -0
  329. package/contracts/shared/AccessManagerExtended.sol +481 -0
  330. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  331. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  332. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  333. package/contracts/shared/Component.sol +8 -13
  334. package/contracts/shared/ComponentService.sol +39 -17
  335. package/contracts/shared/ComponentVerifyingService.sol +13 -7
  336. package/contracts/shared/ERC165.sol +1 -1
  337. package/contracts/shared/IAccessAdmin.sol +168 -0
  338. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  339. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  340. package/contracts/shared/IComponent.sol +3 -7
  341. package/contracts/shared/IComponentService.sol +11 -0
  342. package/contracts/shared/IKeyValueStore.sol +1 -1
  343. package/contracts/shared/INftOwnable.sol +1 -1
  344. package/contracts/shared/IService.sol +8 -1
  345. package/contracts/shared/InitializableCustom.sol +177 -0
  346. package/contracts/shared/InstanceLinkedComponent.sol +1 -2
  347. package/contracts/shared/KeyValueStore.sol +1 -4
  348. package/contracts/shared/Lifecycle.sol +11 -2
  349. package/contracts/shared/NftIdSetManager.sol +2 -6
  350. package/contracts/shared/NftOwnable.sol +2 -13
  351. package/contracts/shared/PolicyHolder.sol +2 -1
  352. package/contracts/shared/ProxyManager.sol +6 -2
  353. package/contracts/shared/Service.sol +28 -22
  354. package/contracts/staking/IStaking.sol +93 -38
  355. package/contracts/staking/IStakingService.sol +71 -40
  356. package/contracts/staking/StakeManagerLib.sol +231 -0
  357. package/contracts/staking/Staking.sol +302 -137
  358. package/contracts/staking/StakingManager.sol +22 -20
  359. package/contracts/staking/StakingReader.sol +119 -24
  360. package/contracts/staking/StakingService.sol +193 -76
  361. package/contracts/staking/StakingServiceManager.sol +2 -2
  362. package/contracts/staking/StakingStore.sol +613 -0
  363. package/contracts/staking/TargetManagerLib.sol +76 -10
  364. package/contracts/type/AddressSet.sol +1 -1
  365. package/contracts/type/Amount.sol +15 -1
  366. package/contracts/type/Blocknumber.sol +14 -2
  367. package/contracts/type/Fee.sol +1 -1
  368. package/contracts/type/NftId.sol +9 -9
  369. package/contracts/type/NftIdSet.sol +1 -1
  370. package/contracts/type/ObjectType.sol +139 -67
  371. package/contracts/type/Referral.sol +1 -1
  372. package/contracts/type/RequestId.sol +75 -0
  373. package/contracts/type/RiskId.sol +1 -1
  374. package/contracts/type/RoleId.sol +79 -21
  375. package/contracts/type/Seconds.sol +18 -0
  376. package/contracts/type/Selector.sol +102 -0
  377. package/contracts/type/StateId.sol +12 -0
  378. package/contracts/type/String.sol +53 -0
  379. package/contracts/type/Timestamp.sol +6 -2
  380. package/contracts/type/Version.sol +1 -1
  381. package/package.json +3 -3
  382. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  383. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
  384. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  385. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -298
  386. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  387. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  388. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  389. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  390. package/contracts/instance/InstanceAccessManager.sol +0 -543
  391. package/contracts/registry/RegistryAccessManager.sol +0 -167
  392. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  393. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
@@ -1,322 +1,363 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE, INSTANCE_SERVICE_ROLE, COMPONENT_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, APPLICATION_SERVICE_ROLE, POLICY_SERVICE_ROLE, CLAIM_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, INSTANCE_ROLE} from "../type/RoleId.sol";
5
- import {APPLICATION, BUNDLE, CLAIM, COMPONENT, DISTRIBUTION, INSTANCE, POLICY, POOL, PRODUCT, REGISTRY} from "../type/ObjectType.sol";
4
+ import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, ORACLE_SERVICE_ROLE, DISTRIBUTION_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE, ORACLE_OWNER_ROLE, INSTANCE_SERVICE_ROLE, COMPONENT_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, APPLICATION_SERVICE_ROLE, POLICY_SERVICE_ROLE, CLAIM_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, INSTANCE_ROLE} from "../type/RoleId.sol";
5
+ import {APPLICATION, BUNDLE, CLAIM, COMPONENT, DISTRIBUTION, INSTANCE, ORACLE, POLICY, POOL, PRODUCT, REGISTRY} from "../type/ObjectType.sol";
6
6
  import {VersionPart} from "../type/Version.sol";
7
7
 
8
8
  import {IRegistry} from "../registry/IRegistry.sol";
9
9
 
10
10
  import {Instance} from "./Instance.sol";
11
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
11
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
12
12
  import {InstanceReader} from "./InstanceReader.sol";
13
13
  import {BundleManager} from "./BundleManager.sol";
14
- import {AccessManagerUpgradeableInitializeable} from "../shared/AccessManagerUpgradeableInitializeable.sol";
14
+ import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
15
15
  import {InstanceStore} from "./InstanceStore.sol";
16
16
 
17
17
 
18
18
  library InstanceAuthorizationsLib
19
19
  {
20
20
  function grantInitialAuthorizations(
21
- InstanceAccessManager clonedAccessManager,
22
- Instance clonedInstance,
23
- BundleManager clonedBundleManager,
24
- InstanceStore clonedInstanceStore,
21
+ AccessManagerExtendedInitializeable accessManager,
22
+ InstanceAdmin instanceAdmin,
23
+ Instance instance,
24
+ BundleManager bundleManager,
25
+ InstanceStore instanceStore,
25
26
  address instanceOwner,
26
27
  IRegistry registry,
27
28
  VersionPart majorVersion)
28
29
  external
29
30
  {
30
- _createCoreAndGifRoles(clonedAccessManager);
31
- _createCoreTargets(clonedAccessManager, clonedInstance, clonedBundleManager, clonedInstanceStore);
32
- _grantComponentServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
33
- _grantDistributionServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
34
- _grantPoolServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
35
- _grantProductServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
36
- _grantApplicationServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
37
- _grantPolicyServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
38
- _grantClaimServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
39
- _grantBundleServiceAuthorizations(clonedAccessManager, clonedInstanceStore, clonedBundleManager, registry, majorVersion);
40
- _grantInstanceServiceAuthorizations(clonedAccessManager, clonedInstance, registry, majorVersion);
41
- _grantInstanceAuthorizations(clonedAccessManager, registry, majorVersion);
42
- _grantInstanceOwnerAuthorizations(clonedAccessManager, clonedInstance, registry, majorVersion);
31
+ _createRoles(instanceAdmin);
32
+ _createTargets(instanceAdmin, instance, bundleManager, instanceStore);
33
+ _grantComponentServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
34
+ _grantOracleServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
35
+ _grantDistributionServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
36
+ _grantPoolServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
37
+ _grantProductServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
38
+ _grantApplicationServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
39
+ _grantPolicyServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
40
+ _grantClaimServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
41
+ _grantBundleServiceAuthorizations(accessManager, instanceAdmin, instanceStore, bundleManager, registry, majorVersion);
42
+ _grantInstanceServiceAuthorizations(accessManager, instanceAdmin, instance, registry, majorVersion);
43
+ _grantInstanceAuthorizations(accessManager, instanceAdmin, instance, registry, majorVersion);
44
+ _grantInstanceOwnerAuthorizations(instanceAdmin, instance, registry, majorVersion);
43
45
  }
44
46
 
45
- function _createCoreAndGifRoles(InstanceAccessManager clonedAccessManager) private {
47
+ function _createRoles(InstanceAdmin instanceAdmin) private {
46
48
  // default roles controlled by ADMIN_ROLE -> core roles
47
49
  // all set/granted only once during cloning (the only exception is INSTANCE_OWNER_ROLE, hooked to instance nft)
48
- clonedAccessManager.createCoreRole(INSTANCE_SERVICE_ROLE(), "InstanceServiceRole");
49
- clonedAccessManager.createCoreRole(COMPONENT_SERVICE_ROLE(), "ComponentServiceRole");
50
- clonedAccessManager.createCoreRole(DISTRIBUTION_SERVICE_ROLE(), "DistributionServiceRole");
51
- clonedAccessManager.createCoreRole(POOL_SERVICE_ROLE(), "PoolServiceRole");
52
- clonedAccessManager.createCoreRole(APPLICATION_SERVICE_ROLE(), "ApplicationServiceRole");
53
- clonedAccessManager.createCoreRole(PRODUCT_SERVICE_ROLE(), "ProductServiceRole");
54
- clonedAccessManager.createCoreRole(CLAIM_SERVICE_ROLE(), "ClaimServiceRole");
55
- clonedAccessManager.createCoreRole(POLICY_SERVICE_ROLE(), "PolicyServiceRole");
56
- clonedAccessManager.createCoreRole(BUNDLE_SERVICE_ROLE(), "BundleServiceRole");
50
+ instanceAdmin.createCoreRole(INSTANCE_SERVICE_ROLE(), "InstanceServiceRole");
51
+ instanceAdmin.createCoreRole(COMPONENT_SERVICE_ROLE(), "ComponentServiceRole");
52
+ instanceAdmin.createCoreRole(DISTRIBUTION_SERVICE_ROLE(), "DistributionServiceRole");
53
+ instanceAdmin.createCoreRole(ORACLE_SERVICE_ROLE(), "OracleServiceRole");
54
+ instanceAdmin.createCoreRole(POOL_SERVICE_ROLE(), "PoolServiceRole");
55
+ instanceAdmin.createCoreRole(APPLICATION_SERVICE_ROLE(), "ApplicationServiceRole");
56
+ instanceAdmin.createCoreRole(PRODUCT_SERVICE_ROLE(), "ProductServiceRole");
57
+ instanceAdmin.createCoreRole(CLAIM_SERVICE_ROLE(), "ClaimServiceRole");
58
+ instanceAdmin.createCoreRole(POLICY_SERVICE_ROLE(), "PolicyServiceRole");
59
+ instanceAdmin.createCoreRole(BUNDLE_SERVICE_ROLE(), "BundleServiceRole");
57
60
 
58
61
  // default roles controlled by INSTANCE_OWNER_ROLE -> gif roles
59
- clonedAccessManager.createGifRole(DISTRIBUTION_OWNER_ROLE(), "DistributionOwnerRole", INSTANCE_OWNER_ROLE());
60
- clonedAccessManager.createGifRole(POOL_OWNER_ROLE(), "PoolOwnerRole", INSTANCE_OWNER_ROLE());
61
- clonedAccessManager.createGifRole(PRODUCT_OWNER_ROLE(), "ProductOwnerRole", INSTANCE_OWNER_ROLE());
62
+ instanceAdmin.createGifRole(DISTRIBUTION_OWNER_ROLE(), "DistributionOwnerRole", INSTANCE_OWNER_ROLE());
63
+ instanceAdmin.createGifRole(ORACLE_OWNER_ROLE(), "OracleOwnerRole", INSTANCE_OWNER_ROLE());
64
+ instanceAdmin.createGifRole(POOL_OWNER_ROLE(), "PoolOwnerRole", INSTANCE_OWNER_ROLE());
65
+ instanceAdmin.createGifRole(PRODUCT_OWNER_ROLE(), "ProductOwnerRole", INSTANCE_OWNER_ROLE());
62
66
  }
63
67
 
64
- function _createCoreTargets(
65
- InstanceAccessManager clonedAccessManager,
66
- Instance clonedInstance,
67
- BundleManager clonedBundleManager,
68
- InstanceStore clonedInstanceStore)
68
+ function _createTargets(
69
+ InstanceAdmin instanceAdmin,
70
+ Instance instance,
71
+ BundleManager bundleManager,
72
+ InstanceStore instanceStore)
69
73
  private
70
74
  {
71
- clonedAccessManager.createCoreTarget(address(clonedAccessManager), "InstanceAccessManager");// TODO create in instance access manager initializer?
72
- clonedAccessManager.createCoreTarget(address(clonedInstance), "Instance");// TODO create in instance access manager initializer?
73
- clonedAccessManager.createCoreTarget(address(clonedBundleManager), "BundleManager");
74
- clonedAccessManager.createCoreTarget(address(clonedInstanceStore), "InstanceStore");
75
+ instanceAdmin.createCoreTarget(address(instance), "Instance");
76
+ //instanceAdmin.createCoreTarget(address(instanceAdmin), "InstanceAdmin");
77
+ instanceAdmin.createCoreTarget(address(bundleManager), "BundleManager");
78
+ instanceAdmin.createCoreTarget(address(instanceStore), "InstanceStore");
75
79
  }
76
80
 
77
81
  function _grantComponentServiceAuthorizations(
78
- InstanceAccessManager clonedAccessManager,
79
- InstanceStore clonedInstanceStore,
82
+ AccessManagerExtendedInitializeable accessManager,
83
+ InstanceAdmin instanceAdmin,
84
+ InstanceStore instanceStore,
80
85
  IRegistry registry,
81
86
  VersionPart majorVersion)
82
87
  private
83
88
  {
84
- // configure authorization for pool service on instance
89
+ // configure authorization for component service on instance store
85
90
  address componentServiceAddress = registry.getServiceAddress(COMPONENT(), majorVersion);
86
- clonedAccessManager.grantRole(COMPONENT_SERVICE_ROLE(), address(componentServiceAddress));
91
+ accessManager.grantRole(COMPONENT_SERVICE_ROLE().toInt(), componentServiceAddress, 0);
87
92
 
88
93
  bytes4[] memory serviceSelectors = new bytes4[](8);
89
- serviceSelectors[0] = clonedInstanceStore.createComponent.selector;
90
- serviceSelectors[1] = clonedInstanceStore.updateComponent.selector;
91
- serviceSelectors[2] = clonedInstanceStore.createPool.selector;
92
- serviceSelectors[3] = clonedInstanceStore.createProduct.selector;
93
- serviceSelectors[5] = clonedInstanceStore.updateProduct.selector;
94
- serviceSelectors[6] = clonedInstanceStore.increaseBalance.selector;
95
- serviceSelectors[7] = clonedInstanceStore.increaseFees.selector;
94
+ serviceSelectors[0] = instanceStore.createComponent.selector;
95
+ serviceSelectors[1] = instanceStore.updateComponent.selector;
96
+ serviceSelectors[2] = instanceStore.createPool.selector;
97
+ serviceSelectors[3] = instanceStore.createProduct.selector;
98
+ serviceSelectors[5] = instanceStore.updateProduct.selector;
99
+ serviceSelectors[6] = instanceStore.increaseBalance.selector;
100
+ serviceSelectors[7] = instanceStore.increaseFees.selector;
96
101
 
97
- clonedAccessManager.setCoreTargetFunctionRole(
102
+ instanceAdmin.setTargetFunctionRoleByService(
98
103
  "InstanceStore",
99
104
  serviceSelectors,
100
105
  COMPONENT_SERVICE_ROLE());
101
106
  }
102
107
 
108
+ function _grantOracleServiceAuthorizations(
109
+ AccessManagerExtendedInitializeable accessManager,
110
+ InstanceAdmin instanceAdmin,
111
+ InstanceStore instanceStore,
112
+ IRegistry registry,
113
+ VersionPart majorVersion
114
+ )
115
+ private
116
+ {
117
+ // configure authorization for distribution service on instance
118
+ address oracleServiceAddress = registry.getServiceAddress(ORACLE(), majorVersion);
119
+ accessManager.grantRole(ORACLE_SERVICE_ROLE().toInt(), oracleServiceAddress, 0);
120
+
121
+ bytes4[] memory instanceOracleServiceSelectors = new bytes4[](3);
122
+ instanceOracleServiceSelectors[0] = instanceStore.createRequest.selector;
123
+ instanceOracleServiceSelectors[1] = instanceStore.updateRequest.selector;
124
+ instanceOracleServiceSelectors[2] = instanceStore.updateRequestState.selector;
125
+
126
+ instanceAdmin.setTargetFunctionRoleByService(
127
+ "InstanceStore",
128
+ instanceOracleServiceSelectors,
129
+ ORACLE_SERVICE_ROLE());
130
+ }
131
+
103
132
  function _grantDistributionServiceAuthorizations(
104
- InstanceAccessManager clonedAccessManager,
105
- InstanceStore clonedInstanceStore,
133
+ AccessManagerExtendedInitializeable accessManager,
134
+ InstanceAdmin instanceAdmin,
135
+ InstanceStore instanceStore,
106
136
  IRegistry registry,
107
- VersionPart majorVersion)
137
+ VersionPart majorVersion
138
+ )
108
139
  private
109
140
  {
110
141
  // configure authorization for distribution service on instance
111
142
  address distributionServiceAddress = registry.getServiceAddress(DISTRIBUTION(), majorVersion);
112
- clonedAccessManager.grantRole(DISTRIBUTION_SERVICE_ROLE(), distributionServiceAddress);
143
+ accessManager.grantRole(DISTRIBUTION_SERVICE_ROLE().toInt(), distributionServiceAddress, 0);
113
144
  bytes4[] memory instanceDistributionServiceSelectors = new bytes4[](9);
114
- // instanceDistributionServiceSelectors[0] = clonedInstanceStore.createDistributionSetup.selector;
115
- // instanceDistributionServiceSelectors[0] = clonedInstanceStore.updateDistributionSetup.selector;
116
- instanceDistributionServiceSelectors[0] = clonedInstanceStore.createDistributorType.selector;
117
- instanceDistributionServiceSelectors[1] = clonedInstanceStore.updateDistributorType.selector;
118
- instanceDistributionServiceSelectors[2] = clonedInstanceStore.updateDistributorTypeState.selector;
119
- instanceDistributionServiceSelectors[3] = clonedInstanceStore.createDistributor.selector;
120
- instanceDistributionServiceSelectors[4] = clonedInstanceStore.updateDistributor.selector;
121
- instanceDistributionServiceSelectors[5] = clonedInstanceStore.updateDistributorState.selector;
122
- instanceDistributionServiceSelectors[6] = clonedInstanceStore.createReferral.selector;
123
- instanceDistributionServiceSelectors[7] = clonedInstanceStore.updateReferral.selector;
124
- instanceDistributionServiceSelectors[8] = clonedInstanceStore.updateReferralState.selector;
125
- clonedAccessManager.setCoreTargetFunctionRole(
145
+ //instanceDistributionServiceSelectors[0] = instanceStore.createDistributionSetup.selector;
146
+ //instanceDistributionServiceSelectors[1] = instanceStore.updateDistributionSetup.selector;
147
+ instanceDistributionServiceSelectors[0] = instanceStore.createDistributorType.selector;
148
+ instanceDistributionServiceSelectors[1] = instanceStore.updateDistributorType.selector;
149
+ instanceDistributionServiceSelectors[2] = instanceStore.updateDistributorTypeState.selector;
150
+ instanceDistributionServiceSelectors[3] = instanceStore.createDistributor.selector;
151
+ instanceDistributionServiceSelectors[4] = instanceStore.updateDistributor.selector;
152
+ instanceDistributionServiceSelectors[5] = instanceStore.updateDistributorState.selector;
153
+ instanceDistributionServiceSelectors[6] = instanceStore.createReferral.selector;
154
+ instanceDistributionServiceSelectors[7] = instanceStore.updateReferral.selector;
155
+ instanceDistributionServiceSelectors[8] = instanceStore.updateReferralState.selector;
156
+ instanceAdmin.setTargetFunctionRoleByService(
126
157
  "InstanceStore",
127
158
  instanceDistributionServiceSelectors,
128
159
  DISTRIBUTION_SERVICE_ROLE());
129
160
  }
130
161
 
131
162
  function _grantPoolServiceAuthorizations(
132
- InstanceAccessManager clonedAccessManager,
133
- InstanceStore clonedInstanceStore,
163
+ AccessManagerExtendedInitializeable accessManager,
164
+ InstanceAdmin instanceAdmin,
165
+ InstanceStore instanceStore,
134
166
  IRegistry registry,
135
167
  VersionPart majorVersion)
136
168
  private
137
169
  {
138
170
  // configure authorization for pool service on instance
139
171
  address poolServiceAddress = registry.getServiceAddress(POOL(), majorVersion);
140
- clonedAccessManager.grantRole(POOL_SERVICE_ROLE(), address(poolServiceAddress));
141
- bytes4[] memory instancePoolServiceSelectors = new bytes4[](1);
142
- instancePoolServiceSelectors[0] = clonedInstanceStore.updatePool.selector;
143
- clonedAccessManager.setCoreTargetFunctionRole(
172
+ accessManager.grantRole(POOL_SERVICE_ROLE().toInt(), address(poolServiceAddress), 0);
173
+ bytes4[] memory instancePoolServiceSelectors = new bytes4[](1); // TODO works with (4)
174
+ instancePoolServiceSelectors[0] = instanceStore.updatePool.selector;
175
+ instanceAdmin.setTargetFunctionRoleByService(
144
176
  "InstanceStore",
145
177
  instancePoolServiceSelectors,
146
178
  POOL_SERVICE_ROLE());
147
179
  }
148
180
 
149
181
  function _grantProductServiceAuthorizations(
150
- InstanceAccessManager clonedAccessManager,
151
- InstanceStore clonedInstanceStore,
182
+ AccessManagerExtendedInitializeable accessManager,
183
+ InstanceAdmin instanceAdmin,
184
+ InstanceStore instanceStore,
152
185
  IRegistry registry,
153
186
  VersionPart majorVersion)
154
187
  private
155
188
  {
156
189
  // configure authorization for product service on instance
157
190
  address productServiceAddress = registry.getServiceAddress(PRODUCT(), majorVersion);
158
- clonedAccessManager.grantRole(PRODUCT_SERVICE_ROLE(), address(productServiceAddress));
191
+ accessManager.grantRole(PRODUCT_SERVICE_ROLE().toInt(), productServiceAddress, 0);
159
192
  bytes4[] memory instanceProductServiceSelectors = new bytes4[](3);
160
- instanceProductServiceSelectors[0] = clonedInstanceStore.createRisk.selector;
161
- instanceProductServiceSelectors[1] = clonedInstanceStore.updateRisk.selector;
162
- instanceProductServiceSelectors[2] = clonedInstanceStore.updateRiskState.selector;
163
- clonedAccessManager.setCoreTargetFunctionRole(
193
+ instanceProductServiceSelectors[0] = instanceStore.createRisk.selector;
194
+ instanceProductServiceSelectors[1] = instanceStore.updateRisk.selector;
195
+ instanceProductServiceSelectors[2] = instanceStore.updateRiskState.selector;
196
+ instanceAdmin.setTargetFunctionRoleByService(
164
197
  "InstanceStore",
165
198
  instanceProductServiceSelectors,
166
199
  PRODUCT_SERVICE_ROLE());
167
200
  }
168
201
 
169
202
  function _grantApplicationServiceAuthorizations(
170
- InstanceAccessManager clonedAccessManager,
171
- InstanceStore clonedInstanceStore,
203
+ AccessManagerExtendedInitializeable accessManager,
204
+ InstanceAdmin instanceAdmin,
205
+ InstanceStore instanceStore,
172
206
  IRegistry registry,
173
207
  VersionPart majorVersion)
174
208
  private
175
209
  {
176
210
  // configure authorization for application services on instance
177
211
  address applicationServiceAddress = registry.getServiceAddress(APPLICATION(), majorVersion);
178
- clonedAccessManager.grantRole(APPLICATION_SERVICE_ROLE(), applicationServiceAddress);
212
+ accessManager.grantRole(APPLICATION_SERVICE_ROLE().toInt(), applicationServiceAddress, 0);
179
213
  bytes4[] memory instanceApplicationServiceSelectors = new bytes4[](3);
180
- instanceApplicationServiceSelectors[0] = clonedInstanceStore.createApplication.selector;
181
- instanceApplicationServiceSelectors[1] = clonedInstanceStore.updateApplication.selector;
182
- instanceApplicationServiceSelectors[2] = clonedInstanceStore.updateApplicationState.selector;
183
- clonedAccessManager.setCoreTargetFunctionRole(
214
+ instanceApplicationServiceSelectors[0] = instanceStore.createApplication.selector;
215
+ instanceApplicationServiceSelectors[1] = instanceStore.updateApplication.selector;
216
+ instanceApplicationServiceSelectors[2] = instanceStore.updateApplicationState.selector;
217
+ instanceAdmin.setTargetFunctionRoleByService(
184
218
  "InstanceStore",
185
219
  instanceApplicationServiceSelectors,
186
220
  APPLICATION_SERVICE_ROLE());
187
221
  }
188
222
 
189
223
  function _grantPolicyServiceAuthorizations(
190
- InstanceAccessManager clonedAccessManager,
191
- InstanceStore clonedInstanceStore,
224
+ AccessManagerExtendedInitializeable accessManager,
225
+ InstanceAdmin instanceAdmin,
226
+ InstanceStore instanceStore,
192
227
  IRegistry registry,
193
228
  VersionPart majorVersion)
194
229
  private
195
230
  {
196
231
  // configure authorization for policy services on instance
197
232
  address policyServiceAddress = registry.getServiceAddress(POLICY(), majorVersion);
198
- clonedAccessManager.grantRole(POLICY_SERVICE_ROLE(), policyServiceAddress);
233
+ accessManager.grantRole(POLICY_SERVICE_ROLE().toInt(), policyServiceAddress, 0);
199
234
  bytes4[] memory instancePolicyServiceSelectors = new bytes4[](2);
200
- instancePolicyServiceSelectors[0] = clonedInstanceStore.updatePolicy.selector;
201
- instancePolicyServiceSelectors[1] = clonedInstanceStore.updatePolicyState.selector;
202
- clonedAccessManager.setCoreTargetFunctionRole(
235
+ instancePolicyServiceSelectors[0] = instanceStore.updatePolicy.selector;
236
+ instancePolicyServiceSelectors[1] = instanceStore.updatePolicyState.selector;
237
+ instanceAdmin.setTargetFunctionRoleByService(
203
238
  "InstanceStore",
204
239
  instancePolicyServiceSelectors,
205
240
  POLICY_SERVICE_ROLE());
206
241
  }
207
242
 
208
243
  function _grantClaimServiceAuthorizations(
209
- InstanceAccessManager clonedAccessManager,
210
- InstanceStore clonedInstanceStore,
244
+ AccessManagerExtendedInitializeable accessManager,
245
+ InstanceAdmin instanceAdmin,
246
+ InstanceStore instanceStore,
211
247
  IRegistry registry,
212
248
  VersionPart majorVersion)
213
249
  private
214
250
  {
215
251
  // configure authorization for claim/payout services on instance
216
252
  address claimServiceAddress = registry.getServiceAddress(CLAIM(), majorVersion);
217
- clonedAccessManager.grantRole(CLAIM_SERVICE_ROLE(), claimServiceAddress);
253
+ accessManager.grantRole(CLAIM_SERVICE_ROLE().toInt(), claimServiceAddress, 0);
218
254
 
219
255
  bytes4[] memory instancePolicyServiceSelectors = new bytes4[](1);
220
- instancePolicyServiceSelectors[0] = clonedInstanceStore.updatePolicyClaims.selector;
221
- clonedAccessManager.setCoreTargetFunctionRole(
256
+ instancePolicyServiceSelectors[0] = instanceStore.updatePolicyClaims.selector;
257
+ instanceAdmin.setTargetFunctionRoleByService(
222
258
  "InstanceStore",
223
259
  instancePolicyServiceSelectors,
224
260
  CLAIM_SERVICE_ROLE());
225
261
 
226
262
  bytes4[] memory instanceClaimServiceSelectors = new bytes4[](4);
227
- instanceClaimServiceSelectors[0] = clonedInstanceStore.createClaim.selector;
228
- instanceClaimServiceSelectors[1] = clonedInstanceStore.updateClaim.selector;
229
- instanceClaimServiceSelectors[2] = clonedInstanceStore.createPayout.selector;
230
- instanceClaimServiceSelectors[3] = clonedInstanceStore.updatePayout.selector;
231
- clonedAccessManager.setCoreTargetFunctionRole(
263
+ instanceClaimServiceSelectors[0] = instanceStore.createClaim.selector;
264
+ instanceClaimServiceSelectors[1] = instanceStore.updateClaim.selector;
265
+ instanceClaimServiceSelectors[2] = instanceStore.createPayout.selector;
266
+ instanceClaimServiceSelectors[3] = instanceStore.updatePayout.selector;
267
+ instanceAdmin.setTargetFunctionRoleByService(
232
268
  "InstanceStore",
233
269
  instanceClaimServiceSelectors,
234
270
  CLAIM_SERVICE_ROLE());
235
271
  }
236
272
 
237
273
  function _grantBundleServiceAuthorizations(
238
- InstanceAccessManager clonedAccessManager,
239
- InstanceStore clonedInstanceStore,
240
- BundleManager clonedBundleManager,
274
+ AccessManagerExtendedInitializeable accessManager,
275
+ InstanceAdmin instanceAdmin,
276
+ InstanceStore instanceStore,
277
+ BundleManager bundleManager,
241
278
  IRegistry registry,
242
279
  VersionPart majorVersion)
243
280
  private
244
281
  {
245
282
  // configure authorization for bundle service on instance
246
283
  address bundleServiceAddress = registry.getServiceAddress(BUNDLE(), majorVersion);
247
- clonedAccessManager.grantRole(BUNDLE_SERVICE_ROLE(), address(bundleServiceAddress));
284
+ accessManager.grantRole(BUNDLE_SERVICE_ROLE().toInt(), bundleServiceAddress, 0);
248
285
  bytes4[] memory instanceBundleServiceSelectors = new bytes4[](5);
249
- instanceBundleServiceSelectors[0] = clonedInstanceStore.createBundle.selector;
250
- instanceBundleServiceSelectors[1] = clonedInstanceStore.updateBundle.selector;
251
- instanceBundleServiceSelectors[2] = clonedInstanceStore.updateBundleState.selector;
252
- instanceBundleServiceSelectors[3] = clonedInstanceStore.increaseLocked.selector;
253
- instanceBundleServiceSelectors[4] = clonedInstanceStore.decreaseLocked.selector;
254
- clonedAccessManager.setCoreTargetFunctionRole(
286
+ instanceBundleServiceSelectors[0] = instanceStore.createBundle.selector;
287
+ instanceBundleServiceSelectors[1] = instanceStore.updateBundle.selector;
288
+ instanceBundleServiceSelectors[2] = instanceStore.updateBundleState.selector;
289
+ instanceBundleServiceSelectors[3] = instanceStore.increaseLocked.selector;
290
+ instanceBundleServiceSelectors[4] = instanceStore.decreaseLocked.selector;
291
+ instanceAdmin.setTargetFunctionRoleByService(
255
292
  "InstanceStore",
256
293
  instanceBundleServiceSelectors,
257
294
  BUNDLE_SERVICE_ROLE());
258
295
 
259
296
  // configure authorization for bundle service on bundle manager
260
297
  bytes4[] memory bundleManagerBundleServiceSelectors = new bytes4[](5);
261
- bundleManagerBundleServiceSelectors[0] = clonedBundleManager.linkPolicy.selector;
262
- bundleManagerBundleServiceSelectors[1] = clonedBundleManager.unlinkPolicy.selector;
263
- bundleManagerBundleServiceSelectors[2] = clonedBundleManager.add.selector;
264
- bundleManagerBundleServiceSelectors[3] = clonedBundleManager.lock.selector;
265
- bundleManagerBundleServiceSelectors[4] = clonedBundleManager.unlock.selector;
266
- clonedAccessManager.setCoreTargetFunctionRole(
298
+ bundleManagerBundleServiceSelectors[0] = bundleManager.linkPolicy.selector;
299
+ bundleManagerBundleServiceSelectors[1] = bundleManager.unlinkPolicy.selector;
300
+ bundleManagerBundleServiceSelectors[2] = bundleManager.add.selector;
301
+ bundleManagerBundleServiceSelectors[3] = bundleManager.lock.selector;
302
+ bundleManagerBundleServiceSelectors[4] = bundleManager.unlock.selector;
303
+ instanceAdmin.setTargetFunctionRoleByService(
267
304
  "BundleManager",
268
305
  bundleManagerBundleServiceSelectors,
269
306
  BUNDLE_SERVICE_ROLE());
270
307
  }
271
308
 
272
309
  function _grantInstanceServiceAuthorizations(
273
- InstanceAccessManager clonedAccessManager,
274
- Instance clonedInstance,
310
+ AccessManagerExtendedInitializeable accessManager,
311
+ InstanceAdmin instanceAdmin,
312
+ Instance instance,
275
313
  IRegistry registry,
276
314
  VersionPart majorVersion)
277
315
  private
278
316
  {
279
317
  // configure authorization for instance service on instance
280
318
  address instanceServiceAddress = registry.getServiceAddress(INSTANCE(), majorVersion);
281
- clonedAccessManager.grantRole(INSTANCE_SERVICE_ROLE(), instanceServiceAddress);
319
+ accessManager.grantRole(INSTANCE_SERVICE_ROLE().toInt(), instanceServiceAddress, 0);
282
320
  bytes4[] memory instanceInstanceServiceSelectors = new bytes4[](1);
283
- instanceInstanceServiceSelectors[0] = clonedInstance.setInstanceReader.selector;
284
- clonedAccessManager.setCoreTargetFunctionRole(
321
+ instanceInstanceServiceSelectors[0] = instance.setInstanceReader.selector;
322
+ instanceAdmin.setTargetFunctionRoleByService(
285
323
  "Instance",
286
324
  instanceInstanceServiceSelectors,
287
325
  INSTANCE_SERVICE_ROLE());
288
326
 
289
327
  // configure authorizations for instance service on instance access manager
290
- bytes4[] memory accessManagerInstanceServiceSelectors = new bytes4[](3);
291
- accessManagerInstanceServiceSelectors[0] = clonedAccessManager.createGifTarget.selector;
292
- accessManagerInstanceServiceSelectors[1] = clonedAccessManager.setTargetLockedByService.selector;
293
- accessManagerInstanceServiceSelectors[2] = clonedAccessManager.setCoreTargetFunctionRole.selector;
294
- clonedAccessManager.setCoreTargetFunctionRole(
295
- "InstanceAccessManager",
296
- accessManagerInstanceServiceSelectors,
328
+ bytes4[] memory instanceAdminInstanceServiceSelectors = new bytes4[](3);
329
+ instanceAdminInstanceServiceSelectors[0] = instanceAdmin.createGifTarget.selector;
330
+ instanceAdminInstanceServiceSelectors[1] = instanceAdmin.setTargetLockedByService.selector;
331
+ instanceAdminInstanceServiceSelectors[2] = instanceAdmin.setTargetFunctionRoleByService.selector;
332
+ instanceAdmin.setTargetFunctionRoleByService(
333
+ "InstanceAdmin",
334
+ instanceAdminInstanceServiceSelectors,
297
335
  INSTANCE_SERVICE_ROLE());
298
336
  }
299
337
 
300
338
  function _grantInstanceAuthorizations(
301
- InstanceAccessManager clonedAccessManager,
339
+ AccessManagerExtendedInitializeable accessManager,
340
+ InstanceAdmin instanceAdmin,
341
+ Instance instance,
302
342
  IRegistry registry,
303
343
  VersionPart majorVersion)
304
344
  private
305
345
  {
306
- bytes4[] memory accessManagerInstanceSelectors = new bytes4[](4);
307
- accessManagerInstanceSelectors[0] = clonedAccessManager.createRole.selector;
308
- accessManagerInstanceSelectors[1] = clonedAccessManager.createTarget.selector;
309
- accessManagerInstanceSelectors[2] = clonedAccessManager.setTargetFunctionRole.selector;
310
- accessManagerInstanceSelectors[3] = clonedAccessManager.setTargetLockedByInstance.selector;
311
- clonedAccessManager.setCoreTargetFunctionRole(
312
- "InstanceAccessManager",
313
- accessManagerInstanceSelectors,
346
+ // configure authorizations for instance on instance admin
347
+ bytes4[] memory instanceAdminInstanceSelectors = new bytes4[](4);
348
+ instanceAdminInstanceSelectors[0] = instanceAdmin.createRole.selector;
349
+ instanceAdminInstanceSelectors[1] = instanceAdmin.createTarget.selector;
350
+ instanceAdminInstanceSelectors[2] = instanceAdmin.setTargetFunctionRoleByInstance.selector;
351
+ instanceAdminInstanceSelectors[3] = instanceAdmin.setTargetLockedByInstance.selector;
352
+ instanceAdmin.setTargetFunctionRoleByService(
353
+ "InstanceAdmin",
354
+ instanceAdminInstanceSelectors,
314
355
  INSTANCE_ROLE());
315
356
  }
316
357
 
317
358
  function _grantInstanceOwnerAuthorizations(
318
- InstanceAccessManager clonedAccessManager,
319
- Instance clonedInstance,
359
+ InstanceAdmin instanceAdmin,
360
+ Instance instance,
320
361
  IRegistry registry,
321
362
  VersionPart majorVersion)
322
363
  private
@@ -324,11 +365,11 @@ library InstanceAuthorizationsLib
324
365
  // configure authorization for instance owner on instance access manager
325
366
  // instance owner role is granted/revoked ONLY by INSTANCE_ROLE
326
367
  bytes4[] memory instanceInstanceOwnerSelectors = new bytes4[](4);
327
- instanceInstanceOwnerSelectors[0] = clonedInstance.createRole.selector;
328
- instanceInstanceOwnerSelectors[1] = clonedInstance.createTarget.selector;
329
- instanceInstanceOwnerSelectors[2] = clonedInstance.setTargetFunctionRole.selector;
330
- instanceInstanceOwnerSelectors[3] = clonedInstance.setTargetLocked.selector;
331
- clonedAccessManager.setCoreTargetFunctionRole(
368
+ instanceInstanceOwnerSelectors[0] = instance.createRole.selector;
369
+ instanceInstanceOwnerSelectors[1] = instance.createTarget.selector;
370
+ instanceInstanceOwnerSelectors[2] = instance.setTargetFunctionRole.selector;
371
+ instanceInstanceOwnerSelectors[3] = instance.setTargetLocked.selector;
372
+ instanceAdmin.setTargetFunctionRoleByService(
332
373
  "Instance",
333
374
  instanceInstanceOwnerSelectors,
334
375
  INSTANCE_OWNER_ROLE());
@@ -9,14 +9,15 @@ import {DistributorType} from "../type/DistributorType.sol";
9
9
  import {Fee, FeeLib} from "../type/Fee.sol";
10
10
  import {Key32} from "../type/Key32.sol";
11
11
  import {NftId} from "../type/NftId.sol";
12
- import {ObjectType, COMPONENT, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, FEE, BUNDLE} from "../type/ObjectType.sol";
12
+ import {ObjectType, COMPONENT, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
13
13
  import {PayoutId} from "../type/PayoutId.sol";
14
14
  import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
15
- import {Registerable} from "../shared/Registerable.sol";
15
+ import {RequestId} from "../type/RequestId.sol";
16
16
  import {RiskId} from "../type/RiskId.sol";
17
+ import {RoleId} from "../type/RoleId.sol";
18
+ import {StateId} from "../type/StateId.sol";
17
19
  import {UFixed, MathLib, UFixedLib} from "../type/UFixed.sol";
18
20
  import {Version} from "../type/Version.sol";
19
- import {StateId} from "../type/StateId.sol";
20
21
 
21
22
  import {IRegistry} from "../registry/IRegistry.sol";
22
23
  import {IBundle} from "../instance/module/IBundle.sol";
@@ -24,6 +25,7 @@ import {IComponents} from "../instance/module/IComponents.sol";
24
25
  import {IDistribution} from "../instance/module/IDistribution.sol";
25
26
  import {IInstance} from "./IInstance.sol";
26
27
  import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
28
+ import {IOracle} from "../oracle/IOracle.sol";
27
29
  import {IPolicy} from "../instance/module/IPolicy.sol";
28
30
  import {IRisk} from "../instance/module/IRisk.sol";
29
31
  import {TimestampLib} from "../type/Timestamp.sol";
@@ -202,15 +204,15 @@ contract InstanceReader {
202
204
  }
203
205
  }
204
206
 
205
- function getBalanceAmount(NftId targetNftId) external returns (Amount) {
207
+ function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
206
208
  return _store.getBalanceAmount(targetNftId);
207
209
  }
208
210
 
209
- function getLockedAmount(NftId targetNftId) external returns (Amount) {
211
+ function getLockedAmount(NftId targetNftId) external view returns (Amount) {
210
212
  return _store.getLockedAmount(targetNftId);
211
213
  }
212
214
 
213
- function getFeeAmount(NftId targetNftId) external returns (Amount) {
215
+ function getFeeAmount(NftId targetNftId) external view returns (Amount) {
214
216
  return _store.getFeeAmount(targetNftId);
215
217
  }
216
218
 
@@ -258,6 +260,16 @@ contract InstanceReader {
258
260
  }
259
261
  }
260
262
 
263
+ function getRequestInfo(RequestId requestId)
264
+ public
265
+ view
266
+ returns (IOracle.RequestInfo memory requestInfo)
267
+ {
268
+ bytes memory data = _store.getData(requestId.toKey32());
269
+ if (data.length > 0) {
270
+ return abi.decode(data, (IOracle.RequestInfo));
271
+ }
272
+ }
261
273
 
262
274
  function getMetadata(Key32 key)
263
275
  public
@@ -267,6 +279,14 @@ contract InstanceReader {
267
279
  return _store.getMetadata(key);
268
280
  }
269
281
 
282
+ function getState(Key32 key)
283
+ public
284
+ view
285
+ returns (StateId state)
286
+ {
287
+ return _store.getMetadata(key).state;
288
+ }
289
+
270
290
 
271
291
  function toReferralId(
272
292
  NftId distributionNftId,
@@ -318,6 +338,12 @@ contract InstanceReader {
318
338
  }
319
339
 
320
340
 
341
+ function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
342
+ (isMember, ) = _instance.getInstanceAccessManager().hasRole(
343
+ roleId.toInt(), account);
344
+ }
345
+
346
+
321
347
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
322
348
  return policyNftId.toKey32(POLICY());
323
349
  }