@etherisc/gif-next 0.0.2-7d65090-351 → 0.0.2-7dc3cd3-858

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 (339) hide show
  1. package/README.md +18 -2
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1248 -0
  4. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  6. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +95 -252
  10. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  12. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +10 -10
  16. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.json +1385 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1505 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +17 -242
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +90 -74
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +30 -30
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +71 -146
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -16
  36. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  37. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +33 -39
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1 -14
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +22 -39
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +30 -91
  44. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.json +1616 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +110 -76
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +56 -121
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +18 -42
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +73 -79
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  59. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  61. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  62. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +3 -9
  63. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  64. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  65. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  66. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  68. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  69. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  70. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  71. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  72. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  73. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  74. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  75. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  76. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  77. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +13 -0
  78. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  79. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  80. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +13 -96
  81. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  82. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +4 -4
  83. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +3 -3
  85. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  86. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  87. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  88. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  89. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  90. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +2 -2
  91. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  92. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +2 -2
  93. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  94. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  95. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +7 -202
  96. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  97. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  98. package/artifacts/contracts/pool/Pool.sol/Pool.json +7 -303
  99. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  100. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
  101. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  102. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
  103. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  104. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +4 -4
  105. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  106. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +3 -3
  107. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  108. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1299 -0
  109. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  110. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  111. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  112. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +2 -2
  113. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  114. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +2 -2
  115. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  116. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  117. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  118. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  119. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  120. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +13 -42
  121. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  122. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  123. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +10 -10
  124. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +6 -6
  126. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  127. package/artifacts/contracts/product/PricingService.sol/PricingService.json +40 -40
  128. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +21 -21
  130. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  131. package/artifacts/contracts/product/Product.sol/Product.json +13 -153
  132. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  133. package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
  134. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  135. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
  136. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  137. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  138. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +0 -44
  139. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  140. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  141. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  142. package/artifacts/contracts/registry/Registry.sol/Registry.json +18 -62
  143. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  144. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +228 -388
  145. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  146. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  147. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  149. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  150. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +48 -126
  151. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  152. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +24 -16
  153. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  154. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  155. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  156. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  157. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +56 -80
  158. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  159. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +29 -41
  160. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  161. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  162. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  163. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  164. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  165. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +13 -0
  166. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  167. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  168. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  170. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  171. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  172. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  174. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  175. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  176. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +13 -53
  177. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  178. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +2 -2
  179. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  180. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +2 -2
  181. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
  182. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +2 -2
  183. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  184. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  185. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  186. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  187. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  188. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +2 -2
  189. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  190. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  191. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  192. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  193. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  194. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  195. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  196. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  197. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  198. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  199. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  200. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  201. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
  202. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  203. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
  204. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  205. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
  206. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  207. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  208. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  209. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
  210. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  211. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
  212. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  213. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  214. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  215. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  216. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  217. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  218. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -2
  219. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  220. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  221. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  222. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  223. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  224. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  225. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
  226. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  227. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  228. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  229. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  230. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  231. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  232. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  233. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +55 -2
  234. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  235. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  236. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  237. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  238. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  239. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  240. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  241. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  242. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  243. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +117 -14
  244. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  245. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  246. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  247. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  248. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  249. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  251. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  252. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  253. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +21 -2
  254. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  256. package/contracts/{shared → authorization}/AccessAdmin.sol +131 -297
  257. package/contracts/authorization/Authorization.sol +218 -0
  258. package/contracts/authorization/IAccess.sol +48 -0
  259. package/contracts/{shared → authorization}/IAccessAdmin.sol +22 -54
  260. package/contracts/authorization/IAuthorization.sol +54 -0
  261. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  262. package/contracts/{registry → authorization}/IServiceAuthorization.sol +5 -5
  263. package/contracts/authorization/InstanceAdmin.sol +108 -0
  264. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  265. package/contracts/{registry → authorization}/ServiceAuthorization.sol +17 -17
  266. package/contracts/distribution/BasicDistribution.sol +149 -0
  267. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  268. package/contracts/distribution/Distribution.sol +126 -104
  269. package/contracts/distribution/DistributionService.sol +10 -5
  270. package/contracts/distribution/IDistributionComponent.sol +17 -35
  271. package/contracts/distribution/IDistributionService.sol +5 -1
  272. package/contracts/instance/IInstance.sol +5 -6
  273. package/contracts/instance/IInstanceService.sol +6 -12
  274. package/contracts/instance/Instance.sol +61 -70
  275. package/contracts/instance/InstanceAdminNew.sol +261 -0
  276. package/contracts/instance/InstanceAuthorizationV3.sol +209 -0
  277. package/contracts/instance/InstanceReader.sol +22 -9
  278. package/contracts/instance/InstanceService.sol +58 -67
  279. package/contracts/instance/InstanceStore.sol +5 -1
  280. package/contracts/instance/base/ObjectManager.sol +7 -8
  281. package/contracts/oracle/BasicOracle.sol +48 -0
  282. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  283. package/contracts/oracle/IOracle.sol +16 -0
  284. package/contracts/oracle/Oracle.sol +61 -49
  285. package/contracts/pool/BasicPool.sol +164 -0
  286. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  287. package/contracts/pool/IPoolComponent.sol +0 -60
  288. package/contracts/pool/Pool.sol +143 -131
  289. package/contracts/pool/PoolService.sol +1 -1
  290. package/contracts/product/BasicProduct.sol +82 -0
  291. package/contracts/product/BasicProductAuthorization.sol +40 -0
  292. package/contracts/product/IProductComponent.sol +6 -9
  293. package/contracts/product/Product.sol +103 -88
  294. package/contracts/registry/IRegistry.sol +5 -8
  295. package/contracts/registry/Registry.sol +1 -5
  296. package/contracts/registry/RegistryAdmin.sol +101 -71
  297. package/contracts/registry/ReleaseManager.sol +32 -41
  298. package/contracts/registry/ServiceAuthorizationV3.sol +9 -9
  299. package/contracts/shared/ComponentService.sol +18 -56
  300. package/contracts/shared/ComponentVerifyingService.sol +1 -1
  301. package/contracts/shared/IInstanceLinkedComponent.sol +4 -0
  302. package/contracts/shared/InstanceLinkedComponent.sol +26 -19
  303. package/contracts/type/ObjectType.sol +34 -0
  304. package/contracts/type/RoleId.sol +55 -82
  305. package/contracts/type/UFixed.sol +6 -0
  306. package/package.json +4 -1
  307. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +0 -4
  308. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +0 -708
  309. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  310. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  311. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  312. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  313. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -171
  314. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  315. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  316. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  317. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  318. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  319. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  320. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  321. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  322. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  323. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  324. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  325. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  326. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  327. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  328. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  329. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  330. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  331. package/contracts/instance/InstanceAdmin.sol +0 -331
  332. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  333. package/contracts/shared/AccessManagerCustom.sol +0 -741
  334. package/contracts/shared/AccessManagerExtended.sol +0 -481
  335. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  336. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  337. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  338. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  339. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
