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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/README.md +13 -1
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +38 -33
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +8 -8
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  14. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +8 -8
  16. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +23 -4
  18. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  19. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +26 -26
  20. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +19 -19
  22. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +74 -74
  25. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +55 -55
  27. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  30. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  31. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  32. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +7 -7
  33. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  34. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +10 -5
  35. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  36. package/artifacts/contracts/instance/Instance.sol/Instance.json +19 -19
  37. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  38. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1208 -290
  39. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  40. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +31 -31
  41. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  42. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +58 -58
  43. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  44. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +44 -39
  45. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  46. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +35 -35
  47. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  48. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +83 -84
  49. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  50. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  51. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  52. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  53. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  54. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  55. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  56. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  58. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  62. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  63. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  64. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  65. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  66. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  67. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +16 -16
  68. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  69. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +21 -21
  70. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  71. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  72. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  73. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  74. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  75. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +32 -32
  76. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  77. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +34 -34
  78. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  79. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  80. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +19 -19
  81. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  82. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +55 -55
  83. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +40 -40
  85. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  86. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  87. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  88. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  89. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  90. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +36 -36
  91. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  92. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +36 -36
  93. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  94. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +32 -32
  95. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  96. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +34 -34
  97. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  98. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  99. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +19 -19
  100. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  101. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +72 -72
  102. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  103. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +54 -54
  104. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  105. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  106. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  107. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  108. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  109. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  110. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  111. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +50 -50
  112. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +43 -43
  114. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  115. package/artifacts/contracts/product/PricingService.sol/PricingService.json +58 -58
  116. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  117. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +47 -47
  118. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  119. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  120. package/artifacts/contracts/product/ProductService.sol/ProductService.json +20 -20
  121. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +28 -28
  123. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  124. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  125. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  126. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +50 -46
  127. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  128. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +0 -183
  129. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  130. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  131. package/artifacts/contracts/registry/Registry.sol/Registry.json +101 -73
  132. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  133. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +100 -95
  134. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  135. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
  136. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +27 -27
  138. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  139. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  140. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  141. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  142. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  143. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +26 -7
  144. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  145. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  146. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  147. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  148. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +62 -62
  149. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +49 -49
  151. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  152. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  153. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  154. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  155. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  156. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  157. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  158. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +11 -5
  159. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  160. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +0 -5
  161. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  162. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  163. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  164. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  165. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  166. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  167. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  168. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  169. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  170. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +15 -89
  171. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  172. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +4 -65
  173. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  174. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  175. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  176. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -6
  177. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  178. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
  179. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  180. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +14 -14
  181. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  182. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -8
  183. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  184. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  185. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  186. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  187. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
  188. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  189. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  190. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  191. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  192. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  193. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  194. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +32 -32
  195. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  196. package/artifacts/contracts/staking/Staking.sol/Staking.json +44 -44
  197. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  198. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  199. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  200. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +40 -40
  201. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  202. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
  203. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  204. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +26 -26
  205. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  206. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +31 -31
  207. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  208. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +145 -169
  209. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  210. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -22
  211. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  212. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  213. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  214. package/artifacts/contracts/type/Amount.sol/AmountLib.json +8 -8
  215. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  216. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  217. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  218. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
  219. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  220. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  221. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  222. package/artifacts/contracts/type/Fee.sol/FeeLib.json +12 -12
  223. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  224. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  225. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  226. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
  227. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  228. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  229. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  230. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  231. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  232. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
  233. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  234. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  235. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  236. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  237. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  238. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
  239. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  240. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +14 -14
  241. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  242. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
  243. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  244. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  245. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  246. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  247. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  248. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  249. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  251. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -4
  253. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  255. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  256. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
  257. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  259. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  261. package/contracts/authorization/AccessAdmin.sol +8 -39
  262. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  263. package/contracts/authorization/IServiceAuthorization.sol +3 -0
  264. package/contracts/authorization/ModuleAuthorization.sol +0 -125
  265. package/contracts/authorization/ServiceAuthorization.sol +4 -0
  266. package/contracts/distribution/DistributionService.sol +0 -1
  267. package/contracts/distribution/IDistributionComponent.sol +0 -30
  268. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  269. package/contracts/instance/IInstance.sol +7 -7
  270. package/contracts/instance/IInstanceService.sol +6 -5
  271. package/contracts/instance/Instance.sol +8 -47
  272. package/contracts/instance/InstanceAdmin.sol +201 -269
  273. package/contracts/instance/InstanceAuthorizationV3.sol +14 -25
  274. package/contracts/instance/InstanceReader.sol +0 -5
  275. package/contracts/instance/InstanceService.sol +30 -103
  276. package/contracts/instance/InstanceStore.sol +6 -3
  277. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  278. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +5 -5
  279. package/contracts/pool/BundleService.sol +8 -8
  280. package/contracts/pool/PoolService.sol +0 -1
  281. package/contracts/registry/IRegistry.sol +26 -16
  282. package/contracts/registry/IRegistryService.sol +6 -6
  283. package/contracts/registry/Registry.sol +80 -86
  284. package/contracts/registry/RegistryAdmin.sol +24 -22
  285. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  286. package/contracts/registry/{ReleaseManager.sol → ReleaseRegistry.sol} +148 -191
  287. package/contracts/registry/ServiceAuthorizationV3.sol +5 -7
  288. package/contracts/registry/TokenRegistry.sol +2 -2
  289. package/contracts/shared/ComponentService.sol +2 -47
  290. package/contracts/shared/IKeyValueStore.sol +1 -0
  291. package/contracts/shared/ILifecycle.sol +1 -2
  292. package/contracts/shared/InstanceLinkedComponent.sol +0 -1
  293. package/contracts/shared/KeyValueStore.sol +6 -2
  294. package/contracts/shared/Lifecycle.sol +16 -69
  295. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  296. package/contracts/staking/IStaking.sol +0 -1
  297. package/contracts/staking/IStakingService.sol +12 -5
  298. package/contracts/staking/Staking.sol +1 -3
  299. package/contracts/staking/StakingLifecycle.sol +23 -0
  300. package/contracts/staking/StakingManager.sol +0 -1
  301. package/contracts/staking/StakingReader.sol +6 -7
  302. package/contracts/staking/StakingStore.sol +10 -8
  303. package/contracts/type/ObjectType.sol +3 -7
  304. package/contracts/type/RoleId.sol +10 -38
  305. package/contracts/type/Version.sol +3 -1
  306. package/package.json +3 -3
  307. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.dbg.json +0 -4
  308. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.json +0 -1385
  309. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  310. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -703
  311. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.dbg.json +0 -4
  312. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.json +0 -1616
  313. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  314. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  315. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  316. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -181
  317. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  318. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1237
  319. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  320. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  321. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  322. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  323. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  324. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  325. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  326. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  327. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  328. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  329. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  330. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  331. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  332. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  333. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  334. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  335. package/contracts/authorization/InstanceAdmin.sol +0 -108
  336. package/contracts/instance/InstanceAdminNew.sol +0 -261
  337. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -422
  338. package/contracts/shared/AccessManagerCustom.sol +0 -741
  339. package/contracts/shared/AccessManagerExtended.sol +0 -481
  340. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  341. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  342. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  343. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  344. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/738273943de8559a18576d572e141a51.json"
