@etherisc/gif-next 0.0.2-b38343e-249 → 0.0.2-b3a8633-027

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