@etherisc/gif-next 0.0.2-edd8f00-238 → 0.0.2-edff8e2-153

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 (438) hide show
  1. package/README.md +37 -2
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +95 -252
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +10 -10
  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 +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1548 -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 +46 -228
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +269 -90
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +83 -55
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +100 -132
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +134 -16
  36. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +6 -19
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +32 -44
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +35 -96
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1208 -290
  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 +132 -140
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +65 -125
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +35 -59
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +79 -207
  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/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +6 -6
  63. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  64. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  65. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  66. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  68. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  71. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  72. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  73. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  74. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1185 -0
  75. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  76. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  77. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  78. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  79. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  80. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +43 -0
  81. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  82. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  83. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +43 -96
  84. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  85. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +32 -32
  86. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  87. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +34 -34
  88. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  89. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1470 -0
  90. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  91. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  92. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  93. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +437 -61
  94. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  95. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +119 -43
  96. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  97. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +224 -0
  98. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  99. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +44 -252
  100. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  101. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +189 -54
  102. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  103. package/artifacts/contracts/pool/Pool.sol/Pool.json +44 -353
  104. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  105. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +289 -90
  106. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  107. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +68 -36
  108. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  109. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +32 -32
  110. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  111. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +34 -34
  112. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  113. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -0
  114. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  115. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  116. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  117. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +72 -72
  118. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +54 -54
  120. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  121. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  122. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  123. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +86 -1
  124. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  125. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  126. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +32 -42
  127. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  128. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  129. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +169 -52
  130. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +59 -43
  132. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  133. package/artifacts/contracts/product/PricingService.sol/PricingService.json +63 -58
  134. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  135. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +47 -47
  136. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  137. package/artifacts/contracts/product/Product.sol/Product.json +32 -153
  138. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  139. package/artifacts/contracts/product/ProductService.sol/ProductService.json +20 -20
  140. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +28 -28
  142. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  143. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  144. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  145. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +50 -46
  146. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  147. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +0 -183
  148. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  149. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  150. package/artifacts/contracts/registry/Registry.sol/Registry.json +101 -73
  151. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  152. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +234 -389
  153. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  154. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
  155. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +27 -27
  157. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  158. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +6 -29
  159. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  160. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  161. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  162. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +24 -16
  163. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  164. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  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 +271 -86
  168. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  169. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +77 -61
  170. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  171. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  172. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +153 -0
  174. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +32 -0
  176. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  177. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  178. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  180. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  181. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  182. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  183. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  184. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  185. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
  186. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  187. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +32 -53
  188. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  189. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +4 -77
  190. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  191. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +0 -23
  192. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  193. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  194. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  195. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -6
  196. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  197. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
  198. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  199. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -8
  200. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  201. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  202. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  203. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  204. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
  205. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  206. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  207. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  208. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +42 -32
  209. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  210. package/artifacts/contracts/staking/Staking.sol/Staking.json +44 -44
  211. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  212. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +6 -29
  213. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  214. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +40 -40
  215. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  216. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
  217. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  218. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +26 -26
  219. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  220. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +31 -31
  221. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  222. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +135 -153
  223. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  224. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +27 -22
  225. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  226. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  227. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  228. package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
  229. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  230. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  231. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  232. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
  233. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  234. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  235. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  236. package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
  237. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  238. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  239. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  240. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
  241. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  242. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  243. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  244. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +55 -2
  245. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  246. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
  247. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  248. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  249. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  251. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
  253. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +117 -14
  255. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  256. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  257. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  259. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  261. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  262. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  263. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  264. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  265. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  266. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  267. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  269. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
  271. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  273. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  275. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  276. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  277. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  278. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  279. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  280. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  281. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  282. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  283. package/contracts/{shared → authorization}/AccessAdmin.sol +135 -303
  284. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  285. package/contracts/authorization/Authorization.sol +218 -0
  286. package/contracts/authorization/IAccess.sol +48 -0
  287. package/contracts/{shared → authorization}/IAccessAdmin.sol +22 -54
  288. package/contracts/authorization/IAuthorization.sol +54 -0
  289. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  290. package/contracts/{registry → authorization}/IServiceAuthorization.sol +5 -5
  291. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  292. package/contracts/{registry → authorization}/ServiceAuthorization.sol +17 -17
  293. package/contracts/distribution/BasicDistribution.sol +138 -0
  294. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  295. package/contracts/distribution/Distribution.sol +144 -110
  296. package/contracts/distribution/DistributionService.sol +71 -31
  297. package/contracts/distribution/DistributionServiceManager.sol +2 -5
  298. package/contracts/distribution/IDistributionComponent.sol +25 -39
  299. package/contracts/distribution/IDistributionService.sol +17 -1
  300. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  301. package/contracts/instance/IInstance.sol +8 -9
  302. package/contracts/instance/IInstanceService.sol +13 -18
  303. package/contracts/instance/Instance.sol +61 -70
  304. package/contracts/instance/InstanceAdmin.sol +202 -267
  305. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  306. package/contracts/instance/InstanceReader.sol +30 -9
  307. package/contracts/instance/InstanceService.sol +74 -70
  308. package/contracts/instance/InstanceServiceManager.sol +2 -6
  309. package/contracts/instance/InstanceStore.sol +7 -2
  310. package/contracts/instance/base/ObjectLifecycle.sol +55 -45
  311. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -12
  312. package/contracts/instance/module/IBundle.sol +1 -1
  313. package/contracts/instance/module/IComponents.sol +1 -7
  314. package/contracts/instance/module/IDistribution.sol +0 -1
  315. package/contracts/mock/Dip.sol +1 -1
  316. package/contracts/oracle/BasicOracle.sol +48 -0
  317. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  318. package/contracts/oracle/IOracle.sol +16 -0
  319. package/contracts/oracle/IOracleComponent.sol +2 -1
  320. package/contracts/oracle/Oracle.sol +72 -51
  321. package/contracts/oracle/OracleServiceManager.sol +2 -5
  322. package/contracts/pool/BasicPool.sol +166 -0
  323. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  324. package/contracts/pool/BundleService.sol +182 -36
  325. package/contracts/pool/BundleServiceManager.sol +2 -5
  326. package/contracts/pool/IBundleService.sol +31 -4
  327. package/contracts/pool/IPoolComponent.sol +6 -60
  328. package/contracts/pool/IPoolService.sol +15 -16
  329. package/contracts/pool/Pool.sol +166 -137
  330. package/contracts/pool/PoolService.sol +157 -73
  331. package/contracts/pool/PoolServiceManager.sol +2 -5
  332. package/contracts/product/ApplicationService.sol +12 -36
  333. package/contracts/product/ApplicationServiceManager.sol +2 -2
  334. package/contracts/product/BasicProduct.sol +52 -0
  335. package/contracts/product/BasicProductAuthorization.sol +43 -0
  336. package/contracts/product/ClaimService.sol +7 -32
  337. package/contracts/product/ClaimServiceManager.sol +2 -2
  338. package/contracts/product/IPolicyService.sol +8 -2
  339. package/contracts/product/IProductComponent.sol +7 -9
  340. package/contracts/product/PolicyService.sol +72 -18
  341. package/contracts/product/PolicyServiceManager.sol +2 -5
  342. package/contracts/product/PricingServiceManager.sol +2 -5
  343. package/contracts/product/Product.sol +122 -88
  344. package/contracts/product/ProductService.sol +7 -32
  345. package/contracts/product/ProductServiceManager.sol +2 -5
  346. package/contracts/registry/IRegistry.sol +26 -16
  347. package/contracts/registry/IRegistryService.sol +6 -6
  348. package/contracts/registry/Registry.sol +81 -87
  349. package/contracts/registry/RegistryAdmin.sol +118 -86
  350. package/contracts/registry/RegistryService.sol +4 -18
  351. package/contracts/registry/RegistryServiceManager.sol +2 -2
  352. package/contracts/registry/ReleaseLifecycle.sol +8 -9
  353. package/contracts/registry/{ReleaseManager.sol → ReleaseRegistry.sol} +97 -135
  354. package/contracts/registry/ServiceAuthorizationV3.sol +14 -14
  355. package/contracts/registry/TokenRegistry.sol +2 -2
  356. package/contracts/shared/Component.sol +13 -14
  357. package/contracts/shared/ComponentService.sol +101 -70
  358. package/contracts/shared/ComponentServiceManager.sol +2 -2
  359. package/contracts/shared/ComponentVerifyingService.sol +1 -1
  360. package/contracts/shared/IComponentService.sol +15 -9
  361. package/contracts/shared/IInstanceLinkedComponent.sol +10 -0
  362. package/contracts/shared/IService.sol +1 -1
  363. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
  364. package/contracts/shared/InstanceLinkedComponent.sol +47 -19
  365. package/contracts/shared/KeyValueStore.sol +1 -1
  366. package/contracts/shared/Lifecycle.sol +16 -10
  367. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  368. package/contracts/shared/NftOwnable.sol +2 -2
  369. package/contracts/shared/PolicyHolder.sol +2 -5
  370. package/contracts/shared/Service.sol +3 -4
  371. package/contracts/staking/IStaking.sol +1 -2
  372. package/contracts/staking/IStakingService.sol +12 -5
  373. package/contracts/staking/Staking.sol +20 -17
  374. package/contracts/staking/StakingLifecycle.sol +5 -6
  375. package/contracts/staking/StakingManager.sol +2 -6
  376. package/contracts/staking/StakingReader.sol +12 -16
  377. package/contracts/staking/StakingServiceManager.sol +2 -2
  378. package/contracts/staking/StakingStore.sol +12 -22
  379. package/contracts/type/Amount.sol +12 -5
  380. package/contracts/type/Blocknumber.sol +7 -1
  381. package/contracts/type/ObjectType.sol +37 -7
  382. package/contracts/type/Referral.sol +1 -0
  383. package/contracts/type/RoleId.sol +55 -82
  384. package/contracts/type/Seconds.sol +13 -1
  385. package/contracts/type/Timestamp.sol +11 -1
  386. package/contracts/type/UFixed.sol +34 -9
  387. package/contracts/type/Version.sol +3 -1
  388. package/contracts/{shared → upgradeability}/ProxyManager.sol +3 -4
  389. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  390. package/package.json +5 -3
  391. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  392. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
  393. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  394. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  395. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  396. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
  397. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  398. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  399. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1234
  400. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  401. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -190
  402. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  403. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  404. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  405. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  406. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  407. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  408. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  409. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  410. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  411. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  412. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  413. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  414. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  415. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  416. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  417. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  418. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  419. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  420. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  421. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  422. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  423. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  424. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  425. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  426. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  427. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  428. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  429. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  430. package/contracts/shared/AccessManagerCustom.sol +0 -741
  431. package/contracts/shared/AccessManagerExtended.sol +0 -481
  432. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  433. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  434. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  435. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  436. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  437. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
  438. /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,32 +1,18 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {ERC165Checker} from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
