@etherisc/gif-next 0.0.2-b5e5146-738 → 0.0.2-b61b9f6-206

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 (656) hide show
  1. package/README.md +29 -16
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1505 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1191 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1394 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → distribution/IDistributionComponent.sol/IDistributionComponent.json} +303 -252
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +843 -0
  36. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  37. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +61 -122
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +237 -1565
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +388 -196
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +440 -2595
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +683 -329
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +548 -337
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +369 -108
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3591 -0
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  59. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  64. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  70. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  71. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  74. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  75. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  76. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  77. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  78. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  79. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  80. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  81. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  82. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  83. package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +293 -336
  84. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  86. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1063 -0
  88. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  90. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  92. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  93. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  94. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  95. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  96. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  97. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  101. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +273 -285
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  103. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +357 -414
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  106. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  107. package/artifacts/contracts/pool/Pool.sol/Pool.json +1269 -0
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  113. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  117. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → product/BasicProduct.sol/BasicProduct.json} +765 -214
  118. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  119. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  120. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  124. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  125. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +211 -230
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  127. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +251 -297
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +270 -215
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  133. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +344 -327
  134. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  135. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IProductService.sol/IProductService.json} +126 -167
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  139. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  141. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  144. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  145. package/artifacts/contracts/product/Product.sol/Product.json +1257 -0
  146. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  147. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  148. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  150. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  151. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  152. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  153. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +159 -21
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  155. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +360 -218
  156. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  158. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/Registry.sol/Registry.json +396 -36
  160. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  161. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  162. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +506 -254
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +352 -95
  166. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  168. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  169. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +703 -91
  170. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  171. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  172. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +349 -82
  174. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  175. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  176. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -0
  180. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  181. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +178 -242
  182. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  183. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  184. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  185. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IComponent.sol/IComponent.json} +192 -217
  186. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  187. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  188. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  189. package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +255 -185
  190. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  192. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  194. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  195. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  196. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  197. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  198. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -30
  200. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  201. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  202. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IService.sol/IService.json +84 -154
  204. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  206. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  208. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  209. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +996 -0
  210. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  211. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  212. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  213. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  214. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  215. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  216. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  217. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +108 -35
  218. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  219. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  220. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +330 -75
  222. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +131 -60
  224. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  225. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  226. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Service.sol/Service.json +188 -157
  228. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  229. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  230. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  231. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  232. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  234. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  235. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  236. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  237. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  238. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  240. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  241. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  242. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  244. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  246. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  248. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  250. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  252. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  254. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  255. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  256. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  257. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  258. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  260. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  262. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  264. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  266. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  268. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  270. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  272. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  273. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  274. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  276. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  278. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  280. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  282. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  284. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  286. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  288. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  290. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  292. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  294. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  296. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  298. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/UFixed.sol/MathLib.json +10 -0
  300. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
  302. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  304. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  306. package/contracts/authorization/AccessAdmin.sol +591 -0
  307. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  308. package/contracts/authorization/Authorization.sol +218 -0
  309. package/contracts/authorization/IAccess.sol +48 -0
  310. package/contracts/authorization/IAccessAdmin.sol +136 -0
  311. package/contracts/authorization/IAuthorization.sol +54 -0
  312. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  313. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  314. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  315. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  316. package/contracts/distribution/BasicDistribution.sol +149 -0
  317. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  318. package/contracts/distribution/Distribution.sol +283 -0
  319. package/contracts/distribution/DistributionService.sol +302 -0
  320. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  321. package/contracts/distribution/IDistributionComponent.sol +48 -0
  322. package/contracts/distribution/IDistributionService.sol +85 -0
  323. package/contracts/instance/BundleManager.sol +15 -14
  324. package/contracts/instance/IInstance.sol +59 -45
  325. package/contracts/instance/IInstanceService.sol +72 -20
  326. package/contracts/instance/Instance.sol +176 -191
  327. package/contracts/instance/InstanceAdmin.sol +266 -0
  328. package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
  329. package/contracts/instance/InstanceReader.sol +173 -61
  330. package/contracts/instance/InstanceService.sol +326 -255
  331. package/contracts/instance/InstanceServiceManager.sol +12 -22
  332. package/contracts/instance/InstanceStore.sol +276 -0
  333. package/contracts/instance/base/BalanceStore.sol +123 -0
  334. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  335. package/contracts/instance/base/ObjectCounter.sol +21 -0
  336. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  337. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +13 -18
  338. package/contracts/instance/module/IAccess.sol +19 -21
  339. package/contracts/instance/module/IBundle.sol +8 -8
  340. package/contracts/instance/module/IComponents.sol +52 -0
  341. package/contracts/instance/module/IDistribution.sol +7 -4
  342. package/contracts/instance/module/IPolicy.sol +56 -17
  343. package/contracts/instance/module/IRisk.sol +1 -1
  344. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  345. package/contracts/oracle/BasicOracle.sol +48 -0
  346. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  347. package/contracts/oracle/IOracle.sol +36 -0
  348. package/contracts/oracle/IOracleComponent.sol +32 -0
  349. package/contracts/oracle/IOracleService.sol +65 -0
  350. package/contracts/oracle/Oracle.sol +157 -0
  351. package/contracts/oracle/OracleService.sol +278 -0
  352. package/contracts/oracle/OracleServiceManager.sol +42 -0
  353. package/contracts/pool/BasicPool.sol +164 -0
  354. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  355. package/contracts/pool/BundleService.sol +296 -0
  356. package/contracts/pool/BundleServiceManager.sol +42 -0
  357. package/contracts/pool/IBundleService.sol +106 -0
  358. package/contracts/pool/IPoolComponent.sol +52 -0
  359. package/contracts/pool/IPoolService.sol +150 -0
  360. package/contracts/pool/Pool.sol +311 -0
  361. package/contracts/pool/PoolService.sol +452 -0
  362. package/contracts/pool/PoolServiceManager.sol +42 -0
  363. package/contracts/product/ApplicationService.sol +254 -0
  364. package/contracts/product/ApplicationServiceManager.sol +38 -0
  365. package/contracts/product/BasicProduct.sol +82 -0
  366. package/contracts/product/BasicProductAuthorization.sol +40 -0
  367. package/contracts/product/ClaimService.sol +442 -0
  368. package/contracts/product/ClaimServiceManager.sol +38 -0
  369. package/contracts/product/IApplicationService.sol +62 -0
  370. package/contracts/product/IClaimService.sol +99 -0
  371. package/contracts/product/IPolicyService.sol +78 -0
  372. package/contracts/product/IPricingService.sol +39 -0
  373. package/contracts/product/IProductComponent.sol +39 -0
  374. package/contracts/product/IProductService.sol +33 -0
  375. package/contracts/product/PolicyService.sol +475 -0
  376. package/contracts/product/PolicyServiceManager.sol +42 -0
  377. package/contracts/product/PricingService.sol +300 -0
  378. package/contracts/product/PricingServiceManager.sol +42 -0
  379. package/contracts/product/Product.sol +392 -0
  380. package/contracts/product/ProductService.sol +124 -0
  381. package/contracts/product/ProductServiceManager.sol +42 -0
  382. package/contracts/registry/ChainNft.sol +16 -1
  383. package/contracts/registry/IRegistry.sol +44 -21
  384. package/contracts/registry/IRegistryService.sol +42 -38
  385. package/contracts/registry/ITransferInterceptor.sol +1 -0
  386. package/contracts/registry/Registry.sol +223 -97
  387. package/contracts/registry/RegistryAdmin.sol +365 -0
  388. package/contracts/registry/RegistryService.sol +108 -104
  389. package/contracts/registry/RegistryServiceManager.sol +22 -31
  390. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  391. package/contracts/registry/ReleaseManager.sol +355 -200
  392. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  393. package/contracts/registry/TokenRegistry.sol +263 -60
  394. package/contracts/shared/Component.sol +281 -0
  395. package/contracts/shared/ComponentService.sol +581 -0
  396. package/contracts/shared/ComponentServiceManager.sol +35 -0
  397. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  398. package/contracts/shared/ERC165.sol +15 -13
  399. package/contracts/shared/IComponent.sol +70 -0
  400. package/contracts/shared/IComponentService.sol +102 -0
  401. package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
  402. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  403. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  404. package/contracts/shared/INftOwnable.sol +13 -12
  405. package/contracts/shared/IPolicyHolder.sol +45 -0
  406. package/contracts/shared/IRegisterable.sol +3 -3
  407. package/contracts/shared/IRegistryLinked.sol +11 -0
  408. package/contracts/shared/IService.sol +14 -5
  409. package/contracts/shared/IVersionable.sol +5 -48
  410. package/contracts/shared/InitializableCustom.sol +177 -0
  411. package/contracts/shared/InstanceLinkedComponent.sol +151 -0
  412. package/contracts/shared/KeyValueStore.sol +131 -0
  413. package/contracts/shared/Lifecycle.sol +77 -0
  414. package/contracts/shared/NftIdSetManager.sol +65 -0
  415. package/contracts/shared/NftOwnable.sol +59 -91
  416. package/contracts/shared/PolicyHolder.sol +102 -0
  417. package/contracts/shared/ProxyManager.sol +131 -26
  418. package/contracts/shared/Registerable.sol +19 -30
  419. package/contracts/shared/RegistryLinked.sol +43 -0
  420. package/contracts/shared/Service.sol +54 -31
  421. package/contracts/shared/TokenHandler.sol +37 -6
  422. package/contracts/shared/Versionable.sol +4 -92
  423. package/contracts/staking/IStaking.sol +168 -0
  424. package/contracts/staking/IStakingService.sol +153 -0
  425. package/contracts/staking/StakeManagerLib.sol +231 -0
  426. package/contracts/staking/Staking.sol +513 -0
  427. package/contracts/staking/StakingLifecycle.sol +23 -0
  428. package/contracts/staking/StakingManager.sol +54 -0
  429. package/contracts/staking/StakingReader.sol +187 -0
  430. package/contracts/staking/StakingService.sol +411 -0
  431. package/contracts/staking/StakingServiceManager.sol +44 -0
  432. package/contracts/staking/StakingStore.sol +615 -0
  433. package/contracts/staking/TargetManagerLib.sol +207 -0
  434. package/contracts/{types → type}/AddressSet.sol +1 -1
  435. package/contracts/type/Amount.sol +128 -0
  436. package/contracts/{types → type}/Blocknumber.sol +21 -3
  437. package/contracts/type/ClaimId.sol +75 -0
  438. package/contracts/{types → type}/DistributorType.sol +2 -2
  439. package/contracts/{types → type}/Fee.sol +33 -23
  440. package/contracts/{types → type}/NftId.sol +21 -15
  441. package/contracts/{types → type}/NftIdSet.sol +2 -2
  442. package/contracts/type/ObjectType.sol +275 -0
  443. package/contracts/type/PayoutId.sol +82 -0
  444. package/contracts/{types → type}/Referral.sol +5 -1
  445. package/contracts/type/RequestId.sol +75 -0
  446. package/contracts/{types → type}/RiskId.sol +1 -1
  447. package/contracts/type/RoleId.sol +174 -0
  448. package/contracts/type/Seconds.sol +81 -0
  449. package/contracts/type/Selector.sol +102 -0
  450. package/contracts/{types → type}/StateId.sol +34 -4
  451. package/contracts/type/String.sol +53 -0
  452. package/contracts/{types → type}/Timestamp.sol +23 -14
  453. package/contracts/{types → type}/UFixed.sol +7 -0
  454. package/contracts/{types → type}/Version.sol +2 -1
  455. package/package.json +8 -5
  456. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  457. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  458. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  459. package/artifacts/contracts/components/IComponent.sol/IComponent.json +0 -455
  460. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  461. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  462. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  463. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  464. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  465. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  466. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  467. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  468. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  469. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  470. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  471. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  472. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  473. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  474. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  475. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  476. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  477. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  478. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  479. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  480. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  481. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  482. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  483. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  484. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  485. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  487. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  488. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  489. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  490. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  491. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  492. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  494. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  495. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  496. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  497. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  498. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  499. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  501. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  503. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  504. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  505. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1034
  506. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  507. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  508. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  509. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  510. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  511. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  512. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  513. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  514. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  515. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  516. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  517. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  518. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1102
  519. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  520. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -449
  521. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  522. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -772
  523. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  524. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -437
  525. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  526. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  527. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  528. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  529. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  530. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  531. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1227
  532. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  533. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -505
  534. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  535. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -806
  536. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  537. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -437
  538. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -856
  540. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  541. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -437
  542. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  543. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  544. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  545. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  546. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  547. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  548. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  549. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -313
  550. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  551. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  552. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  553. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -608
  554. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  555. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  556. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  557. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  558. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  559. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  560. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  561. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  562. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  563. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  564. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  565. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  566. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  567. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  568. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  569. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  570. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  571. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  572. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  573. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  574. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  575. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  576. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  577. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  578. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  579. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  580. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  581. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  582. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  583. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  584. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  585. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  586. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  587. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  588. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  589. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  590. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  591. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  592. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  593. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  594. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  595. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  596. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  597. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  598. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  599. package/contracts/components/Component.sol +0 -237
  600. package/contracts/components/Distribution.sol +0 -150
  601. package/contracts/components/IComponent.sol +0 -43
  602. package/contracts/components/IDistributionComponent.sol +0 -47
  603. package/contracts/components/IPoolComponent.sol +0 -70
  604. package/contracts/components/IProductComponent.sol +0 -39
  605. package/contracts/components/Pool.sol +0 -248
  606. package/contracts/components/Product.sol +0 -265
  607. package/contracts/experiment/cloning/Cloner.sol +0 -47
  608. package/contracts/experiment/errors/Require.sol +0 -38
  609. package/contracts/experiment/errors/Revert.sol +0 -44
  610. package/contracts/experiment/inheritance/A.sol +0 -53
  611. package/contracts/experiment/inheritance/B.sol +0 -28
  612. package/contracts/experiment/inheritance/C.sol +0 -34
  613. package/contracts/experiment/inheritance/IA.sol +0 -13
  614. package/contracts/experiment/inheritance/IB.sol +0 -10
  615. package/contracts/experiment/inheritance/IC.sol +0 -12
  616. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  617. package/contracts/experiment/statemachine/ISM.sol +0 -25
  618. package/contracts/experiment/statemachine/SM.sol +0 -57
  619. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  620. package/contracts/experiment/types/TypeA.sol +0 -47
  621. package/contracts/experiment/types/TypeB.sol +0 -29
  622. package/contracts/instance/InstanceAccessManager.sol +0 -298
  623. package/contracts/instance/base/ComponentService.sol +0 -134
  624. package/contracts/instance/base/KeyValueStore.sol +0 -172
  625. package/contracts/instance/base/Lifecycle.sol +0 -100
  626. package/contracts/instance/module/ISetup.sol +0 -46
  627. package/contracts/instance/module/ITreasury.sol +0 -23
  628. package/contracts/instance/service/BundleService.sol +0 -293
  629. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  630. package/contracts/instance/service/DistributionService.sol +0 -105
  631. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  632. package/contracts/instance/service/IBundleService.sol +0 -44
  633. package/contracts/instance/service/IDistributionService.sol +0 -12
  634. package/contracts/instance/service/IPolicyService.sol +0 -94
  635. package/contracts/instance/service/IPoolService.sol +0 -20
  636. package/contracts/instance/service/IProductService.sol +0 -40
  637. package/contracts/instance/service/PolicyService.sol +0 -538
  638. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  639. package/contracts/instance/service/PoolService.sol +0 -109
  640. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  641. package/contracts/instance/service/ProductService.sol +0 -232
  642. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  643. package/contracts/registry/RegistryAccessManager.sol +0 -216
  644. package/contracts/shared/ContractDeployerLib.sol +0 -72
  645. package/contracts/test/TestFee.sol +0 -25
  646. package/contracts/test/TestRegisterable.sol +0 -18
  647. package/contracts/test/TestRoleId.sol +0 -14
  648. package/contracts/test/TestService.sol +0 -25
  649. package/contracts/test/TestVersion.sol +0 -44
  650. package/contracts/test/TestVersionable.sol +0 -17
  651. package/contracts/test/Usdc.sol +0 -26
  652. package/contracts/types/ChainId.sol +0 -38
  653. package/contracts/types/NumberId.sol +0 -52
  654. package/contracts/types/ObjectType.sol +0 -152
  655. package/contracts/types/RoleId.sol +0 -90
  656. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -3,70 +3,84 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
