@etherisc/gif-next 0.0.2-92c50c2-136 → 0.0.2-92cdbc9-533

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 (353) hide show
  1. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  3. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  7. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  9. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  10. package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +95 -252
  11. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  13. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  16. package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +10 -10
  17. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1505 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +17 -242
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +106 -90
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +55 -55
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +71 -146
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -16
  35. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  36. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +33 -39
  37. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +0 -13
  39. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +27 -39
  41. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  42. package/artifacts/contracts/instance/Instance.sol/Instance.json +29 -90
  43. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1208 -290
  45. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  47. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +110 -76
  49. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +61 -121
  51. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +35 -59
  53. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +73 -79
  55. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  57. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  58. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  59. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  60. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  61. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +6 -6
  62. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  63. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +3 -9
  64. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  65. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  66. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  68. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  70. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  71. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  72. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  73. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  74. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  75. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  76. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  77. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  78. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  79. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +13 -0
  80. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  81. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  82. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +13 -96
  83. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  84. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +32 -32
  85. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  86. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +34 -34
  87. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  88. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  89. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  90. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  91. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  92. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +44 -44
  93. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  94. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +40 -40
  95. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  96. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  97. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +7 -202
  98. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  99. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  100. package/artifacts/contracts/pool/Pool.sol/Pool.json +7 -303
  101. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  102. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +36 -36
  103. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  104. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +36 -36
  105. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  106. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +32 -32
  107. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  108. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +34 -34
  109. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  110. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1299 -0
  111. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  112. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  113. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  114. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +72 -72
  115. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  116. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +54 -54
  117. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  118. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  119. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  120. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  121. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  122. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +13 -42
  123. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  124. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  125. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +50 -50
  126. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +43 -43
  128. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  129. package/artifacts/contracts/product/PricingService.sol/PricingService.json +58 -58
  130. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +47 -47
  132. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  133. package/artifacts/contracts/product/Product.sol/Product.json +13 -153
  134. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  135. package/artifacts/contracts/product/ProductService.sol/ProductService.json +20 -20
  136. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +28 -28
  138. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  139. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  140. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  141. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +0 -44
  142. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  143. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  144. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  145. package/artifacts/contracts/registry/Registry.sol/Registry.json +24 -68
  146. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  147. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +233 -388
  148. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  149. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
  150. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  151. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +27 -27
  152. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  153. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +6 -6
  154. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  155. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +53 -71
  156. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +24 -16
  158. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  160. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  161. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  162. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +62 -86
  163. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +49 -61
  165. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  166. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  167. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  168. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  169. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  170. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  171. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +13 -0
  172. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  173. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  174. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  176. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  178. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  180. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  181. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  182. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +13 -53
  183. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  184. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  185. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
  186. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +22 -22
  187. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  188. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -6
  189. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  190. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
  191. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  192. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +14 -14
  193. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  194. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -8
  195. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  196. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  197. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  198. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  199. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
  200. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  201. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  202. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  203. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  204. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  205. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  206. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +32 -32
  207. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  208. package/artifacts/contracts/staking/Staking.sol/Staking.json +44 -44
  209. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  210. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +6 -6
  211. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  212. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +40 -40
  213. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  214. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
  215. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  216. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +26 -26
  217. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  218. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +31 -31
  219. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  220. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +131 -131
  221. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  222. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -22
  223. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  224. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  225. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  226. package/artifacts/contracts/type/Amount.sol/AmountLib.json +8 -8
  227. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  228. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  229. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  230. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
  231. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  232. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  233. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  234. package/artifacts/contracts/type/Fee.sol/FeeLib.json +12 -12
  235. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  236. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  237. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  238. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
  239. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  240. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  241. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  242. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +55 -2
  243. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  244. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
  245. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  246. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  247. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  248. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  249. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
  251. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +117 -14
  253. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
  255. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  256. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  257. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  259. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  261. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  262. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  263. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  264. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -4
  265. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  266. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  267. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +21 -2
  269. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  271. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
  273. package/contracts/{shared → authorization}/AccessAdmin.sol +135 -303
  274. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  275. package/contracts/authorization/Authorization.sol +218 -0
  276. package/contracts/authorization/IAccess.sol +48 -0
  277. package/contracts/{shared → authorization}/IAccessAdmin.sol +22 -54
  278. package/contracts/authorization/IAuthorization.sol +54 -0
  279. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  280. package/contracts/{registry → authorization}/IServiceAuthorization.sol +5 -5
  281. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  282. package/contracts/{registry → authorization}/ServiceAuthorization.sol +17 -17
  283. package/contracts/distribution/BasicDistribution.sol +149 -0
  284. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  285. package/contracts/distribution/Distribution.sol +126 -104
  286. package/contracts/distribution/DistributionService.sol +10 -5
  287. package/contracts/distribution/IDistributionComponent.sol +17 -35
  288. package/contracts/distribution/IDistributionService.sol +5 -1
  289. package/contracts/instance/IInstance.sol +3 -4
  290. package/contracts/instance/IInstanceService.sol +7 -12
  291. package/contracts/instance/Instance.sol +58 -67
  292. package/contracts/instance/InstanceAdmin.sol +202 -267
  293. package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
  294. package/contracts/instance/InstanceReader.sol +22 -9
  295. package/contracts/instance/InstanceService.sol +66 -62
  296. package/contracts/instance/InstanceStore.sol +5 -1
  297. package/contracts/instance/base/ObjectManager.sol +7 -8
  298. package/contracts/oracle/BasicOracle.sol +48 -0
  299. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  300. package/contracts/oracle/IOracle.sol +16 -0
  301. package/contracts/oracle/Oracle.sol +61 -49
  302. package/contracts/pool/BasicPool.sol +164 -0
  303. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  304. package/contracts/pool/IPoolComponent.sol +0 -60
  305. package/contracts/pool/Pool.sol +143 -131
  306. package/contracts/pool/PoolService.sol +1 -1
  307. package/contracts/product/BasicProduct.sol +82 -0
  308. package/contracts/product/BasicProductAuthorization.sol +40 -0
  309. package/contracts/product/IProductComponent.sol +6 -9
  310. package/contracts/product/Product.sol +103 -88
  311. package/contracts/registry/IRegistry.sol +5 -8
  312. package/contracts/registry/Registry.sol +1 -5
  313. package/contracts/registry/RegistryAdmin.sol +101 -71
  314. package/contracts/registry/ReleaseManager.sol +53 -69
  315. package/contracts/registry/ServiceAuthorizationV3.sol +9 -9
  316. package/contracts/shared/ComponentService.sol +19 -58
  317. package/contracts/shared/ComponentVerifyingService.sol +1 -1
  318. package/contracts/shared/IInstanceLinkedComponent.sol +4 -0
  319. package/contracts/shared/InstanceLinkedComponent.sol +26 -19
  320. package/contracts/type/ObjectType.sol +34 -0
  321. package/contracts/type/RoleId.sol +55 -82
  322. package/contracts/type/UFixed.sol +6 -0
  323. package/package.json +1 -1
  324. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  325. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  326. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  327. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  328. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -190
  329. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  330. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  331. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  332. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  333. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  334. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  335. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  336. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  337. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  338. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  339. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  340. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  341. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  342. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  343. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  344. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  345. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  346. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  347. package/contracts/shared/AccessManagerCustom.sol +0 -741
  348. package/contracts/shared/AccessManagerExtended.sol +0 -481
  349. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  350. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  351. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  352. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  353. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