5
- // import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
6
-
7
- import {IRegistry} from "./IRegistry.sol";
8
- import {IInstance} from "../instance/IInstance.sol";
9
-
10
4
  import {IComponent} from "../../contracts/shared/IComponent.sol";
5
+ import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
6
+ import {IInstance} from "../instance/IInstance.sol";
11
7
  import {IPoolComponent} from "../../contracts/pool/IPoolComponent.sol";
12
8
  import {IProductComponent} from "../../contracts/product/IProductComponent.sol";
13
- import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
14
-
15
- import {IVersionable} from "../../contracts/shared/IVersionable.sol";
16
- import {Versionable} from "../../contracts/shared/Versionable.sol";
17
9
  import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
10
+ import {IRegistry} from "./IRegistry.sol";
11
+ import {IRegistryService} from "./IRegistryService.sol";
18
12
 
19
- import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../contracts/type/RoleId.sol";
20
13
  import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE} from "../../contracts/type/ObjectType.sol";
21
- import {StateId, ACTIVE, PAUSED} from "../../contracts/type/StateId.sol";
22
14
  import {NftId, NftIdLib} from "../../contracts/type/NftId.sol";
23
- import {Fee, FeeLib} from "../../contracts/type/Fee.sol";
24
- import {Version, VersionPart, VersionLib} from "../../contracts/type/Version.sol";
25
-
26
15
  import {Service} from "../shared/Service.sol";
