@etherisc/gif-next 0.0.2-9dd1984-554 → 0.0.2-9e62264-142

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 (692) hide show
  1. package/README.md +59 -18
  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 +1489 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1159 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1520 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +842 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +906 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +932 -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 +294 -1443
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +389 -202
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +417 -2522
  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 +818 -409
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +542 -345
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +369 -95
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3712 -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 +1126 -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/{instance/service/IBundleService.sol/IBundleService.json → oracle/IOracleComponent.sol/IOracleComponent.json} +390 -345
  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 +1018 -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 +1395 -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 +1474 -0
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  101. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +907 -0
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  103. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +398 -347
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1208 -0
  106. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  107. package/artifacts/contracts/pool/Pool.sol/Pool.json +1181 -0
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1615 -0
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +758 -0
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  113. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +852 -0
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  117. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1243 -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 +1331 -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/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +216 -235
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  127. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +788 -0
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +337 -313
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +270 -220
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  133. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +433 -276
  134. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  135. package/artifacts/contracts/{components/IComponent.sol/IComponent.json → product/IRiskService.sol/IRiskService.json} +134 -147
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1242 -0
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  139. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +774 -0
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  141. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1017 -0
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  144. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  145. package/artifacts/contracts/product/Product.sol/Product.json +1201 -0
  146. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  147. package/artifacts/contracts/product/RiskService.sol/RiskService.json +695 -0
  148. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +702 -0
  150. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  151. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  152. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  153. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +281 -15
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  155. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +223 -259
  156. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  158. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/Registry.sol/Registry.json +539 -35
  160. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  161. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  162. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +531 -274
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +352 -82
  166. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  168. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  170. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  171. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  172. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -96
  174. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  175. package/artifacts/contracts/shared/Component.sol/Component.json +832 -0
  176. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1680 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +804 -0
  180. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  181. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +181 -237
  182. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  183. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IComponent.sol/IComponent.json} +259 -152
  184. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  186. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  187. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +252 -243
  188. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  189. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +60 -34
  190. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  192. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  193. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  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 +15 -35
  198. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  199. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  200. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IService.sol/IService.json +84 -159
  202. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  203. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  204. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  205. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
  206. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +940 -0
  208. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  209. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +88 -20
  210. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  212. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  213. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  214. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +115 -29
  216. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  217. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  218. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
  220. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  221. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  222. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Service.sol/Service.json +189 -150
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  225. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +382 -9
  226. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  227. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  228. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  229. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1412 -0
  230. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  231. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  232. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  233. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +387 -0
  234. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  235. package/artifacts/contracts/staking/Staking.sol/Staking.json +1941 -0
  236. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  237. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  238. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  240. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  242. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  244. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  246. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  248. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  249. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -0
  250. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  251. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  252. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  254. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  256. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  258. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  260. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  262. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  264. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  266. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  267. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  268. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  270. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  272. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  274. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  276. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  278. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  280. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +222 -0
  282. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  284. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  286. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  288. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  290. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  292. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  294. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  296. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  298. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  300. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  301. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  302. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  303. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  304. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  305. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  306. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  307. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  308. package/contracts/authorization/AccessAdmin.sol +591 -0
  309. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  310. package/contracts/authorization/Authorization.sol +217 -0
  311. package/contracts/authorization/IAccess.sol +48 -0
  312. package/contracts/authorization/IAccessAdmin.sol +136 -0
  313. package/contracts/authorization/IAuthorization.sol +54 -0
  314. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  315. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  316. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  317. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  318. package/contracts/distribution/BasicDistribution.sol +138 -0
  319. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  320. package/contracts/distribution/Distribution.sol +295 -0
  321. package/contracts/distribution/DistributionService.sol +336 -0
  322. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  323. package/contracts/distribution/IDistributionComponent.sol +52 -0
  324. package/contracts/distribution/IDistributionService.sol +101 -0
  325. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +40 -43
  326. package/contracts/instance/IInstance.sol +55 -52
  327. package/contracts/instance/IInstanceService.sol +73 -21
  328. package/contracts/instance/Instance.sol +163 -196
  329. package/contracts/instance/InstanceAdmin.sol +285 -0
  330. package/contracts/instance/InstanceAuthorizationV3.sol +203 -0
  331. package/contracts/instance/InstanceReader.sol +194 -87
  332. package/contracts/instance/InstanceService.sol +364 -242
  333. package/contracts/instance/InstanceServiceManager.sol +13 -27
  334. package/contracts/instance/InstanceStore.sol +291 -0
  335. package/contracts/instance/base/BalanceStore.sol +123 -0
  336. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  337. package/contracts/instance/base/ObjectCounter.sol +21 -0
  338. package/contracts/instance/base/ObjectLifecycle.sol +110 -0
  339. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +20 -42
  340. package/contracts/instance/module/IAccess.sol +19 -21
  341. package/contracts/instance/module/IBundle.sol +8 -8
  342. package/contracts/instance/module/IComponents.sol +46 -0
  343. package/contracts/instance/module/IDistribution.sol +6 -4
  344. package/contracts/instance/module/IPolicy.sol +58 -17
  345. package/contracts/instance/module/IRisk.sol +1 -1
  346. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  347. package/contracts/oracle/BasicOracle.sol +48 -0
  348. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  349. package/contracts/oracle/IOracle.sol +36 -0
  350. package/contracts/oracle/IOracleComponent.sol +33 -0
  351. package/contracts/oracle/IOracleService.sol +65 -0
  352. package/contracts/oracle/Oracle.sol +166 -0
  353. package/contracts/oracle/OracleService.sol +278 -0
  354. package/contracts/oracle/OracleServiceManager.sol +39 -0
  355. package/contracts/pool/BasicPool.sol +166 -0
  356. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  357. package/contracts/pool/BundleService.sol +438 -0
  358. package/contracts/pool/BundleServiceManager.sol +39 -0
  359. package/contracts/pool/IBundleService.sol +134 -0
  360. package/contracts/pool/IPoolComponent.sol +58 -0
  361. package/contracts/pool/IPoolService.sol +160 -0
  362. package/contracts/pool/Pool.sol +326 -0
  363. package/contracts/pool/PoolService.sol +509 -0
  364. package/contracts/pool/PoolServiceManager.sol +39 -0
  365. package/contracts/product/ApplicationService.sol +250 -0
  366. package/contracts/product/ApplicationServiceManager.sol +38 -0
  367. package/contracts/product/BasicProduct.sol +52 -0
  368. package/contracts/product/BasicProductAuthorization.sol +43 -0
  369. package/contracts/product/ClaimService.sol +416 -0
  370. package/contracts/product/ClaimServiceManager.sol +38 -0
  371. package/contracts/product/IApplicationService.sol +63 -0
  372. package/contracts/product/IClaimService.sol +100 -0
  373. package/contracts/product/IPolicyService.sol +73 -0
  374. package/contracts/product/IPricingService.sol +39 -0
  375. package/contracts/product/IProductComponent.sol +39 -0
  376. package/contracts/product/IRiskService.sol +33 -0
  377. package/contracts/product/PolicyService.sol +574 -0
  378. package/contracts/product/PolicyServiceManager.sol +39 -0
  379. package/contracts/product/PricingService.sol +304 -0
  380. package/contracts/product/PricingServiceManager.sol +39 -0
  381. package/contracts/product/Product.sol +406 -0
  382. package/contracts/product/RiskService.sol +97 -0
  383. package/contracts/product/RiskServiceManager.sol +39 -0
  384. package/contracts/registry/ChainNft.sol +16 -1
  385. package/contracts/registry/IRegistry.sol +67 -24
  386. package/contracts/registry/IRegistryService.sol +45 -34
  387. package/contracts/registry/ITransferInterceptor.sol +1 -0
  388. package/contracts/registry/Registry.sol +317 -137
  389. package/contracts/registry/RegistryAdmin.sol +374 -0
  390. package/contracts/registry/RegistryService.sol +111 -179
  391. package/contracts/registry/RegistryServiceManager.sol +24 -33
  392. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  393. package/contracts/registry/ReleaseRegistry.sol +485 -0
  394. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  395. package/contracts/registry/TokenRegistry.sol +263 -58
  396. package/contracts/shared/Component.sol +268 -0
  397. package/contracts/shared/ComponentService.sol +641 -0
  398. package/contracts/shared/ComponentServiceManager.sol +35 -0
  399. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  400. package/contracts/shared/IComponent.sol +70 -0
  401. package/contracts/shared/IComponentService.sol +108 -0
  402. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  403. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  404. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  405. package/contracts/shared/INftOwnable.sol +13 -12
  406. package/contracts/shared/IPolicyHolder.sol +45 -0
  407. package/contracts/shared/IRegisterable.sol +4 -4
  408. package/contracts/shared/IRegistryLinked.sol +11 -0
  409. package/contracts/shared/IService.sol +15 -6
  410. package/contracts/shared/InitializableCustom.sol +177 -0
  411. package/contracts/shared/InitializableERC165.sol +27 -0
  412. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  413. package/contracts/shared/KeyValueStore.sol +131 -0
  414. package/contracts/shared/Lifecycle.sol +77 -0
  415. package/contracts/shared/NftIdSet.sol +65 -0
  416. package/contracts/shared/NftOwnable.sol +59 -88
  417. package/contracts/shared/PolicyHolder.sol +99 -0
  418. package/contracts/shared/Registerable.sol +26 -41
  419. package/contracts/shared/RegistryLinked.sol +43 -0
  420. package/contracts/shared/Service.sol +54 -32
  421. package/contracts/shared/TokenHandler.sol +122 -10
  422. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  423. package/contracts/staking/IStaking.sol +167 -0
  424. package/contracts/staking/IStakingService.sol +160 -0
  425. package/contracts/staking/StakeManagerLib.sol +206 -0
  426. package/contracts/staking/Staking.sol +497 -0
  427. package/contracts/staking/StakingLifecycle.sol +23 -0
  428. package/contracts/staking/StakingManager.sol +50 -0
  429. package/contracts/staking/StakingReader.sol +183 -0
  430. package/contracts/staking/StakingService.sol +407 -0
  431. package/contracts/staking/StakingServiceManager.sol +44 -0
  432. package/contracts/staking/StakingStore.sol +605 -0
  433. package/contracts/staking/TargetManagerLib.sol +207 -0
  434. package/contracts/{types → type}/AddressSet.sol +1 -1
  435. package/contracts/type/Amount.sol +135 -0
  436. package/contracts/{types → type}/Blocknumber.sol +27 -3
  437. package/contracts/type/ClaimId.sol +75 -0
  438. package/contracts/{types → type}/DistributorType.sol +2 -2
  439. package/contracts/{types → type}/Fee.sol +33 -23
  440. package/contracts/{types → type}/NftId.sol +21 -15
  441. package/contracts/{types → type}/NftIdSet.sol +2 -2
  442. package/contracts/type/ObjectType.sol +275 -0
  443. package/contracts/type/PayoutId.sol +82 -0
  444. package/contracts/{types → type}/Referral.sol +6 -1
  445. package/contracts/type/RequestId.sol +75 -0
  446. package/contracts/{types → type}/RiskId.sol +1 -1
  447. package/contracts/type/RoleId.sol +174 -0
  448. package/contracts/type/Seconds.sol +93 -0
  449. package/contracts/type/Selector.sol +102 -0
  450. package/contracts/{types → type}/StateId.sol +34 -4
  451. package/contracts/type/String.sol +53 -0
  452. package/contracts/{types → type}/Timestamp.sol +34 -15
  453. package/contracts/{types → type}/UFixed.sol +35 -9
  454. package/contracts/{types → type}/Version.sol +5 -2
  455. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  456. package/contracts/upgradeability/ProxyManager.sol +198 -0
  457. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  458. package/contracts/upgradeability/Versionable.sol +59 -0
  459. package/package.json +10 -7
  460. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  461. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  462. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  463. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  464. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  465. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  466. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  467. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  468. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  469. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  470. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  471. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  472. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  473. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  474. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  475. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  476. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  477. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  478. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  479. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  480. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  481. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  482. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  483. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  484. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  485. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  487. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  488. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  489. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  490. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  491. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  492. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  494. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  496. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  498. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  501. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  503. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  505. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  507. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  509. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  510. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  511. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  512. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
  513. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  514. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  515. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  516. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
  517. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  518. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  519. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  520. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  521. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  522. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  523. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -100
  524. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  525. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  526. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  527. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  528. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  529. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  530. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  531. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  532. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  533. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1094
  534. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  535. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  536. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  537. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -764
  538. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -424
  540. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  541. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  543. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  545. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  547. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1219
  548. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  550. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -798
  552. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  553. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -424
  554. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  555. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -848
  556. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  557. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -424
  558. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  559. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  560. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  561. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -530
  562. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  563. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  564. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  565. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  566. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  567. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  568. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  569. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  570. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  571. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  572. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  573. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  574. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  575. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  576. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  578. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  579. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  580. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  582. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  584. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  585. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  586. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  587. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  588. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  589. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  590. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  591. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  592. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  593. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  594. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  595. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  596. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  597. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  598. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  600. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  601. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  602. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  604. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  605. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  606. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  607. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  608. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  609. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  610. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  611. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  612. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  614. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  616. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  618. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  619. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  620. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  621. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  622. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  623. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  624. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  625. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  627. package/contracts/components/Component.sol +0 -177
  628. package/contracts/components/Distribution.sol +0 -154
  629. package/contracts/components/IComponent.sol +0 -37
  630. package/contracts/components/IDistributionComponent.sol +0 -44
  631. package/contracts/components/IPoolComponent.sol +0 -66
  632. package/contracts/components/IProductComponent.sol +0 -35
  633. package/contracts/components/Pool.sol +0 -258
  634. package/contracts/components/Product.sol +0 -295
  635. package/contracts/experiment/cloning/Cloner.sol +0 -47
  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/AccessManagerUpgradeableInitializeable.sol +0 -23
  651. package/contracts/instance/IInstanceBase.sol +0 -25
  652. package/contracts/instance/InstanceAccessManager.sol +0 -303
  653. package/contracts/instance/InstanceBase.sol +0 -39
  654. package/contracts/instance/base/ComponentService.sol +0 -133
  655. package/contracts/instance/base/IInstanceBase.sol +0 -21
  656. package/contracts/instance/base/KeyValueStore.sol +0 -172
  657. package/contracts/instance/base/Lifecycle.sol +0 -100
  658. package/contracts/instance/module/ISetup.sol +0 -46
  659. package/contracts/instance/module/ITreasury.sol +0 -23
  660. package/contracts/instance/service/BundleService.sol +0 -293
  661. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  662. package/contracts/instance/service/DistributionService.sol +0 -115
  663. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  664. package/contracts/instance/service/IBundleService.sol +0 -44
  665. package/contracts/instance/service/IDistributionService.sol +0 -12
  666. package/contracts/instance/service/IPolicyService.sol +0 -94
  667. package/contracts/instance/service/IPoolService.sol +0 -20
  668. package/contracts/instance/service/IProductService.sol +0 -40
  669. package/contracts/instance/service/PolicyService.sol +0 -538
  670. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  671. package/contracts/instance/service/PoolService.sol +0 -142
  672. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  673. package/contracts/instance/service/ProductService.sol +0 -241
  674. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  675. package/contracts/registry/RegistryAccessManager.sol +0 -210
  676. package/contracts/registry/ReleaseManager.sol +0 -342
  677. package/contracts/shared/ContractDeployerLib.sol +0 -72
  678. package/contracts/shared/ERC165.sol +0 -25
  679. package/contracts/shared/ProxyManager.sol +0 -94
  680. package/contracts/shared/Versionable.sol +0 -147
  681. package/contracts/test/TestFee.sol +0 -25
  682. package/contracts/test/TestRegisterable.sol +0 -18
  683. package/contracts/test/TestRoleId.sol +0 -14
  684. package/contracts/test/TestService.sol +0 -25
  685. package/contracts/test/TestToken.sol +0 -26
  686. package/contracts/test/TestVersion.sol +0 -44
  687. package/contracts/test/TestVersionable.sol +0 -17
  688. package/contracts/types/ChainId.sol +0 -38
  689. package/contracts/types/NumberId.sol +0 -52
  690. package/contracts/types/ObjectType.sol +0 -152
  691. package/contracts/types/RoleId.sol +0 -90
  692. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -3,29 +3,40 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
