@etherisc/gif-next 0.0.2-7ca6cd9-950 → 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 (375) 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/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  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/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
  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 +140 -95
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +48 -40
  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 +45 -16
  36. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  37. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +33 -108
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +59 -79
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +142 -40
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +73 -141
  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 +205 -103
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +32 -32
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +73 -123
  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/Cloneable.sol/Cloneable.json +0 -53
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  62. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  63. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +3 -78
  64. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  65. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  66. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  68. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  70. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  71. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  72. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  73. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  74. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  75. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  76. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  77. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  78. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +13 -0
  79. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  80. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +13 -0
  81. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  82. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +13 -96
  83. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  84. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +66 -29
  85. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  86. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +27 -15
  87. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  88. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  89. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  90. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  91. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  92. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +78 -49
  93. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  94. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +33 -25
  95. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  96. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +13 -0
  97. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  98. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +7 -202
  99. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  100. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +13 -0
  101. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  102. package/artifacts/contracts/pool/Pool.sol/Pool.json +7 -303
  103. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  104. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +62 -41
  105. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  106. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +25 -21
  107. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  108. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +66 -37
  109. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +27 -19
  111. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  112. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1299 -0
  113. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  114. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  115. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  116. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +106 -69
  117. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +47 -35
  119. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  120. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +13 -0
  121. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  122. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +13 -0
  123. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  124. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +13 -0
  125. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  126. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +13 -0
  127. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  128. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +13 -42
  129. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  130. package/artifacts/contracts/product/IProductService.sol/IProductService.json +13 -0
  131. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  132. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +84 -47
  133. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  134. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +36 -24
  135. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  136. package/artifacts/contracts/product/PricingService.sol/PricingService.json +92 -63
  137. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  138. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +40 -32
  139. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  140. package/artifacts/contracts/product/Product.sol/Product.json +13 -153
  141. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ProductService.sol/ProductService.json +54 -25
  143. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +21 -13
  145. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  146. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  147. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +0 -44
  148. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  149. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -0
  150. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  151. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  152. package/artifacts/contracts/registry/Registry.sol/Registry.json +20 -64
  153. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  154. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1487 -153
  155. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  156. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -14
  157. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +20 -8
  159. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  160. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +93 -245
  161. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  162. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +195 -0
  163. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  164. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  165. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  166. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  167. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +82 -85
  168. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  169. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +35 -43
  170. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  171. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +13 -0
  172. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  174. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +13 -0
  176. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +13 -0
  178. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  179. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  180. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  181. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  182. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  183. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  184. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  185. package/artifacts/contracts/shared/IService.sol/IService.json +13 -0
  186. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  187. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  188. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  189. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +13 -53
  190. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  191. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +2 -2
  192. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  193. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +2 -2
  194. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
  195. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +2 -2
  196. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  197. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  198. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  199. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  200. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  201. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +2 -2
  202. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  203. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  204. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  205. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  206. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  207. package/artifacts/contracts/shared/Service.sol/Service.json +13 -0
  208. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  209. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  210. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  211. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  212. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  213. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  214. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +49 -7
  215. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  216. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +44 -28
  217. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  218. package/artifacts/contracts/staking/Staking.sol/Staking.json +44 -84
  219. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  220. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +23 -39
  221. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  222. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
  223. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  224. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +92 -73
  225. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  226. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +33 -41
  227. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  228. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +186 -114
  229. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  230. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +18 -18
  231. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  232. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  233. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -2
  234. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  235. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  236. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  237. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  238. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  239. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  240. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
  241. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  242. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  243. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  244. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  245. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  246. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  247. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  248. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +136 -2
  249. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  251. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  253. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  255. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  256. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  257. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  259. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  262. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  264. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  265. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  266. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  267. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  270. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +21 -2
  272. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  274. package/contracts/authorization/AccessAdmin.sol +593 -0
  275. package/contracts/authorization/Authorization.sol +218 -0
  276. package/contracts/authorization/IAccess.sol +48 -0
  277. package/contracts/authorization/IAccessAdmin.sol +136 -0
  278. package/contracts/authorization/IAuthorization.sol +54 -0
  279. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  280. package/contracts/authorization/IServiceAuthorization.sol +35 -0
  281. package/contracts/authorization/InstanceAdmin.sol +108 -0
  282. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  283. package/contracts/authorization/ServiceAuthorization.sol +86 -0
  284. package/contracts/distribution/BasicDistribution.sol +149 -0
  285. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  286. package/contracts/distribution/Distribution.sol +126 -104
  287. package/contracts/distribution/DistributionService.sol +13 -9
  288. package/contracts/distribution/IDistributionComponent.sol +17 -35
  289. package/contracts/distribution/IDistributionService.sol +5 -1
  290. package/contracts/instance/IInstance.sol +13 -9
  291. package/contracts/instance/IInstanceService.sol +28 -18
  292. package/contracts/instance/Instance.sol +106 -88
  293. package/contracts/instance/InstanceAdminNew.sol +261 -0
  294. package/contracts/instance/InstanceAuthorizationV3.sol +209 -0
  295. package/contracts/instance/InstanceReader.sol +24 -9
  296. package/contracts/instance/InstanceService.sol +143 -75
  297. package/contracts/instance/InstanceStore.sol +9 -17
  298. package/contracts/instance/base/BalanceStore.sol +11 -6
  299. package/contracts/instance/base/Cloneable.sol +2 -25
  300. package/contracts/instance/base/ObjectManager.sol +7 -10
  301. package/contracts/oracle/BasicOracle.sol +48 -0
  302. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  303. package/contracts/oracle/IOracle.sol +16 -0
  304. package/contracts/oracle/Oracle.sol +61 -49
  305. package/contracts/oracle/OracleService.sol +5 -4
  306. package/contracts/pool/BasicPool.sol +164 -0
  307. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  308. package/contracts/pool/BundleService.sol +19 -19
  309. package/contracts/pool/IPoolComponent.sol +0 -60
  310. package/contracts/pool/Pool.sol +143 -131
  311. package/contracts/pool/PoolService.sol +7 -8
  312. package/contracts/product/ApplicationService.sol +5 -5
  313. package/contracts/product/BasicProduct.sol +82 -0
  314. package/contracts/product/BasicProductAuthorization.sol +40 -0
  315. package/contracts/product/ClaimService.sol +5 -5
  316. package/contracts/product/IProductComponent.sol +6 -9
  317. package/contracts/product/PolicyService.sol +5 -5
  318. package/contracts/product/PricingService.sol +4 -5
  319. package/contracts/product/Product.sol +103 -88
  320. package/contracts/product/ProductService.sol +5 -5
  321. package/contracts/registry/IRegistry.sol +5 -8
  322. package/contracts/registry/Registry.sol +6 -4
  323. package/contracts/registry/RegistryAdmin.sol +273 -147
  324. package/contracts/registry/RegistryService.sol +5 -5
  325. package/contracts/registry/RegistryServiceManager.sol +0 -5
  326. package/contracts/registry/ReleaseManager.sol +102 -184
  327. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  328. package/contracts/shared/ComponentService.sol +22 -61
  329. package/contracts/shared/ComponentVerifyingService.sol +1 -1
  330. package/contracts/shared/IInstanceLinkedComponent.sol +4 -0
  331. package/contracts/shared/IService.sol +7 -0
  332. package/contracts/shared/InstanceLinkedComponent.sol +26 -19
  333. package/contracts/shared/Service.sol +27 -21
  334. package/contracts/staking/IStakingService.sol +11 -7
  335. package/contracts/staking/StakeManagerLib.sol +52 -0
  336. package/contracts/staking/Staking.sol +58 -96
  337. package/contracts/staking/StakingService.sol +61 -56
  338. package/contracts/staking/StakingServiceManager.sol +0 -1
  339. package/contracts/staking/StakingStore.sol +79 -38
  340. package/contracts/type/ObjectType.sol +169 -62
  341. package/contracts/type/RoleId.sol +103 -75
  342. package/contracts/type/Selector.sol +102 -0
  343. package/contracts/type/String.sol +53 -0
  344. package/contracts/type/UFixed.sol +6 -0
  345. package/package.json +4 -1
  346. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +0 -4
  347. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +0 -708
  348. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  349. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  350. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  351. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  352. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  353. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  354. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  355. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  356. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  357. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  358. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  359. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  360. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  361. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  362. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  363. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  364. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  365. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  366. package/contracts/instance/InstanceAdmin.sol +0 -331
  367. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  368. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  369. package/contracts/shared/AccessManagerCustom.sol +0 -736
  370. package/contracts/shared/AccessManagerExtended.sol +0 -470
  371. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  372. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  373. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  374. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  375. 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
