@etherisc/gif-next 0.0.2-f0d86c2-077 → 0.0.2-f12cf4d-104

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 (746) hide show
  1. package/README.md +297 -26
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -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 +414 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1018 -0
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1471 -0
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +917 -0
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +961 -0
  34. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  44. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
  54. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  55. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +290 -1482
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +702 -0
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +418 -1761
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1653 -0
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2053 -0
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1011 -0
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +746 -0
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3668 -0
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  76. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  77. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  78. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  80. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  82. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  84. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  86. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  88. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  89. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  90. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  91. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  92. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  93. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  94. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  95. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  96. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  97. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +982 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +746 -0
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1254 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1469 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +850 -0
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +964 -0
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  125. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1285 -0
  128. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/Pool.sol/Pool.json +1029 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1635 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +786 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +787 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +734 -0
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1148 -0
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1439 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +858 -0
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +546 -0
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  149. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +942 -0
  150. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  151. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +931 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  153. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +578 -0
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  155. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1005 -0
  156. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  157. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +429 -0
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1316 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +802 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  166. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  167. package/artifacts/contracts/product/Product.sol/Product.json +1106 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  172. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1000 -119
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  177. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1019 -0
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
  180. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/Registry.sol/Registry.json +1427 -220
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  183. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1262 -0
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +737 -0
  188. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  189. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  191. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  193. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  194. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  195. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  196. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  197. package/artifacts/contracts/shared/Component.sol/Component.json +695 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1843 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +834 -0
  202. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +232 -235
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +111 -0
  206. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +620 -0
  208. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  209. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
  210. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  211. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
  212. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  213. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +140 -141
  214. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  215. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  216. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  217. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +47 -74
  218. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  219. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  220. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +113 -24
  222. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  223. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  224. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  225. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +182 -171
  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 +799 -0
  230. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  231. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  232. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  233. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  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 +4 -0
  237. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +209 -0
  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 +224 -23
  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 +4 -0
  245. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → shared/Service.sol/Service.json} +239 -173
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  247. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +822 -0
  248. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  249. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  250. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  251. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  252. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  253. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
  254. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  255. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  256. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  258. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  259. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  260. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  262. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  264. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  266. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
  268. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
  270. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  271. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  272. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  273. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  274. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  275. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  276. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  278. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  280. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  282. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  284. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  286. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  288. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  290. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  291. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  292. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  294. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  296. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  298. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  300. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  302. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  304. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  306. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  308. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  310. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  312. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  314. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  316. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  318. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  320. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  322. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  324. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  325. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  326. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  327. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  328. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  329. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  330. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  331. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  332. package/contracts/authorization/AccessAdmin.sol +596 -0
  333. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  334. package/contracts/authorization/Authorization.sol +289 -0
  335. package/contracts/authorization/IAccess.sol +49 -0
  336. package/contracts/authorization/IAccessAdmin.sol +137 -0
  337. package/contracts/authorization/IAuthorization.sol +60 -0
  338. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  339. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  340. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  341. package/contracts/distribution/BasicDistribution.sol +139 -0
  342. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  343. package/contracts/distribution/Distribution.sol +285 -0
  344. package/contracts/distribution/DistributionService.sol +355 -0
  345. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  346. package/contracts/distribution/IDistributionComponent.sol +52 -0
  347. package/contracts/distribution/IDistributionService.sol +101 -0
  348. package/contracts/examples/fire/DamageLevel.sol +59 -0
  349. package/contracts/examples/fire/FirePool.sol +86 -0
  350. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  351. package/contracts/examples/fire/FireProduct.sol +431 -0
  352. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  353. package/contracts/examples/fire/FireUSD.sol +26 -0
  354. package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
  355. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  356. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  357. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  358. package/contracts/instance/BundleSet.sol +126 -0
  359. package/contracts/instance/IInstance.sol +58 -44
  360. package/contracts/instance/IInstanceService.sol +71 -0
  361. package/contracts/instance/Instance.sol +218 -54
  362. package/contracts/instance/InstanceAdmin.sol +277 -0
  363. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  364. package/contracts/instance/InstanceReader.sol +495 -0
  365. package/contracts/instance/InstanceService.sol +414 -0
  366. package/contracts/instance/InstanceServiceManager.sol +39 -0
  367. package/contracts/instance/InstanceStore.sol +287 -0
  368. package/contracts/instance/base/BalanceStore.sol +123 -0
  369. package/contracts/instance/base/Cloneable.sol +28 -0
  370. package/contracts/instance/base/ObjectCounter.sol +21 -0
  371. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  372. package/contracts/instance/base/ObjectSet.sol +79 -0
  373. package/contracts/instance/module/IAccess.sol +46 -0
  374. package/contracts/instance/module/IBundle.sol +20 -0
  375. package/contracts/instance/module/IComponents.sol +50 -0
  376. package/contracts/instance/module/IDistribution.sol +41 -0
  377. package/contracts/instance/module/IPolicy.sol +85 -0
  378. package/contracts/instance/module/IRisk.sol +11 -0
  379. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  380. package/contracts/oracle/BasicOracle.sol +47 -0
  381. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  382. package/contracts/oracle/IOracle.sol +36 -0
  383. package/contracts/oracle/IOracleComponent.sol +33 -0
  384. package/contracts/oracle/IOracleService.sol +66 -0
  385. package/contracts/oracle/Oracle.sol +156 -0
  386. package/contracts/oracle/OracleService.sol +292 -0
  387. package/contracts/oracle/OracleServiceManager.sol +39 -0
  388. package/contracts/pool/BasicPool.sol +175 -0
  389. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  390. package/contracts/pool/BundleService.sol +485 -0
  391. package/contracts/pool/BundleServiceManager.sol +39 -0
  392. package/contracts/pool/IBundleService.sol +140 -0
  393. package/contracts/pool/IPoolComponent.sol +62 -0
  394. package/contracts/pool/IPoolService.sol +172 -0
  395. package/contracts/pool/Pool.sol +345 -0
  396. package/contracts/pool/PoolService.sol +620 -0
  397. package/contracts/pool/PoolServiceManager.sol +39 -0
  398. package/contracts/product/ApplicationService.sol +259 -0
  399. package/contracts/product/ApplicationServiceManager.sol +38 -0
  400. package/contracts/product/BasicProduct.sol +49 -0
  401. package/contracts/product/BasicProductAuthorization.sol +42 -0
  402. package/contracts/product/ClaimService.sol +614 -0
  403. package/contracts/product/ClaimServiceManager.sol +38 -0
  404. package/contracts/product/IApplicationService.sol +63 -0
  405. package/contracts/product/IClaimService.sol +123 -0
  406. package/contracts/product/IPolicyService.sol +82 -0
  407. package/contracts/product/IPricingService.sol +39 -0
  408. package/contracts/product/IProductComponent.sol +59 -0
  409. package/contracts/product/IRiskService.sol +33 -0
  410. package/contracts/product/PolicyService.sol +695 -0
  411. package/contracts/product/PolicyServiceManager.sol +39 -0
  412. package/contracts/product/PricingService.sol +300 -0
  413. package/contracts/product/PricingServiceManager.sol +39 -0
  414. package/contracts/product/Product.sol +432 -0
  415. package/contracts/product/RiskService.sol +96 -0
  416. package/contracts/product/RiskServiceManager.sol +39 -0
  417. package/contracts/registry/ChainNft.sol +128 -40
  418. package/contracts/registry/IRegistry.sol +144 -28
  419. package/contracts/registry/IRegistryService.sol +62 -0
  420. package/contracts/registry/ITransferInterceptor.sol +6 -0
  421. package/contracts/registry/Registry.sol +626 -282
  422. package/contracts/registry/RegistryAdmin.sol +462 -0
  423. package/contracts/registry/RegistryService.sol +241 -0
  424. package/contracts/registry/RegistryServiceManager.sol +53 -0
  425. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  426. package/contracts/registry/ReleaseRegistry.sol +485 -0
  427. package/contracts/registry/ServiceAuthorizationV3.sol +203 -0
  428. package/contracts/registry/TokenRegistry.sol +315 -0
  429. package/contracts/shared/Component.sol +229 -0
  430. package/contracts/shared/ComponentService.sol +779 -0
  431. package/contracts/shared/ComponentServiceManager.sol +38 -0
  432. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  433. package/contracts/shared/ContractLib.sol +54 -0
  434. package/contracts/shared/IComponent.sol +67 -0
  435. package/contracts/shared/IComponentService.sol +130 -0
  436. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  437. package/contracts/shared/IKeyValueStore.sol +54 -0
  438. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  439. package/contracts/shared/INftOwnable.sol +25 -0
  440. package/contracts/shared/IPolicyHolder.sol +35 -0
  441. package/contracts/shared/IRegisterable.sol +23 -21
  442. package/contracts/shared/IRegistryLinked.sol +11 -0
  443. package/contracts/shared/IService.sol +25 -0
  444. package/contracts/shared/InitializableERC165.sol +27 -0
  445. package/contracts/shared/InstanceLinkedComponent.sol +205 -0
  446. package/contracts/shared/KeyValueStore.sol +131 -0
  447. package/contracts/shared/Lifecycle.sol +88 -0
  448. package/contracts/shared/NftIdSet.sol +65 -0
  449. package/contracts/shared/NftOwnable.sol +127 -0
  450. package/contracts/shared/PolicyHolder.sol +62 -0
  451. package/contracts/shared/Registerable.sol +60 -63
  452. package/contracts/shared/RegistryLinked.sol +38 -0
  453. package/contracts/shared/Service.sol +84 -0
  454. package/contracts/shared/TokenHandler.sol +397 -0
  455. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  456. package/contracts/staking/IStaking.sol +173 -0
  457. package/contracts/staking/IStakingService.sol +157 -0
  458. package/contracts/staking/StakeManagerLib.sol +224 -0
  459. package/contracts/staking/Staking.sol +505 -0
  460. package/contracts/staking/StakingLifecycle.sol +23 -0
  461. package/contracts/staking/StakingManager.sol +52 -0
  462. package/contracts/staking/StakingReader.sol +190 -0
  463. package/contracts/staking/StakingService.sol +453 -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/type/DistributorType.sol +55 -0
  472. package/contracts/type/Fee.sol +66 -0
  473. package/contracts/{types → type}/Key32.sol +8 -3
  474. package/contracts/{types → type}/NftId.sol +22 -15
  475. package/contracts/type/NftIdSet.sol +62 -0
  476. package/contracts/type/ObjectType.sol +276 -0
  477. package/contracts/type/PayoutId.sol +82 -0
  478. package/contracts/type/Referral.sol +90 -0
  479. package/contracts/type/RequestId.sol +75 -0
  480. package/contracts/type/RiskId.sol +57 -0
  481. package/contracts/type/RoleId.sol +162 -0
  482. package/contracts/type/Seconds.sol +101 -0
  483. package/contracts/type/Selector.sol +102 -0
  484. package/contracts/{types → type}/StateId.sol +53 -5
  485. package/contracts/type/String.sol +53 -0
  486. package/contracts/{types → type}/Timestamp.sol +38 -15
  487. package/contracts/type/UFixed.sol +355 -0
  488. package/contracts/{types → type}/Version.sol +17 -2
  489. package/contracts/upgradeability/IVersionable.sol +53 -0
  490. package/contracts/upgradeability/ProxyManager.sol +232 -0
  491. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
  492. package/contracts/upgradeability/Versionable.sol +59 -0
  493. package/package.json +12 -7
  494. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  495. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  496. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  497. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  498. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  499. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  500. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  501. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  502. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  503. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  504. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  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/ISM.json +0 -124
  529. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  530. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  531. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  532. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  533. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  534. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  535. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  536. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  537. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  539. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  540. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  541. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  542. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  543. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  544. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -63
  545. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  546. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  547. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  549. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  550. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +0 -326
  551. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  552. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -692
  553. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  554. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  555. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  556. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  557. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  558. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  559. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  560. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  561. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  563. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  564. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -296
  565. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  567. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -296
  568. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  569. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  570. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  571. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  572. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  573. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  574. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  575. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  576. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  577. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  578. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  579. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  580. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  581. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  582. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  583. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  584. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  585. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  586. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  587. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  588. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  589. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  590. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  591. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  592. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  593. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
  594. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  595. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
  596. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  597. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  598. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  599. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
  600. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  601. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  602. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  603. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
  604. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  605. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -523
  606. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  607. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  608. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  609. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  610. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  611. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  612. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  613. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  614. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  615. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  616. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  617. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  618. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  619. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  620. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  621. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  622. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  623. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  624. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  625. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  626. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  627. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  628. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  629. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  630. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  631. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  632. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  633. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  634. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  635. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  636. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  637. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  638. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  639. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  640. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  641. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  642. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  643. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  644. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  645. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  646. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  648. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  649. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  650. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  652. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  653. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  654. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  655. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  656. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  657. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  658. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  659. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  660. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  661. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  662. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  663. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  664. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  665. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  666. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  667. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  668. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  669. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  670. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  671. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  672. package/contracts/components/BaseComponent.sol +0 -88
  673. package/contracts/components/IBaseComponent.sol +0 -19
  674. package/contracts/components/IPoolComponent.sol +0 -57
  675. package/contracts/components/IProductComponent.sol +0 -19
  676. package/contracts/components/Pool.sol +0 -174
  677. package/contracts/components/Product.sol +0 -117
  678. package/contracts/experiment/errors/Require.sol +0 -38
  679. package/contracts/experiment/errors/Revert.sol +0 -44
  680. package/contracts/experiment/inheritance/A.sol +0 -53
  681. package/contracts/experiment/inheritance/B.sol +0 -28
  682. package/contracts/experiment/inheritance/C.sol +0 -34
  683. package/contracts/experiment/inheritance/IA.sol +0 -13
  684. package/contracts/experiment/inheritance/IB.sol +0 -10
  685. package/contracts/experiment/inheritance/IC.sol +0 -12
  686. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  687. package/contracts/experiment/statemachine/ISM.sol +0 -25
  688. package/contracts/experiment/statemachine/README.md +0 -112
  689. package/contracts/experiment/statemachine/SM.sol +0 -57
  690. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  691. package/contracts/experiment/types/TypeA.sol +0 -47
  692. package/contracts/experiment/types/TypeB.sol +0 -29
  693. package/contracts/instance/IInstanceLinked.sol +0 -8
  694. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  695. package/contracts/instance/base/IInstanceBase.sol +0 -14
  696. package/contracts/instance/base/IKeyValueStore.sol +0 -49
  697. package/contracts/instance/base/IService.sol +0 -15
  698. package/contracts/instance/base/InstanceBase.sol +0 -80
  699. package/contracts/instance/base/KeyValueStore.sol +0 -156
  700. package/contracts/instance/base/Lifecycle.sol +0 -95
  701. package/contracts/instance/base/ModuleBase.sol +0 -52
  702. package/contracts/instance/base/ServiceBase.sol +0 -37
  703. package/contracts/instance/module/access/Access.sol +0 -149
  704. package/contracts/instance/module/access/IAccess.sol +0 -53
  705. package/contracts/instance/module/bundle/BundleModule.sol +0 -136
  706. package/contracts/instance/module/bundle/IBundle.sol +0 -58
  707. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  708. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  709. package/contracts/instance/module/component/ComponentModule.sol +0 -95
  710. package/contracts/instance/module/component/IComponent.sol +0 -53
  711. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  712. package/contracts/instance/module/policy/PolicyModule.sol +0 -76
  713. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  714. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  715. package/contracts/instance/module/risk/IRisk.sol +0 -10
  716. package/contracts/instance/module/risk/RiskModule.sol +0 -8
  717. package/contracts/instance/module/treasury/ITreasury.sol +0 -103
  718. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  719. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
  720. package/contracts/instance/service/ComponentOwnerService.sol +0 -170
  721. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  722. package/contracts/instance/service/IPoolService.sol +0 -30
  723. package/contracts/instance/service/IProductService.sol +0 -58
  724. package/contracts/instance/service/PoolService.sol +0 -123
  725. package/contracts/instance/service/ProductService.sol +0 -354
  726. package/contracts/registry/IChainNft.sol +0 -21
  727. package/contracts/registry/IRegistryLinked.sol +0 -8
  728. package/contracts/shared/ERC165.sol +0 -21
  729. package/contracts/shared/IOwnable.sol +0 -6
  730. package/contracts/shared/IVersionable.sol +0 -52
  731. package/contracts/shared/Versionable.sol +0 -89
  732. package/contracts/test/TestFee.sol +0 -25
  733. package/contracts/test/TestPool.sol +0 -22
  734. package/contracts/test/TestProduct.sol +0 -44
  735. package/contracts/test/TestRegisterable.sol +0 -19
  736. package/contracts/test/TestRoleId.sol +0 -14
  737. package/contracts/test/TestService.sol +0 -32
  738. package/contracts/test/TestToken.sol +0 -26
  739. package/contracts/test/TestVersion.sol +0 -44
  740. package/contracts/test/TestVersionable.sol +0 -17
  741. package/contracts/types/ChainId.sol +0 -38
  742. package/contracts/types/Fee.sol +0 -51
  743. package/contracts/types/NftIdSet.sol +0 -60
  744. package/contracts/types/ObjectType.sol +0 -115
  745. package/contracts/types/RoleId.sol +0 -38
  746. package/contracts/types/UFixed.sol +0 -209