@@ -11,56 +11,38 @@ import {Timestamp} from "../type/Timestamp.sol";
11
11
 
12
12
  interface IDistributionComponent is IInstanceLinkedComponent {
13
13
 
14
+ error ErrorDistributionNotDistributor(address distributor);
15
+ error ErrorDistributionAlreadyDistributor(address distributor, NftId distributorNftId);
16
+
14
17
  event LogDistributorUpdated(address to, address caller);
15
18
 
16
- function setFees(
17
- Fee memory distributionFee,
18
- Fee memory minDistributionOwnerFee
19
- ) external;
19
+ /// @dev Returns true iff the provided address is registered as a distributor with this distribution component.
20
+ function isDistributor(address candidate) external view returns (bool);
20
21
 
21
- function createDistributorType(
22
- string memory name,
23
- UFixed minDiscountPercentage,
24
- UFixed maxDiscountPercentage,
25
- UFixed commissionPercentage,
26
- uint32 maxReferralCount,
27
- uint32 maxReferralLifetime,
28
- bool allowSelfReferrals,
29
- bool allowRenewals,
30
- bytes memory data
31
- ) external returns (DistributorType distributorType);
22
+ /// @dev Returns the distributor Nft Id for the provided address
23
+ function getDistributorNftId(address distributor) external view returns (NftId distributorNftId);
32
24
 
33
- function createDistributor(
34
- address distributor,
35
- DistributorType distributorType,
36
- bytes memory data
37
- ) external returns(NftId distributorNftId);
25
+ function getDiscountPercentage(
26
+ string memory referralCode
27
+ ) external view returns (UFixed discountPercentage, ReferralStatus status);
38
28
 
39
- function updateDistributorType(
40
- NftId distributorNftId,
41
- DistributorType distributorType,
42
- bytes memory data
43
- ) external;
29
+ function getReferralId(
30
+ string memory referralCode
31
+ ) external returns (ReferralId referralId);
44
32
 
45
33
  function calculateRenewalFeeAmount(
46
34
  ReferralId referralId,
47
35
  uint256 netPremiumAmount
48
36
  ) external view returns (uint256 feeAmount);
49
37
 
50
- /// @dev callback from product service when a policy is renews for a specific referralId
38
+ /// @dev Callback function to process a renewal of a policy.
39
+ /// The default implementation is empty.
40
+ /// Overwrite this function to implement a use case specific behaviour.
51
41
  function processRenewal(
52
42
  ReferralId referralId,
53
43
  uint256 feeAmount
54
44
  ) external;
55
45
 
56
- function getDiscountPercentage(
57
- string memory referralCode
58
- ) external view returns (UFixed discountPercentage, ReferralStatus status);
59
-
60
- function getReferralId(
61
- string memory referralCode
62
- ) external returns (ReferralId referralId);
63
-
64
- /// @dev returns true iff the component needs to be called when selling/renewing policis
46
+ /// @dev Returns true to ensure component is called when transferring distributor Nft Ids.
65
47
  function isVerifying() external view returns (bool verifying);
66
48
  }
