@etherisc/gif-next 0.0.2-accfb48-991 → 0.0.2-ad36a6a-080

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 (709) hide show
  1. package/README.md +121 -18
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1234 -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/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +483 -552
  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 +1342 -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 +1012 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1405 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +818 -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/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1491 -0
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +410 -0
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1946 -0
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +414 -0
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1545 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1980 -0
  56. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  57. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  58. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +277 -1310
  60. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  61. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +447 -170
  62. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/Instance.sol/Instance.json +343 -3110
  64. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1623 -0
  66. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  68. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1008 -387
  70. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +515 -393
  72. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +329 -123
  74. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3607 -0
  76. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  77. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  78. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  79. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +38 -2
  80. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  82. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  84. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  85. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  86. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -112
  88. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  90. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  91. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  92. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  93. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  94. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  95. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  96. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  98. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  100. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  102. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  103. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → oracle/IOracleComponent.sol/IOracleComponent.json} +378 -373
  104. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  106. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  108. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +927 -0
  110. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +710 -0
  112. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  113. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1276 -0
  114. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  116. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1431 -0
  118. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
  120. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  121. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +931 -0
  122. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +937 -0
  124. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  125. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1267 -0
  126. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  127. package/artifacts/contracts/pool/Pool.sol/Pool.json +1062 -0
  128. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  129. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1612 -0
  130. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +758 -0
  132. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  133. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +737 -0
  134. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +698 -0
  136. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  137. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1098 -0
  138. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  140. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  141. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1370 -0
  142. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +826 -0
  144. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  145. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IApplicationService.sol/IApplicationService.json} +252 -181
  146. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  147. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  148. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  149. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +896 -0
  150. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  151. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
  152. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  153. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +950 -0
  154. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  155. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +125 -191
  156. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  157. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1268 -0
  158. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +770 -0
  160. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  161. package/artifacts/contracts/product/PricingService.sol/PricingService.json +865 -0
  162. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +746 -0
  164. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  165. package/artifacts/contracts/product/Product.sol/Product.json +1056 -0
  166. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  167. package/artifacts/contracts/product/RiskService.sol/RiskService.json +588 -0
  168. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +682 -0
  170. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  171. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  172. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +611 -127
  174. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +290 -297
  176. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  177. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  178. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  179. package/artifacts/contracts/registry/Registry.sol/Registry.json +940 -162
  180. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  181. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1858 -0
  182. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  183. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +279 -410
  184. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  185. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +315 -131
  186. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  187. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  188. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  189. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  190. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  191. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  192. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +351 -100
  194. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  195. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → shared/Component.sol/Component.json} +361 -345
  196. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  197. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1573 -0
  198. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +794 -0
  200. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  201. package/artifacts/contracts/shared/{RegisterableUpgradable.sol/RegisterableUpgradable.json → ComponentVerifyingService.sol/ComponentVerifyingService.json} +149 -159
  202. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  203. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  204. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  205. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +267 -202
  206. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  208. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  209. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  210. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  211. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  212. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  213. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  214. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  216. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  217. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  218. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  220. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  221. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  222. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IService.sol/IService.json +97 -172
  224. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  225. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  226. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  227. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  228. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  229. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  230. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  231. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  232. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  233. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  234. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  235. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  236. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +65 -30
  238. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  239. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  240. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +44 -54
  242. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  243. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  244. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Service.sol/Service.json +115 -183
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  247. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +382 -9
  248. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  249. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  250. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  251. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  252. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  253. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  254. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  256. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  257. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  258. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  260. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +750 -0
  262. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  264. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1236 -0
  266. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +698 -0
  268. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  270. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  271. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  272. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  273. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  274. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  276. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  278. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  280. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  282. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  284. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  286. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  288. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  289. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  290. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  292. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  294. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  296. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  298. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  300. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  302. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  304. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  306. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  308. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  310. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  312. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  314. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  316. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  318. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  320. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  322. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  323. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  324. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  325. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +586 -0
  326. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  327. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  328. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  329. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  330. package/contracts/authorization/AccessAdmin.sol +592 -0
  331. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  332. package/contracts/authorization/Authorization.sol +221 -0
  333. package/contracts/authorization/IAccess.sol +48 -0
  334. package/contracts/authorization/IAccessAdmin.sol +135 -0
  335. package/contracts/authorization/IAuthorization.sol +54 -0
  336. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  337. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  338. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  339. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  340. package/contracts/distribution/BasicDistribution.sol +138 -0
  341. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  342. package/contracts/distribution/Distribution.sol +295 -0
  343. package/contracts/distribution/DistributionService.sol +336 -0
  344. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  345. package/contracts/distribution/IDistributionComponent.sol +52 -0
  346. package/contracts/distribution/IDistributionService.sol +101 -0
  347. package/contracts/examples/fire/DamageLevel.sol +59 -0
  348. package/contracts/examples/fire/FirePool.sol +75 -0
  349. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  350. package/contracts/examples/fire/FireProduct.sol +410 -0
  351. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  352. package/contracts/examples/fire/FireUSD.sol +26 -0
  353. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  354. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  355. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  356. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  357. package/contracts/instance/BundleSet.sol +126 -0
  358. package/contracts/instance/IInstance.sol +56 -47
  359. package/contracts/instance/IInstanceService.sol +78 -16
  360. package/contracts/instance/Instance.sol +159 -373
  361. package/contracts/instance/InstanceAdmin.sol +288 -0
  362. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  363. package/contracts/instance/InstanceReader.sol +264 -84
  364. package/contracts/instance/InstanceService.sol +421 -154
  365. package/contracts/instance/InstanceServiceManager.sol +14 -32
  366. package/contracts/instance/InstanceStore.sol +287 -0
  367. package/contracts/instance/base/BalanceStore.sol +123 -0
  368. package/contracts/instance/base/Cloneable.sol +28 -0
  369. package/contracts/instance/base/ObjectCounter.sol +21 -0
  370. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  371. package/contracts/instance/base/ObjectSet.sol +79 -0
  372. package/contracts/instance/module/IAccess.sol +29 -21
  373. package/contracts/instance/module/IBundle.sol +8 -8
  374. package/contracts/instance/module/IComponents.sol +48 -0
  375. package/contracts/instance/module/IDistribution.sol +6 -4
  376. package/contracts/instance/module/IPolicy.sol +58 -19
  377. package/contracts/instance/module/IRisk.sol +1 -1
  378. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  379. package/contracts/oracle/BasicOracle.sol +48 -0
  380. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  381. package/contracts/oracle/IOracle.sol +36 -0
  382. package/contracts/oracle/IOracleComponent.sol +33 -0
  383. package/contracts/oracle/IOracleService.sol +65 -0
  384. package/contracts/oracle/Oracle.sol +167 -0
  385. package/contracts/oracle/OracleService.sol +281 -0
  386. package/contracts/oracle/OracleServiceManager.sol +39 -0
  387. package/contracts/pool/BasicPool.sol +166 -0
  388. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  389. package/contracts/pool/BundleService.sol +461 -0
  390. package/contracts/pool/BundleServiceManager.sol +39 -0
  391. package/contracts/pool/IBundleService.sol +143 -0
  392. package/contracts/pool/IPoolComponent.sol +68 -0
  393. package/contracts/pool/IPoolService.sol +171 -0
  394. package/contracts/pool/Pool.sol +353 -0
  395. package/contracts/pool/PoolService.sol +563 -0
  396. package/contracts/pool/PoolServiceManager.sol +39 -0
  397. package/contracts/product/ApplicationService.sol +251 -0
  398. package/contracts/product/ApplicationServiceManager.sol +38 -0
  399. package/contracts/product/BasicProduct.sol +53 -0
  400. package/contracts/product/BasicProductAuthorization.sol +43 -0
  401. package/contracts/product/ClaimService.sol +581 -0
  402. package/contracts/product/ClaimServiceManager.sol +38 -0
  403. package/contracts/product/IApplicationService.sol +63 -0
  404. package/contracts/product/IClaimService.sol +122 -0
  405. package/contracts/product/IPolicyService.sol +80 -0
  406. package/contracts/product/IPricingService.sol +39 -0
  407. package/contracts/product/IProductComponent.sol +53 -0
  408. package/contracts/product/IRiskService.sol +33 -0
  409. package/contracts/product/PolicyService.sol +686 -0
  410. package/contracts/product/PolicyServiceManager.sol +39 -0
  411. package/contracts/product/PricingService.sol +300 -0
  412. package/contracts/product/PricingServiceManager.sol +39 -0
  413. package/contracts/product/Product.sol +432 -0
  414. package/contracts/product/RiskService.sol +96 -0
  415. package/contracts/product/RiskServiceManager.sol +39 -0
  416. package/contracts/registry/ChainNft.sol +79 -31
  417. package/contracts/registry/IRegistry.sol +124 -35
  418. package/contracts/registry/IRegistryService.sol +38 -28
  419. package/contracts/registry/ITransferInterceptor.sol +1 -0
  420. package/contracts/registry/Registry.sol +532 -273
  421. package/contracts/registry/RegistryAdmin.sol +464 -0
  422. package/contracts/registry/RegistryService.sol +135 -234
  423. package/contracts/registry/RegistryServiceManager.sol +26 -53
  424. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  425. package/contracts/registry/ReleaseRegistry.sol +491 -0
  426. package/contracts/registry/ServiceAuthorizationV3.sol +198 -0
  427. package/contracts/registry/TokenRegistry.sol +261 -57
  428. package/contracts/shared/Component.sol +268 -0
  429. package/contracts/shared/ComponentService.sol +641 -0
  430. package/contracts/shared/ComponentServiceManager.sol +38 -0
  431. package/contracts/shared/ComponentVerifyingService.sol +116 -0
  432. package/contracts/shared/ContractLib.sol +38 -0
  433. package/contracts/shared/IComponent.sol +70 -0
  434. package/contracts/shared/IComponentService.sol +108 -0
  435. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  436. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  437. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  438. package/contracts/shared/INftOwnable.sol +13 -12
  439. package/contracts/shared/IPolicyHolder.sol +35 -0
  440. package/contracts/shared/IRegisterable.sol +4 -6
  441. package/contracts/shared/IRegistryLinked.sol +11 -0
  442. package/contracts/shared/IService.sol +16 -6
  443. package/contracts/shared/InitializableCustom.sol +177 -0
  444. package/contracts/shared/InitializableERC165.sol +27 -0
  445. package/contracts/shared/InstanceLinkedComponent.sol +171 -0
  446. package/contracts/shared/KeyValueStore.sol +131 -0
  447. package/contracts/shared/Lifecycle.sol +77 -0
  448. package/contracts/shared/NftIdSet.sol +65 -0
  449. package/contracts/shared/NftOwnable.sol +59 -86
  450. package/contracts/shared/PolicyHolder.sol +62 -0
  451. package/contracts/shared/Registerable.sol +23 -38
  452. package/contracts/shared/RegistryLinked.sol +44 -0
  453. package/contracts/shared/Service.sol +62 -30
  454. package/contracts/shared/TokenHandler.sol +122 -10
  455. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  456. package/contracts/staking/IStaking.sol +168 -0
  457. package/contracts/staking/IStakingService.sol +160 -0
  458. package/contracts/staking/StakeManagerLib.sol +224 -0
  459. package/contracts/staking/Staking.sol +498 -0
  460. package/contracts/staking/StakingLifecycle.sol +23 -0
  461. package/contracts/staking/StakingManager.sol +52 -0
  462. package/contracts/staking/StakingReader.sol +183 -0
  463. package/contracts/staking/StakingService.sol +407 -0
  464. package/contracts/staking/StakingServiceManager.sol +44 -0
  465. package/contracts/staking/StakingStore.sol +605 -0
  466. package/contracts/staking/TargetManagerLib.sol +211 -0
  467. package/contracts/{types → type}/AddressSet.sol +1 -1
  468. package/contracts/type/Amount.sol +150 -0
  469. package/contracts/{types → type}/Blocknumber.sol +27 -3
  470. package/contracts/type/ClaimId.sol +80 -0
  471. package/contracts/{types → type}/DistributorType.sol +2 -2
  472. package/contracts/{types → type}/Fee.sol +33 -23
  473. package/contracts/{types → type}/NftId.sol +22 -15
  474. package/contracts/type/NftIdSet.sol +62 -0
  475. package/contracts/type/ObjectType.sol +275 -0
  476. package/contracts/type/PayoutId.sol +82 -0
  477. package/contracts/{types → type}/Referral.sol +6 -1
  478. package/contracts/type/RequestId.sol +75 -0
  479. package/contracts/{types → type}/RiskId.sol +16 -2
  480. package/contracts/type/RoleId.sol +174 -0
  481. package/contracts/type/Seconds.sol +101 -0
  482. package/contracts/type/Selector.sol +102 -0
  483. package/contracts/{types → type}/StateId.sol +35 -4
  484. package/contracts/type/String.sol +53 -0
  485. package/contracts/{types → type}/Timestamp.sol +34 -15
  486. package/contracts/{types → type}/UFixed.sol +39 -9
  487. package/contracts/{types → type}/Version.sol +5 -2
  488. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  489. package/contracts/upgradeability/ProxyManager.sol +231 -0
  490. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  491. package/contracts/upgradeability/Versionable.sol +59 -0
  492. package/package.json +10 -7
  493. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  494. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  495. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  496. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -618
  497. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  498. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  499. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  500. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  501. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  502. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  503. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  504. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  505. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  506. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -787
  507. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  508. package/artifacts/contracts/components/Product.sol/Product.json +0 -729
  509. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  511. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  512. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  513. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  515. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  517. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  519. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  521. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  523. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  525. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  527. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  528. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  529. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  530. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  531. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  532. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  533. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  534. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  535. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  536. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  537. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  539. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  540. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  541. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  542. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  543. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  544. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  545. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  546. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  547. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  548. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  549. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  550. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  551. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  552. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  553. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  554. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  555. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  556. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  557. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  558. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  559. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  560. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  561. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  562. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  563. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  564. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  565. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  566. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  567. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -716
  568. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  569. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -444
  570. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  571. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  572. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  573. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  574. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  575. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -971
  576. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  577. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -460
  578. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  579. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1147
  580. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  581. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -488
  582. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  583. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  584. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  585. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  586. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  587. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  588. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  589. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  590. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  591. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  592. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  593. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  594. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  595. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  596. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  597. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  598. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  599. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  600. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  601. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  602. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  603. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  604. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  605. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  606. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  607. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  608. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  609. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  610. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  611. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  612. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  613. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  614. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  615. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  616. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  617. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  618. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  619. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  620. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  621. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  622. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  623. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  624. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  625. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  626. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  627. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  628. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  629. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  630. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  631. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  632. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  633. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  634. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  635. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  636. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  637. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  638. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  639. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  640. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  641. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  642. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  643. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  644. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  645. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  646. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  648. package/contracts/components/BaseComponent.sol +0 -91
  649. package/contracts/components/Distribution.sol +0 -163
  650. package/contracts/components/IBaseComponent.sol +0 -25
  651. package/contracts/components/IDistributionComponent.sol +0 -44
  652. package/contracts/components/IPoolComponent.sol +0 -62
  653. package/contracts/components/IProductComponent.sol +0 -35
  654. package/contracts/components/Pool.sol +0 -247
  655. package/contracts/components/Product.sol +0 -289
  656. package/contracts/experiment/cloning/Cloner.sol +0 -47
  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/SM.sol +0 -57
  668. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  669. package/contracts/experiment/types/TypeA.sol +0 -47
  670. package/contracts/experiment/types/TypeB.sol +0 -29
  671. package/contracts/instance/AccessManagedSimple.sol +0 -115
  672. package/contracts/instance/AccessManagerSimple.sol +0 -692
  673. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  674. package/contracts/instance/InstanceAccessManager.sol +0 -288
  675. package/contracts/instance/base/ComponentServiceBase.sol +0 -134
  676. package/contracts/instance/base/IInstanceBase.sol +0 -23
  677. package/contracts/instance/base/KeyValueStore.sol +0 -172
  678. package/contracts/instance/base/Lifecycle.sol +0 -100
  679. package/contracts/instance/module/ISetup.sol +0 -47
  680. package/contracts/instance/module/ITreasury.sol +0 -23
  681. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  682. package/contracts/instance/service/DistributionService.sol +0 -88
  683. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  684. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  685. package/contracts/instance/service/IDistributionService.sol +0 -12
  686. package/contracts/instance/service/IPoolService.sol +0 -43
  687. package/contracts/instance/service/IProductService.sol +0 -110
  688. package/contracts/instance/service/PoolService.sol +0 -204
  689. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  690. package/contracts/instance/service/ProductService.sol +0 -561
  691. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  692. package/contracts/shared/ContractDeployerLib.sol +0 -72
  693. package/contracts/shared/ERC165.sol +0 -25
  694. package/contracts/shared/ProxyManager.sol +0 -94
  695. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  696. package/contracts/shared/Versionable.sol +0 -147
  697. package/contracts/test/TestFee.sol +0 -25
  698. package/contracts/test/TestRegisterable.sol +0 -18
  699. package/contracts/test/TestRoleId.sol +0 -14
  700. package/contracts/test/TestService.sol +0 -24
  701. package/contracts/test/TestToken.sol +0 -26
  702. package/contracts/test/TestVersion.sol +0 -44
  703. package/contracts/test/TestVersionable.sol +0 -17
  704. package/contracts/types/ChainId.sol +0 -38
  705. package/contracts/types/NftIdSet.sol +0 -60
  706. package/contracts/types/NumberId.sol +0 -52
  707. package/contracts/types/ObjectType.sol +0 -152
  708. package/contracts/types/RoleId.sol +0 -90
  709. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,134 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IRegistryService} from "../../registry/IRegistryService.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {ObjectType, INSTANCE, PRODUCT, POOL, DISTRIBUTION, ORACLE} from "../../types/ObjectType.sol";
