@etherisc/gif-next 0.0.2-91f98cf-477 → 0.0.2-92cdbc9-533

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 (729) hide show
  1. package/README.md +237 -41
  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/access → authorization}/IAccess.sol/IAccess.json +1 -1
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1505 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1191 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1394 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +900 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +843 -0
  36. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +263 -1618
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +757 -0
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +512 -1993
  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 +4 -0
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1735 -0
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1160 -0
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +734 -0
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3591 -0
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  59. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  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/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  69. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  70. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  71. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  72. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  73. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  74. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  76. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  78. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  79. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  80. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  81. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  82. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  83. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  84. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  86. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  88. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  90. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1063 -0
  92. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  94. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  96. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  97. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  98. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  100. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  101. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  102. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  103. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  104. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  105. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +380 -307
  106. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  107. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +959 -0
  108. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  110. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  111. package/artifacts/contracts/pool/Pool.sol/Pool.json +1269 -0
  112. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  113. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  114. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  116. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  117. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  118. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  119. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  120. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  121. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1299 -0
  122. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  123. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  124. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  125. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  126. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  128. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  129. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +512 -0
  130. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  131. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  132. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  133. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  134. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  135. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
  136. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  137. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +966 -0
  138. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → product/IProductService.sol/IProductService.json} +195 -171
  140. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  141. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  142. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  144. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  145. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  146. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  148. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  149. package/artifacts/contracts/product/Product.sol/Product.json +1257 -0
  150. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  151. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  152. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  153. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  154. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  155. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +199 -12
  156. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  157. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +591 -34
  158. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  159. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1123 -0
  160. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  161. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  162. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  163. package/artifacts/contracts/registry/Registry.sol/Registry.json +821 -107
  164. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  165. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  166. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  167. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1452 -0
  168. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  169. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +721 -0
  170. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  171. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  172. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  173. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1159 -0
  174. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  176. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  177. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  178. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  179. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  180. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  181. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  182. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  183. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -0
  184. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +539 -0
  186. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  187. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  188. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  189. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  190. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  191. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  192. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +718 -0
  194. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +474 -0
  196. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  198. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  199. package/artifacts/contracts/{instance/module/component/IComponent.sol/IComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +66 -52
  200. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  201. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  202. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -31
  204. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  205. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  206. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  207. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → shared/IService.sol/IService.json} +171 -150
  208. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +16 -125
  210. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  211. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  212. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  213. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +996 -0
  214. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  215. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +102 -165
  216. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  217. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  218. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  219. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  220. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  221. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +244 -0
  222. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  223. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  224. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +617 -0
  226. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +255 -23
  228. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  229. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  230. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  231. package/artifacts/contracts/shared/Service.sol/Service.json +507 -0
  232. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  233. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  234. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  235. package/artifacts/contracts/shared/{Proxy.sol/ProxyWithProxyAdminGetter.json → UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json} +4 -4
  236. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +29 -115
  238. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  239. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  240. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  241. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  242. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  244. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  245. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  246. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  248. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  250. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  252. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  254. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  256. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  258. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  259. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  260. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  261. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  262. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  264. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  266. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  268. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  270. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  272. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  273. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  274. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  276. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  277. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  278. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  280. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  282. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  284. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  286. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  288. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  290. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  292. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  294. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  296. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  297. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  298. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  300. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  302. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  303. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  304. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
  306. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  308. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  310. package/contracts/authorization/AccessAdmin.sol +591 -0
  311. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  312. package/contracts/authorization/Authorization.sol +218 -0
  313. package/contracts/authorization/IAccess.sol +48 -0
  314. package/contracts/authorization/IAccessAdmin.sol +136 -0
  315. package/contracts/authorization/IAuthorization.sol +54 -0
  316. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  317. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  318. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  319. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  320. package/contracts/distribution/BasicDistribution.sol +149 -0
  321. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  322. package/contracts/distribution/Distribution.sol +283 -0
  323. package/contracts/distribution/DistributionService.sol +302 -0
  324. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  325. package/contracts/distribution/IDistributionComponent.sol +48 -0
  326. package/contracts/distribution/IDistributionService.sol +85 -0
  327. package/contracts/instance/BundleManager.sol +126 -0
  328. package/contracts/instance/IInstance.sol +79 -46
  329. package/contracts/instance/IInstanceService.sol +92 -0
  330. package/contracts/instance/Instance.sol +239 -59
  331. package/contracts/instance/InstanceAdmin.sol +266 -0
  332. package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
  333. package/contracts/instance/InstanceReader.sol +405 -0
  334. package/contracts/instance/InstanceService.sol +443 -0
  335. package/contracts/instance/InstanceServiceManager.sol +44 -0
  336. package/contracts/instance/InstanceStore.sol +276 -0
  337. package/contracts/instance/base/BalanceStore.sol +123 -0
  338. package/contracts/instance/base/Cloneable.sol +28 -0
  339. package/contracts/instance/base/ObjectCounter.sol +21 -0
  340. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  341. package/contracts/instance/base/ObjectManager.sol +79 -0
  342. package/contracts/instance/module/IAccess.sol +46 -0
  343. package/contracts/instance/module/IBundle.sol +20 -0
  344. package/contracts/instance/module/IComponents.sol +52 -0
  345. package/contracts/instance/module/IDistribution.sol +42 -0
  346. package/contracts/instance/module/IPolicy.sol +84 -0
  347. package/contracts/instance/module/IRisk.sol +11 -0
  348. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  349. package/contracts/oracle/BasicOracle.sol +48 -0
  350. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  351. package/contracts/oracle/IOracle.sol +36 -0
  352. package/contracts/oracle/IOracleComponent.sol +32 -0
  353. package/contracts/oracle/IOracleService.sol +65 -0
  354. package/contracts/oracle/Oracle.sol +157 -0
  355. package/contracts/oracle/OracleService.sol +278 -0
  356. package/contracts/oracle/OracleServiceManager.sol +42 -0
  357. package/contracts/pool/BasicPool.sol +164 -0
  358. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  359. package/contracts/pool/BundleService.sol +296 -0
  360. package/contracts/pool/BundleServiceManager.sol +42 -0
  361. package/contracts/pool/IBundleService.sol +106 -0
  362. package/contracts/pool/IPoolComponent.sol +52 -0
  363. package/contracts/pool/IPoolService.sol +150 -0
  364. package/contracts/pool/Pool.sol +311 -0
  365. package/contracts/pool/PoolService.sol +452 -0
  366. package/contracts/pool/PoolServiceManager.sol +42 -0
  367. package/contracts/product/ApplicationService.sol +254 -0
  368. package/contracts/product/ApplicationServiceManager.sol +38 -0
  369. package/contracts/product/BasicProduct.sol +82 -0
  370. package/contracts/product/BasicProductAuthorization.sol +40 -0
  371. package/contracts/product/ClaimService.sol +442 -0
  372. package/contracts/product/ClaimServiceManager.sol +38 -0
  373. package/contracts/product/IApplicationService.sol +62 -0
  374. package/contracts/product/IClaimService.sol +99 -0
  375. package/contracts/product/IPolicyService.sol +78 -0
  376. package/contracts/product/IPricingService.sol +39 -0
  377. package/contracts/product/IProductComponent.sol +39 -0
  378. package/contracts/product/IProductService.sol +33 -0
  379. package/contracts/product/PolicyService.sol +475 -0
  380. package/contracts/product/PolicyServiceManager.sol +42 -0
  381. package/contracts/product/PricingService.sol +300 -0
  382. package/contracts/product/PricingServiceManager.sol +42 -0
  383. package/contracts/product/Product.sol +392 -0
  384. package/contracts/product/ProductService.sol +124 -0
  385. package/contracts/product/ProductServiceManager.sol +42 -0
  386. package/contracts/registry/ChainNft.sol +95 -37
  387. package/contracts/registry/IRegistry.sol +93 -29
  388. package/contracts/registry/IRegistryService.sol +69 -0
  389. package/contracts/registry/ITransferInterceptor.sol +7 -0
  390. package/contracts/registry/Registry.sol +478 -281
  391. package/contracts/registry/RegistryAdmin.sol +365 -0
  392. package/contracts/registry/RegistryService.sol +266 -0
  393. package/contracts/registry/RegistryServiceManager.sol +53 -0
  394. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  395. package/contracts/registry/ReleaseManager.sol +487 -0
  396. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  397. package/contracts/registry/TokenRegistry.sol +315 -0
  398. package/contracts/shared/Component.sol +281 -0
  399. package/contracts/shared/ComponentService.sol +581 -0
  400. package/contracts/shared/ComponentServiceManager.sol +35 -0
  401. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  402. package/contracts/shared/ERC165.sol +15 -9
  403. package/contracts/shared/IComponent.sol +70 -0
  404. package/contracts/shared/IComponentService.sol +102 -0
  405. package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
  406. package/contracts/shared/IKeyValueStore.sol +54 -0
  407. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -5
  408. package/contracts/shared/INftOwnable.sol +23 -0
  409. package/contracts/shared/IPolicyHolder.sol +45 -0
  410. package/contracts/shared/IRegisterable.sol +10 -19
  411. package/contracts/shared/IRegistryLinked.sol +11 -0
  412. package/contracts/shared/IService.sol +25 -0
  413. package/contracts/shared/IVersionable.sol +38 -37
  414. package/contracts/shared/InitializableCustom.sol +177 -0
  415. package/contracts/shared/InstanceLinkedComponent.sol +151 -0
  416. package/contracts/shared/KeyValueStore.sol +131 -0
  417. package/contracts/shared/Lifecycle.sol +77 -0
  418. package/contracts/shared/NftIdSetManager.sol +65 -0
  419. package/contracts/shared/NftOwnable.sol +107 -0
  420. package/contracts/shared/PolicyHolder.sol +102 -0
  421. package/contracts/shared/ProxyManager.sol +199 -0
  422. package/contracts/shared/Registerable.sol +54 -65
  423. package/contracts/shared/RegistryLinked.sol +43 -0
  424. package/contracts/shared/Service.sol +83 -0
  425. package/contracts/shared/TokenHandler.sol +58 -0
  426. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  427. package/contracts/shared/Versionable.sol +38 -68
  428. package/contracts/staking/IStaking.sol +168 -0
  429. package/contracts/staking/IStakingService.sol +153 -0
  430. package/contracts/staking/StakeManagerLib.sol +231 -0
  431. package/contracts/staking/Staking.sol +513 -0
  432. package/contracts/staking/StakingLifecycle.sol +23 -0
  433. package/contracts/staking/StakingManager.sol +54 -0
  434. package/contracts/staking/StakingReader.sol +187 -0
  435. package/contracts/staking/StakingService.sol +411 -0
  436. package/contracts/staking/StakingServiceManager.sol +44 -0
  437. package/contracts/staking/StakingStore.sol +615 -0
  438. package/contracts/staking/TargetManagerLib.sol +207 -0
  439. package/contracts/{types → type}/AddressSet.sol +1 -1
  440. package/contracts/type/Amount.sol +128 -0
  441. package/contracts/{types → type}/Blocknumber.sol +21 -3
  442. package/contracts/type/ClaimId.sol +75 -0
  443. package/contracts/type/DistributorType.sol +55 -0
  444. package/contracts/type/Fee.sol +66 -0
  445. package/contracts/{types → type}/Key32.sol +8 -3
  446. package/contracts/{types → type}/NftId.sol +21 -15
  447. package/contracts/type/NftIdSet.sol +62 -0
  448. package/contracts/type/ObjectType.sol +275 -0
  449. package/contracts/type/PayoutId.sol +82 -0
  450. package/contracts/type/Referral.sol +89 -0
  451. package/contracts/type/RequestId.sol +75 -0
  452. package/contracts/{types → type}/RiskId.sol +1 -1
  453. package/contracts/type/RoleId.sol +174 -0
  454. package/contracts/type/Seconds.sol +81 -0
  455. package/contracts/type/Selector.sol +102 -0
  456. package/contracts/{types → type}/StateId.sol +39 -5
  457. package/contracts/type/String.sol +53 -0
  458. package/contracts/{types → type}/Timestamp.sol +27 -14
  459. package/contracts/type/UFixed.sol +332 -0
  460. package/contracts/{types → type}/Version.sol +15 -2
  461. package/package.json +11 -7
  462. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  463. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  464. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  465. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -405
  466. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  467. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -174
  468. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  469. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -340
  470. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  471. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -487
  472. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  473. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -370
  474. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  475. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -578
  476. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  477. package/artifacts/contracts/components/Product.sol/Product.json +0 -444
  478. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  479. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  480. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  481. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  482. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  483. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  484. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  485. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  486. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  487. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  488. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  489. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  490. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  491. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  492. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  494. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  495. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  496. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  498. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  500. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  501. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  503. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  505. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  507. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  509. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  511. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  512. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  513. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  514. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  515. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  516. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  517. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  518. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  519. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  520. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  521. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  522. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  523. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  524. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  525. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  526. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  527. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  528. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  529. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  530. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  531. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  532. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  533. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  534. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  535. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  536. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  537. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  538. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  539. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  540. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  541. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  542. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  543. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  544. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  545. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  546. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  547. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  548. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  549. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  550. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  551. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  552. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  553. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  554. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  555. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  556. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  557. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
  558. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  559. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
  560. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  561. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  563. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  564. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  565. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  567. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  568. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -511
  569. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  570. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  571. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  572. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -511
  573. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  574. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -531
  575. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  576. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -420
  577. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  578. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -364
  579. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  580. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  581. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -440
  582. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  583. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  584. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -543
  585. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  586. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -858
  587. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  588. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  589. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  590. package/artifacts/contracts/registry/RegistryUpgradeable.sol/Registry.dbg.json +0 -4
  591. package/artifacts/contracts/registry/RegistryUpgradeable.sol/Registry.json +0 -495
  592. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  593. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  594. package/artifacts/contracts/shared/Proxy.sol/Proxy.dbg.json +0 -4
  595. package/artifacts/contracts/shared/Proxy.sol/Proxy.json +0 -178
  596. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.dbg.json +0 -4
  597. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.dbg.json +0 -4
  598. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.json +0 -187
  599. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  600. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -405
  601. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  602. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  603. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  604. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -578
  605. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  606. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -575
  607. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  608. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  609. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  610. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  611. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  612. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  613. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  614. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  615. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  616. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  617. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  618. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  619. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  620. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  621. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  622. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  624. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  625. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  627. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  628. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  629. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  630. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  631. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  632. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  633. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  634. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  635. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  636. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  637. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  638. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  639. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  640. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  641. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  642. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  643. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  644. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  645. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  646. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  647. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  648. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  649. package/contracts/components/BaseComponent.sol +0 -94
  650. package/contracts/components/Distribution.sol +0 -132
  651. package/contracts/components/IBaseComponent.sol +0 -19
  652. package/contracts/components/IDistributionComponent.sol +0 -47
  653. package/contracts/components/IPoolComponent.sol +0 -71
  654. package/contracts/components/IProductComponent.sol +0 -38
  655. package/contracts/components/Pool.sol +0 -235
  656. package/contracts/components/Product.sol +0 -227
  657. package/contracts/experiment/errors/Require.sol +0 -38
  658. package/contracts/experiment/errors/Revert.sol +0 -44
  659. package/contracts/experiment/inheritance/A.sol +0 -53
  660. package/contracts/experiment/inheritance/B.sol +0 -28
  661. package/contracts/experiment/inheritance/C.sol +0 -34
  662. package/contracts/experiment/inheritance/IA.sol +0 -13
  663. package/contracts/experiment/inheritance/IB.sol +0 -10
  664. package/contracts/experiment/inheritance/IC.sol +0 -12
  665. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  666. package/contracts/experiment/statemachine/ISM.sol +0 -25
  667. package/contracts/experiment/statemachine/README.md +0 -112
  668. package/contracts/experiment/statemachine/SM.sol +0 -57
  669. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  670. package/contracts/experiment/types/TypeA.sol +0 -47
  671. package/contracts/experiment/types/TypeB.sol +0 -29
  672. package/contracts/instance/IInstanceLinked.sol +0 -8
  673. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  674. package/contracts/instance/base/IInstanceBase.sol +0 -22
  675. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  676. package/contracts/instance/base/IService.sol +0 -15
  677. package/contracts/instance/base/InstanceBase.sol +0 -91
  678. package/contracts/instance/base/KeyValueStore.sol +0 -161
  679. package/contracts/instance/base/Lifecycle.sol +0 -100
  680. package/contracts/instance/base/ModuleBase.sol +0 -57
  681. package/contracts/instance/base/ServiceBase.sol +0 -37
  682. package/contracts/instance/module/access/Access.sol +0 -149
  683. package/contracts/instance/module/access/IAccess.sol +0 -53
  684. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  685. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  686. package/contracts/instance/module/component/ComponentModule.sol +0 -70
  687. package/contracts/instance/module/component/IComponent.sol +0 -28
  688. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  689. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  690. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  691. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  692. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  693. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  694. package/contracts/instance/module/risk/IRisk.sol +0 -26
  695. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  696. package/contracts/instance/module/treasury/ITreasury.sol +0 -82
  697. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  698. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -138
  699. package/contracts/instance/service/ComponentOwnerService.sol +0 -157
  700. package/contracts/instance/service/DistributionService.sol +0 -59
  701. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  702. package/contracts/instance/service/IDistributionService.sol +0 -12
  703. package/contracts/instance/service/IPoolService.sol +0 -37
  704. package/contracts/instance/service/IProductService.sol +0 -107
  705. package/contracts/instance/service/PoolService.sol +0 -149
  706. package/contracts/instance/service/ProductService.sol +0 -509
  707. package/contracts/registry/IChainNft.sol +0 -21
  708. package/contracts/registry/IRegistryLinked.sol +0 -8
  709. package/contracts/registry/RegistryUpgradeable.sol +0 -415
  710. package/contracts/shared/IOwnable.sol +0 -6
  711. package/contracts/shared/Proxy.sol +0 -83
  712. package/contracts/shared/VersionableUpgradeable.sol +0 -108
  713. package/contracts/test/TestDistribution.sol +0 -21
  714. package/contracts/test/TestFee.sol +0 -25
  715. package/contracts/test/TestPool.sol +0 -25
  716. package/contracts/test/TestProduct.sol +0 -72
  717. package/contracts/test/TestRegisterable.sol +0 -19
  718. package/contracts/test/TestRoleId.sol +0 -14
  719. package/contracts/test/TestService.sol +0 -32
  720. package/contracts/test/TestToken.sol +0 -26
  721. package/contracts/test/TestVersion.sol +0 -44
  722. package/contracts/test/TestVersionable.sol +0 -17
  723. package/contracts/types/ChainId.sol +0 -38
  724. package/contracts/types/Fee.sol +0 -56
  725. package/contracts/types/NftIdSet.sol +0 -60
  726. package/contracts/types/ObjectType.sol +0 -131
  727. package/contracts/types/ReferralId.sol +0 -48
  728. package/contracts/types/RoleId.sol +0 -38
  729. package/contracts/types/UFixed.sol +0 -209