@@ -13,6 +13,7 @@ import {Timestamp} from "../type/Timestamp.sol";
13
13
 
14
14
 
15
15
  interface IDistributionService is IService {
16
+
16
17
  error ErrorDistributionServiceCallerNotRegistered(address caller);
17
18
  error ErrorIDistributionServiceParentNftIdNotInstance(NftId nftId, NftId parentNftId);
18
19
  error ErrorIDistributionServiceCallerNotDistributor(address caller);
@@ -25,7 +26,10 @@ interface IDistributionService is IService {
25
26
  error ErrorIDistributionServiceExpirationInvalid(Timestamp expiryAt);
26
27
  error ErrorIDistributionServiceCommissionTooHigh(uint256 commissionPercentage, uint256 maxCommissionPercentage);
27
28
  error ErrorIDistributionServiceMinFeeTooHigh(uint256 minFee, uint256 limit);
28
- error ErrorIDistributionServiceMaxDiscountTooHigh(uint256 maxDiscountPercentage, uint256 limit);
29
+
30
+ error ErrorDistributionServiceVariableFeesTooHight(uint256 maxDiscountPercentage, uint256 limit);
31
+ error ErrorDistributionServiceMaxDiscountTooHigh(uint256 maxDiscountPercentage, uint256 limit);
32
+
29
33
  error ErrorIDistributionServiceReferralInvalid(NftId distributionNftId, ReferralId referralId);
30
34
  error ErrorDistributionServiceInvalidFeeTransferred(Amount transferredDistributionFeeAmount, Amount expectedDistributionFeeAmount);
31
35
 
@@ -17,7 +17,6 @@ import {RoleId} from "../type/RoleId.sol";
17
17
  import {Seconds} from "../type/Seconds.sol";
18
18
  import {UFixed} from "../type/UFixed.sol";
19
19
 
20
- import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
21
20
  import {IRegisterable} from "../shared/IRegisterable.sol";
22
21
 
23
22
  import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
@@ -74,14 +73,14 @@ interface IInstance is
74
73
  function setStakingRewardRate(UFixed rewardRate) external;
75
74
  function refillStakingRewardReserves(Amount dipAmount) external;
76
75
 
77
- /// @dev defunds the staking reward reserves for the specified target
78
- /// permissioned: only the target owner may call this function
76
+ /// @dev Defunds the staking reward reserves for the specified target.
77
+ /// Permissioned: only the target owner may call this function.
79
78
  function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
80
79
 
80
+ // get instance release and supporting contracts
81
81
  function getMajorVersion() external pure returns (VersionPart majorVersion);
82
82
  function getInstanceReader() external view returns (InstanceReader);
83
83
  function getBundleManager() external view returns (BundleManager);
84
84
  function getInstanceAdmin() external view returns (InstanceAdmin);
85
85
  function getInstanceStore() external view returns (InstanceStore);
86
- function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable);
87
86
  }
