@etherisc/gif-next 0.0.2-7c7e7ba-408 → 0.0.2-7d58318-324

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 (671) hide show
  1. package/README.md +102 -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/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +499 -549
  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 +1548 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1234 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1571 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +858 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +943 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +956 -0
  36. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +277 -1280
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +447 -170
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +413 -3061
  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 +662 -334
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +603 -374
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +349 -123
  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/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +38 -2
  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/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.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 +30 -112
  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 +1185 -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/oracle/IOracleComponent.sol/IOracleComponent.json +802 -0
  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 +1093 -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 +1496 -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/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +310 -346
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  103. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +978 -0
  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 +1288 -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/product/BasicProduct.sol/BasicProduct.json +1318 -0
  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/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +236 -190
  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/product/IPolicyService.sol/IPolicyService.json +720 -0
  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} +266 -365
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  133. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +985 -0
  134. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  135. package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → product/IProductService.sol/IProductService.json} +124 -166
  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 +1276 -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 +377 -112
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  155. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +290 -297
  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 +611 -189
  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 +477 -318
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +337 -133
  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/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  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 +351 -100
  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 +1640 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
  180. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  181. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +208 -209
  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/shared/IComponent.sol/IComponent.json +631 -0
  186. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  187. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +977 -0
  188. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  189. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +737 -0
  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 -35
  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 +97 -172
  204. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  205. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  206. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1015 -0
  208. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  209. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  210. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  212. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  213. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  214. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +115 -29
  216. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  217. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  218. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
  220. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  221. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  222. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Service.sol/Service.json +201 -162
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  225. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  226. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  227. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  228. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  229. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  230. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  231. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  232. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  233. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  234. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  235. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  236. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  237. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  238. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  240. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  242. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  244. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  246. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  247. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  248. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  249. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  250. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  252. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  254. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  256. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  258. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  260. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  262. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  264. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  265. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  266. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  268. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  270. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  272. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  274. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  276. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  278. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  280. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  282. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  284. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  286. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  288. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  290. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/UFixed.sol/MathLib.json +10 -0
  292. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
  294. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  296. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  298. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  299. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  300. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  301. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  302. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  303. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  304. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  305. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -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 +47 -0
  318. package/contracts/distribution/Distribution.sol +301 -0
  319. package/contracts/distribution/DistributionService.sol +352 -0
  320. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  321. package/contracts/distribution/IDistributionComponent.sol +52 -0
  322. package/contracts/distribution/IDistributionService.sol +98 -0
  323. package/contracts/instance/BundleSet.sol +126 -0
  324. package/contracts/instance/IInstance.sol +68 -36
  325. package/contracts/instance/IInstanceService.sol +78 -16
  326. package/contracts/instance/Instance.sol +183 -372
  327. package/contracts/instance/InstanceAdmin.sol +266 -0
  328. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  329. package/contracts/instance/InstanceReader.sol +173 -83
  330. package/contracts/instance/InstanceService.sol +402 -157
  331. package/contracts/instance/InstanceServiceManager.sol +13 -30
  332. package/contracts/instance/InstanceStore.sol +276 -0
  333. package/contracts/instance/base/BalanceStore.sol +123 -0
  334. package/contracts/instance/base/Cloneable.sol +28 -0
  335. package/contracts/instance/base/ObjectCounter.sol +21 -0
  336. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  337. package/contracts/instance/base/ObjectSet.sol +79 -0
  338. package/contracts/instance/module/IAccess.sol +29 -21
  339. package/contracts/instance/module/IBundle.sol +8 -8
  340. package/contracts/instance/module/IComponents.sol +51 -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/Usdc.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 +33 -0
  349. package/contracts/oracle/IOracleService.sol +65 -0
  350. package/contracts/oracle/Oracle.sol +170 -0
  351. package/contracts/oracle/OracleService.sol +278 -0
  352. package/contracts/oracle/OracleServiceManager.sol +39 -0
  353. package/contracts/pool/BasicPool.sol +164 -0
  354. package/contracts/pool/BasicPoolAuthorization.sol +52 -0
  355. package/contracts/pool/BundleService.sol +284 -0
  356. package/contracts/pool/BundleServiceManager.sol +39 -0
  357. package/contracts/pool/IBundleService.sol +106 -0
  358. package/contracts/pool/IPoolComponent.sol +51 -0
  359. package/contracts/pool/IPoolService.sol +150 -0
  360. package/contracts/pool/Pool.sol +311 -0
  361. package/contracts/pool/PoolService.sol +436 -0
  362. package/contracts/pool/PoolServiceManager.sol +39 -0
  363. package/contracts/product/ApplicationService.sol +230 -0
  364. package/contracts/product/ApplicationServiceManager.sol +38 -0
  365. package/contracts/product/BasicProduct.sol +82 -0
  366. package/contracts/product/BasicProductAuthorization.sol +43 -0
  367. package/contracts/product/ClaimService.sol +416 -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 +40 -0
  374. package/contracts/product/IProductService.sol +33 -0
  375. package/contracts/product/PolicyService.sol +475 -0
  376. package/contracts/product/PolicyServiceManager.sol +39 -0
  377. package/contracts/product/PricingService.sol +300 -0
  378. package/contracts/product/PricingServiceManager.sol +39 -0
  379. package/contracts/product/Product.sol +392 -0
  380. package/contracts/product/ProductService.sol +99 -0
  381. package/contracts/product/ProductServiceManager.sol +39 -0
  382. package/contracts/registry/ChainNft.sol +15 -0
  383. package/contracts/registry/IRegistry.sol +85 -32
  384. package/contracts/registry/IRegistryService.sol +47 -28
  385. package/contracts/registry/ITransferInterceptor.sol +1 -0
  386. package/contracts/registry/Registry.sol +376 -248
  387. package/contracts/registry/RegistryAdmin.sol +365 -0
  388. package/contracts/registry/RegistryService.sol +111 -217
  389. package/contracts/registry/RegistryServiceManager.sol +26 -53
  390. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  391. package/contracts/registry/ReleaseRegistry.sol +487 -0
  392. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  393. package/contracts/registry/TokenRegistry.sol +261 -57
  394. package/contracts/shared/Component.sol +280 -0
  395. package/contracts/shared/ComponentService.sol +622 -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 +112 -0
  401. package/contracts/shared/IInstanceLinkedComponent.sol +56 -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 +4 -6
  407. package/contracts/shared/IRegistryLinked.sol +11 -0
  408. package/contracts/shared/IService.sol +16 -6
  409. package/contracts/shared/InitializableCustom.sol +177 -0
  410. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  411. package/contracts/shared/KeyValueStore.sol +131 -0
  412. package/contracts/shared/Lifecycle.sol +77 -0
  413. package/contracts/shared/NftIdSet.sol +65 -0
  414. package/contracts/shared/NftOwnable.sol +59 -86
  415. package/contracts/shared/PolicyHolder.sol +102 -0
  416. package/contracts/shared/Registerable.sol +26 -41
  417. package/contracts/shared/RegistryLinked.sol +43 -0
  418. package/contracts/shared/Service.sol +58 -31
  419. package/contracts/shared/TokenHandler.sol +37 -6
  420. package/contracts/staking/IStaking.sol +167 -0
  421. package/contracts/staking/IStakingService.sol +160 -0
  422. package/contracts/staking/StakeManagerLib.sol +231 -0
  423. package/contracts/staking/Staking.sol +514 -0
  424. package/contracts/staking/StakingLifecycle.sol +23 -0
  425. package/contracts/staking/StakingManager.sol +50 -0
  426. package/contracts/staking/StakingReader.sol +183 -0
  427. package/contracts/staking/StakingService.sol +411 -0
  428. package/contracts/staking/StakingServiceManager.sol +44 -0
  429. package/contracts/staking/StakingStore.sol +605 -0
  430. package/contracts/staking/TargetManagerLib.sol +207 -0
  431. package/contracts/{types → type}/AddressSet.sol +1 -1
  432. package/contracts/type/Amount.sol +128 -0
  433. package/contracts/{types → type}/Blocknumber.sol +21 -3
  434. package/contracts/type/ClaimId.sol +75 -0
  435. package/contracts/{types → type}/DistributorType.sol +2 -2
  436. package/contracts/{types → type}/Fee.sol +33 -23
  437. package/contracts/{types → type}/NftId.sol +21 -15
  438. package/contracts/type/NftIdSet.sol +62 -0
  439. package/contracts/type/ObjectType.sol +271 -0
  440. package/contracts/type/PayoutId.sol +82 -0
  441. package/contracts/{types → type}/Referral.sol +5 -1
  442. package/contracts/type/RequestId.sol +75 -0
  443. package/contracts/{types → type}/RiskId.sol +1 -1
  444. package/contracts/type/RoleId.sol +174 -0
  445. package/contracts/type/Seconds.sol +81 -0
  446. package/contracts/type/Selector.sol +102 -0
  447. package/contracts/{types → type}/StateId.sol +34 -4
  448. package/contracts/type/String.sol +53 -0
  449. package/contracts/{types → type}/Timestamp.sol +23 -14
  450. package/contracts/{types → type}/UFixed.sol +7 -0
  451. package/contracts/{types → type}/Version.sol +5 -2
  452. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  453. package/contracts/upgradeability/ProxyManager.sol +198 -0
  454. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  455. package/contracts/upgradeability/Versionable.sol +59 -0
  456. package/package.json +10 -7
  457. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  458. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  459. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  460. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -618
  461. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  462. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  463. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  464. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  465. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  466. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  467. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  468. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  469. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  470. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -782
  471. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  472. package/artifacts/contracts/components/Product.sol/Product.json +0 -719
  473. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  474. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  475. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  476. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  477. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  478. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  479. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  480. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  481. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  482. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  483. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  484. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  485. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  487. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  488. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  489. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  490. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  491. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  492. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  493. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  494. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  496. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  498. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  500. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  501. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  503. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  505. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  507. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  509. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  511. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  512. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  513. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  514. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  515. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  516. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  517. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  518. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  519. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  520. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  521. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  522. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  523. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  524. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  525. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  526. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  527. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  528. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  529. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  530. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  531. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -716
  532. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  533. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -444
  534. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  535. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  536. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  537. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  538. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  540. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -926
  541. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -448
  543. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1110
  545. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -480
  547. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  548. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  549. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  550. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  551. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  552. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  553. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  554. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  555. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  556. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  557. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  558. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  559. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  560. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  561. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  562. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  563. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  564. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  565. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  566. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  567. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  568. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  569. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  570. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  571. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  572. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  573. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  574. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  575. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  576. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  577. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  578. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  579. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  580. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  581. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  582. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  583. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  584. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  585. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  586. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  587. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  588. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  589. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  590. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  591. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  592. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  593. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  594. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  595. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  596. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  597. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  598. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  600. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  602. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  603. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  604. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  605. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  606. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  607. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  608. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  609. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  610. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  611. package/contracts/components/BaseComponent.sol +0 -91
  612. package/contracts/components/Distribution.sol +0 -159
  613. package/contracts/components/IBaseComponent.sol +0 -25
  614. package/contracts/components/IDistributionComponent.sol +0 -44
  615. package/contracts/components/IPoolComponent.sol +0 -62
  616. package/contracts/components/IProductComponent.sol +0 -35
  617. package/contracts/components/Pool.sol +0 -242
  618. package/contracts/components/Product.sol +0 -284
  619. package/contracts/experiment/cloning/Cloner.sol +0 -47
  620. package/contracts/experiment/errors/Require.sol +0 -38
  621. package/contracts/experiment/errors/Revert.sol +0 -44
  622. package/contracts/experiment/inheritance/A.sol +0 -53
  623. package/contracts/experiment/inheritance/B.sol +0 -28
  624. package/contracts/experiment/inheritance/C.sol +0 -34
  625. package/contracts/experiment/inheritance/IA.sol +0 -13
  626. package/contracts/experiment/inheritance/IB.sol +0 -10
  627. package/contracts/experiment/inheritance/IC.sol +0 -12
  628. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  629. package/contracts/experiment/statemachine/ISM.sol +0 -25
  630. package/contracts/experiment/statemachine/SM.sol +0 -57
  631. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  632. package/contracts/experiment/types/TypeA.sol +0 -47
  633. package/contracts/experiment/types/TypeB.sol +0 -29
  634. package/contracts/instance/AccessManagedSimple.sol +0 -115
  635. package/contracts/instance/AccessManagerSimple.sol +0 -692
  636. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  637. package/contracts/instance/InstanceAccessManager.sol +0 -288
  638. package/contracts/instance/base/ComponentServiceBase.sol +0 -134
  639. package/contracts/instance/base/IInstanceBase.sol +0 -23
  640. package/contracts/instance/base/KeyValueStore.sol +0 -172
  641. package/contracts/instance/base/Lifecycle.sol +0 -100
  642. package/contracts/instance/module/ISetup.sol +0 -44
  643. package/contracts/instance/module/ITreasury.sol +0 -23
  644. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  645. package/contracts/instance/service/DistributionService.sol +0 -88
  646. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  647. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  648. package/contracts/instance/service/IDistributionService.sol +0 -12
  649. package/contracts/instance/service/IPoolService.sol +0 -41
  650. package/contracts/instance/service/IProductService.sol +0 -107
  651. package/contracts/instance/service/PoolService.sol +0 -201
  652. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  653. package/contracts/instance/service/ProductService.sol +0 -567
  654. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  655. package/contracts/shared/ContractDeployerLib.sol +0 -72
  656. package/contracts/shared/ProxyManager.sol +0 -94
  657. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  658. package/contracts/shared/Versionable.sol +0 -147
  659. package/contracts/test/TestFee.sol +0 -25
  660. package/contracts/test/TestRegisterable.sol +0 -18
  661. package/contracts/test/TestRoleId.sol +0 -14
  662. package/contracts/test/TestService.sol +0 -24
  663. package/contracts/test/TestToken.sol +0 -26
  664. package/contracts/test/TestVersion.sol +0 -44
  665. package/contracts/test/TestVersionable.sol +0 -17
  666. package/contracts/types/ChainId.sol +0 -38
  667. package/contracts/types/NftIdSet.sol +0 -60
  668. package/contracts/types/NumberId.sol +0 -52
  669. package/contracts/types/ObjectType.sol +0 -152
  670. package/contracts/types/RoleId.sol +0 -90
  671. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,54 +1,86 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
