@etherisc/gif-next 0.0.2-e8b06c8-540 → 0.0.2-e8ea17d-715

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