@etherisc/gif-next 0.0.2-fd275d2-234 → 0.0.2-fd41099-706

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 (689) hide show
  1. package/README.md +60 -17
  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 +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/distribution/IDistributionComponent.sol/IDistributionComponent.json +900 -0
  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/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 +274 -1320
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +444 -172
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +389 -3093
  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 -349
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +587 -397
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +349 -127
  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/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 +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/oracle/IOracleComponent.sol/IOracleComponent.json +772 -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 +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/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +300 -357
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  103. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +959 -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 +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/product/BasicProduct.sol/BasicProduct.json +1299 -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} +253 -373
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  133. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +966 -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 +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 +53 -16
  152. package/artifacts/contracts/registry/GlobalRegistry.sol/GlobalRegistry.dbg.json +4 -0
  153. package/artifacts/contracts/registry/GlobalRegistry.sol/GlobalRegistry.json +1474 -0
  154. package/artifacts/contracts/registry/GlobalRegistryAdmin.sol/GlobalRegistryAdmin.dbg.json +4 -0
  155. package/artifacts/contracts/registry/GlobalRegistryAdmin.sol/GlobalRegistryAdmin.json +1876 -0
  156. package/artifacts/contracts/registry/IGlobalRegistry.sol/IGlobalRegistry.dbg.json +4 -0
  157. package/artifacts/contracts/registry/IGlobalRegistry.sol/IGlobalRegistry.json +974 -0
  158. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +370 -116
  160. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  161. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +290 -297
  162. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  163. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  164. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  165. package/artifacts/contracts/registry/Registry.sol/Registry.json +672 -166
  166. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  167. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1853 -0
  168. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  169. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +477 -318
  170. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +337 -133
  172. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  173. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  174. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1140 -0
  176. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  177. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  178. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  179. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +351 -100
  180. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  181. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  182. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  183. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  184. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -0
  186. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  187. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +208 -209
  188. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  189. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  190. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  191. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  192. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  194. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +718 -0
  196. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  198. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  199. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  200. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  201. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  202. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  203. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  204. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  206. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  207. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  208. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IService.sol/IService.json +97 -172
  210. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  211. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  212. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  213. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +996 -0
  214. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  215. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  216. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  217. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  218. package/artifacts/contracts/shared/MainnetContract.sol/MainnetContract.dbg.json +4 -0
  219. package/artifacts/contracts/shared/MainnetContract.sol/MainnetContract.json +34 -0
  220. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  221. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  222. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +115 -29
  224. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  225. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  226. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
  228. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  229. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  230. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  231. package/artifacts/contracts/shared/Service.sol/Service.json +201 -162
  232. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  233. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  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 +68 -0
  306. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  307. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  308. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  309. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  310. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  311. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  312. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  313. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  314. package/contracts/authorization/AccessAdmin.sol +590 -0
  315. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  316. package/contracts/authorization/Authorization.sol +218 -0
  317. package/contracts/authorization/IAccess.sol +48 -0
  318. package/contracts/authorization/IAccessAdmin.sol +136 -0
  319. package/contracts/authorization/IAuthorization.sol +54 -0
  320. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  321. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  322. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  323. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  324. package/contracts/distribution/BasicDistribution.sol +149 -0
  325. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  326. package/contracts/distribution/Distribution.sol +283 -0
  327. package/contracts/distribution/DistributionService.sol +288 -0
  328. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  329. package/contracts/distribution/IDistributionComponent.sol +48 -0
  330. package/contracts/distribution/IDistributionService.sol +85 -0
  331. package/contracts/instance/BundleSet.sol +126 -0
  332. package/contracts/instance/IInstance.sol +68 -38
  333. package/contracts/instance/IInstanceService.sol +78 -18
  334. package/contracts/instance/Instance.sol +181 -381
  335. package/contracts/instance/InstanceAdmin.sol +266 -0
  336. package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
  337. package/contracts/instance/InstanceReader.sol +173 -83
  338. package/contracts/instance/InstanceService.sol +388 -177
  339. package/contracts/instance/InstanceServiceManager.sol +13 -30
  340. package/contracts/instance/InstanceStore.sol +276 -0
  341. package/contracts/instance/base/BalanceStore.sol +123 -0
  342. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  343. package/contracts/instance/base/ObjectCounter.sol +21 -0
  344. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  345. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +21 -37
  346. package/contracts/instance/module/IAccess.sol +29 -21
  347. package/contracts/instance/module/IBundle.sol +8 -8
  348. package/contracts/instance/module/IComponents.sol +52 -0
  349. package/contracts/instance/module/IDistribution.sol +7 -4
  350. package/contracts/instance/module/IPolicy.sol +56 -17
  351. package/contracts/instance/module/IRisk.sol +1 -1
  352. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  353. package/contracts/oracle/BasicOracle.sol +48 -0
  354. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  355. package/contracts/oracle/IOracle.sol +36 -0
  356. package/contracts/oracle/IOracleComponent.sol +32 -0
  357. package/contracts/oracle/IOracleService.sol +65 -0
  358. package/contracts/oracle/Oracle.sol +157 -0
  359. package/contracts/oracle/OracleService.sol +278 -0
  360. package/contracts/oracle/OracleServiceManager.sol +39 -0
  361. package/contracts/pool/BasicPool.sol +164 -0
  362. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  363. package/contracts/pool/BundleService.sol +284 -0
  364. package/contracts/pool/BundleServiceManager.sol +39 -0
  365. package/contracts/pool/IBundleService.sol +106 -0
  366. package/contracts/pool/IPoolComponent.sol +52 -0
  367. package/contracts/pool/IPoolService.sol +150 -0
  368. package/contracts/pool/Pool.sol +311 -0
  369. package/contracts/pool/PoolService.sol +436 -0
  370. package/contracts/pool/PoolServiceManager.sol +39 -0
  371. package/contracts/product/ApplicationService.sol +230 -0
  372. package/contracts/product/ApplicationServiceManager.sol +38 -0
  373. package/contracts/product/BasicProduct.sol +82 -0
  374. package/contracts/product/BasicProductAuthorization.sol +40 -0
  375. package/contracts/product/ClaimService.sol +416 -0
  376. package/contracts/product/ClaimServiceManager.sol +38 -0
  377. package/contracts/product/IApplicationService.sol +62 -0
  378. package/contracts/product/IClaimService.sol +99 -0
  379. package/contracts/product/IPolicyService.sol +78 -0
  380. package/contracts/product/IPricingService.sol +39 -0
  381. package/contracts/product/IProductComponent.sol +39 -0
  382. package/contracts/product/IProductService.sol +33 -0
  383. package/contracts/product/PolicyService.sol +475 -0
  384. package/contracts/product/PolicyServiceManager.sol +39 -0
  385. package/contracts/product/PricingService.sol +300 -0
  386. package/contracts/product/PricingServiceManager.sol +39 -0
  387. package/contracts/product/Product.sol +392 -0
  388. package/contracts/product/ProductService.sol +99 -0
  389. package/contracts/product/ProductServiceManager.sol +39 -0
  390. package/contracts/registry/ChainNft.sol +51 -22
  391. package/contracts/registry/GlobalRegistry.sol +104 -0
  392. package/contracts/registry/GlobalRegistryAdmin.sol +38 -0
  393. package/contracts/registry/IGlobalRegistry.sol +17 -0
  394. package/contracts/registry/IRegistry.sol +84 -32
  395. package/contracts/registry/IRegistryService.sol +47 -28
  396. package/contracts/registry/ITransferInterceptor.sol +1 -0
  397. package/contracts/registry/Registry.sol +386 -269
  398. package/contracts/registry/RegistryAdmin.sol +445 -0
  399. package/contracts/registry/RegistryService.sol +111 -217
  400. package/contracts/registry/RegistryServiceManager.sol +26 -53
  401. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  402. package/contracts/registry/ReleaseRegistry.sol +533 -0
  403. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  404. package/contracts/registry/TokenRegistry.sol +261 -57
  405. package/contracts/shared/Component.sol +281 -0
  406. package/contracts/shared/ComponentService.sol +581 -0
  407. package/contracts/shared/ComponentServiceManager.sol +35 -0
  408. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  409. package/contracts/shared/ERC165.sol +15 -13
  410. package/contracts/shared/IComponent.sol +70 -0
  411. package/contracts/shared/IComponentService.sol +102 -0
  412. package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
  413. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  414. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  415. package/contracts/shared/INftOwnable.sol +13 -12
  416. package/contracts/shared/IPolicyHolder.sol +45 -0
  417. package/contracts/shared/IRegisterable.sol +4 -6
  418. package/contracts/shared/IRegistryLinked.sol +11 -0
  419. package/contracts/shared/IService.sol +16 -6
  420. package/contracts/shared/InitializableCustom.sol +177 -0
  421. package/contracts/shared/InstanceLinkedComponent.sol +151 -0
  422. package/contracts/shared/KeyValueStore.sol +131 -0
  423. package/contracts/shared/Lifecycle.sol +77 -0
  424. package/contracts/shared/MainnetContract.sol +15 -0
  425. package/contracts/shared/NftIdSet.sol +65 -0
  426. package/contracts/shared/NftOwnable.sol +59 -86
  427. package/contracts/shared/PolicyHolder.sol +102 -0
  428. package/contracts/shared/Registerable.sol +26 -41
  429. package/contracts/shared/RegistryLinked.sol +43 -0
  430. package/contracts/shared/Service.sol +58 -31
  431. package/contracts/shared/TokenHandler.sol +37 -6
  432. package/contracts/staking/IStaking.sol +167 -0
  433. package/contracts/staking/IStakingService.sol +160 -0
  434. package/contracts/staking/StakeManagerLib.sol +231 -0
  435. package/contracts/staking/Staking.sol +510 -0
  436. package/contracts/staking/StakingLifecycle.sol +23 -0
  437. package/contracts/staking/StakingManager.sol +50 -0
  438. package/contracts/staking/StakingReader.sol +183 -0
  439. package/contracts/staking/StakingService.sol +411 -0
  440. package/contracts/staking/StakingServiceManager.sol +44 -0
  441. package/contracts/staking/StakingStore.sol +605 -0
  442. package/contracts/staking/TargetManagerLib.sol +207 -0
  443. package/contracts/{types → type}/AddressSet.sol +1 -1
  444. package/contracts/type/Amount.sol +128 -0
  445. package/contracts/{types → type}/Blocknumber.sol +21 -3
  446. package/contracts/type/ClaimId.sol +75 -0
  447. package/contracts/{types → type}/DistributorType.sol +2 -2
  448. package/contracts/{types → type}/Fee.sol +33 -23
  449. package/contracts/{types → type}/NftId.sol +21 -15
  450. package/contracts/{types → type}/NftIdSet.sol +2 -2
  451. package/contracts/type/ObjectType.sol +271 -0
  452. package/contracts/type/PayoutId.sol +82 -0
  453. package/contracts/{types → type}/Referral.sol +5 -1
  454. package/contracts/type/RequestId.sol +75 -0
  455. package/contracts/{types → type}/RiskId.sol +1 -1
  456. package/contracts/type/RoleId.sol +174 -0
  457. package/contracts/type/Seconds.sol +81 -0
  458. package/contracts/type/Selector.sol +102 -0
  459. package/contracts/{types → type}/StateId.sol +34 -4
  460. package/contracts/type/String.sol +53 -0
  461. package/contracts/{types → type}/Timestamp.sol +23 -14
  462. package/contracts/{types → type}/UFixed.sol +7 -0
  463. package/contracts/{types → type}/Version.sol +5 -2
  464. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  465. package/contracts/upgradeability/ProxyManager.sol +198 -0
  466. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  467. package/contracts/upgradeability/Versionable.sol +59 -0
  468. package/package.json +10 -7
  469. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  470. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  471. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  472. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -618
  473. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  474. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  475. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  476. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  477. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  478. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  479. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  480. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  481. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  482. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -787
  483. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  484. package/artifacts/contracts/components/Product.sol/Product.json +0 -729
  485. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  487. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  488. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  489. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  490. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  491. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  492. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  493. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  494. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  495. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  496. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  497. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  498. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  499. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  501. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  503. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  505. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  507. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  508. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  510. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  512. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  515. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  517. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  519. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  521. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  523. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  524. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +0 -101
  525. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  526. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  527. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  528. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -809
  529. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  530. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  531. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  532. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  533. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  534. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -272
  535. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  537. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  538. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  539. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  540. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  541. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  542. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  543. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  544. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  545. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  547. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  548. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -716
  550. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -444
  552. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  553. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  554. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  555. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  556. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  557. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  558. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -971
  559. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  560. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -460
  561. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  562. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1147
  563. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  564. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -488
  565. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  566. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  567. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  568. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  569. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  570. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  571. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  572. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  573. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  574. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  575. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  576. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  578. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  579. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  580. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  582. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  584. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  585. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  586. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  587. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  588. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  589. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  590. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  591. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  592. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  593. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  594. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  595. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  596. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  597. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  598. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  600. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  602. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  603. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  604. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  605. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  606. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  607. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  608. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  609. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  610. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  611. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  612. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  614. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  616. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  618. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  620. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  621. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  622. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  623. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  624. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  625. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  627. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  628. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  629. package/contracts/components/BaseComponent.sol +0 -91
  630. package/contracts/components/Distribution.sol +0 -163
  631. package/contracts/components/IBaseComponent.sol +0 -25
  632. package/contracts/components/IDistributionComponent.sol +0 -44
  633. package/contracts/components/IPoolComponent.sol +0 -62
  634. package/contracts/components/IProductComponent.sol +0 -35
  635. package/contracts/components/Pool.sol +0 -247
  636. package/contracts/components/Product.sol +0 -289
  637. package/contracts/experiment/cloning/Cloner.sol +0 -47
  638. package/contracts/experiment/errors/Require.sol +0 -38
  639. package/contracts/experiment/errors/Revert.sol +0 -44
  640. package/contracts/experiment/inheritance/A.sol +0 -53
  641. package/contracts/experiment/inheritance/B.sol +0 -28
  642. package/contracts/experiment/inheritance/C.sol +0 -34
  643. package/contracts/experiment/inheritance/IA.sol +0 -13
  644. package/contracts/experiment/inheritance/IB.sol +0 -10
  645. package/contracts/experiment/inheritance/IC.sol +0 -12
  646. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  647. package/contracts/experiment/statemachine/ISM.sol +0 -25
  648. package/contracts/experiment/statemachine/SM.sol +0 -57
  649. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  650. package/contracts/experiment/types/TypeA.sol +0 -47
  651. package/contracts/experiment/types/TypeB.sol +0 -29
  652. package/contracts/instance/AccessManagedSimple.sol +0 -115
  653. package/contracts/instance/AccessManagerSimple.sol +0 -692
  654. package/contracts/instance/BundleManager.sol +0 -152
  655. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  656. package/contracts/instance/InstanceAccessManager.sol +0 -288
  657. package/contracts/instance/base/ComponentServiceBase.sol +0 -134
  658. package/contracts/instance/base/IInstanceBase.sol +0 -23
  659. package/contracts/instance/base/KeyValueStore.sol +0 -172
  660. package/contracts/instance/base/Lifecycle.sol +0 -100
  661. package/contracts/instance/module/ISetup.sol +0 -46
  662. package/contracts/instance/module/ITreasury.sol +0 -23
  663. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  664. package/contracts/instance/service/DistributionService.sol +0 -88
  665. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  666. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  667. package/contracts/instance/service/IDistributionService.sol +0 -12
  668. package/contracts/instance/service/IPoolService.sol +0 -43
  669. package/contracts/instance/service/IProductService.sol +0 -110
  670. package/contracts/instance/service/PoolService.sol +0 -206
  671. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  672. package/contracts/instance/service/ProductService.sol +0 -561
  673. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  674. package/contracts/shared/ContractDeployerLib.sol +0 -72
  675. package/contracts/shared/ProxyManager.sol +0 -94
  676. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  677. package/contracts/shared/Versionable.sol +0 -147
  678. package/contracts/test/TestFee.sol +0 -25
  679. package/contracts/test/TestRegisterable.sol +0 -18
  680. package/contracts/test/TestRoleId.sol +0 -14
  681. package/contracts/test/TestService.sol +0 -24
  682. package/contracts/test/TestToken.sol +0 -26
  683. package/contracts/test/TestVersion.sol +0 -44
  684. package/contracts/test/TestVersionable.sol +0 -17
  685. package/contracts/types/ChainId.sol +0 -38
  686. package/contracts/types/NumberId.sol +0 -52
  687. package/contracts/types/ObjectType.sol +0 -152
  688. package/contracts/types/RoleId.sol +0 -90
  689. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,56 +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 {BundleManager} from "./BundleManager.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";
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";
7
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";
8
40
 
