@etherisc/gif-next 0.0.2-84e1050-545 → 0.0.2-86f4673-518

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 (284) hide show
  1. package/README.md +73 -1
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/components/Component.sol/Component.json +884 -0
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +480 -112
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/{BaseComponent.sol/BaseComponent.json → IComponent.sol/IComponent.json} +137 -86
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +556 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +662 -43
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +661 -5
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +590 -204
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +525 -131
  18. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  33. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  36. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  39. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  40. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +38 -62
  41. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
  42. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +327 -43
  44. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  45. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +146 -59
  46. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/Instance.sol/Instance.json +278 -111
  48. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +103 -184
  50. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +61 -97
  52. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +412 -245
  54. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +175 -101
  56. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  57. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +8 -32
  58. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  59. package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → instance/base/ComponentService.sol/ComponentService.json} +321 -9
  60. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  61. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  62. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  63. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +2 -2
  64. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  65. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +24 -13
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  74. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  75. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +1117 -0
  76. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
  77. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +495 -100
  78. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  79. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +172 -26
  80. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +301 -62
  82. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +169 -23
  84. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  85. package/artifacts/contracts/instance/{base/ComponentServiceBase.sol/ComponentServiceBase.json → service/IApplicationService.sol/IApplicationService.json} +221 -104
  86. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
  87. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +181 -52
  88. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +32 -19
  90. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  91. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +152 -32
  92. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  93. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +32 -19
  94. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  95. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +32 -19
  96. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
  97. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +481 -87
  98. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  99. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +203 -25
  100. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  101. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +301 -62
  102. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  103. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +169 -23
  104. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  105. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +301 -62
  106. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  107. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +169 -15
  108. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  109. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  110. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  111. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +225 -133
  112. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +146 -94
  114. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  115. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  116. package/artifacts/contracts/registry/Registry.sol/Registry.json +238 -235
  117. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  118. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  119. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  120. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +214 -156
  121. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +181 -97
  123. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  124. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +547 -0
  125. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  126. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +150 -29
  127. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  128. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  129. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  130. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  131. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +37 -0
  132. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  133. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
  134. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  135. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +18 -5
  136. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  137. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +69 -0
  138. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  139. package/artifacts/contracts/shared/IService.sol/IService.json +32 -19
  140. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  141. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -2
  142. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  143. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +156 -11
  144. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  145. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +269 -0
  146. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  147. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +156 -6
  148. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  149. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +152 -11
  150. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  151. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +105 -0
  152. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  153. package/artifacts/contracts/shared/Service.sol/Service.json +178 -19
  154. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  155. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  156. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  157. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  158. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -2
  159. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  160. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  161. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +152 -11
  162. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  163. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
  164. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  165. package/artifacts/contracts/test/TestService.sol/TestService.json +196 -37
  166. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  167. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  168. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  169. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -8
  170. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  171. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  172. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  173. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  174. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  175. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  176. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  177. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  178. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  179. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  181. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  182. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  183. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  184. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  185. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  186. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  187. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +2 -2
  188. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  189. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  190. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  191. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  192. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  193. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  194. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  195. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  196. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  197. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  198. package/contracts/components/Component.sol +230 -0
  199. package/contracts/components/Distribution.sol +53 -60
  200. package/contracts/components/IComponent.sol +50 -0
  201. package/contracts/components/IDistributionComponent.sol +5 -2
  202. package/contracts/components/IPoolComponent.sol +50 -29
  203. package/contracts/components/IProductComponent.sol +7 -3
  204. package/contracts/components/Pool.sol +135 -152
  205. package/contracts/components/Product.sol +103 -117
  206. package/contracts/instance/BundleManager.sol +7 -11
  207. package/contracts/instance/IInstance.sol +21 -9
  208. package/contracts/instance/IInstanceService.sol +23 -6
  209. package/contracts/instance/Instance.sol +37 -45
  210. package/contracts/instance/InstanceAccessManager.sol +31 -39
  211. package/contracts/instance/InstanceReader.sol +3 -25
  212. package/contracts/instance/InstanceService.sol +200 -78
  213. package/contracts/instance/InstanceServiceManager.sol +5 -8
  214. package/contracts/instance/ObjectManager.sol +7 -24
  215. package/contracts/instance/base/ComponentService.sol +134 -0
  216. package/contracts/instance/module/IAccess.sol +4 -5
  217. package/contracts/instance/module/ISetup.sol +5 -4
  218. package/contracts/instance/service/ApplicationService.sol +268 -0
  219. package/contracts/instance/service/BundleService.sol +52 -14
  220. package/contracts/instance/service/BundleServiceManager.sol +5 -8
  221. package/contracts/instance/service/DistributionService.sol +33 -46
  222. package/contracts/instance/service/DistributionServiceManager.sol +6 -9
  223. package/contracts/instance/service/IApplicationService.sol +82 -0
  224. package/contracts/instance/service/IBundleService.sol +12 -3
  225. package/contracts/instance/service/IPolicyService.sol +17 -16
  226. package/contracts/instance/service/PolicyService.sol +148 -132
  227. package/contracts/instance/service/PoolService.sol +27 -42
  228. package/contracts/instance/service/PoolServiceManager.sol +5 -8
  229. package/contracts/instance/service/ProductService.sol +100 -40
  230. package/contracts/registry/ChainNft.sol +1 -1
  231. package/contracts/registry/IRegistry.sol +37 -19
  232. package/contracts/registry/IRegistryService.sol +28 -13
  233. package/contracts/registry/Registry.sol +231 -217
  234. package/contracts/registry/RegistryAccessManager.sol +216 -0
  235. package/contracts/registry/RegistryService.sol +65 -162
  236. package/contracts/registry/RegistryServiceManager.sol +18 -36
  237. package/contracts/registry/ReleaseManager.sol +332 -0
  238. package/contracts/registry/TokenRegistry.sol +11 -9
  239. package/contracts/shared/ERC165.sol +12 -11
  240. package/contracts/shared/INftOwnable.sol +12 -6
  241. package/contracts/shared/IPolicyHolder.sol +26 -0
  242. package/contracts/shared/IRegisterable.sol +4 -6
  243. package/contracts/shared/IRegistryLinked.sol +15 -0
  244. package/contracts/shared/IService.sol +2 -1
  245. package/contracts/shared/IVersionable.sol +2 -2
  246. package/contracts/shared/NftOwnable.sol +113 -57
  247. package/contracts/shared/PolicyHolder.sol +81 -0
  248. package/contracts/shared/ProxyManager.sol +6 -5
  249. package/contracts/shared/Registerable.sol +15 -24
  250. package/contracts/shared/RegistryLinked.sol +64 -0
  251. package/contracts/shared/Service.sol +18 -13
  252. package/contracts/shared/Versionable.sol +3 -2
  253. package/contracts/test/TestRegisterable.sol +1 -1
  254. package/contracts/test/TestService.sol +4 -3
  255. package/contracts/types/ObjectType.sol +5 -1
  256. package/contracts/types/RoleId.sol +4 -7
  257. package/package.json +3 -3
  258. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  259. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  260. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -384
  261. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  262. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  263. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  264. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.json +0 -448
  265. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  266. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  267. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  268. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  269. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  270. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  271. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  272. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  273. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  274. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  275. package/contracts/components/BaseComponent.sol +0 -145
  276. package/contracts/components/IBaseComponent.sol +0 -32
  277. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  278. package/contracts/instance/IInstanceBase.sol +0 -26
  279. package/contracts/instance/InstanceBase.sol +0 -41
  280. package/contracts/instance/base/ComponentServiceBase.sol +0 -72
  281. package/contracts/instance/base/IInstanceBase.sol +0 -23
  282. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  283. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  284. package/contracts/shared/RegisterableUpgradable.sol +0 -16