4
+ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
5
 
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";
19
+
20
+ import {IRegisterable} from "../shared/IRegisterable.sol";
21
+
22
+ import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
23
+
24
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
25
+ import {BundleSet} from "./BundleSet.sol";
6
26
  import {InstanceReader} from "./InstanceReader.sol";
27
+ import {InstanceStore} from "./InstanceStore.sol";
28
+
29
+ import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
30
+
31
+ import {IAccess} from "./module/IAccess.sol";
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";
7
40
 
8
- import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
9
- import {IDistributionService} from "./service/IDistributionService.sol";
10
- import {IPoolService} from "./service/IPoolService.sol";
11
- import {IProductService} from "./service/IProductService.sol";
12
- import {IBundle} from "./module/IBundle.sol";
13
- import {ISetup} from "./module/ISetup.sol";
14
- import {NftId} from "../types/NftId.sol";
15
- import {StateId} from "../types/StateId.sol";
16
- import {RiskId} from "../types/RiskId.sol";
17
- import {IRisk} from "./module/IRisk.sol";
18
- import {IPolicy} from "./module/IPolicy.sol";
19
- import {IKeyValueStore} from "./base/IKeyValueStore.sol";
20
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);
21
50
 
22
- interface IInstance is IERC165, IKeyValueStore {
51
+ error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
52
+ error ErrorInstanceBundleSetInstanceMismatch(address instance);
53
+ error ErrorInstanceBundleSetAuthorityMismatch(address instanceAuthority);
23
54
 
24
- function getComponentOwnerService() external view returns (IComponentOwnerService);
25
- function getDistributionService() external view returns (IDistributionService);
26
- function getProductService() external view returns (IProductService);
27
- function getPoolService() external view returns (IPoolService);
55
+ error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
28
56
 
29
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external;
30
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external;
31
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external;
57
+ error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
58
+ error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
32
59
 
33
- function createPoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup) external;
34
- function updatePoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup, StateId newState) external;
35
- function updatePoolSetupState(NftId poolNftId, StateId newState) external;
60
+ struct InstanceInfo {
61
+ uint64 requestsCount;
62
+ }
36
63
 