5
 
6
- import {NftId} from "../types/NftId.sol";
7
- import {StateId} from "../types/StateId.sol";
8
- import {RiskId} from "../types/RiskId.sol";
6
+ import {Amount} from "../type/Amount.sol";
7
+ import {ClaimId} from "../type/ClaimId.sol";
8
+ import {DistributorType} from "../type/DistributorType.sol";
9
+ import {PayoutId} from "../type/PayoutId.sol";
10
+ import {NftId} from "../type/NftId.sol";
11
+ import {StateId} from "../type/StateId.sol";
12
+ import {ReferralId} from "../type/Referral.sol";
13
+ import {RiskId} from "../type/RiskId.sol";
14
+ import {VersionPart} from "../type/Version.sol";
15
+ import {Key32} from "../type/Key32.sol";
16
+ import {RoleId} from "../type/RoleId.sol";
17
+ import {Seconds} from "../type/Seconds.sol";
18
+ import {UFixed} from "../type/UFixed.sol";
9
19
 
10
20
  import {IRegisterable} from "../shared/IRegisterable.sol";
11
21
 
12
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
22
+ import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
23
+
24
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
13
25
  import {BundleManager} from "./BundleManager.sol";
14
26
  import {InstanceReader} from "./InstanceReader.sol";
27
+ import {InstanceStore} from "./InstanceStore.sol";
28
+
29
+ import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
15
30
 