8
- import {NftId, NftIdLib} from "../../types/NftId.sol";
9
- import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../types/RoleId.sol";
10
-
11
- import {BaseComponent} from "../../components/BaseComponent.sol";
12
- import {Product} from "../../components/Product.sol";
13
- import {INftOwnable} from "../../shared/INftOwnable.sol";
14
- import {Service} from "../../shared/Service.sol";
15
- import {InstanceService} from "../InstanceService.sol";
16
- import {Version, VersionPart, VersionLib} from "../../types/Version.sol";
17
-
18
- abstract contract ComponentServiceBase is Service {
19
-
20
- error ExpectedRoleMissing(RoleId expected, address caller);
21
- error ComponentTypeInvalid(ObjectType componentType);
22
-
23
- mapping (ObjectType => RoleId) internal _objectTypeToExpectedRole;
24
-
25
- /// @dev modifier to check if caller has a role on the instance the component is registered in
26
- modifier onlyComponentOwnerRole(address componentAddress) {
27
- BaseComponent component = BaseComponent(componentAddress);
28
- ObjectType objectType = _getObjectType(component);
29
- RoleId expectedRole = _objectTypeToExpectedRole[objectType];
30
-
31
- address componentOwner = msg.sender;
32
- INftOwnable nftOwnable = INftOwnable(address(component.getInstance()));
33
- if(! getInstanceService().hasRole(componentOwner, expectedRole, nftOwnable.getNftId())) {
34
- revert ExpectedRoleMissing(expectedRole, componentOwner);
35
- }
36
- _;
37
- }
38
-
39
- /// @dev modifier to check if caller is a registered service
40
- modifier onlyService() {
41
- address caller = msg.sender;
42
- require(getRegistry().isRegisteredService(caller), "ERROR_NOT_SERVICE");
43
- _;
44
- }
45
-
46
- function _initializeService(
47
- address registry,
48
- address initialOwner
49
- )
50
- internal
51
- override
52
- {
53
- super._initializeService(registry, initialOwner);
54
- _objectTypeToExpectedRole[PRODUCT()] = PRODUCT_OWNER_ROLE();
55
- _objectTypeToExpectedRole[POOL()] = POOL_OWNER_ROLE();
56
- _objectTypeToExpectedRole[DISTRIBUTION()] = DISTRIBUTION_OWNER_ROLE();
57
- _objectTypeToExpectedRole[ORACLE()] = ORACLE_OWNER_ROLE();
58
- }
59
-
60
- function getInstanceService() public view returns (InstanceService) {
61
- return InstanceService(getRegistry().getServiceAddress("InstanceService", getMajorVersion()));
62
- }
63
-
64
- function register(address componentAddress)
65
- external
66
- onlyComponentOwnerRole(componentAddress)
67
- returns (NftId componentNftId)
68
- {
69
- address componentOwner = msg.sender;
70
- BaseComponent component = BaseComponent(componentAddress);
71
- ObjectType objectType = _getObjectType(component);
72
- IRegistryService registryService = getRegistryService();
73
-
74
- IRegistry.ObjectInfo memory objInfo;
75
- bytes memory initialObjData;
76
-
77
- if (objectType == DISTRIBUTION()) {
78
- (objInfo, initialObjData) = registryService.registerDistribution(component, componentOwner);
79
- } else if (objectType == PRODUCT()) {
80
- (objInfo, initialObjData) = registryService.registerProduct(component, componentOwner);
81
- } else if (objectType == POOL()) {
82
- (objInfo, initialObjData) = registryService.registerPool(component, componentOwner);
83
- // TODO: implement this for oracle - currently missing in registry
84
- // } else if (objectType == ORACLE()) {
85
- // (objInfo, initialObjData) = registryService.registerOracle(component, componentOwner);
86
- } else {
87
- revert ComponentTypeInvalid(objectType);
88
- }
89
-
90
- componentNftId = objInfo.nftId;
91
- {
92
- IInstance instance = _getInstance(objInfo);
93
- _finalizeComponentRegistration(componentNftId, initialObjData, instance);
94
- }
95
- }
96
-
97
- function _finalizeComponentRegistration(NftId componentNftId, bytes memory initialObjData, IInstance instance) internal virtual;
98
-
99
- function _getObjectType(BaseComponent component) internal view returns (ObjectType) {
100
- (IRegistry.ObjectInfo memory compInitialInfo, ) = component.getInitialInfo();
101
- return compInitialInfo.objectType;
102
- }
103
-
104
- function _getInstance(IRegistry.ObjectInfo memory compObjInfo) internal view returns (IInstance) {
105
- IRegistry registry = getRegistry();
106
- IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(compObjInfo.parentNftId);
107
- return IInstance(instanceInfo.objectAddress);
108
- }
109
-
110
- function _getAndVerifyComponentInfoAndInstance(
111
- ObjectType objectType
112
- )
113
- internal
114
- view
115
- returns(
116
- IRegistry.ObjectInfo memory info,
117
- IInstance instance
118
- )
119
- {
120
- NftId componentNftId = _registry.getNftId(msg.sender);
121
- require(componentNftId.gtz(), "ERROR_COMPONENT_UNKNOWN");
122
-
123
- info = getRegistry().getObjectInfo(componentNftId);
124
- require(info.objectType == objectType, "OBJECT_TYPE_INVALID");
125
-
126
- address instanceAddress = getRegistry().getObjectInfo(info.parentNftId).objectAddress;
127
- instance = IInstance(instanceAddress);
128
- }
129
-
130
- function getRegistryService() public view virtual returns (IRegistryService) {
131
- address service = getRegistry().getServiceAddress("RegistryService", getMajorVersion());
132
- return IRegistryService(service);
133
- }
134
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Key32} from "../../types/Key32.sol";
5
- import {StateId} from "../../types/StateId.sol";
6
-
7
- import {IKeyValueStore} from "./IKeyValueStore.sol";
8
-
9
- import {IComponentOwnerService} from "../service/IComponentOwnerService.sol";
10
- import {IDistributionService} from "../service/IDistributionService.sol";
11
- import {IProductService} from "../service/IProductService.sol";
12
- import {IPoolService} from "../service/IPoolService.sol";
13
-
14
- interface IInstanceBase {
15
- function getKeyValueStore() external view returns (IKeyValueStore keyValueStore);
16
- function updateState(Key32 key, StateId state) external;
17
- function getState(Key32 key) external view returns (StateId state);
18
-
19
- function getComponentOwnerService() external view returns(IComponentOwnerService);
20
- function getDistributionService() external view returns(IDistributionService);
21
- function getProductService() external view returns(IProductService service);
22
- function getPoolService() external view returns(IPoolService service);
23
- }
@@ -1,172 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
5
- import {Key32, KeyId, Key32Lib} from "../../types/Key32.sol";
6
- import {NftId} from "../../types/NftId.sol";
7
- import {ObjectType} from "../../types/ObjectType.sol";
8
- import {StateId, ACTIVE} from "../../types/StateId.sol";
9
- import {Timestamp, TimestampLib} from "../../types/Timestamp.sol";
10
-
11
- import {Lifecycle} from "./Lifecycle.sol";
12
- import {IKeyValueStore} from "./IKeyValueStore.sol";
13
-
14
- contract KeyValueStore is Lifecycle, IKeyValueStore {
15
-
16
- mapping(Key32 key32 => Value value) private _value;
17
-
18
- function create(
19
- Key32 key32,
20
- bytes memory data
21
- )
22
- internal
23
- {
24
- _create(key32, data);
25
- }
26
-
27
- function _create(
28
- Key32 key32,
29
- bytes memory data
30
- )
31
- internal
32
- {
33
- ObjectType objectType = key32.toObjectType();
34
- require(objectType.gtz(), "ERROR:KVS-010:TYPE_UNDEFINED");
35
-
36
- Metadata storage metadata = _value[key32].metadata;
37
- require(metadata.state.eqz(), "ERROR:KVS-012:ALREADY_CREATED");
38
-
39
- address createdBy = msg.sender;
40
- Blocknumber blocknumber = blockBlocknumber();
41
- StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
42
-
43
- // set metadata
44
- metadata.objectType = objectType;
45
- metadata.state = initialState;
46
- metadata.updatedBy = createdBy;
47
- metadata.updatedIn = blocknumber;
48
- metadata.createdIn = blocknumber;
49
-
50
- // set data
51
- _value[key32].data = data;
52
-
53
- // solhint-disable-next-line avoid-tx-origin
54
- emit LogInfoCreated(key32.toObjectType(), key32.toKeyId(), initialState, createdBy, tx.origin);
55
- }
56
-
57
- function update(
58
- Key32 key32,
59
- bytes memory data,
60
- StateId state
61
- )
62
- internal
63
- {
64
- _update(key32, data, state);
65
- }
66
-
67
- function _update(
68
- Key32 key32,
69
- bytes memory data,
70
- StateId state
71
- )
72
- internal
73
- {
74
- require(state.gtz(), "ERROR:KVS-020:STATE_UNDEFINED");
75
- Metadata storage metadata = _value[key32].metadata;
76
- StateId stateOld = metadata.state;
77
- require(stateOld.gtz(), "ERROR:KVS-021:NOT_EXISTING");
78
-
79
- // update data
80
- _value[key32].data = data;
81
-
82
- // update metadata (and state)
83
- address updatedBy = msg.sender;
84
- Blocknumber lastUpdatedIn = metadata.updatedIn;
85
- metadata.state = state;
86
- metadata.updatedBy = updatedBy;
87
- metadata.updatedIn = blockBlocknumber();
88
-
89
- // create log entries
90
- // solhint-disable avoid-tx-origin
91
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
92
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
93
- // solhing-enable
94
- }
95
-
96
- function updateData(Key32 key32, bytes memory data)
97
- internal
98
- {
99
- _updateData(key32, data);
100
- }
101
-
102
- function _updateData(Key32 key32, bytes memory data)
103
- internal
104
- {
105
- Metadata storage metadata = _value[key32].metadata;
106
- StateId state = metadata.state;
107
- require(state.gtz(), "ERROR:KVS-030:NOT_EXISTING");
108
-
109
- // update data
110
- _value[key32].data = data;
111
-
112
- // update metadata
113
- address updatedBy = msg.sender;
114
- Blocknumber lastUpdatedIn = metadata.updatedIn;
115
- metadata.updatedBy = updatedBy;
116
- metadata.updatedIn = blockBlocknumber();
117
-
118
- // create log entry
119
- // solhint-disable-next-line avoid-tx-origin
120
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
121
- }
122
-
123
- function updateState(Key32 key32, StateId state)
124
- internal
125
- {
126
- _updateState(key32, state);
127
- }
128
-
129
- function _updateState(Key32 key32, StateId state)
130
- internal
131
- {
132
- require(state.gtz(), "ERROR:KVS-040:STATE_UNDEFINED");
133
- Metadata storage metadata = _value[key32].metadata;
134
- StateId stateOld = metadata.state;
135
- require(stateOld.gtz(), "ERROR:KVS-041:NOT_EXISTING");
136
-
137
- // update metadata (and state)
138
- address updatedBy = msg.sender;
139
- Blocknumber lastUpdatedIn = metadata.updatedIn;
140
- metadata.state = state;
141
- metadata.updatedBy = updatedBy;
142
- metadata.updatedIn = blockBlocknumber();
143
-
144
- // create log entry
145
- // solhint-disable-next-line avoid-tx-origin
146
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
147
- }
148
-
149
- function exists(Key32 key32) public view returns (bool) {
150
- return _value[key32].metadata.state.gtz();
151
- }
152
-
153
- function get(Key32 key32) public view returns (Value memory value) {
154
- return _value[key32];
155
- }
156
-
157
- function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
158
- return _value[key32].metadata;
159
- }
160
-
161
- function getData(Key32 key32) public view returns (bytes memory data) {
162
- return _value[key32].data;
163
- }
164
-
165
- function getState(Key32 key32) public view returns (StateId state) {
166
- return _value[key32].metadata.state;
167
- }
168
-
169
- function toKey32(ObjectType objectType, KeyId id) external pure override returns(Key32) {
170
- return Key32Lib.toKey32(objectType, id);
171
- }
172
- }
@@ -1,100 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {ObjectType, COMPONENT, BUNDLE, POLICY, RISK} from "../../types/ObjectType.sol";
6
- import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, UNDERWRITTEN, REVOKED, DECLINED} from "../../types/StateId.sol";
7
- import {ILifecycle} from "./ILifecycle.sol";
8
-
9
- contract Lifecycle is ILifecycle {
10
- mapping(ObjectType objectType => StateId initialState)
11
- private _initialState;
12
-
13
- mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
14
- private _isValidTransition;
15
-
16
- constructor() {
17
- _setupBundleLifecycle();
18
- _setupComponentLifecycle();
19
- _setupPolicyLifecycle();
20
- _setupRiskLifecycle();
21
- }
22
-
23
- function hasLifecycle(
24
- ObjectType objectType
25
- )
26
- public
27
- view
28
- override
29
- returns (bool)
30
- {
31
- return _initialState[objectType].gtz();
32
- }
33
-
34
- function getInitialState(
35
- ObjectType objectType
36
- )
37
- public
38
- view
39
- returns (StateId)
40
- {
41
- return _initialState[objectType];
42
- }
43
-
44
- function checkTransition(
45
- ObjectType objectType,
46
- StateId fromId,
47
- StateId toId
48
- )
49
- public
50
- view
51
- {
52
- // return if no life cycle support
53
- if (_initialState[objectType].eqz()) {
54
- return;
55
- }
56
-
57
- // enforce valid state transition
58
- if (!_isValidTransition[objectType][fromId][toId]) {
59
- revert ErrorInvalidStateTransition(objectType, fromId, toId);
60
- }
61
- }
62
-
63
- function isValidTransition(
64
- ObjectType objectType,
65
- StateId fromId,
66
- StateId toId
67
- ) public view returns (bool) {
68
- return _isValidTransition[objectType][fromId][toId];
69
- }
70
-
71
- function _setupComponentLifecycle() internal {
72
- _initialState[COMPONENT()] = ACTIVE();
73
- _isValidTransition[COMPONENT()][ACTIVE()][PAUSED()] = true;
74
- _isValidTransition[COMPONENT()][PAUSED()][ACTIVE()] = true;
75
- _isValidTransition[COMPONENT()][PAUSED()][ARCHIVED()] = true;
76
- }
77
-
78
- function _setupBundleLifecycle() internal {
79
- _initialState[BUNDLE()] = ACTIVE();
80
- _isValidTransition[BUNDLE()][ACTIVE()][PAUSED()] = true;
81
- _isValidTransition[BUNDLE()][PAUSED()][ACTIVE()] = true;
82
- _isValidTransition[BUNDLE()][PAUSED()][CLOSED()] = true;
83
- }
84
-
85
- function _setupPolicyLifecycle() internal {
86
- _initialState[POLICY()] = APPLIED();
87
- _isValidTransition[POLICY()][APPLIED()][REVOKED()] = true;
88
- _isValidTransition[POLICY()][APPLIED()][DECLINED()] = true;
89
- _isValidTransition[POLICY()][APPLIED()][UNDERWRITTEN()] = true;
90
- _isValidTransition[POLICY()][UNDERWRITTEN()][ACTIVE()] = true;
91
- _isValidTransition[POLICY()][ACTIVE()][CLOSED()] = true;
92
- }
93
-
94
- function _setupRiskLifecycle() internal {
95
- _initialState[RISK()] = ACTIVE();
96
- _isValidTransition[RISK()][ACTIVE()][PAUSED()] = true;
97
- _isValidTransition[RISK()][PAUSED()][ACTIVE()] = true;
98
- _isValidTransition[RISK()][PAUSED()][ARCHIVED()] = true;
99
- }
100
- }
@@ -1,47 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../types/Fee.sol";
7
- import {NftId} from "../../types/NftId.sol";
8
- import {LibNftIdSet} from "../../types/NftIdSet.sol";
9
- import {UFixed} from "../../types/UFixed.sol";
10
- import {TokenHandler} from "../../shared/TokenHandler.sol";
11
-
12
- interface ISetup {
13
- struct ProductSetupInfo {
14
- IERC20Metadata token;
15
- TokenHandler tokenHandler;
16
- NftId distributionNftId;
17
- NftId poolNftId;
18
- Fee distributionFee; // default distribution fee (no referral id)
19
- Fee productFee; // product fee on net premium
20
- Fee processingFee; // product fee on payout amounts
21
- Fee poolFee; // pool fee on net premium
22
- Fee stakingFee; // pool fee on staked capital from investor
23
- Fee performanceFee; // pool fee on profits from capital investors
24
- bool isIntercepting; // intercepts nft transfers (for products)
25
- address wallet;
26
- }
27
-
28
- struct DistributionSetupInfo {
29
- NftId productNftId;
30
- TokenHandler tokenHandler;
31
- Fee distributionFee; // default distribution fee (no referral id)
32
- bool isIntercepting; // intercepts nft transfers (for distributors)
33
- address wallet;
34
- }
35
-
36
- struct PoolSetupInfo {
37
- NftId productNftId;
38
- TokenHandler tokenHandler;
39
- UFixed collateralizationLevel;
40
- Fee poolFee; // pool fee on net premium
41
- Fee stakingFee; // pool fee on staked capital from investor
42
- Fee performanceFee; // pool fee on profits from capital investors
43
- bool isIntercepting; // intercepts nft transfers (for bundles)
44
- bool isConfirmingApplication; // confirms applications before they are underwritten
45
- address wallet;
46
- }
47
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../types/Fee.sol";
7
- import {NftId} from "../../types/NftId.sol";
8
- import {TokenHandler} from "../../shared/TokenHandler.sol";
9
-
10
- interface ITreasury {
11
- struct TreasuryInfo {
12
- IERC20Metadata token;
13
- TokenHandler tokenHandler;
14
- NftId distributionNftId;
15
- NftId poolNftId;
16
- Fee distributionFee; // default distribution fee (no referral id)
17
- Fee productFee; // product fee on net premium
18
- Fee processingFee; // product fee on payout amounts
19
- Fee poolFee; // pool fee on net premium
20
- Fee stakingFee; // pool fee on staked capital from investor
21
- Fee performanceFee; // pool fee on profits from capital investors
22
- }
23
- }