@@ -1,12 +1,12 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
5
+ import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
4
6
  import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
5
7
  import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
6
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
7
8
 
8
- import {AccessManagerUpgradeableInitializeable} from "../../contracts/instance/AccessManagerUpgradeableInitializeable.sol";
9
- import {RoleId, RoleIdLib, INSTANCE_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, POLICY_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, INSTANCE_SERVICE_ROLE } from "../types/RoleId.sol";
9
+ import {RoleId, RoleIdLib } from "../types/RoleId.sol";
10
10
  import {TimestampLib} from "../types/Timestamp.sol";
11
11
  import {IAccess} from "./module/IAccess.sol";
12
12
 
@@ -32,36 +32,19 @@ contract InstanceAccessManager is
32
32
  mapping(ShortString name => address target) internal _targetForName;
33
33
  address [] internal _targets;
34
34
 
35
- AccessManagerUpgradeableInitializeable internal _accessManager;
35
+ AccessManager internal _accessManager;
36
36
 
37
- function __InstanceAccessManager_initialize(address initialAdmin) external initializer
37
+ function initialize(address initialAdmin) external initializer
38
38
  {
39
39
  // if size of the contract gets too large, this can be externalized which will reduce the contract size considerably
40
- _accessManager = new AccessManagerUpgradeableInitializeable();
41
- // this service required adin rights to access manager to be able to grant/revoke roles
42
- _accessManager.__AccessManagerUpgradeableInitializeable_init(address(this));
40
+ _accessManager = new AccessManager(address(this));
41
+ // this service required admin rights to access manager to be able to grant/revoke roles
43
42
  _accessManager.grantRole(_accessManager.ADMIN_ROLE(), initialAdmin, 0);
44
43
 
45
44
  __AccessManaged_init(address(_accessManager));
46
45
 
47
46
  _createRole(RoleIdLib.toRoleId(_accessManager.ADMIN_ROLE()), ADMIN_ROLE_NAME, false, false);
48
47
  _createRole(RoleIdLib.toRoleId(_accessManager.PUBLIC_ROLE()), PUBLIC_ROLE_NAME, false, false);
49
-
50
- createDefaultGifRoles();
51
- }
52
-
53
- function createDefaultGifRoles() public restricted() {
54
- _createRole(INSTANCE_OWNER_ROLE(), "InstanceOwnerRole", false, true);
55
- _createRole(DISTRIBUTION_OWNER_ROLE(), "DistributionOwnerRole", false, true);
56
- _createRole(POOL_OWNER_ROLE(), "PoolOwnerRole", false, true);
57
- _createRole(PRODUCT_OWNER_ROLE(), "ProductOwnerRole", false, true);
58
-
59
- _createRole(DISTRIBUTION_SERVICE_ROLE(), "DistributionServiceRole", false, true);
60
- _createRole(POOL_SERVICE_ROLE(), "PoolServiceRole", false, true);
61
- _createRole(PRODUCT_SERVICE_ROLE(), "ProductServiceRole", false, true);
62
- _createRole(POLICY_SERVICE_ROLE(), "PolicyServiceRole", false, true);
63
- _createRole(BUNDLE_SERVICE_ROLE(), "BundleServiceRole", false, true);
64
- _createRole(INSTANCE_SERVICE_ROLE(), "InstanceServiceRole", false, true);
65
48
  }