@@ -1,415 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Initializable} from "@openzeppelin5/contracts/proxy/utils/Initializable.sol";
5
-
6
- import {IRegisterable} from "../shared/IRegisterable.sol";
7
- import {IService} from "../instance/base/IService.sol";
8
-
9
- import {IChainNft} from "./IChainNft.sol";
10
- import {ChainNft} from "./ChainNft.sol";
11
- import {IRegistry} from "./IRegistry.sol";
12
- import {NftId, toNftId, zeroNftId, NftIdLib} from "../types/NftId.sol";
13
- import {VersionPart} from "../types/Version.sol";
14
- import {ObjectType, PROTOCOL, REGISTRY, TOKEN, SERVICE, INSTANCE, STAKE, PRODUCT, DISTRIBUTION, ORACLE, POOL, POLICY, BUNDLE} from "../types/ObjectType.sol";
15
-
16
- // TODO make registry upgradable
17
- contract Registry is
18
- Initializable,
19
- IRegisterable,
20
- IRegistry
21
- {
22
- using NftIdLib for NftId;
23
-
24
- string public constant EMPTY_URI = "";
25
-
26
- // @custom:storage-location erc7201:etherisc.storage.Registry
27
- struct RegistryStorageV1 {// TODO encode version? at least just apropriate naming
28
-
29
- mapping(NftId nftId => ObjectInfo info) _info;
30
- mapping(address object => NftId nftId) _nftIdByAddress;
31
- mapping(ObjectType objectType => bool) _isValidType;
32
- mapping(ObjectType objectType => mapping(ObjectType objectParentType => bool)) _isValidParentType;
33
-
34
- mapping(NftId nftId => string stringValue) _string;
35
- mapping(bytes32 serviceNameHash => mapping(VersionPart majorVersion => address service)) _service;
36
-
37
- NftId _nftId;
38
- IChainNft _chainNft;
39
- ChainNft _chainNftInternal;
40
- address _initialOwner;
41
-
42
- /// @dev will own protocol nft and registry nft(s) minted during initialize
43
- address _protocolOwner;
44
- }
45
-
46
- // keccak256(abi.encode(uint256(keccak256("etherisc.storage.Registry")) - 1)) & ~bytes32(uint256(0xff));
47
- bytes32 private constant RegistryStorageLocation = 0x6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300;
48
-
49
- function _getRegistryStorageV1() private pure returns (RegistryStorageV1 storage $) {
50
- assembly {
51
- $.slot := RegistryStorageLocation
52
- }
53
- }
54
-
55
- // TODO refactor once registry becomes upgradable
56
- // @Dev the protocol owner will get ownership of the
57
- // protocol nft and the global registry nft minted in this
58
- // initializer function
59
- function initialize(
60
- address chainNft,
61
- address protocolOwner
62
- )
63
- public
64
- {
65
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
66
-
67
- require(
68
- address($._chainNft) == address(0),
69
- "ERROR:REG-001:ALREADY_INITIALIZED"
70
- );
71
-
72
- $._initialOwner = msg.sender;
73
- $._protocolOwner = protocolOwner;
74
-
75
- $._chainNft = IChainNft(chainNft);
76
- $._chainNftInternal = ChainNft(chainNft);
77
-
78
- // initial registry setup
79
- _registerProtocol();
80
- $._nftId = _registerRegistry();
81
-
82
- // setup rules for further registrations
83
- _setupValidTypes();
84
- _setupValidParentTypes();
85
- }
86
-
87
-
88
- function register(
89
- address objectAddress
90
- )
91
- // TODO add authz (only services may register components etc)
92
- // we have to check how we do authz for registring services (just restrict to protocol owner/registry owner)
93
- external override returns (NftId nftId) {
94
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
95
-
96
- require(
97
- $._nftIdByAddress[objectAddress].eqz(),
98
- "ERROR:REG-002:ALREADY_REGISTERED"
99
- );
100
-
101
- IRegisterable registerable = IRegisterable(objectAddress);
102
- require(
103
- registerable.supportsInterface(type(IRegisterable).interfaceId),
104
- "ERROR:REG-003:NOT_REGISTERABLE"
105
- );
106
-
107
- ObjectType objectType = registerable.getType();
108
- require(
109
- $._isValidType[objectType],
110
- "ERROR:REG-004:TYPE_INVALID"
111
- );
112
-
113
- NftId parentNftId = registerable.getParentNftId();
114
- require(
115
- isRegistered(parentNftId),
116
- "ERROR:REG-005:PARENT_NOT_REGISTERED"
117
- );
118
-
119
- require(
120
- $._isValidParentType[objectType][$._info[parentNftId].objectType],
121
- "ERROR:REG-006:PARENT_TYPE_INVALID"
122
- );
123
-
124
- // also check that nftId and parentNFtId are on the same chain if applicable
125
-
126
- // nft minting
127
- uint256 mintedTokenId = $._chainNft.mint(
128
- registerable.getOwner(),
129
- EMPTY_URI
130
- );
131
-
132
- nftId = toNftId(mintedTokenId);
133
-
134
- // special case services
135
- if(registerable.getType() == SERVICE()) {
136
- IService service = IService(objectAddress);
137
- require(
138
- service.supportsInterface(type(IService).interfaceId),
139
- "ERROR:REG-007:NOT_SERVICE"
140
- );
141
-
142
- string memory serviceName = service.getName();
143
- VersionPart majorVersion = service.getMajorVersion();
144
- bytes32 serviceNameHash = keccak256(abi.encode(serviceName));
145
-
146
- // service specific state
147
- $._string[nftId] = serviceName;
148
-
149
- require(
150
- $._service[serviceNameHash][majorVersion] == address(0),
151
- "ERROR:REG-008:ALREADY_REGISTERED"
152
- );
153
- $._service[serviceNameHash][majorVersion] = objectAddress;
154
- }
155
-
156
- // create object info and link nft id with it
157
- _registerObjectInfo(registerable, nftId);
158
- }
159
-
160
-
161
- function registerObjectForInstance(
162
- NftId parentNftId,
163
- ObjectType objectType,
164
- address initialOwner,
165
- bytes memory data
166
- )
167
- external
168
- override
169
- returns (
170
- // TODO add onlyRegisteredInstance
171
- NftId nftId
172
- )
173
- {
174
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
175
-
176
- // TODO add more validation
177
- require(
178
- objectType == POLICY() || objectType == BUNDLE(),
179
- "ERROR:REG-010:TYPE_INVALID"
180
- );
181
-
182
- uint256 mintedTokenId = $._chainNft.mint(initialOwner, EMPTY_URI);
183
- nftId = toNftId(mintedTokenId);
184
-
185
- ObjectInfo memory info = ObjectInfo(
186
- nftId,
187
- parentNftId,
188
- objectType,
189
- address(0),
190
- initialOwner,
191
- data
192
- );
193
-
194
- $._info[nftId] = info;
195
-
196
- // add logging
197
- }
198
-
199
- function getObjectCount() external view override returns (uint256) {
200
- return _getRegistryStorageV1()._chainNft.totalSupply();
201
- }
202
-
203
- function getNftId(
204
- address object
205
- ) external view override returns (NftId id) {
206
- return _getRegistryStorageV1()._nftIdByAddress[object];
207
- }
208
-
209
- function isRegistered(
210
- NftId nftId
211
- ) public view override returns (bool) {
212
- return _getRegistryStorageV1()._info[nftId].objectType.gtz();
213
- }
214
-
215
- function isRegistered(
216
- address object
217
- ) external view override returns (bool) {
218
- return _getRegistryStorageV1()._nftIdByAddress[object].gtz();
219
- }
220
-
221
- function getObjectInfo(
222
- NftId nftId
223
- ) external view override returns (ObjectInfo memory info) {
224
- return _getRegistryStorageV1()._info[nftId];
225
- }
226
-
227
- function getName(
228
- NftId nftId
229
- ) external view returns (string memory name) {
230
- return _getRegistryStorageV1()._string[nftId];
231
- }
232
-
233
- function getOwner(NftId nftId) external view override returns (address) {
234
- return _getRegistryStorageV1()._chainNft.ownerOf(nftId.toInt());
235
- }
236
-
237
- function getChainNft() external view override returns (IChainNft) {
238
- return _getRegistryStorageV1()._chainNft;
239
- }
240
-
241
- // special case to retrive a gif service
242
- function getServiceAddress(string memory serviceName, VersionPart majorVersion) external view override returns (address serviceAddress) {
243
- bytes32 serviceNameHash = keccak256(abi.encode(serviceName));
244
- return _getRegistryStorageV1()._service[serviceNameHash][majorVersion];
245
- }
246
-
247
- // from IERC165
248
- function supportsInterface(bytes4 interfaceId) external pure override returns (bool) {
249
- return interfaceId == type(IRegistry).interfaceId;
250
- }
251
-
252
- // from IRegistryLinked
253
- function getRegistry() external view override returns (IRegistry registry) {
254
- return this;
255
- }
256
-
257
- // from IRegisterable
258
- function register() external pure override returns (NftId nftId) {
259
- return zeroNftId();
260
- }
261
-
262
- function getType() external pure override returns (ObjectType objectType) {
263
- return REGISTRY();
264
- }
265
-
266
-
267
- function getOwner() public view override returns (address owner) {
268
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
269
- return $._nftId.gtz() ? this.getOwner($._nftId) : $._initialOwner;
270
- }
271
-
272
- function getNftId() external view override (IRegisterable, IRegistry) returns (NftId nftId) {
273
- return _getRegistryStorageV1()._nftId;
274
- }
275
-
276
- function getParentNftId() external view returns (NftId nftId) {
277
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
278
- // we're the global registry
279
- if(block.chainid == 1) {
280
- return toNftId($._chainNftInternal.PROTOCOL_NFT_ID());
281
- }
282
- else {
283
- return toNftId($._chainNftInternal.GLOBAL_REGISTRY_ID());
284
- }
285
- }
286
-
287
- function getData() external pure returns (bytes memory data) {
288
- return "";
289
- }
290
-
291
- // registry specific functions
292
- function getProtocolOwner() external view override returns (address) {
293
- return _getRegistryStorageV1()._protocolOwner;
294
- }
295
-
296
- /// @dev defines which types are allowed to register
297
- function _setupValidTypes() internal {
298
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
299
- $._isValidType[REGISTRY()] = true; // only for global registry
300
- $._isValidType[TOKEN()] = true;
301
- $._isValidType[SERVICE()] = true;
302
- $._isValidType[INSTANCE()] = true;
303
- $._isValidType[STAKE()] = true;
304
- $._isValidType[PRODUCT()] = true;
305
- $._isValidType[ORACLE()] = true;
306
- $._isValidType[POOL()] = true;
307
- $._isValidType[DISTRIBUTION()] = true;
308
- $._isValidType[POLICY()] = true;
309
- $._isValidType[BUNDLE()] = true;
310
- }
311
-
312
- /// @dev defines which types - parent type relations are allowed to register
313
- function _setupValidParentTypes() internal {
314
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
315
- // registry as parent
316
- $._isValidParentType[TOKEN()][REGISTRY()] = true;
317
- $._isValidParentType[SERVICE()][REGISTRY()] = true;
318
- $._isValidParentType[INSTANCE()][REGISTRY()] = true;
319
-
320
- // instance as parent
321
- $._isValidParentType[PRODUCT()][INSTANCE()] = true;
322
- $._isValidParentType[DISTRIBUTION()][INSTANCE()] = true;
323
- $._isValidParentType[ORACLE()][INSTANCE()] = true;
324
- $._isValidParentType[POOL()][INSTANCE()] = true;
325
-
326
- // product as parent
327
- $._isValidParentType[POLICY()][PRODUCT()] = true;
328
-
329
- // pool as parent
330
- $._isValidParentType[BUNDLE()][POOL()] = true;
331
- $._isValidParentType[STAKE()][POOL()] = true;
332
- }
333
-
334
- /// @dev protocol registration used to anchor the dip ecosystem relations
335
- function _registerProtocol() virtual internal {
336
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
337
-
338
- uint256 protocolId = $._chainNftInternal.PROTOCOL_NFT_ID();
339
- $._chainNftInternal.mint($._protocolOwner, protocolId);
340
-
341
- NftId protocolNftid = toNftId(protocolId);
342
- ObjectInfo memory protocolInfo = ObjectInfo(
343
- protocolNftid,
344
- zeroNftId(), // parent nft id
345
- PROTOCOL(),
346
- address(0), // contract address
347
- $._protocolOwner,
348
- "" // data
349
- );
350
-
351
- $._info[protocolNftid] = protocolInfo;
352
- }
353
-
354
- /// @dev registry registration
355
- /// might also register the global registry when not on mainnet
356
- function _registerRegistry() virtual internal returns (NftId registryNftId) {
357
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
358
-
359
- uint256 registryId = $._chainNftInternal.calculateTokenId(2);
360
- registryNftId = toNftId(registryId);
361
-
362
- // we're not the global registry
363
- if(registryId != $._chainNftInternal.GLOBAL_REGISTRY_ID()) {
364
- _registerGlobalRegistry();
365
- }
366
-
367
- $._chainNftInternal.mint($._protocolOwner, registryId);
368
- _registerObjectInfo(this, registryNftId);
369
- }
370
-
371
-
372
- /// @dev global registry registration for non mainnet registries
373
- function _registerGlobalRegistry() virtual internal {
374
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
375
-
376
- uint256 globalRegistryId = $._chainNftInternal.GLOBAL_REGISTRY_ID();
377
- $._chainNftInternal.mint($._protocolOwner, globalRegistryId);
378
-
379
- NftId globalRegistryNftId = toNftId(globalRegistryId);
380
- ObjectInfo memory globalRegistryInfo = ObjectInfo(
381
- globalRegistryNftId,
382
- toNftId($._chainNftInternal.PROTOCOL_NFT_ID()),
383
- REGISTRY(),
384
- address(0), // contract address
385
- $._protocolOwner,
386
- "" // data
387
- );
388
-
389
- $._info[globalRegistryNftId] = globalRegistryInfo;
390
- }
391
-
392
-
393
- function _registerObjectInfo(
394
- IRegisterable registerable,
395
- NftId nftId
396
- ) internal virtual {
397
- RegistryStorageV1 storage $ = _getRegistryStorageV1();
398
-
399
- address objectAddress = address(registerable);
400
- ObjectInfo memory info = ObjectInfo(
401
- nftId,
402
- registerable.getParentNftId(),
403
- registerable.getType(),
404
- objectAddress,
405
- registerable.getOwner(),
406
- registerable.getData()
407
- );
408
-
409
- $._info[nftId] = info;
410
- $._nftIdByAddress[objectAddress] = nftId;
411
-
412
- // add logging
413
- }
414
-
415
- }
@@ -1,6 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IOwnable {
5
- function getOwner() external view returns (address owner);
6
- }
@@ -1,83 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Ownable} from "@openzeppelin5/contracts/access/Ownable.sol";
5
- import {ProxyAdmin} from "@openzeppelin5/contracts/proxy/transparent/ProxyAdmin.sol";
6
- import {TransparentUpgradeableProxy, ITransparentUpgradeableProxy} from "@openzeppelin5/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
7
-
8
- import {IVersionable} from "./IVersionable.sol";
9
-
10
- contract ProxyWithProxyAdminGetter is TransparentUpgradeableProxy {
11
-
12
- constructor(address implementation, address initialProxyAdminOwner,bytes memory data)
13
- TransparentUpgradeableProxy(implementation, initialProxyAdminOwner, data)
14
- {}
15
-
16
- function getProxyAdmin() external returns (ProxyAdmin) { return ProxyAdmin(_proxyAdmin()); }
17
- }
18
-
19
- contract Proxy is Ownable {
20
-
21
- string public constant ACTIVATE_SIGNATURE = "activate(address,address)";
22
-
23
- ProxyWithProxyAdminGetter private _proxy;
24
- bool private _isDeployed;
25
-
26
- /// @dev only used to capture proxy owner
27
- constructor()
28
- Ownable(msg.sender)
29
- {
30
- }
31
-
32
- function getData(address implementation, address proxyOwner) public pure returns (bytes memory data) {
33
- return abi.encodeWithSignature(ACTIVATE_SIGNATURE, implementation, proxyOwner);
34
- }
35
-
36
- /// @dev deploy initial contract
37
- function deploy(address initialImplementation)
38
- external
39
- onlyOwner()
40
- returns (IVersionable versionable)
41
- {
42
- require(!_isDeployed, "ERROR:PRX-010:ALREADY_DEPLOYED");
43
-
44
- address currentProxyOwner = owner();
45
- address initialProxyAdminOwner = address(this);
46
- bytes memory data = getData(initialImplementation, currentProxyOwner);
47
-
48
- _proxy = new ProxyWithProxyAdminGetter(
49
- initialImplementation,
50
- initialProxyAdminOwner,
51
- data
52
- );
53
-
54
- _isDeployed = true;
55
- versionable = IVersionable(address(_proxy));
56
- }
57
-
58
- /// @dev upgrade existing contract
59
- function upgrade(address newImplementation)
60
- external
61
- onlyOwner
62
- returns (IVersionable versionable)
63
- {
64
- require(_isDeployed, "ERROR:PRX-020:NOT_YET_DEPLOYED");
65
-
66
- address currentProxyOwner = owner();
67
- // ProxyAdmin proxyAdmin = _proxy.getProxyAdmin();
68
- ProxyAdmin proxyAdmin = getProxyAdmin();
69
- ITransparentUpgradeableProxy proxy = ITransparentUpgradeableProxy(address(_proxy));
70
- bytes memory data = getData(newImplementation, currentProxyOwner);
71
-
72
- proxyAdmin.upgradeAndCall(
73
- proxy,
74
- newImplementation,
75
- data);
76
-
77
- versionable = IVersionable(address(_proxy));
78
- }
79
-
80
- function getProxyAdmin() public returns (ProxyAdmin) {
81
- return _proxy.getProxyAdmin();
82
- }
83
- }
@@ -1,108 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Initializable} from "@openzeppelin5/contracts/proxy/utils/Initializable.sol";
5
-
6
- import {Blocknumber, blockNumber} from "../types/Blocknumber.sol";
7
- import {Timestamp, blockTimestamp} from "../types/Timestamp.sol";
8
- import {Version, VersionPart} from "../types/Version.sol";
9
-
10
- import {IVersionable} from "./IVersionable.sol";
11
-
12
- abstract contract VersionableUpgradeable is
13
- Initializable,
14
- IVersionable
15
- {
16
- /// @custom:storage-location erc7201:etherisc.storage.Versionable
17
- struct VersionableStorage {
18
- mapping(Version version => VersionInfo info) _versionHistory;
19
- Version [] _versions;
20
- }
21
-
22
- // keccak256(abi.encode(uint256(keccak256("etherisc.storage.Versionable")) - 1)) & ~bytes32(uint256(0xff))
23
- bytes32 private constant VersionableStorageLocation = 0x4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900;
24
-
25
- function _getVersionableStorage() private pure returns (VersionableStorage storage $) {
26
- assembly {
27
- $.slot := VersionableStorageLocation
28
- }
29
- }
30
-
31
- // controlled activation for controller contract
32
- constructor() {
33
- _activate(address(0), msg.sender);
34
- }
35
-
36
- // IMPORTANT this function needs to be implemented by each new version
37
- // and needs to call internal function call _activate()
38
- function activate(address implementation, address activatedBy)
39
- external
40
- virtual
41
- override
42
- onlyInitializing
43
- {
44
- _activate(implementation, activatedBy);
45
- }
46
-
47
-
48
- // can only be called once per contract
49
- // needs to be called inside the proxy upgrade tx
50
- function _activate(
51
- address implementation,
52
- address activatedBy
53
- )
54
- internal
55
- {
56
- VersionableStorage storage $ = _getVersionableStorage();
57
-
58
- Version thisVersion = getVersion();
59
- require(
60
- !isActivated(thisVersion),
61
- "ERROR:VRN-001:VERSION_ALREADY_ACTIVATED"
62
- );
63
-
64
- // require increasing version number
65
- if($._versions.length > 0) {
66
- Version lastVersion = $._versions[$._versions.length - 1];
67
- require(
68
- thisVersion > lastVersion,
69
- "ERROR:VRN-002:VERSION_NOT_INCREASING"
70
- );
71
- }
72
-
73
- // update version history
74
- $._versions.push(thisVersion);
75
- $._versionHistory[thisVersion] = VersionInfo(
76
- thisVersion,
77
- implementation,
78
- activatedBy,
79
- blockTimestamp(),
80
- blockNumber()
81
- );
82
-
83
- emit LogVersionableActivated(thisVersion, implementation, activatedBy);
84
- }
85
-
86
-
87
- function isActivated(Version _version) public override view returns(bool) {
88
- return _getVersionableStorage()._versionHistory[_version].activatedIn.toInt() > 0;
89
- }
90
-
91
-
92
- function getVersion() public pure virtual returns(Version);
93
-
94
-
95
- function getVersionCount() external view override returns(uint256) {
96
- return _getVersionableStorage()._versions.length;
97
- }
98
-
99
-
100
- function getVersion(uint256 idx) external view override returns(Version) {
101
- return _getVersionableStorage()._versions[idx];
102
- }
103
-
104
-
105
- function getVersionInfo(Version _version) external override view returns(VersionInfo memory) {
106
- return _getVersionableStorage()._versionHistory[_version];
107
- }
108
- }
@@ -1,21 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Fee} from "../../contracts/types/Fee.sol";
5
- import {NftId} from "../../contracts/types/NftId.sol";
6
- import {Distribution} from "../../contracts/components/Distribution.sol";
7
-
8
-
9
- contract TestDistribution is Distribution {
10
-
11
- constructor(
12
- address registry,
13
- NftId instanceNftid,
14
- address token,
15
- bool isVerifying,
16
- Fee memory distributionFee
17
- )
18
- Distribution(registry, instanceNftid, token, isVerifying, distributionFee)
19
- // solhint-disable-next-line no-empty-blocks
20
- {}
21
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {UFixed, UFixedMathLib} from "../types/UFixed.sol";
5
- import {Fee, FeeLib} from "../types/Fee.sol";
6
-
7
- contract TestFee {
8
-
9
- function createFee(
10
- uint256 fractionalValue,
11
- int8 exponent,
12
- uint256 fixedValue
13
- )
14
- external
15
- pure
16
- returns(Fee memory fee)
17
- {
18
- return FeeLib.toFee(UFixedMathLib.toUFixed(fractionalValue, exponent), fixedValue);
19
- }
20
-
21
- function getZeroFee() external pure returns(Fee memory fee) {
22
- return FeeLib.zeroFee();
23
- }
24
-
25
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {UFixed} from "../../contracts/types/UFixed.sol";
6
- import {Fee} from "../../contracts/types/Fee.sol";
7
- import {Pool} from "../../contracts/components/Pool.sol";
8
-
9
-
10
- contract TestPool is Pool {
11
-
12
- constructor(
13
- address registry,
14
- NftId instanceNftid,
15
- address token,
16
- bool isVerifying,
17
- UFixed collateralizationLevel,
18
- Fee memory poolFee,
19
- Fee memory stakingFee,
20
- Fee memory performanceFee
21
- )
22
- Pool(registry, instanceNftid, token, isVerifying, collateralizationLevel, poolFee, stakingFee, performanceFee)
23
- // solhint-disable-next-line no-empty-blocks
24
- {}
25
- }