@etherisc/gif-next 0.0.2-d48ae55-246 → 0.0.2-d5103a2-471

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 (713) hide show
  1. package/README.md +57 -88
  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/authorization/IAccessAdmin.sol/IAccessAdmin.json +1013 -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 +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/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +289 -333
  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 +255 -1990
  60. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  61. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +291 -208
  62. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/Instance.sol/Instance.json +339 -2847
  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 +1014 -357
  70. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +340 -547
  72. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +265 -161
  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/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  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 +25 -150
  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/base/ComponentService.sol/ComponentService.json → oracle/IOracleComponent.sol/IOracleComponent.json} +316 -305
  104. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  105. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → oracle/IOracleService.sol/IOracleService.json} +311 -292
  106. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  107. package/artifacts/contracts/{components/Component.sol/Component.json → oracle/Oracle.sol/Oracle.json} +312 -338
  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/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +473 -563
  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/{instance/service → pool}/IBundleService.sol/IBundleService.json +480 -347
  122. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  123. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +400 -357
  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/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +353 -545
  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 +1397 -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 → product}/IApplicationService.sol/IApplicationService.json +126 -247
  146. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  147. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +913 -0
  148. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  149. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +412 -300
  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/{components → product}/IProductComponent.sol/IProductComponent.json +411 -274
  154. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  155. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +64 -213
  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 +413 -21
  174. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +185 -300
  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 +812 -37
  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 +275 -520
  184. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  185. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +252 -152
  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 +307 -177
  194. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  195. package/artifacts/contracts/shared/Component.sol/Component.json +685 -0
  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/{instance/service/IPoolService.sol/IPoolService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +149 -229
  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/{components → shared}/IComponent.sol/IComponent.json +217 -132
  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 +7 -40
  216. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  217. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
  218. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -40
  220. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -34
  222. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IService.sol/IService.json +76 -164
  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 +16 -126
  238. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  239. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +35 -106
  240. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +22 -173
  242. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  243. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -49
  244. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Service.sol/Service.json +78 -305
  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/{components/Distribution.sol/Distribution.json → staking/IStaking.sol/IStaking.json} +679 -674
  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/{BundleManager.sol → BundleSet.sol} +33 -32
  358. package/contracts/instance/IInstance.sol +43 -66
  359. package/contracts/instance/IInstanceService.sol +57 -24
  360. package/contracts/instance/Instance.sol +160 -212
  361. package/contracts/instance/InstanceAdmin.sol +288 -0
  362. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  363. package/contracts/instance/InstanceReader.sol +264 -62
  364. package/contracts/instance/InstanceService.sol +337 -314
  365. package/contracts/instance/InstanceServiceManager.sol +14 -29
  366. package/contracts/instance/InstanceStore.sol +287 -0
  367. package/contracts/instance/base/BalanceStore.sol +123 -0
  368. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  369. package/contracts/instance/base/ObjectCounter.sol +21 -0
  370. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  371. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +19 -24
  372. package/contracts/instance/module/IAccess.sol +19 -20
  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/TestToken.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/{instance/service → product}/IApplicationService.sol +18 -37
  404. package/contracts/product/IClaimService.sol +123 -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 +80 -32
  417. package/contracts/registry/IRegistry.sol +96 -25
  418. package/contracts/registry/IRegistryService.sol +38 -45
  419. package/contracts/registry/ITransferInterceptor.sol +1 -0
  420. package/contracts/registry/Registry.sol +444 -201
  421. package/contracts/registry/RegistryAdmin.sol +464 -0
  422. package/contracts/registry/RegistryService.sol +123 -141
  423. package/contracts/registry/RegistryServiceManager.sol +24 -33
  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 +262 -60
  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 +6 -11
  439. package/contracts/shared/IPolicyHolder.sol +23 -14
  440. package/contracts/shared/IRegistryLinked.sol +0 -4
  441. package/contracts/shared/IService.sol +15 -6
  442. package/contracts/shared/InitializableCustom.sol +177 -0
  443. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +6 -5
  444. package/contracts/shared/InstanceLinkedComponent.sol +171 -0
  445. package/contracts/shared/KeyValueStore.sol +131 -0
  446. package/contracts/shared/Lifecycle.sol +77 -0
  447. package/contracts/shared/NftIdSet.sol +65 -0
  448. package/contracts/shared/NftOwnable.sol +17 -100
  449. package/contracts/shared/PolicyHolder.sol +22 -41
  450. package/contracts/shared/Registerable.sol +19 -25
  451. package/contracts/shared/RegistryLinked.sol +8 -28
  452. package/contracts/shared/Service.sol +59 -32
  453. package/contracts/shared/TokenHandler.sol +122 -10
  454. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  455. package/contracts/staking/IStaking.sol +168 -0
  456. package/contracts/staking/IStakingService.sol +160 -0
  457. package/contracts/staking/StakeManagerLib.sol +224 -0
  458. package/contracts/staking/Staking.sol +498 -0
  459. package/contracts/staking/StakingLifecycle.sol +23 -0
  460. package/contracts/staking/StakingManager.sol +52 -0
  461. package/contracts/staking/StakingReader.sol +183 -0
  462. package/contracts/staking/StakingService.sol +407 -0
  463. package/contracts/staking/StakingServiceManager.sol +44 -0
  464. package/contracts/staking/StakingStore.sol +605 -0
  465. package/contracts/staking/TargetManagerLib.sol +211 -0
  466. package/contracts/{types → type}/AddressSet.sol +1 -1
  467. package/contracts/type/Amount.sol +150 -0
  468. package/contracts/{types → type}/Blocknumber.sol +27 -3
  469. package/contracts/type/ClaimId.sol +80 -0
  470. package/contracts/{types → type}/Fee.sol +33 -23
  471. package/contracts/{types → type}/NftId.sol +22 -15
  472. package/contracts/{types → type}/NftIdSet.sol +2 -2
  473. package/contracts/type/ObjectType.sol +275 -0
  474. package/contracts/type/PayoutId.sol +82 -0
  475. package/contracts/{types → type}/Referral.sol +6 -1
  476. package/contracts/type/RequestId.sol +75 -0
  477. package/contracts/{types → type}/RiskId.sol +16 -2
  478. package/contracts/type/RoleId.sol +174 -0
  479. package/contracts/type/Seconds.sol +101 -0
  480. package/contracts/type/Selector.sol +102 -0
  481. package/contracts/{types → type}/StateId.sol +35 -4
  482. package/contracts/type/String.sol +53 -0
  483. package/contracts/{types → type}/Timestamp.sol +34 -15
  484. package/contracts/{types → type}/UFixed.sol +39 -9
  485. package/contracts/{types → type}/Version.sol +5 -2
  486. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  487. package/contracts/upgradeability/ProxyManager.sol +231 -0
  488. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  489. package/contracts/upgradeability/Versionable.sol +59 -0
  490. package/package.json +8 -5
  491. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  492. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  493. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  494. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  495. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  496. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  497. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  498. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  501. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  503. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  505. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  507. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  509. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  511. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  512. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  513. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  515. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  517. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  519. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  521. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  523. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  525. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  527. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  528. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  529. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  530. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  531. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  532. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  533. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  534. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  535. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  536. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  537. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  538. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  539. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
  540. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  541. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  542. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
  543. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  544. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  545. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  546. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  547. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  548. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  549. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  550. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  551. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  552. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  553. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  554. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  555. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1117
  556. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  557. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1318
  558. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  559. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -586
  560. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  561. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1200
  562. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  563. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -614
  564. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  565. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  566. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  567. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  568. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  569. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  570. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  571. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1378
  572. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  573. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -642
  574. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  575. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -957
  576. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  577. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -574
  578. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  579. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1007
  580. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  581. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -574
  582. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  583. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  584. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  585. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  586. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  587. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  588. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  589. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  590. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  591. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  592. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  593. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -499
  594. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  595. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  596. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  597. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  598. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  599. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  600. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  601. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -446
  602. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  603. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  604. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  605. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -759
  606. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  607. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  608. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  609. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  610. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  611. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  612. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  613. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  614. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  615. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  616. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  618. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  620. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  621. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  622. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  624. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  625. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  626. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  627. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  628. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  629. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  630. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  631. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  632. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  633. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  634. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  635. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  636. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  637. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  638. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  639. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  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 -249
  643. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  644. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  645. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  646. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  647. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  648. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  649. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  650. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  651. package/contracts/components/Component.sol +0 -236
  652. package/contracts/components/Distribution.sol +0 -316
  653. package/contracts/components/IComponent.sol +0 -50
  654. package/contracts/components/IDistributionComponent.sol +0 -100
  655. package/contracts/components/IPoolComponent.sol +0 -87
  656. package/contracts/components/IProductComponent.sol +0 -39
  657. package/contracts/components/Pool.sol +0 -254
  658. package/contracts/components/Product.sol +0 -278
  659. package/contracts/experiment/cloning/Cloner.sol +0 -47
  660. package/contracts/experiment/errors/Require.sol +0 -38
  661. package/contracts/experiment/errors/Revert.sol +0 -44
  662. package/contracts/experiment/inheritance/A.sol +0 -53
  663. package/contracts/experiment/inheritance/B.sol +0 -28
  664. package/contracts/experiment/inheritance/C.sol +0 -34
  665. package/contracts/experiment/inheritance/IA.sol +0 -13
  666. package/contracts/experiment/inheritance/IB.sol +0 -10
  667. package/contracts/experiment/inheritance/IC.sol +0 -12
  668. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  669. package/contracts/experiment/statemachine/ISM.sol +0 -25
  670. package/contracts/experiment/statemachine/SM.sol +0 -57
  671. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  672. package/contracts/experiment/types/TypeA.sol +0 -47
  673. package/contracts/experiment/types/TypeB.sol +0 -29
  674. package/contracts/instance/InstanceAccessManager.sol +0 -297
  675. package/contracts/instance/base/ComponentService.sol +0 -134
  676. package/contracts/instance/base/KeyValueStore.sol +0 -172
  677. package/contracts/instance/base/Lifecycle.sol +0 -100
  678. package/contracts/instance/module/ISetup.sol +0 -47
  679. package/contracts/instance/module/ITreasury.sol +0 -23
  680. package/contracts/instance/service/ApplicationService.sol +0 -268
  681. package/contracts/instance/service/BundleService.sol +0 -298
  682. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  683. package/contracts/instance/service/DistributionService.sol +0 -291
  684. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  685. package/contracts/instance/service/IBundleService.sol +0 -54
  686. package/contracts/instance/service/IDistributionService.sol +0 -65
  687. package/contracts/instance/service/IPolicyService.sol +0 -88
  688. package/contracts/instance/service/IPoolService.sol +0 -20
  689. package/contracts/instance/service/IProductService.sol +0 -40
  690. package/contracts/instance/service/PolicyService.sol +0 -524
  691. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  692. package/contracts/instance/service/PoolService.sol +0 -109
  693. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  694. package/contracts/instance/service/ProductService.sol +0 -233
  695. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  696. package/contracts/registry/RegistryAccessManager.sol +0 -216
  697. package/contracts/registry/ReleaseManager.sol +0 -331
  698. package/contracts/shared/ContractDeployerLib.sol +0 -72
  699. package/contracts/shared/ProxyManager.sol +0 -95
  700. package/contracts/shared/Versionable.sol +0 -148
  701. package/contracts/test/TestFee.sol +0 -25
  702. package/contracts/test/TestRegisterable.sol +0 -18
  703. package/contracts/test/TestRoleId.sol +0 -14
  704. package/contracts/test/TestService.sol +0 -25
  705. package/contracts/test/TestVersion.sol +0 -44
  706. package/contracts/test/TestVersionable.sol +0 -17
  707. package/contracts/test/Usdc.sol +0 -26
  708. package/contracts/types/ChainId.sol +0 -38
  709. package/contracts/types/NumberId.sol +0 -52
  710. package/contracts/types/ObjectType.sol +0 -156
  711. package/contracts/types/RoleId.sol +0 -90
  712. /package/contracts/{types → type}/DistributorType.sol +0 -0
  713. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -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 {UFixed} from "../../types/UFixed.sol";
9
- import {TokenHandler} from "../../shared/TokenHandler.sol";
10
-
11
- interface ISetup {
12
- struct ProductSetupInfo {
13
- IERC20Metadata token;
14
- TokenHandler tokenHandler;
15
- NftId distributionNftId;
16
- NftId poolNftId;
17
- Fee distributionFee; // default distribution fee (no referral id)
18
- Fee productFee; // product fee on net premium
19
- Fee processingFee; // product fee on payout amounts
20
- Fee poolFee; // pool fee on net premium
21
- Fee stakingFee; // pool fee on staked capital from investor
22
- Fee performanceFee; // pool fee on profits from capital investors
23
- bool isIntercepting; // intercepts nft transfers (for products)
24
- address wallet;
25
- }
26
-
27
- struct DistributionSetupInfo {
28
- NftId productNftId;
29
- TokenHandler tokenHandler;
30
- Fee distributionFee; // default distribution fee (no referral id)
31
- address wallet;
32
- }
33
-
34
- struct PoolSetupInfo {
35
- NftId productNftId;
36
- TokenHandler tokenHandler;
37
- bool isInterceptingBundleTransfers; // intercepts nft transfers for bundles
38
- bool isExternallyManaged; // funding bundles is restricted to book keeping, actual funds may be provided as needed to support payouts
39
- bool isVerifyingApplications; // underwriting requires the pool component checks/confirms the applications
40
- UFixed collateralizationLevel; // factor to calculate collateral for sum insurance (default 100%)
41
- UFixed retentionLevel; // amount of collateral held in pool (default 100%)
42
- Fee poolFee; // pool fee on net premium
43
- Fee stakingFee; // pool fee on staked capital from investor
44
- Fee performanceFee; // pool fee on profits from capital investors
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
- }
@@ -1,268 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "./IApplicationService.sol";
6
-
7
- import {IRegistry} from "../../registry/IRegistry.sol";
8
- import {IProductComponent} from "../../components/IProductComponent.sol";
9
- import {Product} from "../../components/Product.sol";
10
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
11
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
12
- import {IInstance} from "../IInstance.sol";
13
- import {IPolicy} from "../module/IPolicy.sol";
14
- import {IRisk} from "../module/IRisk.sol";
15
- import {IBundle} from "../module/IBundle.sol";
16
- import {IProductService} from "./IProductService.sol";
17
- import {ITreasury} from "../module/ITreasury.sol";
18
- import {ISetup} from "../module/ISetup.sol";
19
-
20
- import {TokenHandler} from "../../shared/TokenHandler.sol";
21
-
22
- import {IVersionable} from "../../shared/IVersionable.sol";
23
- import {Versionable} from "../../shared/Versionable.sol";
24
-
25
- import {Timestamp, TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
26
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
27
- import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
28
- import {ObjectType, INSTANCE, PRODUCT, POOL, APPLICATION, POLICY, BUNDLE} from "../../types/ObjectType.sol";
29
- import {APPLIED, UNDERWRITTEN, ACTIVE, KEEP_STATE, CLOSED} from "../../types/StateId.sol";
30
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
31
- import {Fee, FeeLib} from "../../types/Fee.sol";
32
- import {ReferralId} from "../../types/Referral.sol";
33
- import {RiskId} from "../../types/RiskId.sol";
34
- import {StateId} from "../../types/StateId.sol";
35
- import {Version, VersionLib} from "../../types/Version.sol";
36
-
37
- import {ComponentService} from "../base/ComponentService.sol";
38
- import {InstanceReader} from "../InstanceReader.sol";
39
- import {IApplicationService} from "./IApplicationService.sol";
40
- import {IBundleService} from "./IBundleService.sol";
41
- import {IPoolService} from "./IPoolService.sol";
42
- import {IService} from "../../shared/IService.sol";
43
- import {Service} from "../../shared/Service.sol";
44
-
45
-
46
- contract ApplicationService is
47
- ComponentService,
48
- IApplicationService
49
- {
50
-
51
-
52
- function initialize(
53
- address owner,
54
- bytes memory data
55
- )
56
- public
57
- virtual
58
- initializer()
59
- {
60
- // TODO check this, might no longer be the way, refactor if necessary
61
- address registryAddress;
62
- address initialOwner;
63
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
64
-
65
- initializeService(registryAddress, owner);
66
- registerInterface(type(IApplicationService).interfaceId);
67
- }
68
-
69
-
70
- function create(
71
- address applicationOwner,
72
- RiskId riskId,
73
- NftId bundleNftId,
74
- ReferralId referralId,
75
- uint256 sumInsuredAmount,
76
- uint256 lifetime,
77
- bytes memory applicationData
78
- )
79
- external
80
- virtual override
81
- returns (NftId applicationNftId)
82
- {
83
- (IRegistry.ObjectInfo memory productInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
84
- // TODO: add validations (see create bundle in pool service)
85
-
86
- applicationNftId = getRegistryService().registerPolicy(
87
- IRegistry.ObjectInfo(
88
- zeroNftId(),
89
- productInfo.nftId,
90
- POLICY(),
91
- false, // intercepting property for policies is defined on product
92
- address(0),
93
- applicationOwner,
94
- ""
95
- )
96
- );
97
-
98
- (uint256 premiumAmount,,,,) = calculatePremium(
99
- riskId,
100
- sumInsuredAmount,
101
- lifetime,
102
- applicationData,
103
- bundleNftId,
104
- referralId
105
- );
106
-
107
- IPolicy.PolicyInfo memory policyInfo = IPolicy.PolicyInfo(
108
- productInfo.nftId,
109
- bundleNftId,
110
- referralId,
111
- riskId,
112
- sumInsuredAmount,
113
- premiumAmount,
114
- 0,
115
- lifetime,
116
- applicationData,
117
- "",
118
- 0,
119
- 0,
120
- 0,
121
- zeroTimestamp(),
122
- zeroTimestamp(),
123
- zeroTimestamp()
124
- );
125
-
126
- instance.createPolicy(applicationNftId, policyInfo);
127
- instance.updatePolicyState(applicationNftId, APPLIED());
128
-
129
- // TODO: add logging
130
- }
131
-
132
-
133
- function renew(
134
- NftId policyNftId, // policy to be renewd (renewal inherits policy attributes)
135
- NftId bundleNftId // will likely need a newer bundle for underwriting
136
- )
137
- external
138
- virtual override
139
- returns (NftId applicationNftId)
140
- {
141
-
142
- }
143
-
144
-
145
- function ajust(
146
- NftId applicationNftId,
147
- RiskId riskId,
148
- NftId bundleNftId,
149
- ReferralId referralId,
150
- uint256 sumInsuredAmount,
151
- uint256 lifetime,
152
- bytes memory applicationData
153
- )
154
- external
155
- virtual override
156
- {
157
-
158
- }
159
-
160
- function revoke(NftId policyNftId)
161
- external
162
- virtual override
163
- {
164
-
165
- }
166
-
167
-
168
- function calculatePremium(
169
- RiskId riskId,
170
- uint256 sumInsuredAmount,
171
- uint256 lifetime,
172
- bytes memory applicationData,
173
- NftId bundleNftId,
174
- ReferralId referralId
175
- )
176
- public
177
- view
178
- virtual override
179
- returns (
180
- uint256 premiumAmount,
181
- uint256 distributionFeeAmount,
182
- uint256 productFeeAmount,
183
- uint256 poolFeeAmount,
184
- uint256 bundleFeeAmount
185
- )
186
- {
187
- Product product = _getAndVerifyInstanceAndProduct();
188
- uint256 netPremiumAmount = product.calculateNetPremium(
189
- sumInsuredAmount,
190
- riskId,
191
- lifetime,
192
- applicationData
193
- );
194
-
195
- (
196
- productFeeAmount,
197
- poolFeeAmount,
198
- bundleFeeAmount,
199
- distributionFeeAmount
200
- ) = _calculateFeeAmounts(
201
- netPremiumAmount,
202
- product,
203
- bundleNftId,
204
- referralId
205
- );
206
-
207
- premiumAmount = netPremiumAmount + productFeeAmount;
208
- premiumAmount += poolFeeAmount + bundleFeeAmount;
209
- premiumAmount += distributionFeeAmount;
210
- }
211
-
212
-
213
- function getDomain() public pure override(IService, Service) returns(ObjectType) {
214
- return APPLICATION();
215
- }
216
-
217
-
218
- // internal functions
219
-
220
- function _calculateFeeAmounts(
221
- uint256 netPremiumAmount,
222
- Product product,
223
- NftId bundleNftId,
224
- ReferralId referralId
225
- )
226
- internal
227
- view
228
- returns (
229
- uint256 productFeeAmount,
230
- uint256 poolFeeAmount,
231
- uint256 bundleFeeAmount,
232
- uint256 distributionFeeAmount
233
- )
234
- {
235
- InstanceReader instanceReader;
236
- {
237
- IInstance instance = product.getInstance();
238
- instanceReader = instance.getInstanceReader();
239
- }
240
-
241
- NftId poolNftId = product.getPoolNftId();
242
- IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
243
- require(bundleInfo.poolNftId == poolNftId,"ERROR:PRS-035:BUNDLE_POOL_MISMATCH");
244
-
245
- {
246
- ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(product.getProductNftId());
247
- (productFeeAmount,) = FeeLib.calculateFee(productSetupInfo.productFee, netPremiumAmount);
248
- }
249
- {
250
- ISetup.PoolSetupInfo memory poolSetupInfo = instanceReader.getPoolSetupInfo(poolNftId);
251
- (poolFeeAmount,) = FeeLib.calculateFee(poolSetupInfo.poolFee, netPremiumAmount);
252
- }
253
- {
254
- NftId distributionNftId = product.getDistributionNftId();
255
- ISetup.DistributionSetupInfo memory distributionSetupInfo = instanceReader.getDistributionSetupInfo(distributionNftId);
256
- (distributionFeeAmount,) = FeeLib.calculateFee(distributionSetupInfo.distributionFee, netPremiumAmount);
257
- }
258
-
259
- (bundleFeeAmount,) = FeeLib.calculateFee(bundleInfo.fee, netPremiumAmount);
260
- }
261
-
262
-
263
- function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
264
- IRegistry.ObjectInfo memory productInfo;
265
- (productInfo,) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
266
- product = Product(productInfo.objectAddress);
267
- }
268
- }