@etherisc/gif-next 0.0.2-93de5de-423 → 0.0.2-93ee1cf-782

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