37
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external;
38
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external;
39
- 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;
40
67
 
41
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external;
42
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external;
43
- 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;
44
71
 
45
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external;
46
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external;
47
- 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;
48
75
 
49
- function createPolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy) external;
50
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external;
51
- 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);
52
79
 
80
+ // get instance release and supporting contracts
81
+ function getMajorVersion() external pure returns (VersionPart majorVersion);
53
82
  function getInstanceReader() external view returns (InstanceReader);
83
+ function getBundleSet() external view returns (BundleSet);
84
+ function getInstanceAdmin() external view returns (InstanceAdmin);
85
+ function getInstanceStore() external view returns (InstanceStore);
54
86
  }
@@ -1,30 +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 {BundleSet} from "./BundleSet.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 {IBaseComponent} from "../components/IBaseComponent.sol";
16
+ interface IInstanceService is IService {
12
17
 
13
- import {AccessManagerSimple} from "./AccessManagerSimple.sol";
14
- import {Instance} from "./Instance.sol";
15
- import {InstanceReader} from "./InstanceReader.sol";
18
+ // onlyInstance
19
+ error ErrorInstanceServiceNotRegistered(address instance);
20
+ error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
21
+ error ErrorInstanceServiceInstanceVersionMismatch(address instance, VersionPart instanceVersion);
16
22
 
17
- interface IInstanceService is IService {
23
+ error ErrorInstanceServiceComponentNotInstanceLinked(address component);
24
+
25
+ error ErrorInstanceServiceMasterInstanceAlreadySet();
26
+ error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
27
+ error ErrorInstanceServiceMasterBundleSetAlreadySet();
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 ErrorInstanceServiceBundleSetZero();
39
+ error ErrorInstanceServiceInstanceStoreZero();
18
40
 
19
- event LogInstanceCloned(address clonedAccessManagerAddress, address clonedInstanceAddress, address clonedInstanceReaderAddress, NftId clonedInstanceNftId);
41
+ error ErrorInstanceServiceInstanceAuthorityMismatch();
42
+ error ErrorInstanceServiceBundleSetAuthorityMismatch();
43
+ error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
44
+ error ErrorInstanceServiceBundleMangerInstanceMismatch();
45
+ error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
20
46
 
21
- function createInstanceClone()
47
+ error ErrorInstanceServiceRequestUnauhorized(address caller);
48
+ error ErrorInstanceServiceNotInstanceNftId(NftId nftId);
49
+ error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
50
+ error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
51
+ error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
52
+
53
+ event LogInstanceCloned(NftId instanceNftId, address instance);
54
+
55
+ function createInstance()
22
56
  external
23
57
  returns (
24
- AccessManagerSimple clonedAccessManager,
58
+ // TODO check if Instance can be changed to IInstance
25
59
  Instance clonedInstance,
26
- NftId instanceNftId,
27
- InstanceReader clonedInstanceReader
60
+ NftId instanceNftId
28
61
  );
29
- }
30
62
 
63
+
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;
90
+
91
+ function setComponentLocked(bool locked) external;
92
+ }