@@ -4,6 +4,7 @@ pragma solidity ^0.8.20;
4
4
  import {Amount} from "../type/Amount.sol";
5
5
  import {BundleManager} from "./BundleManager.sol";
6
6
  import {Instance} from "./Instance.sol";
7
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
7
8
  import {IService} from "../shared/IService.sol";
8
9
  import {NftId} from "../type/NftId.sol";
9
10
  import {ObjectType} from "../type/ObjectType.sol";
@@ -22,7 +23,6 @@ interface IInstanceService is IService {
22
23
  error ErrorInstanceServiceComponentNotInstanceLinked(address component);
23
24
 
24
25
  error ErrorInstanceServiceMasterInstanceAlreadySet();
25
- error ErrorInstanceServiceMasterInstanceAccessManagerAlreadySet();
26
26
  error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
27
27
  error ErrorInstanceServiceMasterBundleManagerAlreadySet();
28
28
  error ErrorInstanceServiceInstanceAddressZero();
@@ -32,6 +32,7 @@ interface IInstanceService is IService {
32
32
  error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
33
33
  error ErrorInstanceServiceInstanceReaderInstanceMismatch();
34
34
 
35
+ error ErrorInstanceServiceAccessManagerZero();
35
36
  error ErrorInstanceServiceInstanceAdminZero();
36
37
  error ErrorInstanceServiceInstanceReaderZero();
37
38
  error ErrorInstanceServiceBundleManagerZero();
@@ -49,15 +50,7 @@ interface IInstanceService is IService {
49
50
  error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
50
51
  error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
51
52
 
52
- event LogInstanceCloned(
53
- address clonedOzAccessManager,
54
- address clonedInstanceAccessManager,
55
- address clonedInstance,
56
- address clonedInstanceStore,
57
- address clonedBundleManager,
58
- address clonedInstanceReader,
59
- NftId clonedInstanceNftId
60
- );
53
+ event LogInstanceCloned(NftId instanceNftId, address instance);
61
54
 
62
55
  function createInstanceClone()
63
56
  external
@@ -72,10 +65,12 @@ interface IInstanceService is IService {
72
65
  function setStakingRewardRate(UFixed rewardRate) external;
73
66
  function refillStakingRewardReserves(address rewardProvider, Amount dipAmount) external;
74
67
 
75
- /// @dev defunds the staking reward reserves for the specified target
76
- /// permissioned: only the target owner may call this function
68
+ /// @dev Defunds the staking reward reserves for the specified target.
77
69
  function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
78
70
 
71
+ /// @dev Sets up the component authorization for the specified instance.
72
+ /// The authorization is based on the authz specification provided by the component via getAuthorization.
73
+ function initializeAuthorization(NftId instanceNftId, IInstanceLinkedComponent component) external;
79
74
 
80
75
  function createComponentTarget(
81
76
  NftId instanceNftId,
@@ -8,7 +8,7 @@ import {Key32} from "../type/Key32.sol";
8
8
  import {NftId} from "../type/NftId.sol";
9
9
  import {RiskId} from "../type/RiskId.sol";
10
10
  import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
11
- import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
11
+ import {RoleId} from "../type/RoleId.sol";
12
12
  import {ClaimId} from "../type/ClaimId.sol";
13
13
  import {ReferralId} from "../type/Referral.sol";
14
14
  import {PayoutId} from "../type/PayoutId.sol";
@@ -19,7 +19,6 @@ import {VersionPart, VersionPartLib} from "../type/Version.sol";
19
19
 
20
20
  import {Registerable} from "../shared/Registerable.sol";
21
21
  import {TokenHandler} from "../shared/TokenHandler.sol";
22
- import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
23
22
 
24
23
  import {IRegistry} from "../registry/IRegistry.sol";
25
24
 
@@ -66,18 +65,44 @@ contract Instance is
66
65
  _;
67
66
  }
68
67
 
69
- function initialize(address authority, address registryAddress, address initialOwner)
68
+ function initialize(
69
+ InstanceAdmin instanceAdmin,
70
+ InstanceStore instanceStore,
71
+ BundleManager bundleManager,
72
+ InstanceReader instanceReader,
73
+ IRegistry registry,
74
+ address initialOwner
75
+ )
70
76
  external
71
77
  initializer()
72
78
  {
73
- if(authority == address(0)) {
79
+ _instanceAdmin = instanceAdmin;
80
+ if(_instanceAdmin.authority() == address(0)) {
81
+ // TODO rename error
74
82
  revert ErrorInstanceInstanceAdminZero();
75
83
  }
76
84
 
77
- __AccessManaged_init(authority);
78
-
79
- IRegistry registry = IRegistry(registryAddress);
80
- initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
85
+ // set authority to instance admin authority
86
+ __AccessManaged_init(_instanceAdmin.authority());
87
+
88
+ // setup instance object info
89
+ initializeRegisterable(
90
+ address(registry),
91
+ registry.getNftId(),
92
+ INSTANCE(),
93
+ true,
94
+ initialOwner,
95
+ "");
96
+
97
+ // store instance supporting contracts
98
+ _instanceStore = instanceStore;
99
+ _bundleManager = bundleManager;
100
+ _instanceReader = instanceReader;
101
+
102
+ // initialize instance supporting contracts
103
+ _instanceStore.initialize();
104
+ _bundleManager.initialize();
105
+ _instanceReader.initialize();
81
106
 
82
107
  _instanceService = IInstanceService(
83
108
  getRegistry().getServiceAddress(
@@ -124,37 +149,36 @@ contract Instance is
124
149
 
125
150
  function createRole(string memory roleName, string memory adminName)
126
151
  external
127
- // TODO decide if onlyOwner or restricted to instance owner role is better
128
- restricted // INSTANCE_OWNER_ROLE
152
+ onlyOwner()
129
153
  returns (RoleId roleId, RoleId admin)
130
154
  {
131
- (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
155
+ // TODO refactor
156
+ // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
132
157
  }
133
158
 
134
159
  function grantRole(RoleId roleId, address account)
135
160
  external
136
- // TODO decide if onlyOwner or restricted to instance owner role is better
137
- restricted // INSTANCE_OWNER_ROLE
161
+ onlyOwner()
138
162
  {
139
- AccessManagerExtendedInitializeable(authority()).grantRole(roleId.toInt(), account, 0);
163
+ _instanceAdmin.grantRole(roleId, account);
140
164
  }
141
165
 
142
166
  function revokeRole(RoleId roleId, address account)
143
167
  external
144
- // TODO decide if onlyOwner or restricted to instance owner role is better
145
- restricted // INSTANCE_OWNER_ROLE
168
+ onlyOwner()
146
169
  {
147
- AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
170
+ // TODO refactor
171
+ // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
148
172
  }
149
173
 
150
174
  //--- Targets ------------------------------------------------------------//
151
175
 
152
176
  function createTarget(address target, string memory name)
153
177
  external
154
- // TODO decide if onlyOwner or restricted to instance owner role is better
155
- restricted // INSTANCE_OWNER_ROLE
178
+ onlyOwner()
156
179
  {
157
- _instanceAdmin.createTarget(target, name);
180
+ // TODO refactor
181
+ // _instanceAdmin.createTarget(target, name);
158
182
  }
159
183
 
160
184
  function setTargetFunctionRole(
@@ -163,59 +187,40 @@ contract Instance is
163
187
  RoleId roleId
164
188
  )
165
189
  external
166
- restricted // INSTANCE_OWNER_ROLE
190
+ onlyOwner()
167
191
  {
168
- _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
192
+ // TODO refactor
193
+ // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
169
194
  }
170
195
 
171
196
  function setTargetLocked(address target, bool locked)
172
197
  external
173
- restricted // INSTANCE_OWNER_ROLE
198
+ onlyOwner()
174
199
  {
175
- _instanceAdmin.setTargetLockedByInstance(target, locked);
200
+ // TODO refactor
201
+ // _instanceAdmin.setTargetLockedByInstance(target, locked);
176
202
  }
177
203
 
178
204
  //--- ITransferInterceptor ----------------------------------------------//
179
205
 
180
206
  // TODO interception of child components nfts
181
207
  function nftMint(address to, uint256 tokenId) external onlyChainNft {
182
- _instanceAdmin.transferInstanceOwnerRole(address(0), to);
208
+ // TODO refactor
209
+ // _instanceAdmin.transferInstanceOwnerRole(address(0), to);
183
210
  }
184
211
 
185
212
  function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
186
- _instanceAdmin.transferInstanceOwnerRole(from, to);
213
+ // TODO refactor
214
+ // _instanceAdmin.transferInstanceOwnerRole(from, to);
187
215
  }
188
216
 
189
- //function nftBurn(address from, uint256 tokenId) external onlyChainNft {
190
- //_instanceAdmin.transferInstanceOwnerRole(from, address(0));
191
- //}
192
-
193
217
  //--- initial setup functions -------------------------------------------//
194
218
 
195
- function setInstanceAdmin(InstanceAdmin accessManager) external restricted {
196
- if(address(_instanceAdmin) != address(0)) {
197
- revert ErrorInstanceInstanceAdminAlreadySet(address(_instanceAdmin));
198
- }
199
- if(accessManager.authority() != authority()) {
200
- revert ErrorInstanceInstanceAdminAuthorityMismatch(authority());
201
- }
202
- _instanceAdmin = accessManager;
203
- }
204
-
205
- function setBundleManager(BundleManager bundleManager) external restricted() {
206
- if(address(_bundleManager) != address(0)) {
207
- revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
208
- }
209
- if(bundleManager.getInstance() != Instance(this)) {
210
- revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
211
- }
212
- if(bundleManager.authority() != authority()) {
213
- revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
214
- }
215
- _bundleManager = bundleManager;
216
- }
217
219
 
218
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
220
+ function setInstanceReader(InstanceReader instanceReader)
221
+ external
222
+ restricted()
223
+ {
219
224
  if(instanceReader.getInstance() != Instance(this)) {
220
225
  revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
221
226
  }
@@ -223,16 +228,6 @@ contract Instance is
223
228
  _instanceReader = instanceReader;
224
229
  }
225
230
 
226
- function setInstanceStore(InstanceStore instanceStore) external restricted {
227
- if(address(_instanceStore) != address(0)) {
228
- revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
229
- }
230
- if(instanceStore.authority() != authority()) {
231
- revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
232
- }
233
- _instanceStore = instanceStore;
234
- }
235
-
236
231
  //--- external view functions -------------------------------------------//
237
232
 
238
233
  function getInstanceReader() external view returns (InstanceReader) {
@@ -247,10 +242,6 @@ contract Instance is
247
242
  return _instanceAdmin;
248
243
  }
249
244
 
250
- function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable) {
251
- return AccessManagerExtendedInitializeable(authority());
252
- }
253
-
254
245
  function getInstanceStore() external view returns (InstanceStore) {
255
246
  return _instanceStore;
256
247
  }