16
- import {IBundle} from "./module/IBundle.sol";
17
- import {IBundleService} from "./service/IBundleService.sol";
18
- import {IDistributionService} from "./service/IDistributionService.sol";
19
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
20
- import {IKeyValueStore} from "./base/IKeyValueStore.sol";
21
- import {IPolicy} from "./module/IPolicy.sol";
22
- import {IPolicyService} from "./service/IPolicyService.sol";
23
- import {IPoolService} from "./service/IPoolService.sol";
24
- import {IProductService} from "./service/IProductService.sol";
25
- import {IPolicyService} from "./service/IPolicyService.sol";
26
- import {IBundleService} from "./service/IBundleService.sol";
27
- import {IRisk} from "./module/IRisk.sol";
28
- import {ISetup} from "./module/ISetup.sol";
29
- import {NftId} from "../types/NftId.sol";
30
- import {RiskId} from "../types/RiskId.sol";
31
- import {StateId} from "../types/StateId.sol";
32
- import {VersionPart} from "../types/Version.sol";
31
+ import {IAccess} from "./module/IAccess.sol";
33
32
 
33
+ import {IBundleService} from "../pool/IBundleService.sol";
34
+ import {IDistributionService} from "../distribution/IDistributionService.sol";
35
+ import {IPolicyService} from "../product/IPolicyService.sol";
36
+ import {IPoolService} from "../pool/IPoolService.sol";
37
+ import {IProductService} from "../product/IProductService.sol";
38
+ import {IPolicyService} from "../product/IPolicyService.sol";
39
+ import {IBundleService} from "../pool/IBundleService.sol";
34
40
 