9
- import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
10
- import {IDistributionService} from "./service/IDistributionService.sol";
11
- import {IPoolService} from "./service/IPoolService.sol";
12
- import {IProductService} from "./service/IProductService.sol";
13
- import {IBundle} from "./module/IBundle.sol";
14
- import {ISetup} from "./module/ISetup.sol";
15
- import {NftId} from "../types/NftId.sol";
16
- import {StateId} from "../types/StateId.sol";
17
- import {RiskId} from "../types/RiskId.sol";
18
- import {IRisk} from "./module/IRisk.sol";
19
- import {IPolicy} from "./module/IPolicy.sol";
20
- import {IKeyValueStore} from "./base/IKeyValueStore.sol";
21
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);
22
50
 
23
- interface IInstance is IERC165, IKeyValueStore {
51
+ error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
52
+ error ErrorInstanceBundleSetInstanceMismatch(address instance);
53
+ error ErrorInstanceBundleSetAuthorityMismatch(address instanceAuthority);
24
54
 
25
- function getComponentOwnerService() external view returns (IComponentOwnerService);
26
- function getDistributionService() external view returns (IDistributionService);
27
- function getProductService() external view returns (IProductService);
28
- function getPoolService() external view returns (IPoolService);
55
+ error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
29
56
 
30
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external;
31
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external;
32
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external;
57
+ error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
58
+ error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
33
59
 
34
- function createPoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup) external;
35
- function updatePoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup, StateId newState) external;
36
- function updatePoolSetupState(NftId poolNftId, StateId newState) external;
60
+ struct InstanceInfo {
61
+ uint64 requestsCount;
62
+ }
37
63
 
38
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external;
39
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external;
40
- 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;
41
67
 
42
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external;
43
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external;
44
- 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;
45
71
 
46
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external;
47
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external;
48
- 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;
49
75
 
50
- function createPolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy) external;
51
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external;
52
- 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);
53
79
 
80
+ // get instance release and supporting contracts
81
+ function getMajorVersion() external pure returns (VersionPart majorVersion);
54
82
  function getInstanceReader() external view returns (InstanceReader);
55
- function getBundleManager() external view returns (BundleManager);
83
+ function getBundleSet() external view returns (BundleSet);
84
+ function getInstanceAdmin() external view returns (InstanceAdmin);
85
+ function getInstanceStore() external view returns (InstanceStore);
56
86
  }
@@ -1,32 +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";
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 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();
19
40
 
20
- 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();
21
46
 
22
- 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()
23
56
  external
24
57
  returns (
25
- AccessManagerSimple clonedAccessManager,
58
+ // TODO check if Instance can be changed to IInstance
26
59
  Instance clonedInstance,
27
- NftId instanceNftId,
28
- InstanceReader clonedInstanceReader,
29
- BundleManager clonedBundleManager
60
+ NftId instanceNftId
30
61
  );
31
- }
32
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
+ }