27
- import {IService} from "../shared/IService.sol";
28
- import {IRegistryService} from "./IRegistryService.sol";
29
- import {Registry} from "./Registry.sol";
30
16
 
31
17
  contract RegistryService is
32
18
  Service,
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../shared/IVersionable.sol";
5
- import {ProxyManager} from "../shared/ProxyManager.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {RegistryService} from "./RegistryService.sol";
7
7
 
8
8
  contract RegistryServiceManager is
@@ -13,16 +13,15 @@ contract ReleaseLifecycle is
13
13
  }
14
14
 
15
15
  function _setupLifecycle()
16
- private
16
+ internal
17
+ override
17
18
  {
18
- _initialState[RELEASE()] = SCHEDULED();
19
+ setInitialState(RELEASE(), SCHEDULED());
19
20
 
20
- _isValidTransition[RELEASE()][SCHEDULED()][DEPLOYING()] = true;
21
- _isValidTransition[RELEASE()][DEPLOYING()][DEPLOYING()] = true;
22
- _isValidTransition[RELEASE()][DEPLOYING()][ACTIVE()] = true;
23
- _isValidTransition[RELEASE()][ACTIVE()][PAUSED()] = true;
24
- _isValidTransition[RELEASE()][PAUSED()][ACTIVE()] = true;
25
- _isValidTransition[RELEASE()][PAUSED()][CLOSED()] = true;
26
- //_isValidTransition[RELEASE()][ACTIVE()][FREE()] = true;
21
+ setStateTransition(RELEASE(), SCHEDULED(), DEPLOYING());
22
+ setStateTransition(RELEASE(), DEPLOYING(), DEPLOYING());
23
+ setStateTransition(RELEASE(), DEPLOYING(), ACTIVE());
24
+ setStateTransition(RELEASE(), ACTIVE(), PAUSED());
25
+ setStateTransition(RELEASE(), PAUSED(), ACTIVE());
27
26
  }
28
27
  }
@@ -18,7 +18,6 @@ import {StateId, INITIAL, SCHEDULED, DEPLOYING, ACTIVE, PAUSED, CLOSED} from "..
18
18
  import {Version, VersionLib, VersionPart, VersionPartLib} from "../type/Version.sol";
19
19
 
20
20
  import {IService} from "../shared/IService.sol";
21
- import {AccessManagerExtendedWithDisableInitializeable} from "../shared/AccessManagerExtendedWithDisableInitializeable.sol";
22
21
  import {ILifecycle} from "../shared/ILifecycle.sol";
23
22
  import {INftOwnable} from "../shared/INftOwnable.sol";
24
23
  import {IRegisterable} from "../shared/IRegisterable.sol";
@@ -26,15 +25,14 @@ import {IRegisterable} from "../shared/IRegisterable.sol";
26
25
  import {IRegistry} from "./IRegistry.sol";
27
26
  import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
28
27
  import {IRegistryService} from "./IRegistryService.sol";
29
- import {IServiceAuthorization} from "./IServiceAuthorization.sol";
30
- import {IAccessAdmin} from "../shared/IAccessAdmin.sol";
28
+ import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
29
+ import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
31
30
  import {RegistryAdmin} from "./RegistryAdmin.sol";
32
31
  import {Registry} from "./Registry.sol";
33
32
  import {TokenRegistry} from "./TokenRegistry.sol";
34
33
  import {ReleaseLifecycle} from "./ReleaseLifecycle.sol";
35
34
 
36
-
37
- contract ReleaseManager is
35
+ contract ReleaseRegistry is
38
36
  AccessManaged,
39
37
  ReleaseLifecycle,
40
38
  IRegistryLinked
@@ -43,66 +41,65 @@ contract ReleaseManager is
43
41
 
44
42
  uint256 public constant INITIAL_GIF_VERSION = 3;
45
43
 
46
- event LogReleaseCreation(VersionPart version, bytes32 salt, address authority);
44
+ event LogReleaseCreation(VersionPart version, bytes32 salt);
47
45
  event LogReleaseActivation(VersionPart version);
48
46
  event LogReleaseDisabled(VersionPart version);
49
47
  event LogReleaseEnabled(VersionPart version);
50
- event LogReleaseClosed(VersionPart version);
51
48
 
52
49
  // constructor
53
- error ErrorReleaseManagerNotRegistry(Registry registry);
50
+ error ErrorReleaseRegistryNotRegistry(Registry registry);
54
51
 
55
52
  // createNextRelease
56
- error ErrorReleaseManagerReleaseCreationDisallowed(VersionPart version, StateId currentStateId);
53
+ error ErrorReleaseRegistryReleaseCreationDisallowed(VersionPart version, StateId currentStateId);
57
54
 