35
41
 
42
+ interface IInstance is
43
+ IRegisterable,
44
+ ITransferInterceptor,
45
+ IAccessManaged
46
+ {
47
+ error ErrorInstanceInstanceAdminZero();
48
+ error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
49
+ error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
36
50
 
37
- interface IInstance is IRegisterable, IKeyValueStore, IAccessManaged {
51
+ error ErrorInstanceBundleManagerAlreadySet(address instanceBundleManager);
52
+ error ErrorInstanceBundleManagerInstanceMismatch(address instance);
53
+ error ErrorInstanceBundleManagerAuthorityMismatch(address instanceAuthority);
38
54
 
39
- function getDistributionService() external view returns (IDistributionService);
40
- function getProductService() external view returns (IProductService);
41
- function getPoolService() external view returns (IPoolService);
42
- function getPolicyService() external view returns (IPolicyService);
43
- function getBundleService() external view returns (IBundleService);
55
+ error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
44
56
 
45
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external;
46
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external;
47
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external;
57
+ error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
58
+ error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
48
59
 
49
- function createPoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup) external;
50
- function updatePoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup, StateId newState) external;
51
- function updatePoolSetupState(NftId poolNftId, StateId newState) external;
60
+ struct InstanceInfo {
61
+ uint64 requestsCount;
62
+ }
52
63
 