4
- }
@@ -1,306 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "NftIdSetManager",
4
- "sourceName": "contracts/shared/NftIdSetManager.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "stateMutability": "nonpayable",
9
- "type": "constructor"
10
- },
11
- {
12
- "inputs": [
13
- {
14
- "internalType": "NftId",
15
- "name": "objectNftId",
16
- "type": "uint96"
17
- }
18
- ],
19
- "name": "ErrorNftIdSetManagerAlreadyAdded",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [
24
- {
25
- "internalType": "NftId",
26
- "name": "objectNftId",
27
- "type": "uint96"
28
- }
29
- ],
30
- "name": "ErrorNftIdSetManagerNftIdInvalid",
31
- "type": "error"
32
- },
33
- {
34
- "inputs": [
35
- {
36
- "internalType": "address",
37
- "name": "owner",
38
- "type": "address"
39
- },
40
- {
41
- "internalType": "address",
42
- "name": "sender",
43
- "type": "address"
44
- }
45
- ],
46
- "name": "ErrorNftIdSetManagerNotOwner",
47
- "type": "error"
48
- },
49
- {
50
- "inputs": [
51
- {
52
- "internalType": "address",
53
- "name": "owner",
54
- "type": "address"
55
- }
56
- ],
57
- "name": "ErrorNftIdSetManagerOwnerAlreadySet",
58
- "type": "error"
59
- },
60
- {
61
- "inputs": [
62
- {
63
- "internalType": "NftId",
64
- "name": "componentNftId",
65
- "type": "uint96"
66
- },
67
- {
68
- "internalType": "NftId",
69
- "name": "objectNftId",
70
- "type": "uint96"
71
- }
72
- ],
73
- "name": "activate",
74
- "outputs": [],
75
- "stateMutability": "nonpayable",
76
- "type": "function"
77
- },
78
- {
79
- "inputs": [],
80
- "name": "activeNftIds",
81
- "outputs": [
82
- {
83
- "internalType": "uint256",
84
- "name": "ids",
85
- "type": "uint256"
86
- }
87
- ],
88
- "stateMutability": "view",
89
- "type": "function"
90
- },
91
- {
92
- "inputs": [
93
- {
94
- "internalType": "NftId",
95
- "name": "objectNftId",
96
- "type": "uint96"
97
- }
98
- ],
99
- "name": "add",
100
- "outputs": [],
101
- "stateMutability": "nonpayable",
102
- "type": "function"
103
- },
104
- {
105
- "inputs": [
106
- {
107
- "internalType": "NftId",
108
- "name": "componentNftId",
109
- "type": "uint96"
110
- },
111
- {
112
- "internalType": "NftId",
113
- "name": "objectNftId",
114
- "type": "uint96"
115
- }
116
- ],
117
- "name": "deactivate",
118
- "outputs": [],
119
- "stateMutability": "nonpayable",
120
- "type": "function"
121
- },
122
- {
123
- "inputs": [
124
- {
125
- "internalType": "NftId",
126
- "name": "objectNftId",
127
- "type": "uint96"
128
- }
129
- ],
130
- "name": "exists",
131
- "outputs": [
132
- {
133
- "internalType": "bool",
134
- "name": "",
135
- "type": "bool"
136
- }
137
- ],
138
- "stateMutability": "view",
139
- "type": "function"
140
- },
141
- {
142
- "inputs": [
143
- {
144
- "internalType": "uint256",
145
- "name": "idx",
146
- "type": "uint256"
147
- }
148
- ],
149
- "name": "getActiveNftId",
150
- "outputs": [
151
- {
152
- "internalType": "NftId",
153
- "name": "",
154
- "type": "uint96"
155
- }
156
- ],
157
- "stateMutability": "view",
158
- "type": "function"
159
- },
160
- {
161
- "inputs": [
162
- {
163
- "internalType": "uint256",
164
- "name": "idx",
165
- "type": "uint256"
166
- }
167
- ],
168
- "name": "getNftId",
169
- "outputs": [
170
- {
171
- "internalType": "NftId",
172
- "name": "",
173
- "type": "uint96"
174
- }
175
- ],
176
- "stateMutability": "view",
177
- "type": "function"
178
- },
179
- {
180
- "inputs": [
181
- {
182
- "internalType": "NftId",
183
- "name": "objectNftId",
184
- "type": "uint96"
185
- }
186
- ],
187
- "name": "isActive",
188
- "outputs": [
189
- {
190
- "internalType": "bool",
191
- "name": "",
192
- "type": "bool"
193
- }
194
- ],
195
- "stateMutability": "view",
196
- "type": "function"
197
- },
198
- {
199
- "inputs": [],
200
- "name": "nftIds",
201
- "outputs": [
202
- {
203
- "internalType": "uint256",
204
- "name": "ids",
205
- "type": "uint256"
206
- }
207
- ],
208
- "stateMutability": "view",
209
- "type": "function"
210
- }
211
- ],
212
- "bytecode": "0x608060405234801561001057600080fd5b50600480546001600160a01b03191633179055610749806100326000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638de1d14e116100665780638de1d14e14610113578063954a317214610126578063996f8d9114610139578063ddfe867f1461014f578063f2b297811461015757600080fd5b8063042f9da3146100985780634f9c1c09146100ad578063706e9ba9146100d5578063777d185714610100575b600080fd5b6100ab6100a6366004610645565b61016a565b005b6100c06100bb36600461067e565b610229565b60405190151581526020015b60405180910390f35b6100e86100e33660046106a2565b6102b6565b6040516001600160601b0390911681526020016100cc565b6100c061010e36600461067e565b610335565b6100ab61012136600461067e565b61037f565b6100ab610134366004610645565b6104a9565b610141610533565b6040519081526020016100cc565b6101416105b0565b6100e86101653660046106a2565b6105eb565b6004546001600160a01b031633146101b25760048054604051631d1f01d960e31b81526001600160a01b03909116918101919091523360248201526044015b60405180910390fd5b604051631461054360e31b8152600260048201526001600160601b038216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a3082a18906044015b60006040518083038186803b15801561020d57600080fd5b505af4158015610221573d6000803e3d6000fd5b505050505050565b604051632bfdd6b960e01b81526000600482018190526001600160601b03831660248301529073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90632bfdd6b9906044015b602060405180830381865af415801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b091906106bb565b92915050565b60405163e797d89960e01b8152600060048201819052602482018390529073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044015b602060405180830381865af4158015610311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b091906106dd565b604051632bfdd6b960e01b8152600260048201526001600160601b038216602482015260009073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90632bfdd6b99060440161026f565b6004546001600160a01b031633146103c25760048054604051631d1f01d960e31b81526001600160a01b03909116918101919091523360248201526044016101a9565b604051631461054360e31b8152600060048201526001600160601b038216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a3082a189060440160006040518083038186803b15801561041c57600080fd5b505af4158015610430573d6000803e3d6000fd5b5050604051631461054360e31b8152600260048201526001600160601b038416602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__925063a3082a18915060440160006040518083038186803b15801561048e57600080fd5b505af41580156104a2573d6000803e3d6000fd5b5050505050565b6004546001600160a01b031633146104ec5760048054604051631d1f01d960e31b81526001600160a01b03909116918101919091523360248201526044016101a9565b60405163539eabab60e11b8152600260048201526001600160601b038216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a73d5756906044016101f5565b604051638b6233dd60e01b81526002600482015260009073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd906024015b602060405180830381865af4158015610587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ab91906106fa565b905090565b604051638b6233dd60e01b81526000600482018190529073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd9060240161056a565b60405163e797d89960e01b8152600260048201526024810182905260009073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044016102f4565b6001600160601b038116811461064257600080fd5b50565b6000806040838503121561065857600080fd5b82356106638161062d565b915060208301356106738161062d565b809150509250929050565b60006020828403121561069057600080fd5b813561069b8161062d565b9392505050565b6000602082840312156106b457600080fd5b5035919050565b6000602082840312156106cd57600080fd5b8151801515811461069b57600080fd5b6000602082840312156106ef57600080fd5b815161069b8161062d565b60006020828403121561070c57600080fd5b505191905056fea264697066735822122053c35a93348e3d93fce1d49f30eb08404a743dc11e6d31e30fd19d91e7a7351664736f6c63430008140033",
213
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c80638de1d14e116100665780638de1d14e14610113578063954a317214610126578063996f8d9114610139578063ddfe867f1461014f578063f2b297811461015757600080fd5b8063042f9da3146100985780634f9c1c09146100ad578063706e9ba9146100d5578063777d185714610100575b600080fd5b6100ab6100a6366004610645565b61016a565b005b6100c06100bb36600461067e565b610229565b60405190151581526020015b60405180910390f35b6100e86100e33660046106a2565b6102b6565b6040516001600160601b0390911681526020016100cc565b6100c061010e36600461067e565b610335565b6100ab61012136600461067e565b61037f565b6100ab610134366004610645565b6104a9565b610141610533565b6040519081526020016100cc565b6101416105b0565b6100e86101653660046106a2565b6105eb565b6004546001600160a01b031633146101b25760048054604051631d1f01d960e31b81526001600160a01b03909116918101919091523360248201526044015b60405180910390fd5b604051631461054360e31b8152600260048201526001600160601b038216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a3082a18906044015b60006040518083038186803b15801561020d57600080fd5b505af4158015610221573d6000803e3d6000fd5b505050505050565b604051632bfdd6b960e01b81526000600482018190526001600160601b03831660248301529073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90632bfdd6b9906044015b602060405180830381865af415801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b091906106bb565b92915050565b60405163e797d89960e01b8152600060048201819052602482018390529073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044015b602060405180830381865af4158015610311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b091906106dd565b604051632bfdd6b960e01b8152600260048201526001600160601b038216602482015260009073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90632bfdd6b99060440161026f565b6004546001600160a01b031633146103c25760048054604051631d1f01d960e31b81526001600160a01b03909116918101919091523360248201526044016101a9565b604051631461054360e31b8152600060048201526001600160601b038216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a3082a189060440160006040518083038186803b15801561041c57600080fd5b505af4158015610430573d6000803e3d6000fd5b5050604051631461054360e31b8152600260048201526001600160601b038416602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__925063a3082a18915060440160006040518083038186803b15801561048e57600080fd5b505af41580156104a2573d6000803e3d6000fd5b5050505050565b6004546001600160a01b031633146104ec5760048054604051631d1f01d960e31b81526001600160a01b03909116918101919091523360248201526044016101a9565b60405163539eabab60e11b8152600260048201526001600160601b038216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a73d5756906044016101f5565b604051638b6233dd60e01b81526002600482015260009073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd906024015b602060405180830381865af4158015610587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ab91906106fa565b905090565b604051638b6233dd60e01b81526000600482018190529073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd9060240161056a565b60405163e797d89960e01b8152600260048201526024810182905260009073__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044016102f4565b6001600160601b038116811461064257600080fd5b50565b6000806040838503121561065857600080fd5b82356106638161062d565b915060208301356106738161062d565b809150509250929050565b60006020828403121561069057600080fd5b813561069b8161062d565b9392505050565b6000602082840312156106b457600080fd5b5035919050565b6000602082840312156106cd57600080fd5b8151801515811461069b57600080fd5b6000602082840312156106ef57600080fd5b815161069b8161062d565b60006020828403121561070c57600080fd5b505191905056fea264697066735822122053c35a93348e3d93fce1d49f30eb08404a743dc11e6d31e30fd19d91e7a7351664736f6c63430008140033",
214
- "linkReferences": {
215
- "contracts/type/NftIdSet.sol": {
216
- "LibNftIdSet": [
217
- {
218
- "length": 20,
219
- "start": 521
220
- },
221
- {
222
- "length": 20,
223
- "start": 643
224
- },
225
- {
226
- "length": 20,
227
- "start": 776
228
- },
229
- {
230
- "length": 20,
231
- "start": 911
232
- },
233
- {
234
- "length": 20,
235
- "start": 1049
236
- },
237
- {
238
- "length": 20,
239
- "start": 1161
240
- },
241
- {
242
- "length": 20,
243
- "start": 1347
244
- },
245
- {
246
- "length": 20,
247
- "start": 1406
248
- },
249
- {
250
- "length": 20,
251
- "start": 1531
252
- },
253
- {
254
- "length": 20,
255
- "start": 1597
256
- }
257
- ]
258
- }
259
- },
260
- "deployedLinkReferences": {
261
- "contracts/type/NftIdSet.sol": {
262
- "LibNftIdSet": [
263
- {
264
- "length": 20,
265
- "start": 471
266
- },
267
- {
268
- "length": 20,
269
- "start": 593
270
- },
271
- {
272
- "length": 20,
273
- "start": 726
274
- },
275
- {
276
- "length": 20,
277
- "start": 861
278
- },
279
- {
280
- "length": 20,
281
- "start": 999
282
- },
283
- {
284
- "length": 20,
285
- "start": 1111
286
- },
287
- {
288
- "length": 20,
289
- "start": 1297
290
- },
291
- {
292
- "length": 20,
293
- "start": 1356
294
- },
295
- {
296
- "length": 20,
297
- "start": 1481
298
- },
299
- {
300
- "length": 20,
301
- "start": 1547
302
- }
303
- ]
304
- }
305
- }
306
- }
@@ -1,108 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessAdmin} from "../authorization/AccessAdmin.sol";
5
- import {IInstance} from "../instance/IInstance.sol";
6
- import {IModuleAuthorization} from "./IModuleAuthorization.sol";
7
- import {IServiceAuthorization} from "./IServiceAuthorization.sol";
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
- import {NftId} from "../type/NftId.sol";
10
- import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
11
- import {RegistryLinked} from "../shared/RegistryLinked.sol";
12
- import {ReleaseManager} from "../registry/ReleaseManager.sol";
13
- import {RoleId} from "../type/RoleId.sol";
14
- import {VersionPart} from "../type/Version.sol";
15
-
16
- contract InstanceAdmin is
17
- AccessAdmin,
18
- RegistryLinked
19
- {
20
-
21
- // initialize
22
- error ErrorInstanceAdminNotInstance(address instance);
23
- error ErrorInstanceAdminNotRegisteredInstance(address instance);
24
- error ErrorInstanceAdminServiceVersionMismatch();
25
-
26
- IInstance private _instance;
27
- IModuleAuthorization private _instanceAuthz;
28
- IServiceAuthorization private _serviceAuthz;
29
-
30
- function initialize(
31
- address registry,
32
- address instance,
33
- IModuleAuthorization instanceAuthz
34
- )
35
- external
36
- initializer()
37
- {
38
- initializeRegistryLinked(registry);
39
- _initializeInstance(instance);
40
- _initializeAuthorization(instanceAuthz);
41
- }
42
-
43
-
44
- //--- view functions ----------------------------------------------------//
45
-
46
- function getInstance() external view returns(IInstance instance) {
47
- return _instance;
48
- }
49
-
50
- function getInstanceAuthorization() external view returns(IModuleAuthorization serviceAuthz) {
51
- return _instanceAuthz;
52
- }
53
-
54
- function getServiceAuthorization() external view returns(IServiceAuthorization serviceAuthz) {
55
- return _serviceAuthz;
56
- }
57
-
58
- //--- private functions -------------------------------------------------//
59
-
60
- function _initializeInstance(address instance)
61
- private
62
- onlyInitializing()
63
- {
64
- IRegistry registry = getRegistry();
65
- IRegistry.ObjectInfo memory info = registry.getObjectInfo(instance);
66
-
67
- if (info.objectType != INSTANCE()) {
68
- revert ErrorInstanceAdminNotInstance(instance);
69
- }
70
-
71
- if (info.nftId.eqz()) {
72
- revert ErrorInstanceAdminNotRegisteredInstance(instance);
73
- }
74
-
75
- _instance = IInstance(instance);
76
- }
77
-
78
-
79
- function _initializeAuthorization(
80
- IModuleAuthorization instanceAuthz
81
- )
82
- private
83
- onlyInitializing()
84
- {
85
- // check instance version matches with authz relase
86
- VersionPart release = instanceAuthz.getRelease();
87
- if(release != _instance.getMajorVersion()) {
88
- revert ErrorInstanceAdminServiceVersionMismatch();
89
- }
90
-
91
- _instanceAuthz = instanceAuthz;
92
- _serviceAuthz = _getServiceAuthorization(release);
93
- }
94
-
95
-
96
- function _getServiceAuthorization(VersionPart release)
97
- private
98
- view
99
- returns (IServiceAuthorization serviceAuthz)
100
- {
101
- ReleaseManager releaseManager = ReleaseManager(
102
- getRegistry().getReleaseManagerAddress());
103
-
104
- return releaseManager.getServiceAuthorization(release);
105
- }
106
-
107
- }
108
-
@@ -1,261 +0,0 @@
1
- // SPDX-License-Identifier: UNLICENSED
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
5
-
6
- import {AccessAdmin} from "../authorization/AccessAdmin.sol";
7
- import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
8
- import {IAuthorization} from "../authorization/IAuthorization.sol";
9
- import {IModuleAuthorization} from "../authorization/IModuleAuthorization.sol";
10
- import {IRegistry} from "../registry/IRegistry.sol";
11
- import {IInstance} from "./IInstance.sol";
12
- import {IService} from "../shared/IService.sol";
13
- import {ObjectType, ObjectTypeLib, ALL, POOL, RELEASE} from "../type/ObjectType.sol";
14
- import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE, DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE} from "../type/RoleId.sol";
15
- import {Str, StrLib} from "../type/String.sol";
16
- import {VersionPart} from "../type/Version.sol";
17
-
18
-
19
- contract InstanceAdminNew is
20
- AccessAdmin
21
- {
22
- string public constant INSTANCE_TARGET_NAME = "Instance";
23
- string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
24
- string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
25
- string public constant BUNDLE_MANAGER_TARGET_NAME = "BundleManager";
26
-
27
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
28
-
29
- error ErrorInstanceAdminNotRegistered(address target);
30
- error ErrorInstanceAdminAlreadyAuthorized(address target);
31
- error ErrorInstanceAdminReleaseMismatch();
32
- error ErrorInstanceAdminExpectedTargetMissing(string targetName);
33
-
34
- IInstance _instance;
35
- IRegistry internal _registry;
36
- uint64 _idNext;
37
-
38
- IModuleAuthorization _instanceAuthorization;
39
-
40
- /// @dev Only used for master instance admin.
41
- /// Contracts created via constructor come with disabled initializers.
42
- constructor(IModuleAuthorization instanceAuthorization) AccessAdmin() {
43
- _instanceAuthorization = instanceAuthorization;
44
- }
45
-
46
- /// @dev Initializes this instance admin with the provided instances authorization specification.
47
- /// Internally the function creates an instance specific OpenZeppelin AccessManager that is used as the authority
48
- /// for the inststance authorizatios.
49
- /// Important: Initialization of this instance admin is only complete after calling function initializeInstance.
50
- function initialize(
51
- IModuleAuthorization instanceAuthorization
52
- )
53
- external
54
- initializer()
55
- {
56
- // create new access manager for this instance admin
57
- AccessManager accessManager = new AccessManager(address(this));
58
- _initializeAuthority(address(accessManager));
59
-
60
- // create basic instance independent setup
61
- _createAdminAndPublicRoles();
62
-
63
- // store instance authorization specification
64
- _instanceAuthorization = IModuleAuthorization(instanceAuthorization);
65
- }
66
-
67
- function _checkTargetIsReadyForAuthorization(address target)
68
- internal
69
- view
70
- {
71
- if (address(_registry) != address(0) && !_registry.isRegistered(target)) {
72
- revert ErrorInstanceAdminNotRegistered(target);
73
- }
74
-
75
- if (targetExists(target)) {
76
- revert ErrorInstanceAdminAlreadyAuthorized(target);
77
- }
78
- }
79
-
80
- /// @dev Completes the initialization of this instance admin using the provided instance.
81
- /// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
82
- function initializeInstanceAuthorization(address instanceAddress)
83
- external
84
- {
85
- _checkTargetIsReadyForAuthorization(instanceAddress);
86
-
87
- _idNext = CUSTOM_ROLE_ID_MIN;
88
- _instance = IInstance(instanceAddress);
89
- _registry = _instance.getRegistry();
90
-
91
- // check matching releases
92
- if (_instanceAuthorization.getRelease() != _instance.getMajorVersion()) {
93
- revert ErrorInstanceAdminReleaseMismatch();
94
- }
95
-
96
- // add instance authorization
97
- _createRoles(_instanceAuthorization);
98
- _createModuleTargetsWithRoles();
99
- _createTargetAuthorizations(_instanceAuthorization);
100
-
101
- // grant component owner roles to instance owner
102
- _grantComponentOwnerRoles();
103
- }
104
-
105
-
106
- /// @dev Initializes the authorization for the specified component.
107
- /// Important: The component MUST be registered.
108
- function initializeComponentAuthorization(
109
- address componentAddress,
110
- IAuthorization authorization
111
- )
112
- external
113
- {
114
- _checkTargetIsReadyForAuthorization(componentAddress);
115
-
116
- _createRoles(authorization);
117
-
118
- // create component target
119
- _createTarget(
120
- componentAddress,
121
- authorization.getTargetName(),
122
- true, // checkAuthority
123
- false); // custom
124
-
125
- _grantRoleToAccount(
126
- authorization.getTargetRole(
127
- authorization.getTarget()),
128
- componentAddress);
129
-
130
- _createTargetAuthorizations(authorization);
131
- }
132
-
133
-
134
- function _grantComponentOwnerRoles()
135
- internal
136
- {
137
- address instanceOwner = _registry.ownerOf(_instance.getNftId());
138
- _grantRoleToAccount(DISTRIBUTION_OWNER_ROLE(), instanceOwner);
139
- _grantRoleToAccount(ORACLE_OWNER_ROLE(), instanceOwner);
140
- _grantRoleToAccount(POOL_OWNER_ROLE(), instanceOwner);
141
- _grantRoleToAccount(PRODUCT_OWNER_ROLE(), instanceOwner);
142
- }
143
-
144
- /// @dev Creates a custom role
145
- // TODO implement
146
- // function createRole()
147
- // external
148
- // restricted()
149
- // {
150
-
151
- // }
152
-
153
- /// @dev Grants the provided role to the specified account
154
- function grantRole(
155
- RoleId roleId,
156
- address account)
157
- external
158
- restricted()
159
- {
160
- _grantRoleToAccount(roleId, account);
161
- }
162
-
163
- /// @dev Returns the instance authorization specification used to set up this instance admin.
164
- function getInstanceAuthorization()
165
- external
166
- view
167
- returns (IModuleAuthorization instanceAuthorizaion)
168
- {
169
- return _instanceAuthorization;
170
- }
171
-
172
-
173
- function _createRoles(IAuthorization authorization)
174
- internal
175
- {
176
- RoleId[] memory roles = authorization.getRoles();
177
- RoleId roleId;
178
- RoleInfo memory roleInfo;
179
-
180
- for(uint256 i = 0; i < roles.length; i++) {
181
- roleId = roles[i];
182
- _createRole(
183
- roleId,
184
- authorization.getRoleInfo(roleId));
185
- }
186
- }
187
-
188
-
189
- function _createTargetAuthorizations(IAuthorization authorization)
190
- internal
191
- {
192
- Str[] memory targets = authorization.getTargets();
193
- Str target;
194
-
195
- for(uint256 i = 0; i < targets.length; i++) {
196
- target = targets[i];
197
- RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
198
- RoleId authorizedRole;
199
-
200
- for(uint256 j = 0; j < authorizedRoles.length; j++) {
201
- authorizedRole = authorizedRoles[j];
202
-
203
- _authorizeTargetFunctions(
204
- getTargetForName(target),
205
- authorizedRole,
206
- authorization.getAuthorizedFunctions(
207
- target,
208
- authorizedRole));
209
- }
210
- }
211
- }
212
-
213
- function _checkAndCreateTargetWithRole(
214
- address target,
215
- string memory targetName
216
- )
217
- internal
218
- {
219
- // check that target name is defined in authorization specification
220
- Str name = StrLib.toStr(targetName);
221
- if (!_instanceAuthorization.targetExists(name)) {
222
- revert ErrorInstanceAdminExpectedTargetMissing(targetName);
223
- }
224
-
225
- // create named target
226
- _createTarget(
227
- target,
228
- targetName,
229
- false, // check authority TODO check normal targets, don't check service targets (they share authority with registry admin)
230
- false);
231
-
232
- // assign target role if defined
233
- RoleId targetRoleId = _instanceAuthorization.getTargetRole(name);
234
- if (targetRoleId != RoleIdLib.zero()) {
235
- _grantRoleToAccount(targetRoleId, target);
236
- }
237
- }
238
-
239
- function _createModuleTargetsWithRoles()
240
- internal
241
- {
242
- // create module targets
243
- _checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
244
- _checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
245
- _checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
246
- _checkAndCreateTargetWithRole(address(_instance.getBundleManager()), BUNDLE_MANAGER_TARGET_NAME);
247
-
248
- // create targets for services that need to access the module targets
249
- ObjectType[] memory serviceDomains = _instanceAuthorization.getServiceDomains();
250
- VersionPart release = _instanceAuthorization.getRelease();
251
- ObjectType serviceDomain;
252
-
253
- for (uint256 i = 0; i < serviceDomains.length; i++) {
254
- serviceDomain = serviceDomains[i];
255
-
256
- _checkAndCreateTargetWithRole(
257
- _registry.getServiceAddress(serviceDomain, release),
258
- _instanceAuthorization.getServiceTarget(serviceDomain).toString());
259
- }
260
- }
261
- }