- }
@@ -1,173 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {
5
- RoleId,
6
- PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE,
7
- APPLICATION_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, COMPONENT_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, INSTANCE_SERVICE_ROLE, POLICY_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, STAKING_SERVICE_ROLE
8
- } from "../../contracts/type/RoleId.sol";
9
-
10
- import {
11
- ObjectType,
12
- REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE
13
- } from "../../contracts/type/ObjectType.sol";
14
-
15
- import {ComponentService} from "../shared/ComponentService.sol";
16
- import {InstanceService} from "../instance/InstanceService.sol";
17
- import {RegistryService} from "./RegistryService.sol";
18
-
19
- library ServiceAuthorizationsLib {
20
-
21
- struct ServiceAuthorization {
22
- RoleId[] authorizedRole;
23
- bytes4[][] authorizedSelectors;
24
- }
25
-
26
- /// @dev returns the full list of gif service domains for this release.
27
- /// services need to be registered for the release in revers order of this list.
28
- function getDomains()
29
- external
30
- pure
31
- returns(
32
- ObjectType[] memory domain
33
- )
34
- {
35
- domain = new ObjectType[](11);
36
- domain[0] = POLICY();
37
- domain[1] = APPLICATION();
38
- domain[2] = CLAIM();
39
- domain[3] = PRODUCT();
40
- domain[4] = POOL();
41
- domain[5] = BUNDLE();
42
- domain[6] = PRICE();
43
- domain[7] = DISTRIBUTION();
44
- domain[8] = COMPONENT();
45
- domain[9] = INSTANCE();
46
- domain[10] = STAKING();
47
- }
48
-
49
-
50
- /// @dev given the target domain this function returns the list of authorized function signatures per authorized domain.
51
- function getAuthorizations(ObjectType domain)
52
- external
53
- pure
54
- returns(
55
- ServiceAuthorization memory authorizations
56
- )
57
- {
58
- if(domain == REGISTRY()) { return _getRegistryServiceAuthorization(); }
59
- if(domain == INSTANCE()) { return _getInstanceServiceAuthorization(); }
60
- if(domain == COMPONENT()) { return _getComponentServiceAuthorization(); }
61
-
62
- // disallows access to all functions with a restricted modifier
63
- return _getDefaultAuthorizations();
64
- }
65
-
66
-
67
- /// @dev registry service authorization.
68
- /// returns all authorized function signatures per authorized domain.
69
- /// all listed functions MUST be implemented with a restricted modifier
70
- function _getRegistryServiceAuthorization()
71
- internal
72
- pure
73
- returns (ServiceAuthorization memory authz)
74
- {
75
- uint8 authorizedRoles = 8;
76
- authz.authorizedRole = new RoleId[](authorizedRoles);
77
- authz.authorizedSelectors = new bytes4[][](authorizedRoles);
78
-
79
- // TODO role ids need to have a stable setup, this is not the case currently
80
- authz.authorizedRole[0] = APPLICATION_SERVICE_ROLE();
81
- authz.authorizedSelectors[0] = new bytes4[](1);
82
- authz.authorizedSelectors[0][0] = RegistryService.registerPolicy.selector;
83
-
84
- authz.authorizedRole[1] = POOL_SERVICE_ROLE();
85
- authz.authorizedSelectors[1] = new bytes4[](1);
86
- authz.authorizedSelectors[1][0] = RegistryService.registerPool.selector;
87
-
88
- authz.authorizedRole[2] = BUNDLE_SERVICE_ROLE();
89
- authz.authorizedSelectors[2] = new bytes4[](1);
90
- authz.authorizedSelectors[2][0] = RegistryService.registerBundle.selector;
91
-
92
- authz.authorizedRole[3] = DISTRIBUTION_SERVICE_ROLE();
93
- authz.authorizedSelectors[3] = new bytes4[](2);
94
- authz.authorizedSelectors[3][0] = RegistryService.registerDistribution.selector;
95
- authz.authorizedSelectors[3][1] = RegistryService.registerDistributor.selector;
96
-
97
- authz.authorizedRole[4] = COMPONENT_SERVICE_ROLE();
98
- authz.authorizedSelectors[4] = new bytes4[](1);
99
- authz.authorizedSelectors[4][0] = RegistryService.registerComponent.selector;
100
-
101
- authz.authorizedRole[5] = INSTANCE_SERVICE_ROLE();
102
- authz.authorizedSelectors[5] = new bytes4[](1);
103
- authz.authorizedSelectors[5][0] = RegistryService.registerInstance.selector;
104
-
105
- authz.authorizedRole[6] = STAKING_SERVICE_ROLE();
106
- authz.authorizedSelectors[6] = new bytes4[](1);
107
- authz.authorizedSelectors[6][0] = RegistryService.registerStaking.selector;
108
-
109
- authz.authorizedRole[7] = PRODUCT_SERVICE_ROLE();
110
- authz.authorizedSelectors[7] = new bytes4[](1);
111
- authz.authorizedSelectors[7][0] = RegistryService.registerProduct.selector;
112
- }
113
-
114
-
115
- /// @dev instance service authorization.
116
- /// returns all authorized function signatures per authorized domain.
117
- /// all listed functions MUST be implemented with a restricted modifier
118
- function _getInstanceServiceAuthorization()
119
- internal
120
- pure
121
- returns (ServiceAuthorization memory authz)
122
- {
123
- uint8 authorizedRoles = 1;
124
- authz.authorizedRole = new RoleId[](authorizedRoles);
125
- authz.authorizedSelectors = new bytes4[][](authorizedRoles);
126
-
127
- authz.authorizedRole[0] = COMPONENT_SERVICE_ROLE();
128
- authz.authorizedSelectors[0] = new bytes4[](1);
129
- authz.authorizedSelectors[0][0] = InstanceService.createComponentTarget.selector;
130
- }
131
-
132
-
133
- /// @dev component service authorization.
134
- /// returns all authorized function signatures per authorized domain.
135
- /// all listed functions MUST be implemented with a restricted modifier
136
- function _getComponentServiceAuthorization()
137
- internal
138
- pure
139
- returns (ServiceAuthorization memory authz)
140
- {
141
- uint8 authorizedRoles = 4;
142
- authz.authorizedRole = new RoleId[](authorizedRoles);
143
- authz.authorizedSelectors = new bytes4[][](authorizedRoles);
144
-
145
- authz.authorizedRole[0] = POLICY_SERVICE_ROLE();
146
- authz.authorizedSelectors[0] = new bytes4[](1);
147
- authz.authorizedSelectors[0][0] = ComponentService.increaseProductFees.selector;
148
-
149
- authz.authorizedRole[1] = DISTRIBUTION_SERVICE_ROLE();
150
- authz.authorizedSelectors[1] = new bytes4[](1);
151
- authz.authorizedSelectors[1][0] = ComponentService.increaseDistributionBalance.selector;
152
-
153
- authz.authorizedRole[2] = POOL_SERVICE_ROLE();
154
- authz.authorizedSelectors[2] = new bytes4[](1);
155
- authz.authorizedSelectors[2][0] = ComponentService.increasePoolBalance.selector;
156
-
157
- authz.authorizedRole[3] = BUNDLE_SERVICE_ROLE();
158
- authz.authorizedSelectors[3] = new bytes4[](1);
159
- authz.authorizedSelectors[3][0] = ComponentService.increaseBundleBalance.selector;
160
- }
161
-
162
-
163
- function _getDefaultAuthorizations()
164
- internal
165
- pure
166
- returns (ServiceAuthorization memory authz)
167
- {
168
- uint8 authorizedRoles = 0;
169
- authz.authorizedRole = new RoleId[](authorizedRoles);
170
- authz.authorizedSelectors = new bytes4[][](authorizedRoles);
171
- }
172
- }
173
-