5
 
6
- import {ChainNft} from "./ChainNft.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {ObjectType} from "../types/ObjectType.sol";
9
- import {VersionPart} from "../types/Version.sol";
10
- import {Timestamp} from "../types/Timestamp.sol";
11
-
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
+
11
+ /// @title Chain Registry interface.
12
+ /// A chain registry holds all protocol relevant objects with basic metadata.
13
+ /// Registered objects include services, instances, products, pools, policies, bundles, stakes and more.
14
+ /// Registered objects are represented by NFTs.
12
15
  interface IRegistry is IERC165 {
13
16
 
14
17
  event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
15
18
  event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
16
19
 
17
20
  // register()
18
- error CallerNotRegistryService();
19
- error ServiceRegistration();
21
+ error ErrorRegistryCallerNotRegistryService();
22
+ error ErrorRegistryService(address service);
20
23
 
21
24
  // registerService()
22
- error CallerNotReleaseManager();
23
- error ServiceAlreadyRegistered(address service);
25
+ error ErrorRegistryCallerNotReleaseRegistry();
26
+ error ErrorRegistryServiceAddressZero();
27
+ error ErrorRegistryServiceVersionZero();
28
+ error ErrorRegistryNotService(address service, ObjectType objectType);
29
+ error ErrorRegistryServiceParentNotRegistry(NftId parentNftId);
30
+ error ErrorRegistryDomainZero(address service);
31
+ error ErrorRegistryDomainAlreadyRegistered(address service, VersionPart version, ObjectType domain);
32
+
33
+ // registerWithCustomTypes()
34
+ error ErrorRegistryCoreTypeRegistration();
24
35
 
25
36
  // _register()
26
- error ZeroParentAddress();
27
- error InvalidTypesCombination(ObjectType objectType, ObjectType parentType);
28
- error ContractAlreadyRegistered(address objectAddress);
37
+ error ErrorRegistryParentAddressZero();
38
+ error ErrorRegistryTypesCombinationInvalid(ObjectType objectType, ObjectType parentType);
39
+ error ErrorRegistryContractAlreadyRegistered(address objectAddress);
29
40
 
30
41
  struct ObjectInfo {
31
42
  NftId nftId;
@@ -35,35 +46,48 @@ interface IRegistry is IERC165 {
35
46
  address objectAddress;
36
47
  address initialOwner;
37
48
  bytes data;
38
- }// TODO delete nftId and initialOwner(if not used) from struct
39
- // TODO strong disagree, keep nftId there (lets keep get object info return object consistent)
49
+ }
40
50
 
41
51
  struct ReleaseInfo {
52
+ VersionPart version;
53
+ bytes32 salt;
54
+ address[] addresses;
55
+ string[] names;
42
56
  ObjectType[] domains;
43
- Timestamp createdAt;
44
- //Timestamp updatedAt;
57
+ Timestamp activatedAt;
58
+ Timestamp disabledAt;
45
59
  }
46
60
 
61
+ /// @dev Register an object with a known core type.
62
+ /// The function returns a newly minted object NFT ID.
63
+ /// May not be used to register services.
64
+ function register(ObjectInfo memory info) external returns (NftId nftId);
65
+
66
+ /// @dev Register a service with using the provided domain and version.
67
+ /// The function returns a newly minted service NFT ID.
68
+ /// May only be used to register services.
47
69
  function registerService(
48
70
  ObjectInfo memory serviceInfo,
49
71
  VersionPart serviceVersion,
50
72
  ObjectType serviceDomain
51
73
  ) external returns(NftId nftId);
52
74
 
53
- function register(ObjectInfo memory info) external returns (NftId nftId);
75
+ /// @dev Register an object with a custom type.
76
+ /// The function returns a newly minted object NFT ID.
77
+ /// This function is reserved for GIF releases > 3.
78
+ /// May not be used to register known core types.
79
+ function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
54
80
 
55
- function getMajorVersionMin() external view returns (VersionPart);
81
+ function getInitialVersion() external view returns (VersionPart);
56
82
 
57
- function getMajorVersionMax() external view returns (VersionPart);
83
+ function getNextVersion() external view returns (VersionPart);
58
84
 
59
- function getMajorVersion() external view returns (VersionPart);
85
+ function getLatestVersion() external view returns (VersionPart);
60
86
 
61
87
  function getReleaseInfo(VersionPart version) external view returns (ReleaseInfo memory);
62
88
 
63
89
  function getObjectCount() external view returns (uint256);
64
90
 
65
- function getNftId() external view returns (NftId nftId);
66
-
67
91
  function getNftId(address objectAddress) external view returns (NftId nftId);
68
92
 
69
93
  function ownerOf(NftId nftId) external view returns (address);
@@ -80,12 +104,31 @@ interface IRegistry is IERC165 {
80
104
 
81
105
  function isRegisteredService(address contractAddress) external view returns (bool);
82
106
 
107
+ function isRegisteredComponent(address object) external view returns (bool);
108
+
109
+ function isActiveRelease(VersionPart version) external view returns (bool);
110
+
83
111
  function getServiceAddress(
84
112
  ObjectType serviceDomain,
85
113
  VersionPart releaseVersion
86
114
  ) external view returns (address serviceAddress);
87
115
 
88
- function getChainNft() external view returns (ChainNft);
116
+ function getProtocolNftId() external view returns (NftId protocolNftId);
117
+
118
+ function getNftId() external view returns (NftId nftId);
89
119
 
90
120
  function getOwner() external view returns (address);
121
+
122
+ // TODO refactor the address getters below to contract getters
123
+ function getChainNftAddress() external view returns (address);
124
+
125
+ function getReleaseRegistryAddress() external view returns (address);
126
+
127
+ function getStakingAddress() external view returns (address);
128
+
129
+ function getTokenRegistryAddress() external view returns (address);
130
+
131
+ function getRegistryAdminAddress() external view returns (address);
132
+
133
+ function getAuthority() external view returns (address);
91
134
  }
@@ -1,58 +1,69 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
4
+ // import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
5
 
6
- import {NftId} from "../types/NftId.sol";
7
- import {ObjectType} from "../types/ObjectType.sol";
8
- import {RoleId} from "../types/RoleId.sol";
6
+ import {NftId} from "../type/NftId.sol";
7
+ import {ObjectType} from "../type/ObjectType.sol";
8
+ import {RoleId} from "../type/RoleId.sol";
9
9
  import {IService} from "../shared/IService.sol";
10
10
  import {IRegistry} from "./IRegistry.sol";
11
11
 
12
12
  import {IRegisterable} from "../shared/IRegisterable.sol";
13
- import {IComponent} from "../components/IComponent.sol";
13
+ import {IComponent} from "../shared/IComponent.sol";
14
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
15
+
14
16
 
15
17
  interface IRegistryService is
16
- IService,
17
- IAccessManaged
18
+ IService
18
19
  {
19
- error SelfRegistration();
20
- error NotRegistryOwner();
20
+ error ErrorRegistryServiceNotRegistryOwner();
21
+
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);
28
+
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);
21
35
 
