@etherisc/gif-next 0.0.2-8d47fa1-080 → 0.0.2-8d9d4d6-542

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 (703) hide show
  1. package/README.md +179 -14
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1502 -0
  4. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  5. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  6. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1168 -0
  8. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +110 -0
  10. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
  12. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.json +1639 -0
  14. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +134 -0
  16. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
  18. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  19. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1416 -0
  20. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1378 -0
  22. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  24. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +975 -0
  26. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +827 -0
  28. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  29. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +709 -0
  30. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  31. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +358 -1865
  32. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  33. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +769 -0
  34. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  35. package/artifacts/contracts/instance/Instance.sol/Instance.json +445 -2059
  36. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  37. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  38. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.dbg.json +4 -0
  39. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.json +1676 -0
  40. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  41. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +289 -0
  42. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  43. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
  44. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1701 -0
  46. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1220 -0
  48. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  49. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +758 -0
  50. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  51. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3598 -0
  52. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  53. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  54. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  55. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  56. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  58. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  59. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
  60. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  61. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  62. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  64. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  65. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  66. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  67. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  68. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  69. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  70. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  71. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  72. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  73. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  74. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  75. package/artifacts/contracts/{instance/base/ModuleBase.sol/ModuleBase.json → oracle/IOracle.sol/IOracle.json} +2 -2
  76. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  77. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  78. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  79. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  80. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  81. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  82. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  83. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  84. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  86. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  87. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  88. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  89. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  90. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  91. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +342 -313
  92. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  93. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
  94. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  95. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  96. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  97. package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
  98. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  99. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  100. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  101. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  102. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  103. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  104. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  106. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  107. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  108. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  109. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  110. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  111. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +512 -0
  112. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  113. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  114. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  115. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  116. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  117. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +320 -255
  118. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  119. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  120. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  121. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IProductService.sol/IProductService.json} +187 -176
  122. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  123. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  124. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  125. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  126. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  127. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  128. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  129. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  130. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  131. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  132. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  133. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  134. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  136. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  137. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +60 -2
  138. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  139. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +396 -61
  140. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  141. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +621 -166
  142. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  143. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  144. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  145. package/artifacts/contracts/registry/Registry.sol/Registry.json +630 -235
  146. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  147. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1932 -0
  148. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  149. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +863 -272
  150. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +721 -0
  152. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  153. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1237 -0
  154. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  155. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +195 -0
  156. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  157. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  158. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  159. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  160. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  161. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  162. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  163. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  164. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  165. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  166. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  167. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  168. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  169. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  170. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  171. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
  172. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  173. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
  174. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  175. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +298 -152
  176. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  177. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  178. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  179. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  180. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  181. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  182. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  183. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  184. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  186. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  187. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  188. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  189. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +77 -169
  190. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  192. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/module/component/IComponent.sol/IComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +66 -52
  194. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  196. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  197. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +65 -8
  198. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  199. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  200. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  201. package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +155 -153
  202. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  204. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  205. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  206. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  208. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  209. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  210. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  212. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  213. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  214. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  215. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +244 -0
  216. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  217. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  218. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +369 -62
  220. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  221. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +205 -12
  222. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  223. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  224. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  225. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +242 -191
  226. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  227. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  228. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  229. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  230. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  231. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  232. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  233. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  234. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  235. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  236. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  237. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  238. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  239. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  240. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  242. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  244. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  246. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  248. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
  250. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  251. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  252. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  254. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  256. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  258. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  260. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  262. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  264. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  265. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  266. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  268. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  269. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  270. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +215 -0
  272. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  274. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  276. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  278. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  280. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
  282. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  284. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  286. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  288. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  290. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  292. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  294. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  295. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  296. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  297. package/artifacts/contracts/{types/UFixed.sol/UFixedMathLib.json → type/UFixed.sol/UFixedLib.json} +4 -4
  298. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  299. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  300. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  302. package/contracts/authorization/AccessAdmin.sol +749 -0
  303. package/contracts/authorization/IAccess.sol +43 -0
  304. package/contracts/authorization/IAccessAdmin.sol +130 -0
  305. package/contracts/authorization/IModuleAuthorization.sol +27 -0
  306. package/contracts/authorization/IServiceAuthorization.sol +35 -0
  307. package/contracts/authorization/InstanceAdmin.sol +108 -0
  308. package/contracts/authorization/ModuleAuthorization.sol +116 -0
  309. package/contracts/authorization/ServiceAuthorization.sol +86 -0
  310. package/contracts/distribution/Distribution.sol +261 -0
  311. package/contracts/distribution/DistributionService.sol +297 -0
  312. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  313. package/contracts/distribution/IDistributionComponent.sol +66 -0
  314. package/contracts/distribution/IDistributionService.sol +81 -0
  315. package/contracts/instance/BundleManager.sol +126 -0
  316. package/contracts/instance/IInstance.sol +79 -46
  317. package/contracts/instance/IInstanceService.sol +97 -0
  318. package/contracts/instance/Instance.sol +243 -69
  319. package/contracts/instance/InstanceAdmin.sol +331 -0
  320. package/contracts/instance/InstanceAdminNew.sol +74 -0
  321. package/contracts/instance/InstanceAuthorizationV3.sol +176 -0
  322. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  323. package/contracts/instance/InstanceReader.sol +392 -0
  324. package/contracts/instance/InstanceService.sol +439 -0
  325. package/contracts/instance/InstanceServiceManager.sol +44 -0
  326. package/contracts/instance/InstanceStore.sol +269 -0
  327. package/contracts/instance/base/BalanceStore.sol +123 -0
  328. package/contracts/instance/base/Cloneable.sol +28 -0
  329. package/contracts/instance/base/ObjectCounter.sol +21 -0
  330. package/contracts/instance/base/ObjectManager.sol +80 -0
  331. package/contracts/instance/module/IAccess.sol +46 -0
  332. package/contracts/instance/module/IBundle.sol +20 -0
  333. package/contracts/instance/module/IComponents.sol +52 -0
  334. package/contracts/instance/module/IDistribution.sol +42 -0
  335. package/contracts/instance/module/IPolicy.sol +84 -0
  336. package/contracts/instance/module/IRisk.sol +11 -0
  337. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  338. package/contracts/oracle/IOracle.sol +20 -0
  339. package/contracts/oracle/IOracleComponent.sol +32 -0
  340. package/contracts/oracle/IOracleService.sol +65 -0
  341. package/contracts/oracle/Oracle.sol +145 -0
  342. package/contracts/oracle/OracleService.sol +278 -0
  343. package/contracts/oracle/OracleServiceManager.sol +42 -0
  344. package/contracts/pool/BundleService.sol +296 -0
  345. package/contracts/pool/BundleServiceManager.sol +42 -0
  346. package/contracts/pool/IBundleService.sol +106 -0
  347. package/contracts/pool/IPoolComponent.sol +112 -0
  348. package/contracts/pool/IPoolService.sol +150 -0
  349. package/contracts/pool/Pool.sol +299 -0
  350. package/contracts/pool/PoolService.sol +452 -0
  351. package/contracts/pool/PoolServiceManager.sol +42 -0
  352. package/contracts/product/ApplicationService.sol +254 -0
  353. package/contracts/product/ApplicationServiceManager.sol +38 -0
  354. package/contracts/product/ClaimService.sol +442 -0
  355. package/contracts/product/ClaimServiceManager.sol +38 -0
  356. package/contracts/product/IApplicationService.sol +62 -0
  357. package/contracts/product/IClaimService.sol +99 -0
  358. package/contracts/product/IPolicyService.sol +78 -0
  359. package/contracts/product/IPricingService.sol +39 -0
  360. package/contracts/product/IProductComponent.sol +42 -0
  361. package/contracts/product/IProductService.sol +33 -0
  362. package/contracts/product/PolicyService.sol +475 -0
  363. package/contracts/product/PolicyServiceManager.sol +42 -0
  364. package/contracts/product/PricingService.sol +300 -0
  365. package/contracts/product/PricingServiceManager.sol +42 -0
  366. package/contracts/product/Product.sol +377 -0
  367. package/contracts/product/ProductService.sol +124 -0
  368. package/contracts/product/ProductServiceManager.sol +42 -0
  369. package/contracts/registry/ChainNft.sol +55 -25
  370. package/contracts/registry/IRegistry.sol +84 -35
  371. package/contracts/registry/IRegistryService.sol +56 -16
  372. package/contracts/registry/ITransferInterceptor.sol +1 -0
  373. package/contracts/registry/Registry.sol +411 -334
  374. package/contracts/registry/RegistryAdmin.sol +325 -0
  375. package/contracts/registry/RegistryService.sol +157 -274
  376. package/contracts/registry/RegistryServiceManager.sol +53 -0
  377. package/contracts/registry/ReleaseManager.sol +529 -0
  378. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  379. package/contracts/registry/TokenRegistry.sol +315 -0
  380. package/contracts/shared/AccessManagerCustom.sol +741 -0
  381. package/contracts/shared/AccessManagerExtended.sol +481 -0
  382. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  383. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  384. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  385. package/contracts/shared/Component.sol +281 -0
  386. package/contracts/shared/ComponentService.sol +617 -0
  387. package/contracts/shared/ComponentServiceManager.sol +35 -0
  388. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  389. package/contracts/shared/ERC165.sol +16 -10
  390. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  391. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  392. package/contracts/shared/IComponent.sol +70 -0
  393. package/contracts/shared/IComponentService.sol +102 -0
  394. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  395. package/contracts/shared/IKeyValueStore.sol +53 -0
  396. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -4
  397. package/contracts/shared/INftOwnable.sol +23 -0
  398. package/contracts/shared/IPolicyHolder.sol +45 -0
  399. package/contracts/shared/IRegisterable.sol +5 -12
  400. package/contracts/shared/IRegistryLinked.sol +11 -0
  401. package/contracts/shared/IService.sol +25 -0
  402. package/contracts/shared/IVersionable.sol +5 -48
  403. package/contracts/shared/InitializableCustom.sol +177 -0
  404. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  405. package/contracts/shared/KeyValueStore.sol +127 -0
  406. package/contracts/{instance/base → shared}/Lifecycle.sol +38 -8
  407. package/contracts/shared/NftIdSetManager.sol +65 -0
  408. package/contracts/shared/NftOwnable.sol +107 -0
  409. package/contracts/shared/PolicyHolder.sol +102 -0
  410. package/contracts/shared/ProxyManager.sol +127 -43
  411. package/contracts/shared/Registerable.sol +33 -75
  412. package/contracts/shared/RegistryLinked.sol +43 -0
  413. package/contracts/shared/Service.sol +83 -0
  414. package/contracts/shared/TokenHandler.sol +58 -0
  415. package/contracts/shared/UpgradableProxyWithAdmin.sol +2 -2
  416. package/contracts/shared/Versionable.sol +5 -93
  417. package/contracts/staking/IStaking.sol +168 -0
  418. package/contracts/staking/IStakingService.sol +153 -0
  419. package/contracts/staking/StakeManagerLib.sol +231 -0
  420. package/contracts/staking/Staking.sol +513 -0
  421. package/contracts/staking/StakingManager.sol +54 -0
  422. package/contracts/staking/StakingReader.sol +187 -0
  423. package/contracts/staking/StakingService.sol +411 -0
  424. package/contracts/staking/StakingServiceManager.sol +44 -0
  425. package/contracts/staking/StakingStore.sol +613 -0
  426. package/contracts/staking/TargetManagerLib.sol +207 -0
  427. package/contracts/{types → type}/AddressSet.sol +1 -1
  428. package/contracts/type/Amount.sol +128 -0
  429. package/contracts/{types → type}/Blocknumber.sol +21 -3
  430. package/contracts/type/ClaimId.sol +75 -0
  431. package/contracts/type/DistributorType.sol +55 -0
  432. package/contracts/type/Fee.sol +66 -0
  433. package/contracts/{types → type}/Key32.sol +8 -3
  434. package/contracts/{types → type}/NftId.sol +21 -15
  435. package/contracts/type/NftIdSet.sol +62 -0
  436. package/contracts/type/ObjectType.sol +264 -0
  437. package/contracts/type/PayoutId.sol +82 -0
  438. package/contracts/type/Referral.sol +89 -0
  439. package/contracts/type/RequestId.sol +75 -0
  440. package/contracts/{types → type}/RiskId.sol +1 -1
  441. package/contracts/type/RoleId.sol +201 -0
  442. package/contracts/type/Seconds.sol +81 -0
  443. package/contracts/type/Selector.sol +102 -0
  444. package/contracts/{types → type}/StateId.sol +39 -5
  445. package/contracts/type/String.sol +53 -0
  446. package/contracts/{types → type}/Timestamp.sol +27 -14
  447. package/contracts/{types → type}/UFixed.sol +129 -12
  448. package/contracts/{types → type}/Version.sol +6 -2
  449. package/package.json +8 -7
  450. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  451. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -213
  452. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  453. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -445
  454. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  455. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -177
  456. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  457. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -343
  458. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  459. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -474
  460. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  461. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -373
  462. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  463. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -602
  464. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  465. package/artifacts/contracts/components/Product.sol/Product.json +0 -502
  466. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  467. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  468. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  469. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  470. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  471. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  472. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  473. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  474. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  475. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  476. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  477. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  478. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  479. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  480. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  481. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  482. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  483. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  484. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  485. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  486. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  487. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  488. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  489. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  490. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  491. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  492. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  494. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  496. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  498. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  500. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  501. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  502. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  503. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  504. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  505. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  506. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  507. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  508. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  509. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  510. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  511. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  512. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  513. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  514. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  515. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -380
  516. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  517. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  518. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  519. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  520. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  521. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  522. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  523. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  524. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  525. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  526. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  527. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  528. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  529. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  530. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  531. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  532. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  533. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  534. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  535. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  536. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  537. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  538. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  539. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  540. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  541. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  542. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  543. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  544. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  545. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  546. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  547. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  548. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  549. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  550. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  551. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  552. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  553. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  554. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  555. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  556. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  557. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  558. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  559. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  560. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  561. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -690
  562. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  563. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -526
  564. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  565. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  566. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -369
  567. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  568. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  569. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  570. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -649
  571. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  572. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -964
  573. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  574. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  575. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  576. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.dbg.json +0 -4
  577. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.json +0 -344
  578. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  579. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  580. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  582. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  584. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  585. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  586. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  587. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  588. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  589. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -191
  590. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  591. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  592. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  593. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -472
  594. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  595. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  596. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  597. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  598. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  599. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  600. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  601. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  602. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  603. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  604. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  605. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  606. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  607. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  608. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  609. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  610. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  611. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  612. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  613. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  614. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  616. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  618. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  620. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  621. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  622. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  624. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  625. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  627. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  628. package/contracts/components/BaseComponent.sol +0 -79
  629. package/contracts/components/Distribution.sol +0 -155
  630. package/contracts/components/IBaseComponent.sol +0 -19
  631. package/contracts/components/IDistributionComponent.sol +0 -47
  632. package/contracts/components/IPoolComponent.sol +0 -65
  633. package/contracts/components/IProductComponent.sol +0 -39
  634. package/contracts/components/Pool.sol +0 -246
  635. package/contracts/components/Product.sol +0 -299
  636. package/contracts/experiment/errors/Require.sol +0 -38
  637. package/contracts/experiment/errors/Revert.sol +0 -44
  638. package/contracts/experiment/inheritance/A.sol +0 -53
  639. package/contracts/experiment/inheritance/B.sol +0 -28
  640. package/contracts/experiment/inheritance/C.sol +0 -34
  641. package/contracts/experiment/inheritance/IA.sol +0 -13
  642. package/contracts/experiment/inheritance/IB.sol +0 -10
  643. package/contracts/experiment/inheritance/IC.sol +0 -12
  644. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  645. package/contracts/experiment/statemachine/ISM.sol +0 -25
  646. package/contracts/experiment/statemachine/SM.sol +0 -57
  647. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  648. package/contracts/experiment/types/TypeA.sol +0 -47
  649. package/contracts/experiment/types/TypeB.sol +0 -29
  650. package/contracts/instance/IInstanceLinked.sol +0 -8
  651. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  652. package/contracts/instance/base/IInstanceBase.sol +0 -23
  653. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  654. package/contracts/instance/base/IService.sol +0 -15
  655. package/contracts/instance/base/InstanceBase.sol +0 -89
  656. package/contracts/instance/base/KeyValueStore.sol +0 -161
  657. package/contracts/instance/base/ModuleBase.sol +0 -57
  658. package/contracts/instance/base/ServiceBase.sol +0 -43
  659. package/contracts/instance/module/access/Access.sol +0 -149
  660. package/contracts/instance/module/access/IAccess.sol +0 -53
  661. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  662. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  663. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  664. package/contracts/instance/module/component/IComponent.sol +0 -28
  665. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  666. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  667. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  668. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  669. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  670. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  671. package/contracts/instance/module/risk/IRisk.sol +0 -26
  672. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  673. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  674. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  675. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  676. package/contracts/instance/service/ComponentOwnerService.sol +0 -272
  677. package/contracts/instance/service/DistributionService.sol +0 -54
  678. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  679. package/contracts/instance/service/IDistributionService.sol +0 -12
  680. package/contracts/instance/service/IPoolService.sol +0 -37
  681. package/contracts/instance/service/IProductService.sol +0 -107
  682. package/contracts/instance/service/PoolService.sol +0 -149
  683. package/contracts/instance/service/ProductService.sol +0 -509
  684. package/contracts/registry/IChainNft.sol +0 -22
  685. package/contracts/registry/IRegistryLinked.sol +0 -8
  686. package/contracts/registry/RegistryInstaller.sol +0 -100
  687. package/contracts/shared/IOwnable.sol +0 -6
  688. package/contracts/test/TestDistribution.sol +0 -22
  689. package/contracts/test/TestFee.sol +0 -25
  690. package/contracts/test/TestPool.sol +0 -27
  691. package/contracts/test/TestProduct.sol +0 -74
  692. package/contracts/test/TestRegisterable.sol +0 -18
  693. package/contracts/test/TestRoleId.sol +0 -14
  694. package/contracts/test/TestService.sol +0 -26
  695. package/contracts/test/TestToken.sol +0 -26
  696. package/contracts/test/TestVersion.sol +0 -44
  697. package/contracts/test/TestVersionable.sol +0 -17
  698. package/contracts/types/ChainId.sol +0 -38
  699. package/contracts/types/Fee.sol +0 -56
  700. package/contracts/types/NftIdSet.sol +0 -60
  701. package/contracts/types/ObjectType.sol +0 -131
  702. package/contracts/types/ReferralId.sol +0 -48
  703. package/contracts/types/RoleId.sol +0 -38