58
55
  // prepareRelease
59
- error ErrorReleaseManagerReleasePreparationDisallowed(VersionPart version, StateId currentStateId);
60
- error ErrorReleaseManagerReleaseAlreadyPrepared(VersionPart version, StateId currentStateId);
61
- error ErrorReleaseManagerVersionMismatch(VersionPart expected, VersionPart actual);
62
- error ErrorReleaseManagerNoDomains(VersionPart version);
56
+ error ErrorReleaseRegistryReleasePreparationDisallowed(VersionPart version, StateId currentStateId);
57
+ error ErrorReleaseRegistryReleaseAlreadyPrepared(VersionPart version, StateId currentStateId);
58
+ error ErrorReleaseRegistryVersionMismatch(VersionPart expected, VersionPart actual);
59
+ error ErrorReleaseRegistryNoDomains(VersionPart version);
63
60
 
64
61
  // registerService
65
- error ErrorReleaseManagerNoServiceRegistrationExpected();
66
- error ErrorReleaseManagerServiceRegistrationDisallowed(StateId currentStateId);
67
- error ErrorReleaseManagerServiceDomainMismatch(ObjectType expectedDomain, ObjectType actualDomain);
68
- error ErrorReleaseManagerNotService(address notService);
69
- error ErrorReleaseManagerServiceAddressMismatch(address expected, address actual);
62
+ error ErrorReleaseRegistryNoServiceRegistrationExpected();
63
+ error ErrorReleaseRegistryServiceRegistrationDisallowed(StateId currentStateId);
64
+ error ErrorReleaseRegistryServiceDomainMismatch(ObjectType expectedDomain, ObjectType actualDomain);
65
+ error ErrorReleaseRegistryNotService(address notService);
66
+ error ErrorReleaseRegistryServiceAddressMismatch(address expected, address actual);
70
67
 
71
68
  // activateNextRelease
72
- error ErrorReleaseManagerReleaseActivationDisallowed(VersionPart releaseVersion, StateId currentStateId);
73
- error ErrorReleaseManagerReleaseNotCreated(VersionPart releaseVersion);
74
- error ErrorReleaseManagerReleaseRegistrationNotFinished(VersionPart releaseVersion, uint awaitingRegistration);
75
- error ErrorReleaseManagerReleaseAlreadyActivated(VersionPart releaseVersion);
69
+ error ErrorReleaseRegistryReleaseActivationDisallowed(VersionPart releaseVersion, StateId currentStateId);
70
+ error ErrorReleaseRegistryReleaseNotCreated(VersionPart releaseVersion);
71
+ error ErrorReleaseRegistryReleaseRegistrationNotFinished(VersionPart releaseVersion, uint awaitingRegistration);
72
+ error ErrorReleaseRegistryReleaseAlreadyActivated(VersionPart releaseVersion);
76
73
 
77
74
  // disableRelease
78
- error ErrorReleaseManagerReleaseNotActivated(VersionPart releaseVersion);
79
- error ErrorReleaseManagerReleaseAlreadyDisabled(VersionPart releaseVersion);
75
+ error ErrorReleaseRegistryReleaseNotActivated(VersionPart releaseVersion);
76
+ error ErrorReleaseRegistryReleaseAlreadyDisabled(VersionPart releaseVersion);
80
77
 
81
78
  // _verifyService
82
- error ErrorReleaseManagerServiceReleaseAuthorityMismatch(IService service, address serviceAuthority, address releaseAuthority);
83
- error ErrorReleaseManagerServiceReleaseVersionMismatch(IService service, VersionPart serviceVersion, VersionPart releaseVersion);
79
+ error ErrorReleaseRegistryServiceReleaseAuthorityMismatch(IService service, address serviceAuthority, address releaseAuthority);
80
+ error ErrorReleaseRegistryServiceReleaseVersionMismatch(IService service, VersionPart serviceVersion, VersionPart releaseVersion);
84
81
 
85
82
  // _verifyServiceInfo
86
- error ErrorReleaseManagerServiceInfoAddressInvalid(IService service, address expected);
87
- error ErrorReleaseManagerServiceInfoInterceptorInvalid(IService service, bool isInterceptor);
88
- error ErrorReleaseManagerServiceInfoTypeInvalid(IService service, ObjectType expected, ObjectType found);
89
- error ErrorReleaseManagerServiceInfoOwnerInvalid(IService service, address expected, address found);
90
- error ErrorReleaseManagerServiceSelfRegistration(IService service);
91
- error ErrorReleaseManagerServiceOwnerRegistered(IService service, address owner);
83
+ error ErrorReleaseRegistryServiceInfoAddressInvalid(IService service, address expected);
84
+ error ErrorReleaseRegistryServiceInfoInterceptorInvalid(IService service, bool isInterceptor);
85
+ error ErrorReleaseRegistryServiceInfoTypeInvalid(IService service, ObjectType expected, ObjectType found);
86
+ error ErrorReleaseRegistryServiceInfoOwnerInvalid(IService service, address expected, address found);
87
+ error ErrorReleaseRegistryServiceSelfRegistration(IService service);
88
+ error ErrorReleaseRegistryServiceOwnerRegistered(IService service, address owner);
92
89
 
93
90
  Seconds public constant MIN_DISABLE_DELAY = Seconds.wrap(60 * 24 * 365); // 1 year
94
91
 
95
- RegistryAdmin private _admin;
96
- address public _releaseAccessManagerCodeAddress;
97
- Registry private _registry;
92
+ RegistryAdmin public immutable _admin;
93
+ Registry public immutable _registry;
94
+ IRegisterable private _staking;
95
+ address private _stakingOwner;
98
96
 