22
- error NotService();
23
- error NotInstance();
24
- error NotProduct();
25
- error NotPool();
26
- error NotDistribution();
36
+ error ErrorRegistryServiceObjectAddressNotZero(ObjectType objectType);
37
+ error ErrorRegistryServiceObjectTypeInvalid(ObjectType expected, ObjectType found);
38
+ error ErrorRegistryServiceObjectOwnerRegistered(ObjectType objectType, address owner);
39
+ error ErrorRegistryServiceObjectOwnerZero(ObjectType objectType);
27
40
 
28
- error UnexpectedRegisterableType(ObjectType expected, ObjectType found);
29
- error NotRegisterableOwner(address expectedOwner);
30
- error RegisterableOwnerIsZero();
31
- error RegisterableOwnerIsRegistered();
32
- error InvalidInitialOwner(address initialOwner);
33
- error InvalidAddress(address registerableAddress);
41
+ error ErrorRegistryServiceInvalidInitialOwner(address initialOwner);
42
+ error ErrorRegistryServiceInvalidAddress(address registerableAddress);
34
43
 
35
- struct FunctionConfig
36
- {
37
- ObjectType serviceDomain;
38
- bytes4 selector;
39
- }
44
+ function registerStake(IRegistry.ObjectInfo memory info)
45
+ external returns(NftId nftId);
40
46
 
41
- // TODO used by service -> add owner arg
42
- function registerInstance(IRegisterable instance)
43
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
47
+ function registerInstance(IRegisterable instance, address owner)
48
+ external returns(IRegistry.ObjectInfo memory info);
44
49
 
45
- function registerProduct(IComponent product, address owner)
46
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
50
+ function registerComponent(IComponent component, ObjectType objectType, address owner)
51
+ external returns(IRegistry.ObjectInfo memory info);
47
52
 
48
- function registerPool(IComponent pool, address owner)
49
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
53
+ // function registerProduct(IComponent product, address owner)
54
+ // external returns(IRegistry.ObjectInfo memory info);
50
55
 
51
- function registerDistribution(IComponent distribution, address owner)
52
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
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);
53
63
 
54
64
  function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
55
65
 
56
66
  function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
67
+
57
68
  }
58
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
  }