@@ -1,21 +1,34 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IERC165} from "@openzeppelin5/contracts/utils/introspection/IERC165.sol";
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
5
 
6
- import {IOwnable} from "../shared/IOwnable.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {ObjectType} from "../types/ObjectType.sol";
9
- import {VersionPart} from "../types/Version.sol";
10
- import {IChainNft} from "./IChainNft.sol";
6
+ import {NftId} from "../type/NftId.sol";
7
+ import {ObjectType} from "../type/ObjectType.sol";
8
+ import {VersionPart} from "../type/Version.sol";
9
+ import {Timestamp} from "../type/Timestamp.sol";
10
+ import {RoleId} from "../type/RoleId.sol";
11
11
 
12
- interface IRegistry is IERC165, IOwnable {
12
+ interface IRegistry is IERC165 {
13
13
 
14
- event LogRegistration(NftId indexed nftId, NftId parentNftId, ObjectType objectType, address objectAddress, address initialOwner);
14
+ event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
15
+ event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
15
16
 
16
- event LogServiceNameRegistration(string serviceName, VersionPart majorVersion);
17
+ // registerService()
18
+ error ErrorRegistryCallerNotReleaseManager();
19
+ error ErrorRegistryDomainZero(address service);
20
+ error ErrorRegistryDomainAlreadyRegistered(address service, VersionPart version, ObjectType domain);
17
21
 
18
- event LogApproval(NftId indexed nftId, ObjectType objectType);
22
+ // register()
23
+ error ErrorRegistryCallerNotRegistryService();
24
+
25
+ // registerWithCustomTypes()
26
+ error ErrorRegistryCoreTypeRegistration();
27
+
28
+ // _register()
29
+ error ErrorRegistryParentAddressZero();
30
+ error ErrorRegistryTypesCombinationInvalid(ObjectType objectType, ObjectType parentType);
31
+ error ErrorRegistryContractAlreadyRegistered(address objectAddress);
19
32
 
20
33
  struct ObjectInfo {
21
34
  NftId nftId;
@@ -25,51 +38,87 @@ interface IRegistry is IERC165, IOwnable {
25
38
  address objectAddress;
26
39
  address initialOwner;
27
40
  bytes data;
28
- }// TODO delete nftId and initialOwner(if not used) from struct
41
+ }
42
+
43
+ // TODO cleanup
44
+ struct ReleaseInfo {
45
+ VersionPart version;
46
+ bytes32 salt;
47
+ address[] addresses;
48
+ string[] names;
49
+ RoleId[][] serviceRoles;
50
+ string[][] serviceRoleNames;
51
+ RoleId[][] functionRoles;
52
+ string[][] functionRoleNames;
53
+ bytes4[][][] selectors;
54
+ ObjectType[] domains;
55
+ Timestamp activatedAt;
56
+ Timestamp disabledAt;
57
+ }
58
+
59
+ function registerService(
60
+ ObjectInfo memory serviceInfo,
61
+ VersionPart serviceVersion,
62
+ ObjectType serviceDomain
63
+ ) external returns(NftId nftId);
29
64
 
30
65
  function register(ObjectInfo memory info) external returns (NftId nftId);
31
-
32
- function registerFrom(
33
- address from,
34
- ObjectInfo memory info
35
- ) external returns (NftId nftId);
36
-
37
- function approve(
38
- NftId registrar,
39
- ObjectType object,
40
- ObjectType parent
41
- ) external;
42
-
43
- function allowance(
44
- NftId registrar,
45
- ObjectType object
46
- ) external view returns (bool);
66
+
67
+ function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
68
+
69
+ function getInitialVersion() external view returns (VersionPart);
70
+
71
+ function getNextVersion() external view returns (VersionPart);
72
+
73
+ function getLatestVersion() external view returns (VersionPart);
74
+
75
+ function getReleaseInfo(VersionPart version) external view returns (ReleaseInfo memory);
47
76
 
48
77
  function getObjectCount() external view returns (uint256);
49
78
 
50
- //nftIdOf
51
79
  function getNftId(address objectAddress) external view returns (NftId nftId);
52
80
 
53
81
  function ownerOf(NftId nftId) external view returns (address);
54
82
 
55
83
  function ownerOf(address contractAddress) external view returns (address);
56
- // infoOf()
84
+
57
85
  function getObjectInfo(NftId nftId) external view returns (ObjectInfo memory info);
58
- // infoOf()
86
+
59
87
  function getObjectInfo(address object) external view returns (ObjectInfo memory info);
60
88
 
61
89
  function isRegistered(NftId nftId) external view returns (bool);
62
90
 
63
91
  function isRegistered(address contractAddress) external view returns (bool);
64
92
 
65
- function getServiceName(NftId nftId) external view returns (string memory name);
93
+ function isRegisteredService(address contractAddress) external view returns (bool);
94
+
95
+ function isRegisteredComponent(address object) external view returns (bool);
96
+
97
+ function isActiveRelease(VersionPart version) external view returns (bool);
66
98
 
67
99
  function getServiceAddress(
68
- string memory serviceName,
69
- VersionPart majorVersion
100
+ ObjectType serviceDomain,
101
+ VersionPart releaseVersion
70
102
  ) external view returns (address serviceAddress);
71
103
 
72
- function getProtocolOwner() external view returns (address);
104
+ function getProtocolNftId() external view returns (NftId protocolNftId);
105
+
106
+ function getNftId() external view returns (NftId nftId);
107
+
108
+ function getOwner() external view returns (address);
109
+
110
+ // TODO refactor the address getters below to contract getters
111
+ function getChainNftAddress() external view returns (address);
112
+
113
+ function getReleaseManagerAddress() external view returns (address);
114
+
115
+ function getReleaseAccessManagerAddress(VersionPart version) external view returns (address);
116
+
117
+ function getStakingAddress() external view returns (address);
118
+
119
+ function getTokenRegistryAddress() external view returns (address);
120
+
121
+ function getRegistryAdminAddress() external view returns (address);
73
122
 
74
- function getChainNft() external view returns (IChainNft);
123
+ function getAuthority() external view returns (address);
75
124
  }
@@ -1,29 +1,69 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {ObjectType} from "../../contracts/types/ObjectType.sol";
6
- import {RoleId} from "../../contracts/types/RoleId.sol";
7
- import {IService} from "../../contracts/instance/base/IService.sol";
8
- import {IRegistry} from "../../contracts/registry/IRegistry.sol";
4
+ // import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
9
5
 
10
- import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
11
- import {IBaseComponent} from "../../contracts/components/IBaseComponent.sol";
6
+ import {NftId} from "../type/NftId.sol";
7
+ import {ObjectType} from "../type/ObjectType.sol";
8
+ import {RoleId} from "../type/RoleId.sol";
9
+ import {IService} from "../shared/IService.sol";
10
+ import {IRegistry} from "./IRegistry.sol";
12
11
 
13
- interface IRegistryService is IService {
12
+ import {IRegisterable} from "../shared/IRegisterable.sol";
13
+ import {IComponent} from "../shared/IComponent.sol";
14
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
14
15
 
15
- function registerToken(address tokenAddress) external returns(NftId nftId);
16
16
 
17
- function registerService(IService service) external returns(IRegistry.ObjectInfo memory info, bytes memory data);
17
+ interface IRegistryService is
18
+ IService
19
+ {
20
+ error ErrorRegistryServiceNotRegistryOwner();
18
21
 
19
- function registerComponent(IBaseComponent component, ObjectType componentType, address owner)
20
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
22
+ error ErrorRegistryServiceNotService(address notService);
23
+ error ErrorRegistryServiceNotInstance(address notInstance);
24
+ error ErrorRegistryServiceNotComponent(address notComponent);
25
+ error ErrorRegistryServiceNotProduct(address notProduct);
26
+ error ErrorRegistryServiceNotPool(address notPool);
27
+ error ErrorRegistryServiceNotDistribution(address notDistribution);
21
28
 
22
- function registerInstance(IRegisterable instance)
23
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
29
+ error ErrorRegistryServiceRegisterableAddressInvalid(IRegisterable registerable, address found);
30
+ error ErrorRegistryServiceRegisterableTypeInvalid(IRegisterable registerable, ObjectType expected, ObjectType found);
31
+ error ErrorRegistryServiceRegisterableOwnerInvalid(IRegisterable registerable, address expected, address found);
32
+ error ErrorRegistryServiceRegisterableOwnerZero(IRegisterable registerable);
33
+ error ErrorRegistryServiceRegisterableOwnerRegistered(IRegisterable registerable, address owner);
34
+ error ErrorRegistryServiceRegisterableSelfRegistration(IRegisterable registerable);
24
35
 
25
- function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId); // -> easy to upgrade
36
+ error ErrorRegistryServiceObjectAddressNotZero(ObjectType objectType);
37
+ error ErrorRegistryServiceObjectTypeInvalid(ObjectType expected, ObjectType found);
38
+ error ErrorRegistryServiceObjectOwnerRegistered(ObjectType objectType, address owner);
39
+ error ErrorRegistryServiceObjectOwnerZero(ObjectType objectType);
40
+
41
+ error ErrorRegistryServiceInvalidInitialOwner(address initialOwner);
42
+ error ErrorRegistryServiceInvalidAddress(address registerableAddress);
43
+
44
+ function registerStake(IRegistry.ObjectInfo memory info)
45
+ external returns(NftId nftId);
46
+
47
+ function registerInstance(IRegisterable instance, address owner)
48
+ external returns(IRegistry.ObjectInfo memory info);
49
+
50
+ function registerComponent(IComponent component, ObjectType objectType, address owner)
51
+ external returns(IRegistry.ObjectInfo memory info);
52
+
53
+ function registerProduct(IComponent product, address owner)
54
+ external returns(IRegistry.ObjectInfo memory info);
55
+
56
+ function registerPool(IComponent pool, address owner)
57
+ external returns(IRegistry.ObjectInfo memory info);
58
+
59
+ function registerDistribution(IComponent distribution, address owner)
60
+ external returns(IRegistry.ObjectInfo memory info);
61
+
62
+ function registerDistributor(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
63
+
64
+ function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
65
+
66
+ function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
26
67
 
27
- function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
28
68
  }
29
69
 
@@ -2,5 +2,6 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  interface ITransferInterceptor {
5
+ function nftMint(address to, uint256 tokenId) external;
5
6
  function nftTransferFrom(address from, address to, uint256 tokenId) external;
6
7
  }