99
- // TODO remove once it's clear that release authority will always be registry authority
100
- mapping(VersionPart version => address authority) internal _releaseAccessManager;
101
97
  mapping(VersionPart version => IRegistry.ReleaseInfo info) internal _releaseInfo;
102
- mapping(address registryService => VersionPart version) _releaseVersionByAddress;
103
-
104
98
  mapping(VersionPart version => IServiceAuthorization authz) internal _serviceAuthorization;
105
99
 
100
+ // TODO check where/why this is used
101
+ mapping(address registryService => VersionPart version) _releaseVersionByAddress;
102
+
106
103
  VersionPart private _initial;// first active version
107
104
  VersionPart internal _latest; // latest active version
108
105
  VersionPart internal _next; // version to create and activate
@@ -116,7 +113,7 @@ contract ReleaseManager is
116
113
  {
117
114
  // TODO move this part to RegistryLinked constructor
118
115
  if(!_isRegistry(address(registry))) {
119
- revert ErrorReleaseManagerNotRegistry(registry);
116
+ revert ErrorReleaseRegistryNotRegistry(registry);
120
117
  }
121
118
 
122
119
  setAuthority(registry.getAuthority());
@@ -126,11 +123,6 @@ contract ReleaseManager is
126
123
 
127
124
  _initial = VersionPartLib.toVersionPart(INITIAL_GIF_VERSION);
128
125
  _next = VersionPartLib.toVersionPart(INITIAL_GIF_VERSION - 1);
129
-
130
- //AccessManagerExtendedWithDisableInitializeable masterReleaseAccessManager = new AccessManagerExtendedWithDisableInitializeable();
131
- //masterReleaseAccessManager.initialize(address(this));
132
- //masterReleaseAccessManager.disable();
133
- //_releaseAccessManagerCodeAddress = address(masterReleaseAccessManager);
134
126
  }
135
127
 
136
128
  /// @dev skips previous release if was not activated
@@ -160,50 +152,46 @@ contract ReleaseManager is
160
152
  bytes32 releaseSalt
161
153
  )