@@ -1,377 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
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
- 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
-
18
- library InstanceAuthorizationsLib
19
- {
20
- function grantInitialAuthorizations(
21
- AccessManagerExtendedInitializeable accessManager,
22
- InstanceAdmin instanceAdmin,
23
- Instance instance,
24
- BundleManager bundleManager,
25
- InstanceStore instanceStore,
26
- address instanceOwner,
27
- IRegistry registry,
28
- VersionPart majorVersion)
29
- external
30
- {
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);
45
- }
46
-
47
- function _createRoles(InstanceAdmin instanceAdmin) private {
48
- // default roles controlled by ADMIN_ROLE -> core roles
49
- // all set/granted only once during cloning (the only exception is INSTANCE_OWNER_ROLE, hooked to instance nft)
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");
60
-
61
- // default roles controlled by INSTANCE_OWNER_ROLE -> gif roles
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());
66
- }
67
-
68
- function _createTargets(
69
- InstanceAdmin instanceAdmin,
70
- Instance instance,
71
- BundleManager bundleManager,
72
- InstanceStore instanceStore)
73
- private
74
- {
75
- instanceAdmin.createCoreTarget(address(instance), "Instance");
76
- //instanceAdmin.createCoreTarget(address(instanceAdmin), "InstanceAdmin");
77
- instanceAdmin.createCoreTarget(address(bundleManager), "BundleManager");
78
- instanceAdmin.createCoreTarget(address(instanceStore), "InstanceStore");
79
- }
80
-
81
- function _grantComponentServiceAuthorizations(
82
- AccessManagerExtendedInitializeable accessManager,
83
- InstanceAdmin instanceAdmin,
84
- InstanceStore instanceStore,
85
- IRegistry registry,
86
- VersionPart majorVersion)
87
- private
88
- {
89
- // configure authorization for component service on instance store
90
- address componentServiceAddress = registry.getServiceAddress(COMPONENT(), majorVersion);
91
- accessManager.grantRole(COMPONENT_SERVICE_ROLE().toInt(), componentServiceAddress, 0);
92
-
93
- bytes4[] memory serviceSelectors = new bytes4[](8);
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;
101
-
102
- instanceAdmin.setTargetFunctionRoleByService(
103
- "InstanceStore",
104
- serviceSelectors,
105
- COMPONENT_SERVICE_ROLE());
106
- }
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
-
132
- function _grantDistributionServiceAuthorizations(
133
- AccessManagerExtendedInitializeable accessManager,
134
- InstanceAdmin instanceAdmin,
135
- InstanceStore instanceStore,
136
- IRegistry registry,
137
- VersionPart majorVersion
138
- )
139
- private
140
- {
141
- // configure authorization for distribution service on instance
142
- address distributionServiceAddress = registry.getServiceAddress(DISTRIBUTION(), majorVersion);
143
- accessManager.grantRole(DISTRIBUTION_SERVICE_ROLE().toInt(), distributionServiceAddress, 0);
144
- bytes4[] memory instanceDistributionServiceSelectors = new bytes4[](9);
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(
157
- "InstanceStore",
158
- instanceDistributionServiceSelectors,
159
- DISTRIBUTION_SERVICE_ROLE());
160
- }
161
-
162
- function _grantPoolServiceAuthorizations(
163
- AccessManagerExtendedInitializeable accessManager,
164
- InstanceAdmin instanceAdmin,
165
- InstanceStore instanceStore,
166
- IRegistry registry,
167
- VersionPart majorVersion)
168
- private
169
- {
170
- // configure authorization for pool service on instance
171
- address poolServiceAddress = registry.getServiceAddress(POOL(), majorVersion);
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(
176
- "InstanceStore",
177
- instancePoolServiceSelectors,
178
- POOL_SERVICE_ROLE());
179
- }
180
-
181
- function _grantProductServiceAuthorizations(
182
- AccessManagerExtendedInitializeable accessManager,
183
- InstanceAdmin instanceAdmin,
184
- InstanceStore instanceStore,
185
- IRegistry registry,
186
- VersionPart majorVersion)
187
- private
188
- {
189
- // configure authorization for product service on instance
190
- address productServiceAddress = registry.getServiceAddress(PRODUCT(), majorVersion);
191
- accessManager.grantRole(PRODUCT_SERVICE_ROLE().toInt(), productServiceAddress, 0);
192
- bytes4[] memory instanceProductServiceSelectors = new bytes4[](3);
193
- instanceProductServiceSelectors[0] = instanceStore.createRisk.selector;
194
- instanceProductServiceSelectors[1] = instanceStore.updateRisk.selector;
195
- instanceProductServiceSelectors[2] = instanceStore.updateRiskState.selector;
196
- instanceAdmin.setTargetFunctionRoleByService(
197
- "InstanceStore",
198
- instanceProductServiceSelectors,
199
- PRODUCT_SERVICE_ROLE());
200
- }
201
-
202
- function _grantApplicationServiceAuthorizations(
203
- AccessManagerExtendedInitializeable accessManager,
204
- InstanceAdmin instanceAdmin,
205
- InstanceStore instanceStore,
206
- IRegistry registry,
207
- VersionPart majorVersion)
208
- private
209
- {
210
- // configure authorization for application services on instance
211
- address applicationServiceAddress = registry.getServiceAddress(APPLICATION(), majorVersion);
212
- accessManager.grantRole(APPLICATION_SERVICE_ROLE().toInt(), applicationServiceAddress, 0);
213
- bytes4[] memory instanceApplicationServiceSelectors = new bytes4[](3);
214
- instanceApplicationServiceSelectors[0] = instanceStore.createApplication.selector;
215
- instanceApplicationServiceSelectors[1] = instanceStore.updateApplication.selector;
216
- instanceApplicationServiceSelectors[2] = instanceStore.updateApplicationState.selector;
217
- instanceAdmin.setTargetFunctionRoleByService(
218
- "InstanceStore",
219
- instanceApplicationServiceSelectors,
220
- APPLICATION_SERVICE_ROLE());
221
- }
222
-
223
- function _grantPolicyServiceAuthorizations(
224
- AccessManagerExtendedInitializeable accessManager,
225
- InstanceAdmin instanceAdmin,
226
- InstanceStore instanceStore,
227
- IRegistry registry,
228
- VersionPart majorVersion)
229
- private
230
- {
231
- // configure authorization for policy services on instance
232
- address policyServiceAddress = registry.getServiceAddress(POLICY(), majorVersion);
233
- accessManager.grantRole(POLICY_SERVICE_ROLE().toInt(), policyServiceAddress, 0);
234
- bytes4[] memory instancePolicyServiceSelectors = new bytes4[](2);
235
- instancePolicyServiceSelectors[0] = instanceStore.updatePolicy.selector;
236
- instancePolicyServiceSelectors[1] = instanceStore.updatePolicyState.selector;
237
- instanceAdmin.setTargetFunctionRoleByService(
238
- "InstanceStore",
239
- instancePolicyServiceSelectors,
240
- POLICY_SERVICE_ROLE());
241
- }
242
-
243
- function _grantClaimServiceAuthorizations(
244
- AccessManagerExtendedInitializeable accessManager,
245
- InstanceAdmin instanceAdmin,
246
- InstanceStore instanceStore,
247
- IRegistry registry,
248
- VersionPart majorVersion)
249
- private
250
- {
251
- // configure authorization for claim/payout services on instance
252
- address claimServiceAddress = registry.getServiceAddress(CLAIM(), majorVersion);
253
- accessManager.grantRole(CLAIM_SERVICE_ROLE().toInt(), claimServiceAddress, 0);
254
-
255
- bytes4[] memory instancePolicyServiceSelectors = new bytes4[](1);
256
- instancePolicyServiceSelectors[0] = instanceStore.updatePolicyClaims.selector;
257
- instanceAdmin.setTargetFunctionRoleByService(
258
- "InstanceStore",
259
- instancePolicyServiceSelectors,
260
- CLAIM_SERVICE_ROLE());
261
-
262
- bytes4[] memory instanceClaimServiceSelectors = new bytes4[](4);
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(
268
- "InstanceStore",
269
- instanceClaimServiceSelectors,
270
- CLAIM_SERVICE_ROLE());
271
- }
272
-
273
- function _grantBundleServiceAuthorizations(
274
- AccessManagerExtendedInitializeable accessManager,
275
- InstanceAdmin instanceAdmin,
276
- InstanceStore instanceStore,
277
- BundleManager bundleManager,
278
- IRegistry registry,
279
- VersionPart majorVersion)
280
- private
281
- {
282
- // configure authorization for bundle service on instance
283
- address bundleServiceAddress = registry.getServiceAddress(BUNDLE(), majorVersion);
284
- accessManager.grantRole(BUNDLE_SERVICE_ROLE().toInt(), bundleServiceAddress, 0);
285
- bytes4[] memory instanceBundleServiceSelectors = new bytes4[](5);
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(
292
- "InstanceStore",
293
- instanceBundleServiceSelectors,
294
- BUNDLE_SERVICE_ROLE());
295
-
296
- // configure authorization for bundle service on bundle manager
297
- bytes4[] memory bundleManagerBundleServiceSelectors = new bytes4[](5);
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(
304
- "BundleManager",
305
- bundleManagerBundleServiceSelectors,
306
- BUNDLE_SERVICE_ROLE());
307
- }
308
-
309
- function _grantInstanceServiceAuthorizations(
310
- AccessManagerExtendedInitializeable accessManager,
311
- InstanceAdmin instanceAdmin,
312
- Instance instance,
313
- IRegistry registry,
314
- VersionPart majorVersion)
315
- private
316
- {
317
- // configure authorization for instance service on instance
318
- address instanceServiceAddress = registry.getServiceAddress(INSTANCE(), majorVersion);
319
- accessManager.grantRole(INSTANCE_SERVICE_ROLE().toInt(), instanceServiceAddress, 0);
320
- bytes4[] memory instanceInstanceServiceSelectors = new bytes4[](1);
321
- instanceInstanceServiceSelectors[0] = instance.setInstanceReader.selector;
322
- instanceAdmin.setTargetFunctionRoleByService(
323
- "Instance",
324
- instanceInstanceServiceSelectors,
325
- INSTANCE_SERVICE_ROLE());
326
-
327
- // configure authorizations for instance service on instance access manager
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,
335
- INSTANCE_SERVICE_ROLE());
336
- }
337
-
338
- function _grantInstanceAuthorizations(
339
- AccessManagerExtendedInitializeable accessManager,
340
- InstanceAdmin instanceAdmin,
341
- Instance instance,
342
- IRegistry registry,
343
- VersionPart majorVersion)
344
- private
345
- {
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,
355
- INSTANCE_ROLE());
356
- }
357
-
358
- function _grantInstanceOwnerAuthorizations(
359
- InstanceAdmin instanceAdmin,
360
- Instance instance,
361
- IRegistry registry,
362
- VersionPart majorVersion)
363
- private
364
- {
365
- // configure authorization for instance owner on instance access manager
366
- // instance owner role is granted/revoked ONLY by INSTANCE_ROLE
367
- bytes4[] memory instanceInstanceOwnerSelectors = new bytes4[](4);
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(
373
- "Instance",
374
- instanceInstanceOwnerSelectors,
375
- INSTANCE_OWNER_ROLE());
376
- }
377
- }