53
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external;
54
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external;
55
- function updateBundleState(NftId bundleNftId, StateId newState) external;
64
+ function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
65
+ function grantRole(RoleId roleId, address account) external;
66
+ function revokeRole(RoleId roleId, address account) external;
56
67
 
57
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external;
58
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external;
59
- function updateProductSetupState(NftId productNftId, StateId newState) external;
68
+ function createTarget(address target, string memory name) external;
69
+ function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
70
+ function setTargetLocked(address target, bool locked) external;
60
71
 
61
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external;
62
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external;
63
- function updateRiskState(RiskId riskId, StateId newState) external;
72
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
73
+ function setStakingRewardRate(UFixed rewardRate) external;
74
+ function refillStakingRewardReserves(Amount dipAmount) external;
64
75
 
65
- function createPolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy) external;
66
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external;
67
- function updatePolicyState(NftId policyNftId, StateId newState) external;
76
+ /// @dev Defunds the staking reward reserves for the specified target.
77
+ /// Permissioned: only the target owner may call this function.
78
+ function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
68
79
 
80
+ // get instance release and supporting contracts
69
81
  function getMajorVersion() external pure returns (VersionPart majorVersion);
70
82
  function getInstanceReader() external view returns (InstanceReader);
71
83
  function getBundleManager() external view returns (BundleManager);