@@ -1,156 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
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, blockTimestamp, zeroTimestamp} 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
- address private _owner;
18
-
19
- modifier onlyOwner() {
20
- require(
21
- msg.sender == _owner,
22
- "ERROR:KVS-001:NOT_OWNER");
23
- _;
24
- }
25
-
26
- constructor() {
27
- _owner = msg.sender;
28
- }
29
-
30
- function create(
31
- Key32 key32,
32
- ObjectType objectType,
33
- bytes memory data
34
- )
35
- public
36
- onlyOwner
37
- {
38
- require(objectType.gtz(), "ERROR:KVS-010:TYPE_UNDEFINED");
39
-
40
- Metadata storage metadata = _value[key32].metadata;
41
- require(metadata.state.eqz(), "ERROR:KVS-012:ALREADY_CREATED");
42
-
43
- address createdBy = msg.sender;
44
- Blocknumber blocknumber = blockBlocknumber();
45
- StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
46
-
47
- // set metadata
48
- metadata.objectType = objectType;
49
- metadata.state = initialState;
50
- metadata.updatedBy = createdBy;
51
- metadata.updatedIn = blocknumber;
52
- metadata.createdIn = blocknumber;
53
-
54
- // set data
55
- _value[key32].data = data;
56
-
57
- emit LogInfoCreated(toKey(key32), initialState, createdBy);
58
- }
59
-
60
- function update(Key32 key32, StateId state, bytes memory data)
61
- public
62
- onlyOwner
63
- {
64
- require(state.gtz(), "ERROR:KVS-020:STATE_UNDEFINED");
65
- Metadata storage metadata = _value[key32].metadata;
66
- StateId stateOld = metadata.state;
67
- require(stateOld.gtz(), "ERROR:KVS-021:NOT_EXISTING");
68
-
69
- // update data
70
- _value[key32].data = data;
71
-
72
- // update metadata (and state)
73
- address updatedBy = msg.sender;
74
- Blocknumber lastUpdatedIn = metadata.updatedIn;
75
- metadata.state = state;
76
- metadata.updatedBy = updatedBy;
77
- metadata.updatedIn = blockBlocknumber();
78
-
79
- // create log entries
80
- Key memory key = toKey(key32);
81
- emit LogStateUpdated(key, state, stateOld, updatedBy, lastUpdatedIn);
82
- emit LogInfoUpdated(key, state, updatedBy, lastUpdatedIn);
83
- }
84
-
85
- function updateData(Key32 key32, bytes memory data)
86
- public
87
- onlyOwner
88
- {
89
- Metadata storage metadata = _value[key32].metadata;
90
- StateId state = metadata.state;
91
- require(state.gtz(), "ERROR:KVS-030:NOT_EXISTING");
92
-
93
- // update data
94
- _value[key32].data = data;
95
-
96
- // update metadata
97
- address updatedBy = msg.sender;
98
- Blocknumber lastUpdatedIn = metadata.updatedIn;
99
- metadata.updatedBy = updatedBy;
100
- metadata.updatedIn = blockBlocknumber();
101
-
102
- // create log entry
103
- Key memory key = toKey(key32);
104
- emit LogInfoUpdated(key, state, updatedBy, lastUpdatedIn);
105
- }
106
-
107
- function updateState(Key32 key32, StateId state)
108
- public
109
- onlyOwner
110
- {
111
- require(state.gtz(), "ERROR:KVS-040:STATE_UNDEFINED");
112
- Metadata storage metadata = _value[key32].metadata;
113
- StateId stateOld = metadata.state;
114
- require(stateOld.gtz(), "ERROR:KVS-041:NOT_EXISTING");
115
-
116
- // update metadata (and state)
117
- address updatedBy = msg.sender;
118
- Blocknumber lastUpdatedIn = metadata.updatedIn;
119
- metadata.state = state;
120
- metadata.updatedBy = updatedBy;
121
- metadata.updatedIn = blockBlocknumber();
122
-
123
- // create log entry
124
- Key memory key = toKey(key32);
125
- emit LogStateUpdated(key, state, stateOld, updatedBy, lastUpdatedIn);
126
- }
127
-
128
- function exists(Key32 key32) public view returns (bool) {
129
- return _value[key32].metadata.state.gtz();
130
- }
131
-
132
- function get(Key32 key32) public view returns (Value memory value) {
133
- return _value[key32];
134
- }
135
-
136
- function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
137
- return _value[key32].metadata;
138
- }
139
-
140
- function getData(Key32 key32) public view returns (bytes memory data) {
141
- return _value[key32].data;
142
- }
143
-
144
- function getState(Key32 key32) public view returns (StateId state) {
145
- return _value[key32].metadata.state;
146
- }
147
-
148
- function toKey32(ObjectType objectType, KeyId id) external pure returns(Key32) {
149
- return Key32Lib.toKey32(objectType, id);
150
- }
151
-
152
- function toKey(Key32 key32) public pure returns (Key memory key) {
153
- (ObjectType objectType, KeyId id) = key32.toKey();
154
- return Key(objectType, id);
155
- }
156
- }
@@ -1,95 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {ObjectType, PRODUCT, ORACLE, POOL, BUNDLE, POLICY} 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
- _setupComponentLifecycle(PRODUCT());
18
- _setupComponentLifecycle(ORACLE());
19
- _setupComponentLifecycle(POOL());
20
-
21
- _setupBundleLifecycle();
22
- _setupPolicyLifecycle();
23
- }
24
-
25
- function hasLifecycle(
26
- ObjectType objectType
27
- )
28
- public
29
- view
30
- override
31
- returns (bool)
32
- {
33
- return _initialState[objectType].gtz();
34
- }
35
-
36
- function getInitialState(
37
- ObjectType objectType
38
- )
39
- public
40
- view
41
- returns (StateId)
42
- {
43
- return _initialState[objectType];
44
- }
45
-
46
- function checkTransition(
47
- ObjectType objectType,
48
- StateId fromId,
49
- StateId toId
50
- )
51
- public
52
- view
53
- {
54
- // return if no life cycle support
55
- if (_initialState[objectType].eqz()) {
56
- return;
57
- }
58
-
59
- // enforce valid state transition
60
- if (!_isValidTransition[objectType][fromId][toId]) {
61
- revert ErrorInvalidStateTransition(objectType, fromId, toId);
62
- }
63
- }
64
-
65
- function isValidTransition(
66
- ObjectType objectType,
67
- StateId fromId,
68
- StateId toId
69
- ) public view returns (bool) {
70
- return _isValidTransition[objectType][fromId][toId];
71
- }
72
-
73
- function _setupComponentLifecycle(ObjectType objectType) internal {
74
- _initialState[objectType] = ACTIVE();
75
- _isValidTransition[objectType][ACTIVE()][PAUSED()] = true;
76
- _isValidTransition[objectType][PAUSED()][ACTIVE()] = true;
77
- _isValidTransition[objectType][PAUSED()][ARCHIVED()] = true;
78
- }
79
-
80
- function _setupBundleLifecycle() internal {
81
- _initialState[BUNDLE()] = ACTIVE();
82
- _isValidTransition[BUNDLE()][ACTIVE()][PAUSED()] = true;
83
- _isValidTransition[BUNDLE()][PAUSED()][ACTIVE()] = true;
84
- _isValidTransition[BUNDLE()][PAUSED()][CLOSED()] = true;
85
- }
86
-
87
- function _setupPolicyLifecycle() internal {
88
- _initialState[POLICY()] = APPLIED();
89
- _isValidTransition[POLICY()][APPLIED()][REVOKED()] = true;
90
- _isValidTransition[POLICY()][APPLIED()][DECLINED()] = true;
91
- _isValidTransition[POLICY()][APPLIED()][UNDERWRITTEN()] = true;
92
- _isValidTransition[POLICY()][UNDERWRITTEN()][ACTIVE()] = true;
93
- _isValidTransition[POLICY()][ACTIVE()][CLOSED()] = true;
94
- }
95
- }
@@ -1,52 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
-
6
- import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
7
- import {Key32, KeyId} from "../../types/Key32.sol";
8
- import {LibNftIdSet} from "../../types/NftIdSet.sol";
9
- import {NftId} from "../../types/NftId.sol";
10
- import {ObjectType, PRODUCT, ORACLE, POOL, BUNDLE, POLICY} from "../../types/ObjectType.sol";
11
- import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, REVOKED, DECLINED} from "../../types/StateId.sol";
12
- import {Timestamp, blockTimestamp, zeroTimestamp} from "../../types/Timestamp.sol";
13
-
14
- import {IKeyValueStore} from "./IKeyValueStore.sol";
15
-
16
- abstract contract ModuleBase {
17
-
18
- IKeyValueStore private _store;
19
- ObjectType private _type;
20
-
21
- function _initialize(IKeyValueStore keyValueStore, ObjectType objectType) internal {
22
- _store = keyValueStore;
23
- _type = objectType;
24
- }
25
-
26
- function _create(NftId nftId, bytes memory data) internal {
27
- _store.create(
28
- _toKey32(nftId),
29
- _type,
30
- data);
31
- }
32
-
33
- function _updateData(NftId nftId, bytes memory data) internal {
34
- _store.updateData(_toKey32(nftId), data);
35
- }
36
-
37
- function _updateState(NftId nftId, StateId state) internal {
38
- _store.updateState(_toKey32(nftId), state);
39
- }
40
-
41
- function _getData(NftId nftId) internal view returns(bytes memory data) {
42
- return _store.getData(_toKey32(nftId));
43
- }
44
-
45
- function _getState(NftId nftId) internal view returns(StateId) {
46
- return _store.getState(_toKey32(nftId));
47
- }
48
-
49
- function _toKey32(NftId nftId) internal view returns (Key32 key32) {
50
- return nftId.toKey32(_type);
51
- }
52
- }
@@ -1,37 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId, zeroNftId} from "../../types/NftId.sol";
5
- import {ObjectType, SERVICE} from "../../types/ObjectType.sol";
6
- import {Version, VersionPart} from "../../types/Version.sol";
7
-
8
- import {Registerable} from "../../shared/Registerable.sol";
9
- import {IVersionable} from "../../shared/IVersionable.sol";
10
- import {Versionable} from "../../shared/Versionable.sol";
11
-
12
- import {IService} from "./IService.sol";
13
-
14
- abstract contract ServiceBase is
15
- Registerable,
16
- Versionable,
17
- IService
18
- {
19
-
20
- constructor(
21
- address registry,
22
- NftId registryNftId
23
- )
24
- Registerable(registry, registryNftId)
25
- Versionable()
26
- {
27
- _registerInterface(type(IService).interfaceId);
28
- }
29
-
30
- function getMajorVersion() external view override returns(VersionPart majorVersion) {
31
- return this.getVersion().toMajorPart();
32
- }
33
-
34
- function getType() external pure override returns (ObjectType) {
35
- return SERVICE();
36
- }
37
- }
@@ -1,149 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // role admin handling of oz doesn't fit nft ownability
5
- // import {AccessControlEnumerable} from "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
6
- import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
7
-
8
- import {RoleId, RoleIdLib} from "../../../types/RoleId.sol";
9
- import {DISTRIBUTOR_OWNER_ROLE, ORACLE_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE} from "../../../types/RoleId.sol";
10
- import {DISTRIBUTOR_OWNER_ROLE_NAME, ORACLE_OWNER_ROLE_NAME, POOL_OWNER_ROLE_NAME, PRODUCT_OWNER_ROLE_NAME} from "../../../types/RoleId.sol";
11
- import {IAccessModule} from "./IAccess.sol";
12
-
13
- abstract contract AccessModule is IAccessModule {
14
-
15
- using EnumerableSet for EnumerableSet.AddressSet;
16
-
17
- mapping(RoleId role => RoleInfo info) private _info;
18
- RoleId[] private _roles;
19
-
20
- mapping(RoleId role => mapping(address member => bool isMember))
21
- private _isRoleMember;
22
- mapping(RoleId role => EnumerableSet.AddressSet members) private _roleMembers;
23
-
24
- modifier onlyAccessOwner() {
25
- require(
26
- msg.sender == this.getOwner(),
27
- "ERROR:ACS-001:NOT_OWNER");
28
- _;
29
- }
30
-
31
- modifier onlyExistingRole(RoleId role) {
32
- require(
33
- _info[role].id == role,
34
- "ERROR:ACS-002:ROLE_NOT_EXISTING");
35
- _;
36
- }
37
-
38
- constructor() {
39
- _createRole(DISTRIBUTOR_OWNER_ROLE(), DISTRIBUTOR_OWNER_ROLE_NAME());
40
- _createRole(ORACLE_OWNER_ROLE(), ORACLE_OWNER_ROLE_NAME());
41
- _createRole(POOL_OWNER_ROLE(), POOL_OWNER_ROLE_NAME());
42
- _createRole(PRODUCT_OWNER_ROLE(), PRODUCT_OWNER_ROLE_NAME());
43
- }
44
-
45
- function createRole(
46
- string memory roleName
47
- ) public override onlyAccessOwner returns (RoleId role) {
48
- role = RoleIdLib.toRoleId(roleName);
49
- require(
50
- !roleExists(role),
51
- "ERROR:ACS-010:ROLE_ALREADY_EXISTS");
52
-
53
- _createRole(role, roleName);
54
- }
55
-
56
- function setRoleState(RoleId role, bool active) external override onlyExistingRole(role) onlyAccessOwner {
57
- RoleInfo memory info = _info[role];
58
- info.isActive = active;
59
- _setRoleInfo(info);
60
-
61
- emit LogAccessRoleStateSet(role, active);
62
- }
63
-
64
- function grantRole(
65
- RoleId role,
66
- address member
67
- ) external override onlyExistingRole(role) onlyAccessOwner {
68
- require(_info[role].isActive, "ERROR:ACS-040:ROLE_NOT_ACTIVE");
69
-
70
- _isRoleMember[role][member] = true;
71
- _roleMembers[role].add(member);
72
-
73
- emit LogAccessRoleGranted(role, member, _isRoleMember[role][member]);
74
- }
75
-
76
- function revokeRole(
77
- RoleId role,
78
- address member
79
- ) external override onlyExistingRole(role) onlyAccessOwner {
80
- delete _isRoleMember[role][member];
81
- _roleMembers[role].remove(member);
82
-
83
- emit LogAccessRoleGranted(role, member, false);
84
- }
85
-
86
- function roleExists(RoleId role) public view virtual override returns (bool) {
87
- return _info[role].id == role;
88
- }
89
-
90
- function hasRole(
91
- RoleId role,
92
- address member
93
- ) public view virtual override returns (bool) {
94
- return _isRoleMember[role][member];
95
- }
96
-
97
- function getRoleId(string memory roleName) external pure override returns (RoleId role) {
98
- return RoleIdLib.toRoleId(roleName);
99
- }
100
-
101
- function getRoleInfo(
102
- RoleId role
103
- ) external view override returns (RoleInfo memory info) {
104
- return _info[role];
105
- }
106
-
107
- function getRole(
108
- uint256 idx
109
- ) external view override returns (RoleId role) {
110
- return _roles[idx];
111
- }
112
-
113
- function getRoleCount() external view override returns (uint256 roles) {
114
- return _roles.length;
115
- }
116
-
117
- function getRoleMemberCount(
118
- RoleId role
119
- ) public view override returns (uint256 roleMembers) {
120
- return _roleMembers[role].length();
121
- }
122
-
123
- function getRoleMember(
124
- RoleId role,
125
- uint256 idx
126
- ) public view override returns (address roleMembers) {
127
- return _roleMembers[role].at(idx);
128
- }
129
-
130
- function _createRole(
131
- RoleId role,
132
- string memory roleName
133
- ) internal {
134
- RoleInfo memory info = RoleInfo(role, roleName, true);
135
- _setRoleInfo(info);
136
-
137
- emit LogAccessRoleCreated(role, roleName);
138
- }
139
-
140
- function _setRoleInfo(
141
- RoleInfo memory info
142
- ) internal {
143
- RoleId role = info.id;
144
- _info[role] = info;
145
- if(!roleExists(role)) {
146
- _roles.push(role);
147
- }
148
- }
149
- }
@@ -1,53 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {RoleId} from "../../../types/RoleId.sol";
5
-
6
- interface IAccess {
7
- struct RoleInfo {
8
- RoleId id;
9
- string name;
10
- bool isActive;
11
- }
12
- }
13
-
14
- interface IAccessModule is
15
- IAccess
16
- {
17
- event LogAccessRoleCreated(RoleId role, string roleName);
18
- event LogAccessRoleStateSet(RoleId role, bool active);
19
- event LogAccessRoleGranted(RoleId role, address member, bool isMember);
20
-
21
- function createRole(string memory roleName) external returns (RoleId role);
22
-
23
- function setRoleState(RoleId role, bool active) external;
24
-
25
- function grantRole(RoleId role, address member) external;
26
-
27
- function revokeRole(RoleId role, address member) external;
28
-
29
- function roleExists(RoleId role) external view returns (bool);
30
-
31
- function hasRole(RoleId role, address member) external view returns (bool);
32
-
33
- function getRoleCount() external view returns (uint256 roles);
34
-
35
- function getRole(uint256 idx) external view returns (RoleId role);
36
-
37
- function getRoleId(string memory roleName) external pure returns (RoleId role);
38
-
39
- function getRoleInfo(
40
- RoleId role
41
- ) external view returns (RoleInfo memory info);
42
-
43
- function getRoleMemberCount(
44
- RoleId role
45
- ) external view returns (uint256 roleMembers);
46
-
47
- function getRoleMember(
48
- RoleId role,
49
- uint256 idx
50
- ) external view returns (address roleMember);
51
-
52
- function getOwner() external view returns (address owner);
53
- }
@@ -1,136 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../../registry/IRegistry.sol";
5
-
6
- import {IProductService} from "../../service/IProductService.sol";
7
- import {IPoolService} from "../../service/IPoolService.sol";
8
-
9
- import {NftId} from "../../../types/NftId.sol";
10
- import {Key32, KeyId} from "../../../types/Key32.sol";
11
- import {LibNftIdSet} from "../../../types/NftIdSet.sol";
12
- import {ObjectType, PRODUCT, ORACLE, POOL, BUNDLE, POLICY} from "../../../types/ObjectType.sol";
13
- import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, REVOKED, DECLINED} from "../../../types/StateId.sol";
14
- import {Timestamp, blockTimestamp, zeroTimestamp} from "../../../types/Timestamp.sol";
15
- import {Blocknumber, blockNumber} from "../../../types/Blocknumber.sol";
16
-
17
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
18
- import {ModuleBase} from "../../base/ModuleBase.sol";
19
-
20
- import {IBundleModule} from "./IBundle.sol";
21
-
22
- abstract contract BundleModule is
23
- ModuleBase,
24
- IBundleModule
25
- {
26
-
27
- using LibNftIdSet for LibNftIdSet.Set;
28
-
29
- mapping(NftId bundleNftId => LibNftIdSet.Set policies) private _collateralizedPolicies;
30
- mapping(NftId bundleNftId => mapping(NftId policyNftId => uint256 amount)) private _collateralizationAmount;
31
-
32
- modifier onlyBundlePoolService() {
33
- require(
34
- msg.sender == address(this.getPoolService()),
35
- "ERROR:BDL-001:NOT_POOL_SERVICE"
36
- );
37
- _;
38
- }
39
-
40
- modifier onlyBundleProductService() {
41
- require(
42
- msg.sender == address(this.getProductService()),
43
- "ERROR:BDL-002:NOT_PRODUCT_SERVICE"
44
- );
45
- _;
46
- }
47
-
48
- modifier onlyPoolOrProductService() {
49
- require(
50
- msg.sender == address(this.getPoolService())
51
- || msg.sender == address(this.getProductService()),
52
- "ERROR:BDL-003:NOT_POOL_OR_PRODUCT_SERVICE"
53
- );
54
- _;
55
- }
56
-
57
- function initializeBundleModule(IKeyValueStore keyValueStore) internal {
58
- _initialize(keyValueStore, BUNDLE());
59
- }
60
-
61
- function createBundleInfo(
62
- NftId bundleNftId,
63
- NftId poolNftId,
64
- uint256 amount,
65
- uint256 lifetime,
66
- bytes calldata filter
67
- )
68
- external
69
- onlyBundlePoolService
70
- override
71
- {
72
- BundleInfo memory bundleInfo = BundleInfo(
73
- bundleNftId,
74
- poolNftId,
75
- filter,
76
- amount, // capital
77
- 0, // locked capital
78
- amount, // balance
79
- blockTimestamp().addSeconds(lifetime), // expiredAt
80
- zeroTimestamp() // closedAt
81
- );
82
-
83
- _create(bundleNftId, abi.encode(bundleInfo));
84
- }
85
-
86
- function setBundleInfo(BundleInfo memory bundleInfo)
87
- external
88
- override
89
- onlyPoolOrProductService
90
- {
91
- _updateData(bundleInfo.nftId, abi.encode(bundleInfo));
92
- }
93
-
94
- function updateBundleState(NftId bundleNftId, StateId state)
95
- external
96
- override
97
- onlyBundlePoolService
98
- {
99
- _updateState(bundleNftId, state);
100
- }
101
-
102
- function collateralizePolicy(
103
- NftId bundleNftId,
104
- NftId policyNftId,
105
- uint256 collateralAmount
106
- )
107
- external
108
- onlyBundleProductService
109
- override
110
- {
111
- _collateralizationAmount[bundleNftId][policyNftId] = collateralAmount;
112
- _collateralizedPolicies[bundleNftId].add(policyNftId);
113
- }
114
-
115
- function releasePolicy(
116
- NftId bundleNftId,
117
- NftId policyNftId
118
- )
119
- external
120
- onlyBundleProductService
121
- override
122
- returns(uint256 collateralAmount)
123
- {
124
- collateralAmount = _collateralizationAmount[bundleNftId][policyNftId];
125
- delete _collateralizationAmount[bundleNftId][policyNftId];
126
- _collateralizedPolicies[bundleNftId].remove(policyNftId);
127
- }
128
-
129
- function getBundleInfo(NftId bundleNftId) external view override returns(BundleInfo memory bundleInfo) {
130
- return abi.decode(_getData(bundleNftId), (BundleInfo));
131
- }
132
-
133
- function toBundleKey32(NftId bundleNftId) external view override returns (Key32 key32) {
134
- return _toKey32(bundleNftId);
135
- }
136
- }