162
154
  {
163
- (
164
- VersionPart releaseVersion,
165
- uint serviceDomainsCount
166
- ) = serviceAuthorization.getRelease();
155
+ authority = _admin.authority();
156
+ version = _next;
167
157
 
168
- // verify authorizaion contract release matches with expected version
169
- if (releaseVersion != _next) {
170
- revert ErrorReleaseManagerVersionMismatch(_next, releaseVersion);
158
+ // ensures unique salt
159
+ // TODO CreateX have clones capability also
160
+ // what would releaseSalt look like if used with CreateX in pemissioned mode?
161
+ releaseSalt = keccak256(
162
+ bytes.concat(
163
+ bytes32(version.toInt()),
164
+ salt));
165
+
166
+ // verify release in state SCHEDULED
167
+ if (!isValidTransition(RELEASE(), _state[version], DEPLOYING())) {
168
+ revert ErrorReleaseRegistryReleasePreparationDisallowed(version, _state[version]);
171
169
  }
172
170
 
173
- // sanity check to ensure service domain list is not empty
174
- if (serviceDomainsCount == 0) {
175
- revert ErrorReleaseManagerNoDomains(_next);
171
+ _state[version] = DEPLOYING();
172
+
173
+ // verify authorizaion contract release matches with expected version
174
+ VersionPart releaseVersion = serviceAuthorization.getRelease();
175
+ if (releaseVersion != version) {
176
+ revert ErrorReleaseRegistryVersionMismatch(version, releaseVersion);
176
177
  }
177
178
 
178
- version = _next;
179
- StateId state = _state[version];
180
- StateId newState = DEPLOYING();
181
179
 
182
- // verify release in state SCHEDULED
183
- if (!isValidTransition(RELEASE(), state, newState)) {
184
- revert ErrorReleaseManagerReleasePreparationDisallowed(version, state);
180
+ // sanity check to ensure service domain list is not empty
181
+ uint256 serviceDomainsCount = serviceAuthorization.getServiceDomains().length;
182
+ if (serviceDomainsCount == 0) {
183
+ revert ErrorReleaseRegistryNoDomains(version);
185
184
  }
186
185
 
187
186
  // verify prepareNextRelease is only called once per release
188
187
  if(_servicesToRegister > 0) {
189
- revert ErrorReleaseManagerReleaseAlreadyPrepared(version, state);
188
+ revert ErrorReleaseRegistryReleaseAlreadyPrepared(version, _state[version]);
190
189
  }
191
190
 
192
- // ensures unique salt
193
- // TODO CreateX have clones capability also
194
- // what would releaseSalt look like if used with CreateX in pemissioned mode?
195
- releaseSalt = keccak256(
196
- bytes.concat(
197
- bytes32(version.toInt()),
198
- salt));
199
-
200
- authority = _admin.authority();
201
- _serviceAuthorization[_next] = serviceAuthorization;
202
- _releaseAccessManager[_next] = authority;
203
191
  _servicesToRegister = serviceDomainsCount;
204
- _state[version] = newState;
192
+ _serviceAuthorization[version] = serviceAuthorization;
205
193
 
206
- emit LogReleaseCreation(version, releaseSalt, authority);
194
+ emit LogReleaseCreation(version, releaseSalt);
207
195
  }
208
196
 
209
197
  // TODO this function can have 0 args -> use stored addresses from prepareNextRelease()
@@ -214,17 +202,18 @@ contract ReleaseManager is
214
202
  {
215
203
  VersionPart releaseVersion = _next;
216
204
  StateId state = _state[releaseVersion];
217
- StateId newState = DEPLOYING();
218
205
 
219
206
  // verify release in state DEPLOYING
220
- if (!isValidTransition(RELEASE(), state, newState)) {
207
+ if (!isValidTransition(RELEASE(), state, DEPLOYING())) {
221
208
  // TOOD name must represent failed state transition
222
- revert ErrorReleaseManagerServiceRegistrationDisallowed(state);
209
+ revert ErrorReleaseRegistryServiceRegistrationDisallowed(state);
223
210
  }
224
211
 
212
+ _state[releaseVersion] = DEPLOYING();
213
+
225
214
  // not all services are registered
226
215
  if (_servicesToRegister == _registeredServices) {
227
- revert ErrorReleaseManagerNoServiceRegistrationExpected();
216
+ revert ErrorReleaseRegistryNoServiceRegistrationExpected();
228
217
  }
229
218
 
230
219
  // service can work with release manager
@@ -237,20 +226,12 @@ contract ReleaseManager is
237
226
  // service domain matches defined in release config
238
227
  ObjectType expectedDomain = _serviceAuthorization[releaseVersion].getServiceDomain(_registeredServices);
239
228
  if (serviceDomain != expectedDomain) {
240
- revert ErrorReleaseManagerServiceDomainMismatch(expectedDomain, serviceDomain);
229
+ revert ErrorReleaseRegistryServiceDomainMismatch(expectedDomain, serviceDomain);
241
230
  }
242
231
 
243
- // TODO uncomment when release addresses calculations are ready
244
- // service address matches defined in release config
245
- /*address expectedAddress = _serviceAuthorization[releaseVersion].getServiceAddress(expectedDomain);
246
- if(address(service) != expectedAddress) {
247
- //revert ErrorReleaseManagerServiceAddressMismatch(expectedAddress, address(service));
248
- }*/
249
-
250
- // checked in registry
251
- _releaseInfo[releaseVersion].domains.push(serviceDomain);
252
-
253
- _state[releaseVersion] = newState;
232
+ // register service with registry
233
+ nftId = _registry.registerService(info, serviceVersion, serviceDomain);
234
+ service.linkToRegisteredNftId();
254
235
  _registeredServices++;
255
236
 
256
237
  // setup service authorization
@@ -264,10 +245,6 @@ contract ReleaseManager is
264
245
  // TODO rename to grantServiceDomainRole()
265
246
  _admin.grantServiceRoleForAllVersions(service, serviceDomain);
266
247
  }
267
-
268
- // register service with registry
269
- nftId = _registry.registerService(info, serviceVersion, serviceDomain);
270
- service.linkToRegisteredNftId();
271
248
  }
272
249
 
273
250
 
@@ -281,18 +258,18 @@ contract ReleaseManager is
281
258
 
282
259
  // verify release in state DEPLOYING
283
260
  if (!isValidTransition(RELEASE(), state, newState)) {
284
- revert ErrorReleaseManagerReleaseActivationDisallowed(version, state);
261
+ revert ErrorReleaseRegistryReleaseActivationDisallowed(version, state);
285
262
  }
286
263
 
287
264
  // release fully deployed
288
265
  if(_registeredServices < _servicesToRegister) {
289
- revert ErrorReleaseManagerReleaseRegistrationNotFinished(version, _servicesToRegister - _registeredServices);
266
+ revert ErrorReleaseRegistryReleaseRegistrationNotFinished(version, _servicesToRegister - _registeredServices);
290
267
  }
291
268
 
292
269
  // release exists, registry service MUST exist
293
270
  address service = _registry.getServiceAddress(REGISTRY(), version);
294
271
  if(service == address(0)) {
295
- revert ErrorReleaseManagerReleaseNotCreated(version);
272
+ revert ErrorReleaseRegistryReleaseNotCreated(version);
296
273
  }
297
274
 
298
275
  _latest = version;
@@ -314,7 +291,7 @@ contract ReleaseManager is
314
291
 
315
292
  // verify release in state ACTIVE
316
293
  if (!isValidTransition(RELEASE(), state, newState)) {
317
- revert ErrorReleaseManagerReleaseActivationDisallowed(version, state);
294
+ revert ErrorReleaseRegistryReleaseActivationDisallowed(version, state);
318
295
  }
319
296
 
320
297
  // TODO come up with a substitute
@@ -337,7 +314,7 @@ contract ReleaseManager is
337
314
 
338
315
  // verify release in state PAUSED
339
316
  if (!isValidTransition(RELEASE(), state, newState)) {
340
- revert ErrorReleaseManagerReleaseActivationDisallowed(version, state);
317
+ revert ErrorReleaseRegistryReleaseActivationDisallowed(version, state);
341
318
  }
342
319
 
343
320
  // TODO come up with a substitute
@@ -348,23 +325,6 @@ contract ReleaseManager is
348
325
 
349
326
  emit LogReleaseEnabled(version);
350
327
  }
351
- /// @dev permanently disable release
352
- function closeRelease(VersionPart version)
353
- external
354
- restricted // GIF_ADMIN_ROLE
355
- {
356
- StateId state = _state[version];
357
- StateId newState = CLOSED();
358
-
359
- // verify release in state PAUSED
360
- if (!isValidTransition(RELEASE(), state, newState)) {
361
- revert ErrorReleaseManagerReleaseActivationDisallowed(version, state);
362
- }
363
-
364
- _state[version] = newState;
365
-
366
- emit LogReleaseClosed(version);
367
- }
368
328
 
369
329
  //--- view functions ----------------------------------------------------//
370
330
 
@@ -382,7 +342,7 @@ contract ReleaseManager is
382
342
  }
383
343
 
384
344
  function isActiveRelease(VersionPart version) public view returns(bool) {
385
- return _releaseInfo[version].activatedAt.gtz();
345
+ return _state[version] == ACTIVE();
386
346
  }
387
347
 
388
348
  function getReleaseInfo(VersionPart version) external view returns(IRegistry.ReleaseInfo memory) {
@@ -409,12 +369,14 @@ contract ReleaseManager is
409
369
  return _servicesToRegister - _registeredServices;
410
370
  }
411
371
 
412
- // TODO cleanup
413
- function getReleaseAccessManager(VersionPart version) external view returns(AccessManagerExtendedWithDisableInitializeable) {
414
- // return _releaseAccessManager[version];
372
+ function getServiceAuthorization(VersionPart version)
373
+ external
374
+ view
375
+ returns (IServiceAuthorization serviceAuthorization)
376
+ {
377
+ return _serviceAuthorization[version];
415
378
  }
416
379
 
417
- // TODO token registry knows nothing about adfmin, only registry
418
380
  function getRegistryAdmin() external view returns (address) {
419
381
  return address(_admin);
420
382
  }
@@ -437,7 +399,7 @@ contract ReleaseManager is
437
399
  )
438
400
  {
439
401
  if(!service.supportsInterface(type(IService).interfaceId)) {
440
- revert ErrorReleaseManagerNotService(address(service));
402
+ revert ErrorReleaseRegistryNotService(address(service));
441
403
  }
442
404
 
443
405
  address owner = msg.sender;
@@ -449,18 +411,18 @@ contract ReleaseManager is
449
411
  _verifyServiceInfo(service, serviceInfo, owner);
450
412
 
451
413
  VersionPart releaseVersion = _next; // never 0
452
- address releaseAuthority = address(_releaseAccessManager[releaseVersion]); // can be zero if registering service when release is not created
414
+ address expectedAuthority = _admin.authority(); // can be zero if registering service when release is not created
453
415
 
454
416
  // IMPORTANT: can not guarantee service access is actually controlled by authority
455
- if(serviceAuthority != releaseAuthority) {
456
- revert ErrorReleaseManagerServiceReleaseAuthorityMismatch(
417
+ if(serviceAuthority != expectedAuthority) {
418
+ revert ErrorReleaseRegistryServiceReleaseAuthorityMismatch(
457
419
  service,
458
420
  serviceAuthority,
459
- releaseAuthority);
421
+ expectedAuthority);
460
422
  }
461
423
 
462
424
  if(serviceVersion != releaseVersion) {
463
- revert ErrorReleaseManagerServiceReleaseVersionMismatch(
425
+ revert ErrorReleaseRegistryServiceReleaseVersionMismatch(
464
426
  service,
465
427
  serviceVersion,
466
428
  releaseVersion);
@@ -477,29 +439,29 @@ contract ReleaseManager is
477
439
  view
478
440
  {
479
441
  if(info.objectAddress != address(service)) {
480
- revert ErrorReleaseManagerServiceInfoAddressInvalid(service, address(service));
442
+ revert ErrorReleaseRegistryServiceInfoAddressInvalid(service, address(service));
481
443
  }
482
444
 
483
445
  if(info.isInterceptor != false) { // service is never interceptor
484
- revert ErrorReleaseManagerServiceInfoInterceptorInvalid(service, info.isInterceptor);
446
+ revert ErrorReleaseRegistryServiceInfoInterceptorInvalid(service, info.isInterceptor);
485
447
  }
486
448
 
487
449
  if(info.objectType != SERVICE()) {
488
- revert ErrorReleaseManagerServiceInfoTypeInvalid(service, SERVICE(), info.objectType);
450
+ revert ErrorReleaseRegistryServiceInfoTypeInvalid(service, SERVICE(), info.objectType);
489
451
  }
490
452
 
491
453
  address owner = info.initialOwner;
492
454
 
493
455
  if(owner != expectedOwner) { // registerable owner protection
494
- revert ErrorReleaseManagerServiceInfoOwnerInvalid(service, expectedOwner, owner);
456
+ revert ErrorReleaseRegistryServiceInfoOwnerInvalid(service, expectedOwner, owner);
495
457
  }
496
458
 
497
459
  if(owner == address(service)) {
498
- revert ErrorReleaseManagerServiceSelfRegistration(service);
460
+ revert ErrorReleaseRegistryServiceSelfRegistration(service);
499
461
  }
500
462
 
501
463
  if(_registry.isRegistered(owner)) {
502
- revert ErrorReleaseManagerServiceOwnerRegistered(service, owner);
464
+ revert ErrorReleaseRegistryServiceOwnerRegistered(service, owner);
503
465
  }
504
466
  }
505
467
 
@@ -511,7 +473,7 @@ contract ReleaseManager is
511
473
  return false;
512
474
  }
513
475
  // TODO try catch and return false in case of revert
514
- // a just panic
476
+ // or just panic
515
477
  // check if contract returns a zero nft id for its own address
516
478
  if (IRegistry(registryAddress).getNftId(registryAddress).eqz()) {
517
479
  return false;
@@ -6,7 +6,7 @@ import {
6
6
  } from "../../contracts/type/ObjectType.sol";
7
7
 
8
8
  import {ComponentService} from "../shared/ComponentService.sol";
9
- import {IAccessAdmin} from "../shared/IAccessAdmin.sol";
9
+ import {IAccess} from "../authorization/IAccess.sol";
10
10
  import {IBundleService} from "../pool/IBundleService.sol";
11
11
  import {IDistributionService} from "../distribution/IDistributionService.sol";
12
12
  import {InstanceService} from "../instance/InstanceService.sol";
@@ -14,7 +14,7 @@ import {IInstanceService} from "../instance/IInstanceService.sol";
14
14
  import {IPoolService} from "../pool/IPoolService.sol";
15
15
  import {IStakingService} from "../staking/IStakingService.sol";
16
16
  import {IRegistryService} from "./IRegistryService.sol";
17
- import {ServiceAuthorization} from "./ServiceAuthorization.sol";
17
+ import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
18
18
 
19
19
 
20
20
  contract ServiceAuthorizationV3
@@ -64,19 +64,19 @@ contract ServiceAuthorizationV3
64
64
  function _setupIRegistryServiceAuthorization()
65
65
  internal
66
66
  {
67
- IAccessAdmin.Function[] storage functions;
67
+ IAccess.FunctionInfo[] storage functions;
68
68
 
69
69
  functions = _authorizeForService(REGISTRY(), APPLICATION());
70
70
  _authorize(functions, IRegistryService.registerPolicy.selector, "registerPolicy");
71
71
 
72
- functions = _authorizeForService(REGISTRY(), POOL());
73
- _authorize(functions, IRegistryService.registerPool.selector, "registerPool");
72
+ // functions = _authorizeForService(REGISTRY(), POOL());
73
+ // _authorize(functions, IRegistryService.registerPool.selector, "registerPool");
74
74
 
75
75
  functions = _authorizeForService(REGISTRY(), BUNDLE());
76
76
  _authorize(functions, IRegistryService.registerBundle.selector, "registerBundle");
77
77
 
78
78
  functions = _authorizeForService(REGISTRY(), DISTRIBUTION());
79
- _authorize(functions, IRegistryService.registerDistribution.selector, "registerDistribution");
79
+ // _authorize(functions, IRegistryService.registerDistribution.selector, "registerDistribution");
80
80
  _authorize(functions, IRegistryService.registerDistributor.selector, "registerDistributor");
81
81
 
82
82
  functions = _authorizeForService(REGISTRY(), COMPONENT());
@@ -88,8 +88,8 @@ contract ServiceAuthorizationV3
88
88
  functions = _authorizeForService(REGISTRY(), STAKING());
89
89
  _authorize(functions, IRegistryService.registerStake.selector, "registerStake");
90
90
 
91
- functions = _authorizeForService(REGISTRY(), PRODUCT());
92
- _authorize(functions, IRegistryService.registerProduct.selector, "registerProduct");
91
+ // functions = _authorizeForService(REGISTRY(), PRODUCT());
92
+ // _authorize(functions, IRegistryService.registerProduct.selector, "registerProduct");
93
93
  }
94
94
 
95
95
 
@@ -98,7 +98,7 @@ contract ServiceAuthorizationV3
98
98
  function _setupStakingServiceAuthorization()
99
99
  internal
100
100
  {
101
- IAccessAdmin.Function[] storage functions;
101
+ IAccess.FunctionInfo[] storage functions;
102
102
 
103
103
  functions = _authorizeForService(STAKING(), INSTANCE());
104
104
  _authorize(functions, IStakingService.createInstanceTarget.selector, "createInstanceTarget");
@@ -121,10 +121,10 @@ contract ServiceAuthorizationV3
121
121
  function _setupInstanceServiceAuthorization()
122
122
  internal
123
123
  {
124
- IAccessAdmin.Function[] storage functions;
124
+ IAccess.FunctionInfo[] storage functions;
125
125
 
126
126
  functions = _authorizeForService(INSTANCE(), COMPONENT());
127
- _authorize(functions, IInstanceService.createComponentTarget.selector, "createComponentTarget");
127
+ _authorize(functions, IInstanceService.initializeAuthorization.selector, "initializeAuthorization");
128
128
  }
129
129
 
130
130
 
@@ -159,7 +159,7 @@ contract ServiceAuthorizationV3
159
159
  function _setupDistributionServiceAuthorization()
160
160
  internal
161
161
  {
162
- IAccessAdmin.Function[] storage functions;
162
+ IAccess.FunctionInfo[] storage functions;
163
163
 
164
164
  functions = _authorizeForService(DISTRIBUTION(), POLICY());
165
165
  _authorize(functions, IDistributionService.processSale.selector, "processSale");
@@ -170,7 +170,7 @@ contract ServiceAuthorizationV3
170
170
  function _setupPoolServiceAuthorization()
171
171
  internal
172
172
  {
173
- IAccessAdmin.Function[] storage functions;
173
+ IAccess.FunctionInfo[] storage functions;
174
174
 
175
175
  functions = _authorizeForService(POOL(), POLICY());
176
176
  _authorize(functions, IPoolService.lockCollateral.selector, "lockCollateral");
@@ -187,7 +187,7 @@ contract ServiceAuthorizationV3
187
187
  function _setupBundleServiceAuthorization()
188
188
  internal
189
189
  {
190
- IAccessAdmin.Function[] storage functions;
190
+ IAccess.FunctionInfo[] storage functions;
191
191
 
192
192
  functions = _authorizeForService(BUNDLE(), POOL());
193
193
  _authorize(functions, IBundleService.create.selector, "create");
@@ -12,7 +12,7 @@ import {IRegisterable} from "../shared/IRegisterable.sol";
12
12
 
13
13
  import {IRegistry} from "./IRegistry.sol";
14
14
  import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
15
- import {ReleaseManager} from "./ReleaseManager.sol";
15
+ import {ReleaseRegistry} from "./ReleaseRegistry.sol";
16
16
  import {RegistryAdmin} from "./RegistryAdmin.sol";
17
17
 
18
18
 
@@ -49,7 +49,7 @@ contract TokenRegistry is
49
49
  TokenInfo [] internal _token;
50
50
 
51
51
  IRegistry internal _registry;
52
- ReleaseManager internal _releaseManager;
52
+ ReleaseRegistry internal _releaseRegistry;
53
53
  IERC20Metadata internal _dipToken;
54
54
 
55
55
  /// @dev enforces msg.sender is owner of nft (or initial owner of nft ownable)