84
+ function getInstanceAdmin() external view returns (InstanceAdmin);
85
+ function getInstanceStore() external view returns (InstanceStore);
72
86
  }
@@ -1,40 +1,92 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {NftId} from "../types/NftId.sol";
5
- import {ObjectType} from "../types/ObjectType.sol";
6
- import {RoleId} from "../types/RoleId.sol";
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {BundleManager} from "./BundleManager.sol";
6
+ import {Instance} from "./Instance.sol";
7
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
7
8
  import {IService} from "../shared/IService.sol";
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
+ import {NftId} from "../type/NftId.sol";
10
+ import {ObjectType} from "../type/ObjectType.sol";
11
+ import {RoleId} from "../type/RoleId.sol";
12
+ import {Seconds} from "../type/Seconds.sol";
13
+ import {UFixed} from "../type/UFixed.sol";
14
+ import {VersionPart} from "../type/Version.sol";
9
15
 
10
- import {IRegisterable} from "../shared/IRegisterable.sol";
11
- import {IComponent} from "../components/IComponent.sol";
16
+ interface IInstanceService is IService {
12
17
 
13
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
14
- import {Instance} from "./Instance.sol";
15
- import {InstanceReader} from "./InstanceReader.sol";
16
- import {BundleManager} from "./BundleManager.sol";
18
+ // onlyInstance
19
+ error ErrorInstanceServiceNotRegistered(address instance);
20
+ error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
21
+ error ErrorInstanceServiceInstanceVersionMismatch(address instance, VersionPart instanceVersion);
17
22
 
18
- interface IInstanceService is IService {
23
+ error ErrorInstanceServiceComponentNotInstanceLinked(address component);
24
+
25
+ error ErrorInstanceServiceMasterInstanceAlreadySet();
26
+ error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
27
+ error ErrorInstanceServiceMasterBundleManagerAlreadySet();
28
+ error ErrorInstanceServiceInstanceAddressZero();
29
+
30
+ error ErrorInstanceServiceMasterInstanceReaderNotSet();
31
+ error ErrorInstanceServiceInstanceReaderAddressZero();
32
+ error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
33
+ error ErrorInstanceServiceInstanceReaderInstanceMismatch();
34
+
35
+ error ErrorInstanceServiceAccessManagerZero();
36
+ error ErrorInstanceServiceInstanceAdminZero();
37
+ error ErrorInstanceServiceInstanceReaderZero();
38
+ error ErrorInstanceServiceBundleManagerZero();
39
+ error ErrorInstanceServiceInstanceStoreZero();
40
+
41
+ error ErrorInstanceServiceInstanceAuthorityMismatch();
42
+ error ErrorInstanceServiceBundleManagerAuthorityMismatch();
43
+ error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
44
+ error ErrorInstanceServiceBundleMangerInstanceMismatch();
45
+ error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
19
46
 
20
47
  error ErrorInstanceServiceRequestUnauhorized(address caller);
21
- error ErrorInstanceServiceNotInstanceOwner(address caller, NftId instanceNftId);
48
+ error ErrorInstanceServiceNotInstanceNftId(NftId nftId);
22
49
  error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
50
+ error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
51
+ error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
23
52
 
24
- event LogInstanceCloned(address clonedAccessManagerAddress, address clonedInstanceAddress, address clonedInstanceReaderAddress, NftId clonedInstanceNftId);
53
+ event LogInstanceCloned(NftId instanceNftId, address instance);
25
54
 
26
55
  function createInstanceClone()
27
56
  external
28
57
  returns (
29
- InstanceAccessManager clonedAccessManager,
58
+ // TODO check if Instance can be changed to IInstance
30
59
  Instance clonedInstance,
31
- NftId instanceNftId,
32
- InstanceReader clonedInstanceReader,
33
- BundleManager clonedBundleManager
60
+ NftId instanceNftId
34
61
  );
35
62
 
36
- function hasRole(address account, RoleId role, address instanceAddress) external returns (bool);
37
- function setTargetLocked(string memory targetName, bool locked) external;
38
63
 
39
- }
64
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
65
+ function setStakingRewardRate(UFixed rewardRate) external;
66
+ function refillStakingRewardReserves(address rewardProvider, Amount dipAmount) external;
67
+
68
+ /// @dev Defunds the staking reward reserves for the specified target.
69
+ function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
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;
74
+
75
+ function createComponentTarget(
76
+ NftId instanceNftId,
77
+ address targetAddress,
78
+ string memory targetName,
79
+ bytes4[][] memory selectors,
80
+ RoleId[] memory roles
81
+ ) external;
82
+
83
+ function createGifTarget(
84
+ NftId instanceNftId,
85
+ address targetAddress,
86
+ string memory targetName,
87
+ bytes4[][] memory selectors,
88
+ RoleId[] memory roles
89
+ ) external;
40
90
 
91
+ function setComponentLocked(bool locked) external;
92
+ }