66
49
 
67
50
  //--- Role ------------------------------------------------------//
@@ -75,7 +58,7 @@ contract InstanceAccessManager is
75
58
 
76
59
  function setRoleLocked(RoleId roleId, bool locked) external restricted() {
77
60
  if (!roleExists(roleId)) {
78
- revert IAccess.ErrorIAccessSetLockedForNonexstentRole(roleId);
61
+ revert IAccess.ErrorIAccessRoleIdInvalid(roleId);
79
62
  }
80
63
 
81
64
  _role[roleId].isLocked = locked;
@@ -88,7 +71,7 @@ contract InstanceAccessManager is
88
71
 
89
72
  function grantRole(RoleId roleId, address member) external restricted() returns (bool granted) {
90
73
  if (!roleExists(roleId)) {
91
- revert IAccess.ErrorIAccessGrantNonexstentRole(roleId);
74
+ revert IAccess.ErrorIAccessRoleIdInvalid(roleId);
92
75
  }
93
76
 
94
77
  if (_role[roleId].isLocked) {
@@ -178,7 +161,7 @@ contract InstanceAccessManager is
178
161
  address target = _targetForName[ShortStrings.toShortString(targetName)];
179
162
 
180
163
  if (target == address(0)) {
181
- revert IAccess.ErrorIAccessSetLockedForNonexstentTarget(target);
164
+ revert IAccess.ErrorIAccessTargetDoesNotExist(ShortStrings.toShortString(targetName));
182
165
  }
183
166
 
184
167
  _target[target].isLocked = locked;
@@ -252,6 +235,13 @@ contract InstanceAccessManager is
252
235
  _validateTargetParameters(target, name, isCustom);
253
236
  }
254
237
 
238
+ if (_target[target].createdAt.gtz()) {
239
+ revert IAccess.ErrorIAccessTargetExists(target, _target[target].name);
240
+ }
241
+ if (_targetForName[ShortStrings.toShortString(name)] != address(0)) {
242
+ revert IAccess.ErrorIAccessTargetNameExists(target, _targetForName[ShortStrings.toShortString(name)], ShortStrings.toShortString(name));
243
+ }
244
+
255
245
  IAccess.TargetInfo memory info = IAccess.TargetInfo(
256
246
  ShortStrings.toShortString(name),
257
247
  isCustom,
@@ -268,33 +258,35 @@ contract InstanceAccessManager is
268
258
  // TODO: implement
269
259
  }
270
260
 
271
- function setTargetFunctionRole(
272
- address target,
273
- bytes4[] calldata selectors,
274
- uint64 roleId
275
- ) public virtual restricted() {
276
- _accessManager.setTargetFunctionRole(target, selectors, roleId);
277
- }
278
-
279
261
  function setTargetFunctionRole(
280
262
  string memory targetName,
281
263
  bytes4[] calldata selectors,
282
264
  RoleId roleId
283
265
  ) public virtual restricted() {
284
266
  address target = _targetForName[ShortStrings.toShortString(targetName)];
267
+
268
+ if (target == address(0)) {
269
+ revert IAccess.ErrorIAccessTargetDoesNotExist(ShortStrings.toShortString(targetName));
270
+ }
271
+ if (! roleExists(roleId)) {
272
+ revert IAccess.ErrorIAccessRoleIdInvalid(roleId);
273
+ }
285
274
  uint64 roleIdInt = RoleId.unwrap(roleId);
286
275
  _accessManager.setTargetFunctionRole(target, selectors, roleIdInt);
287
276
  }
288
277
 
289
- function getAccessManager() public restricted() returns (AccessManagerUpgradeableInitializeable) {
290
- return _accessManager;
291
- }
292
-
293
278
  function setTargetClosed(string memory targetName, bool closed) public restricted() {
294
279
  address target = _targetForName[ShortStrings.toShortString(targetName)];
280
+ if (target == address(0)) {
281
+ revert IAccess.ErrorIAccessTargetDoesNotExist(ShortStrings.toShortString(targetName));
282
+ }
295
283
  _accessManager.setTargetClosed(target, closed);
296
284
  }
297
285
 
286
+ function isTargetLocked(address target) public view returns (bool locked) {
287
+ return _accessManager.isTargetClosed(target);
288
+ }
289
+
298
290
  function canCall(
299
291
  address caller,
300
292
  address target,
@@ -31,39 +31,21 @@ contract InstanceReader {
31
31
  bool private _initialized;
32
32
 
33
33
  IRegistry internal _registry;
34
- NftId internal _instanceNftId;
35
34
  IInstance internal _instance;
36
35
  IKeyValueStore internal _store;
37
36
 
38
- constructor(
39
- address registry,
40
- NftId instanceNftId
41
- )
42
- {
43
- initialize(registry, instanceNftId);
44
- }
45
-
46
- function initialize(address registry, NftId instanceNftId) public {
37
+ function initialize(address registry, address instance) public {
47
38
  require(!_initialized, "ERROR:CRD-000:ALREADY_INITIALIZED");
48
39
 
49
40
  require(
50
41
  address(registry) != address(0),
51
42
  "ERROR:CRD-001:REGISTRY_ZERO");
52
43
 
53
- require(
54
- instanceNftId.gtz(),
55
- "ERROR:CRD-002:NFT_ID_ZERO");
56
44
 
57
45
  _registry = IRegistry(registry);
58
- _instanceNftId = instanceNftId;
59
- IRegistry.ObjectInfo memory instanceInfo = _registry.getObjectInfo(_instanceNftId);
60
46
 
61
- require(
62
- instanceInfo.objectType == INSTANCE(),
63
- "ERROR:CRD-003:PARENT_NOT_INSTANCE");
64
-
65
- _instance = IInstance(instanceInfo.objectAddress);
66
- _store = IKeyValueStore(instanceInfo.objectAddress);
47
+ _instance = IInstance(instance);
48
+ _store = IKeyValueStore(instance);
67
49
 
68
50
  _initialized = true;
69
51
  }
@@ -301,10 +283,6 @@ contract InstanceReader {
301
283
  return _store;
302
284
  }
303
285
 
304
- function getInstanceNftId() external view returns (NftId nftId) {
305
- return _instanceNftId;
306
- }
307
-
308
286
  function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
309
287
  return UFixedLib.toUFixed(value, exp);
310
288
  }