@etherisc/gif-next 0.0.2-e875d61-189 → 0.0.2-e8b06c8-540

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 (719) hide show
  1. package/README.md +267 -40
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1248 -0
  4. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  6. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  7. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  10. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  12. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
  16. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.json +1385 -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 +171 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1505 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1191 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1394 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +900 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +843 -0
  36. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +240 -1457
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +752 -0
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +386 -1697
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  46. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.json +1616 -0
  48. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  49. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  50. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  51. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
  52. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1735 -0
  54. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1155 -0
  56. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  57. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +734 -0
  58. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  59. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3592 -0
  60. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  62. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  64. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  66. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  67. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +181 -0
  68. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  69. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  70. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  71. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  72. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  73. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  74. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  76. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  78. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  79. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  80. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  81. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  82. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  83. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  84. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  86. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  88. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  90. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  92. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1063 -0
  94. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  96. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  98. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  100. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  102. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  103. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  104. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  106. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  107. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +703 -0
  108. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  109. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +959 -0
  110. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  111. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  112. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  113. package/artifacts/contracts/pool/Pool.sol/Pool.json +1269 -0
  114. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  115. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  116. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  117. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  118. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  119. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  120. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  122. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  123. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1299 -0
  124. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  125. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  126. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  127. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  128. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  129. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  130. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +256 -221
  132. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  133. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  134. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  135. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  136. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  137. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
  138. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  139. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +966 -0
  140. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  141. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IProductService.sol/IProductService.json} +207 -171
  142. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  143. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  144. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  146. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  147. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  148. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  150. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  151. package/artifacts/contracts/product/Product.sol/Product.json +1257 -0
  152. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  153. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  154. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  156. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +199 -12
  158. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +678 -77
  160. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  161. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1123 -0
  162. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  163. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  164. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  165. package/artifacts/contracts/registry/Registry.sol/Registry.json +865 -107
  166. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  167. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1741 -0
  168. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  169. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1452 -0
  170. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +721 -0
  172. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  173. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1237 -0
  174. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +195 -0
  176. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  177. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  178. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  179. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  180. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  181. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  182. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  183. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  184. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  185. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  186. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  187. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  188. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  189. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  190. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  191. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  192. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  193. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -0
  194. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  195. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +539 -0
  196. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  197. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  198. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  199. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  200. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  201. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  202. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  203. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  204. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  205. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  206. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +718 -0
  208. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  209. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +77 -169
  210. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  212. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  213. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +37 -80
  214. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  215. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  216. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  217. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -31
  218. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  219. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  220. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  221. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/IService.sol/IService.json} +154 -152
  222. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +16 -125
  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/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  227. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +996 -0
  228. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  229. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  230. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  231. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  232. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  233. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  234. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  235. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +244 -0
  236. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  237. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  238. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  239. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +617 -0
  240. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +255 -23
  242. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  243. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  244. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  245. package/artifacts/contracts/shared/Service.sol/Service.json +507 -0
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  247. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  248. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  249. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  250. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +29 -115
  252. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  253. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  254. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  255. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  256. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  258. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  259. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  260. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -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 +1343 -0
  266. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  268. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
  270. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  271. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  272. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  273. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  274. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -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 +179 -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 +312 -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 +86 -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 +198 -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 +293 -0
  314. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  315. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  316. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -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 +49 -0
  322. package/contracts/authorization/AccessAdmin.sol +622 -0
  323. package/contracts/authorization/Authorization.sol +218 -0
  324. package/contracts/authorization/IAccess.sol +48 -0
  325. package/contracts/authorization/IAccessAdmin.sol +136 -0
  326. package/contracts/authorization/IAuthorization.sol +54 -0
  327. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  328. package/contracts/authorization/IServiceAuthorization.sol +35 -0
  329. package/contracts/authorization/InstanceAdmin.sol +108 -0
  330. package/contracts/authorization/ModuleAuthorization.sol +203 -0
  331. package/contracts/authorization/ServiceAuthorization.sol +86 -0
  332. package/contracts/distribution/BasicDistribution.sol +149 -0
  333. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  334. package/contracts/distribution/Distribution.sol +283 -0
  335. package/contracts/distribution/DistributionService.sol +303 -0
  336. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  337. package/contracts/distribution/IDistributionComponent.sol +78 -0
  338. package/contracts/distribution/IDistributionService.sol +85 -0
  339. package/contracts/instance/BundleManager.sol +126 -0
  340. package/contracts/instance/IInstance.sol +79 -43
  341. package/contracts/instance/IInstanceService.sol +91 -0
  342. package/contracts/instance/Instance.sol +278 -56
  343. package/contracts/instance/InstanceAdmin.sol +334 -0
  344. package/contracts/instance/InstanceAdminNew.sol +261 -0
  345. package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
  346. package/contracts/instance/InstanceAuthorizationsLib.sol +422 -0
  347. package/contracts/instance/InstanceReader.sol +410 -0
  348. package/contracts/instance/InstanceService.sol +516 -0
  349. package/contracts/instance/InstanceServiceManager.sol +44 -0
  350. package/contracts/instance/InstanceStore.sol +273 -0
  351. package/contracts/instance/base/BalanceStore.sol +123 -0
  352. package/contracts/instance/base/Cloneable.sol +28 -0
  353. package/contracts/instance/base/ObjectCounter.sol +21 -0
  354. package/contracts/instance/base/ObjectManager.sol +79 -0
  355. package/contracts/instance/module/IAccess.sol +46 -0
  356. package/contracts/instance/module/IBundle.sol +20 -0
  357. package/contracts/instance/module/IComponents.sol +52 -0
  358. package/contracts/instance/module/IDistribution.sol +42 -0
  359. package/contracts/instance/module/IPolicy.sol +84 -0
  360. package/contracts/instance/module/IRisk.sol +11 -0
  361. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  362. package/contracts/oracle/BasicOracle.sol +48 -0
  363. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  364. package/contracts/oracle/IOracle.sol +36 -0
  365. package/contracts/oracle/IOracleComponent.sol +32 -0
  366. package/contracts/oracle/IOracleService.sol +65 -0
  367. package/contracts/oracle/Oracle.sol +157 -0
  368. package/contracts/oracle/OracleService.sol +278 -0
  369. package/contracts/oracle/OracleServiceManager.sol +42 -0
  370. package/contracts/pool/BasicPool.sol +164 -0
  371. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  372. package/contracts/pool/BundleService.sol +296 -0
  373. package/contracts/pool/BundleServiceManager.sol +42 -0
  374. package/contracts/pool/IBundleService.sol +106 -0
  375. package/contracts/pool/IPoolComponent.sol +52 -0
  376. package/contracts/pool/IPoolService.sol +150 -0
  377. package/contracts/pool/Pool.sol +311 -0
  378. package/contracts/pool/PoolService.sol +452 -0
  379. package/contracts/pool/PoolServiceManager.sol +42 -0
  380. package/contracts/product/ApplicationService.sol +254 -0
  381. package/contracts/product/ApplicationServiceManager.sol +38 -0
  382. package/contracts/product/BasicProduct.sol +82 -0
  383. package/contracts/product/BasicProductAuthorization.sol +40 -0
  384. package/contracts/product/ClaimService.sol +442 -0
  385. package/contracts/product/ClaimServiceManager.sol +38 -0
  386. package/contracts/product/IApplicationService.sol +62 -0
  387. package/contracts/product/IClaimService.sol +99 -0
  388. package/contracts/product/IPolicyService.sol +78 -0
  389. package/contracts/product/IPricingService.sol +39 -0
  390. package/contracts/product/IProductComponent.sol +39 -0
  391. package/contracts/product/IProductService.sol +33 -0
  392. package/contracts/product/PolicyService.sol +475 -0
  393. package/contracts/product/PolicyServiceManager.sol +42 -0
  394. package/contracts/product/PricingService.sol +300 -0
  395. package/contracts/product/PricingServiceManager.sol +42 -0
  396. package/contracts/product/Product.sol +392 -0
  397. package/contracts/product/ProductService.sol +124 -0
  398. package/contracts/product/ProductServiceManager.sol +42 -0
  399. package/contracts/registry/ChainNft.sol +95 -37
  400. package/contracts/registry/IRegistry.sol +95 -28
  401. package/contracts/registry/IRegistryService.sol +69 -0
  402. package/contracts/registry/ITransferInterceptor.sol +7 -0
  403. package/contracts/registry/Registry.sol +482 -281
  404. package/contracts/registry/RegistryAdmin.sol +363 -0
  405. package/contracts/registry/RegistryService.sol +266 -0
  406. package/contracts/registry/RegistryServiceManager.sol +53 -0
  407. package/contracts/registry/ReleaseManager.sol +530 -0
  408. package/contracts/registry/ServiceAuthorizationV3.sol +202 -0
  409. package/contracts/registry/TokenRegistry.sol +315 -0
  410. package/contracts/shared/AccessManagerCustom.sol +741 -0
  411. package/contracts/shared/AccessManagerExtended.sol +481 -0
  412. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  413. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  414. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  415. package/contracts/shared/Component.sol +281 -0
  416. package/contracts/shared/ComponentService.sol +626 -0
  417. package/contracts/shared/ComponentServiceManager.sol +35 -0
  418. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  419. package/contracts/shared/ERC165.sol +15 -9
  420. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  421. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  422. package/contracts/shared/IComponent.sol +70 -0
  423. package/contracts/shared/IComponentService.sol +102 -0
  424. package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
  425. package/contracts/shared/IKeyValueStore.sol +53 -0
  426. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -4
  427. package/contracts/shared/INftOwnable.sol +23 -0
  428. package/contracts/shared/IPolicyHolder.sol +45 -0
  429. package/contracts/shared/IRegisterable.sol +10 -19
  430. package/contracts/shared/IRegistryLinked.sol +11 -0
  431. package/contracts/shared/IService.sol +25 -0
  432. package/contracts/shared/IVersionable.sol +38 -37
  433. package/contracts/shared/InitializableCustom.sol +177 -0
  434. package/contracts/shared/InstanceLinkedComponent.sol +152 -0
  435. package/contracts/shared/KeyValueStore.sol +127 -0
  436. package/contracts/{instance/base → shared}/Lifecycle.sol +47 -9
  437. package/contracts/shared/NftIdSetManager.sol +65 -0
  438. package/contracts/shared/NftOwnable.sol +107 -0
  439. package/contracts/shared/PolicyHolder.sol +102 -0
  440. package/contracts/shared/ProxyManager.sol +199 -0
  441. package/contracts/shared/Registerable.sol +54 -65
  442. package/contracts/shared/RegistryLinked.sol +43 -0
  443. package/contracts/shared/Service.sol +83 -0
  444. package/contracts/shared/TokenHandler.sol +58 -0
  445. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  446. package/contracts/shared/Versionable.sol +38 -68
  447. package/contracts/staking/IStaking.sol +168 -0
  448. package/contracts/staking/IStakingService.sol +153 -0
  449. package/contracts/staking/StakeManagerLib.sol +231 -0
  450. package/contracts/staking/Staking.sol +513 -0
  451. package/contracts/staking/StakingManager.sol +54 -0
  452. package/contracts/staking/StakingReader.sol +187 -0
  453. package/contracts/staking/StakingService.sol +411 -0
  454. package/contracts/staking/StakingServiceManager.sol +44 -0
  455. package/contracts/staking/StakingStore.sol +613 -0
  456. package/contracts/staking/TargetManagerLib.sol +207 -0
  457. package/contracts/{types → type}/AddressSet.sol +1 -1
  458. package/contracts/type/Amount.sol +128 -0
  459. package/contracts/{types → type}/Blocknumber.sol +21 -3
  460. package/contracts/type/ClaimId.sol +75 -0
  461. package/contracts/type/DistributorType.sol +55 -0
  462. package/contracts/type/Fee.sol +66 -0
  463. package/contracts/{types → type}/Key32.sol +8 -3
  464. package/contracts/{types → type}/NftId.sol +21 -15
  465. package/contracts/type/NftIdSet.sol +62 -0
  466. package/contracts/type/ObjectType.sol +275 -0
  467. package/contracts/type/PayoutId.sol +82 -0
  468. package/contracts/type/Referral.sol +89 -0
  469. package/contracts/type/RequestId.sol +75 -0
  470. package/contracts/type/RiskId.sol +43 -0
  471. package/contracts/type/RoleId.sol +202 -0
  472. package/contracts/type/Seconds.sol +81 -0
  473. package/contracts/type/Selector.sol +102 -0
  474. package/contracts/{types → type}/StateId.sol +39 -5
  475. package/contracts/type/String.sol +53 -0
  476. package/contracts/{types → type}/Timestamp.sol +27 -14
  477. package/contracts/type/UFixed.sol +332 -0
  478. package/contracts/{types → type}/Version.sol +15 -2
  479. package/package.json +11 -7
  480. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  481. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  482. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  483. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  484. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  485. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  486. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  487. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  488. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -455
  489. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  490. package/artifacts/contracts/components/Product.sol/Product.json +0 -348
  491. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  492. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  493. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  494. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  495. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  496. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  497. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  498. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  499. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  501. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  503. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  505. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  507. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  509. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  511. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  512. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  513. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  515. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  517. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  519. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  521. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  523. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  525. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  526. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  527. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  528. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  529. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  530. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -81
  531. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  532. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  533. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  534. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  535. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  537. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  538. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  539. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  540. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  541. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  542. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  543. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  544. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  545. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  546. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  547. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  548. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  549. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -265
  550. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  551. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  552. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -265
  553. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  554. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  555. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  556. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  557. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  558. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  559. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  560. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -136
  561. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  563. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  564. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -136
  565. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  567. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -273
  568. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  569. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -273
  570. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  571. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  572. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  573. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
  574. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  575. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
  576. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  577. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  578. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
  579. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  580. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
  581. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  582. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  583. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  584. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -531
  585. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  586. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  587. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  588. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -531
  589. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  590. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -523
  591. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  592. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  593. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -376
  594. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  595. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  596. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  597. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  598. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  599. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  600. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  601. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  602. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  603. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  604. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  605. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  606. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  607. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -455
  608. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  609. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -436
  610. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  611. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  612. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  613. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  614. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  615. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  616. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  617. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  618. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  619. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  620. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  621. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  622. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  623. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  624. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  625. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  627. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  628. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  629. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  630. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  631. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  632. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  633. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  634. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  635. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  636. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  637. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  638. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  639. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  640. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  641. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  642. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  643. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  644. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  645. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  646. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  647. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  648. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  649. package/contracts/components/BaseComponent.sol +0 -94
  650. package/contracts/components/IBaseComponent.sol +0 -19
  651. package/contracts/components/IPoolComponent.sol +0 -57
  652. package/contracts/components/IProductComponent.sol +0 -19
  653. package/contracts/components/Pool.sol +0 -191
  654. package/contracts/components/Product.sol +0 -134
  655. package/contracts/experiment/errors/Require.sol +0 -38
  656. package/contracts/experiment/errors/Revert.sol +0 -44
  657. package/contracts/experiment/inheritance/A.sol +0 -53
  658. package/contracts/experiment/inheritance/B.sol +0 -28
  659. package/contracts/experiment/inheritance/C.sol +0 -34
  660. package/contracts/experiment/inheritance/IA.sol +0 -13
  661. package/contracts/experiment/inheritance/IB.sol +0 -10
  662. package/contracts/experiment/inheritance/IC.sol +0 -12
  663. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  664. package/contracts/experiment/statemachine/ISM.sol +0 -25
  665. package/contracts/experiment/statemachine/README.md +0 -112
  666. package/contracts/experiment/statemachine/SM.sol +0 -57
  667. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  668. package/contracts/experiment/types/TypeA.sol +0 -47
  669. package/contracts/experiment/types/TypeB.sol +0 -29
  670. package/contracts/instance/IInstanceLinked.sol +0 -8
  671. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  672. package/contracts/instance/base/IInstanceBase.sol +0 -19
  673. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  674. package/contracts/instance/base/IService.sol +0 -15
  675. package/contracts/instance/base/InstanceBase.sol +0 -84
  676. package/contracts/instance/base/KeyValueStore.sol +0 -161
  677. package/contracts/instance/base/ModuleBase.sol +0 -46
  678. package/contracts/instance/base/ServiceBase.sol +0 -37
  679. package/contracts/instance/module/access/Access.sol +0 -149
  680. package/contracts/instance/module/access/IAccess.sol +0 -53
  681. package/contracts/instance/module/bundle/BundleModule.sol +0 -135
  682. package/contracts/instance/module/bundle/IBundle.sol +0 -51
  683. package/contracts/instance/module/compensation/CompensationModule.sol +0 -17
  684. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  685. package/contracts/instance/module/component/ComponentModule.sol +0 -81
  686. package/contracts/instance/module/component/IComponent.sol +0 -29
  687. package/contracts/instance/module/policy/IPolicy.sol +0 -59
  688. package/contracts/instance/module/policy/PolicyModule.sol +0 -89
  689. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  690. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  691. package/contracts/instance/module/risk/IRisk.sol +0 -10
  692. package/contracts/instance/module/risk/RiskModule.sol +0 -17
  693. package/contracts/instance/module/treasury/ITreasury.sol +0 -96
  694. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  695. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -171
  696. package/contracts/instance/service/ComponentOwnerService.sol +0 -155
  697. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  698. package/contracts/instance/service/IPoolService.sol +0 -30
  699. package/contracts/instance/service/IProductService.sol +0 -58
  700. package/contracts/instance/service/PoolService.sol +0 -129
  701. package/contracts/instance/service/ProductService.sol +0 -366
  702. package/contracts/registry/IChainNft.sol +0 -21
  703. package/contracts/registry/IRegistryLinked.sol +0 -8
  704. package/contracts/shared/IOwnable.sol +0 -6
  705. package/contracts/test/TestFee.sol +0 -25
  706. package/contracts/test/TestPool.sol +0 -24
  707. package/contracts/test/TestProduct.sol +0 -51
  708. package/contracts/test/TestRegisterable.sol +0 -19
  709. package/contracts/test/TestRoleId.sol +0 -14
  710. package/contracts/test/TestService.sol +0 -32
  711. package/contracts/test/TestToken.sol +0 -26
  712. package/contracts/test/TestVersion.sol +0 -44
  713. package/contracts/test/TestVersionable.sol +0 -17
  714. package/contracts/types/ChainId.sol +0 -38
  715. package/contracts/types/Fee.sol +0 -51
  716. package/contracts/types/NftIdSet.sol +0 -60
  717. package/contracts/types/ObjectType.sol +0 -123
  718. package/contracts/types/RoleId.sol +0 -38
  719. package/contracts/types/UFixed.sol +0 -209
@@ -1,81 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
6
- import {IComponentModule} from "./IComponent.sol";
7
-
8
- import {NftId} from "../../../types/NftId.sol";
9
- import {ObjectType, COMPONENT} from "../../../types/ObjectType.sol";
10
- import {StateId} from "../../../types/StateId.sol";
11
- import {ModuleBase} from "../../base/ModuleBase.sol";
12
-
13
- abstract contract ComponentModule is
14
- ModuleBase,
15
- IComponentModule
16
- {
17
-
18
- NftId[] private _nftIds;
19
-
20
- modifier onlyComponentOwnerService() {
21
- require(
22
- msg.sender == address(this.getComponentOwnerService()),
23
- "ERROR:CMP-001:NOT_OWNER_SERVICE"
24
- );
25
- _;
26
- }
27
-
28
- function initializeComponentModule(IKeyValueStore keyValueStore) internal {
29
- _initialize(keyValueStore);
30
- }
31
-
32
- function registerComponent(
33
- NftId nftId,
34
- IERC20Metadata token,
35
- address wallet
36
- )
37
- external
38
- onlyComponentOwnerService
39
- override
40
- {
41
- ComponentInfo memory info = ComponentInfo(token, wallet);
42
- _nftIds.push(nftId);
43
- _create(COMPONENT(), nftId, abi.encode(info));
44
- }
45
-
46
- function getComponentState(
47
- NftId nftId
48
- )
49
- external
50
- view
51
- override
52
- returns (StateId state)
53
- {
54
- return _getState(COMPONENT(), nftId);
55
- }
56
-
57
- function getComponentToken(NftId nftId) external view override returns(IERC20Metadata token) {
58
- ComponentInfo memory info = abi.decode(_getData(COMPONENT(), nftId), (ComponentInfo));
59
- return info.token;
60
- }
61
-
62
- function getComponentWallet(NftId nftId) external view override returns (address wallet) {
63
- ComponentInfo memory info = abi.decode(_getData(COMPONENT(), nftId), (ComponentInfo));
64
- return info.wallet;
65
- }
66
-
67
- function getComponentCount()
68
- external
69
- view
70
- override
71
- returns (uint256 numberOfCompnents)
72
- {
73
- return _nftIds.length;
74
- }
75
-
76
- function getComponentId(
77
- uint256 idx
78
- ) external view override returns (NftId componentNftId) {
79
- return _nftIds[idx];
80
- }
81
- }
@@ -1,29 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
- import {IComponentOwnerService} from "../../service/IComponentOwnerService.sol";
6
-
7
- import {StateId} from "../../../types/StateId.sol";
8
- import {NftId} from "../../../types/NftId.sol";
9
-
10
- interface IComponent {
11
- struct ComponentInfo {
12
- IERC20Metadata token;
13
- address wallet;
14
- }
15
- }
16
-
17
- interface IComponentModule is IComponent {
18
-
19
- function registerComponent(NftId nftId, IERC20Metadata token, address wallet) external;
20
- function getComponentState(NftId nftId) external view returns (StateId state);
21
- function getComponentToken(NftId nftId) external view returns (IERC20Metadata token);
22
- function getComponentWallet(NftId nftId) external view returns (address wallet);
23
-
24
- function getComponentCount() external view returns (uint256 numberOfCompnents);
25
- function getComponentId(uint256 idx) external view returns (NftId nftId);
26
-
27
- // repeat service linked signaturea to avoid linearization issues
28
- function getComponentOwnerService() external view returns(IComponentOwnerService);
29
- }
@@ -1,59 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../../registry/IRegistry.sol";
5
- import {IInstance} from "../../IInstance.sol";
6
- import {IProductService} from "../../service/IProductService.sol";
7
- import {NftId} from "../../../types/NftId.sol";
8
- import {StateId} from "../../../types/StateId.sol";
9
- import {Timestamp} from "../../../types/Timestamp.sol";
10
-
11
- // TODO check if there is value to introuce IContract and let IPolicy derive from IContract
12
- interface IPolicy {
13
- struct PolicyInfo {
14
- NftId productNftId;
15
- NftId bundleNftId;
16
- address beneficiary;
17
- uint256 sumInsuredAmount;
18
- uint256 premiumAmount;
19
- uint256 premiumPaidAmount;
20
- uint256 lifetime;
21
- bytes applicationData;
22
- bytes policyData;
23
- Timestamp activatedAt; // time of underwriting
24
- Timestamp expiredAt; // no new claims (activatedAt + lifetime)
25
- Timestamp closedAt; // no locked capital
26
- }
27
- }
28
-
29
- interface IPolicyModule is IPolicy {
30
- function createPolicyInfo(
31
- NftId productNftId,
32
- NftId policyNftId,
33
- uint256 sumInsuredAmount,
34
- uint256 premiumAmount,
35
- uint256 lifetime,
36
- NftId bundleNftId
37
- ) external;
38
-
39
- function setPolicyInfo(NftId policyNftId, PolicyInfo memory info) external;
40
- function updatePolicyState(NftId nftId, StateId state) external;
41
-
42
- // function underwrite(NftId nftId) external;
43
-
44
- // function processPremium(NftId nftId, uint256 amount) external;
45
-
46
- // function activate(NftId nftId, Timestamp activateAt) external;
47
-
48
- function getPolicyInfo(
49
- NftId nftId
50
- ) external view returns (PolicyInfo memory info);
51
-
52
- function getPolicyState(NftId nftId) external view returns (StateId state);
53
-
54
- // repeat registry linked signature
55
- function getRegistry() external view returns (IRegistry registry);
56
-
57
- // repeat service linked signature to avoid linearization issues
58
- function getProductService() external returns(IProductService);
59
- }
@@ -1,89 +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 {IPolicy, IPolicyModule} from "./IPolicy.sol";
8
- import {ObjectType, POLICY} from "../../../types/ObjectType.sol";
9
- import {NftId, NftIdLib} from "../../../types/NftId.sol";
10
- import {StateId} from "../../../types/StateId.sol";
11
- import {Timestamp, blockTimestamp, zeroTimestamp} from "../../../types/Timestamp.sol";
12
-
13
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
14
- import {ModuleBase} from "../../base/ModuleBase.sol";
15
-
16
- abstract contract PolicyModule is
17
- ModuleBase,
18
- IPolicyModule
19
- {
20
-
21
- // TODO find a better place to avoid dupliation
22
- modifier onlyProductService2() {
23
- require(
24
- msg.sender == address(this.getProductService()),
25
- "ERROR:POL-001:NOT_PRODUCT_SERVICE"
26
- );
27
- _;
28
- }
29
-
30
- function initializePolicyModule(IKeyValueStore keyValueStore) internal {
31
- _initialize(keyValueStore);
32
- }
33
-
34
- function createPolicyInfo(
35
- NftId policyNftId,
36
- NftId productNftId,
37
- uint256 sumInsuredAmount,
38
- uint256 premiumAmount,
39
- uint256 lifetime,
40
- NftId bundleNftId
41
- )
42
- external
43
- onlyProductService2
44
- override
45
- {
46
- PolicyInfo memory info = PolicyInfo(
47
- productNftId,
48
- bundleNftId,
49
- address(0), // beneficiary = policy nft holder
50
- sumInsuredAmount,
51
- premiumAmount,
52
- 0, // premium paid amount
53
- lifetime,
54
- "", // applicationData
55
- "", // policyData
56
- zeroTimestamp(), // activatedAt
57
- zeroTimestamp(), // expiredAt
58
- zeroTimestamp() // closedAt
59
- );
60
-
61
- _create(POLICY(), policyNftId, abi.encode(info));
62
- }
63
-
64
- function setPolicyInfo(NftId policyNftId, PolicyInfo memory info)
65
- external
66
- override
67
- onlyProductService2
68
- {
69
- _updateData(POLICY(), policyNftId, abi.encode(info));
70
- }
71
-
72
- function updatePolicyState(NftId bundleNftId, StateId state)
73
- external
74
- override
75
- onlyProductService2
76
- {
77
- _updateState(POLICY(), bundleNftId, state);
78
- }
79
-
80
- function getPolicyInfo(
81
- NftId nftId
82
- ) external view returns (PolicyInfo memory info) {
83
- return abi.decode(_getData(POLICY(), nftId), (PolicyInfo));
84
- }
85
-
86
- function getPolicyState(NftId nftId) external view override returns(StateId state) {
87
- return _getState(POLICY(), nftId);
88
- }
89
- }
@@ -1,40 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../../registry/IRegistry.sol";
5
- import {NftId} from "../../../types/NftId.sol";
6
- import {UFixed} from "../../../types/UFixed.sol";
7
- import {IProductService} from "../../service/IProductService.sol";
8
- import {IPoolService} from "../../service/IPoolService.sol";
9
-
10
- interface IPool {
11
- struct PoolInfo {
12
- bool isVerifying;
13
- UFixed collateralizationLevel;
14
- }
15
- }
16
-
17
- interface IPoolModule is IPool {
18
-
19
- function registerPool(
20
- NftId poolNftId,
21
- bool isVerifying,
22
- UFixed collateralizationLevel
23
- ) external;
24
-
25
- function addBundleToPool(
26
- NftId bundleNftId,
27
- NftId poolNftId,
28
- uint256 amount
29
- ) external;
30
-
31
- function getPoolInfo(
32
- NftId nftId
33
- ) external view returns (PoolInfo memory info);
34
-
35
- function getBundleCount(NftId poolNftId) external view returns (uint256 bundleCount);
36
- function getBundleNftId(NftId poolNftId, uint256 index) external view returns (NftId bundleNftId);
37
-
38
- // repeat service linked signatures to avoid linearization issues
39
- function getPoolService() external returns(IPoolService);
40
- }
@@ -1,90 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../../registry/IRegistry.sol";
5
- import {IProductService} from "../../service/IProductService.sol";
6
- import {IPoolService} from "../../service/IPoolService.sol";
7
- import {IPolicy, IPolicyModule} from "../../module/policy/IPolicy.sol";
8
- import {ITreasuryModule} from "../../module/treasury/ITreasury.sol";
9
-
10
- import {NftId} from "../../../types/NftId.sol";
11
- import {POOL} from "../../../types/ObjectType.sol";
12
- import {LibNftIdSet} from "../../../types/NftIdSet.sol";
13
- import {StateId, APPLIED} from "../../../types/StateId.sol";
14
- import {UFixed} from "../../../types/UFixed.sol";
15
-
16
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
17
- import {IPoolModule} from "./IPoolModule.sol";
18
- import {ModuleBase} from "../../base/ModuleBase.sol";
19
-
20
- abstract contract PoolModule is
21
- ModuleBase,
22
- IPoolModule
23
- {
24
- using LibNftIdSet for LibNftIdSet.Set;
25
-
26
- // mapping(NftId poolNftId => PoolInfo info) private _poolInfo;
27
- mapping(NftId poolNftId => LibNftIdSet.Set bundles) private _bundlesForPool;
28
-
29
- modifier poolServiceCallingPool() {
30
- require(
31
- msg.sender == address(this.getPoolService()),
32
- "ERROR:PL-001:NOT_POOL_SERVICE"
33
- );
34
- _;
35
- }
36
-
37
- function initializePoolModule(IKeyValueStore keyValueStore) internal {
38
- _initialize(keyValueStore);
39
- }
40
-
41
- function registerPool(
42
- NftId nftId,
43
- bool isVerifying,
44
- UFixed collateralizationRate
45
- )
46
- public
47
- override
48
- {
49
- PoolInfo memory info = PoolInfo(
50
- isVerifying,
51
- collateralizationRate
52
- );
53
-
54
- _create(POOL(), nftId, abi.encode(info));
55
- }
56
-
57
- function addBundleToPool(
58
- NftId bundleNftId,
59
- NftId poolNftId,
60
- uint256 // amount
61
- )
62
- external
63
- override
64
- {
65
- LibNftIdSet.Set storage bundleSet = _bundlesForPool[poolNftId];
66
- require(
67
- !bundleSet.contains(bundleNftId),
68
- "ERROR:PL-020:BUNDLE_ALREADY_ADDED");
69
-
70
- bundleSet.add(bundleNftId);
71
- }
72
-
73
-
74
- function getPoolInfo(
75
- NftId nftId
76
- ) external view override returns (PoolInfo memory info) {
77
- return abi.decode(_getData(POOL(), nftId), (PoolInfo));
78
- }
79
-
80
-
81
- function getBundleCount(NftId poolNftId) external view override returns (uint256 bundleCount) {
82
- return _bundlesForPool[poolNftId].getLength();
83
- }
84
-
85
-
86
- function getBundleNftId(NftId poolNftId, uint256 index) external view override returns (NftId bundleNftId) {
87
- return _bundlesForPool[poolNftId].getElementAt(index);
88
- }
89
-
90
- }
@@ -1,10 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IRisk {
5
-
6
- }
7
-
8
- interface IRiskModule is IRisk {
9
-
10
- }
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRiskModule} from "./IRisk.sol";
5
-
6
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
7
- import {ModuleBase} from "../../base/ModuleBase.sol";
8
-
9
- contract RiskModule is
10
- ModuleBase,
11
- IRiskModule
12
- {
13
- function initializeRiskModule(IKeyValueStore keyValueStore) internal {
14
- _initialize(keyValueStore);
15
- }
16
-
17
- }
@@ -1,96 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {NftId} from "../../../types/NftId.sol";
7
- import {UFixed} from "../../../types/UFixed.sol";
8
- import {Fee} from "../../../types/Fee.sol";
9
-
10
- import {TokenHandler} from "./TokenHandler.sol";
11
-
12
- interface ITreasury {
13
- // TODO add events
14
- // TODO add errors
15
-
16
- // treasury info is linked to product nft id
17
- struct TreasuryInfo {
18
- NftId compensationNftId;
19
- NftId poolNftId;
20
- IERC20Metadata token;
21
- Fee commissionFee;
22
- Fee policyFee;
23
- Fee processingFee;
24
- Fee stakingFee;
25
- Fee performanceFee;
26
- }
27
- }
28
-
29
- interface ITreasuryModule is ITreasury {
30
-
31
- function registerProductSetup(
32
- NftId productNftId,
33
- NftId distributorNftId,
34
- NftId poolNftId,
35
- IERC20Metadata token,
36
- Fee memory policyFee,
37
- Fee memory processingFee,
38
- Fee memory stakingFee,
39
- Fee memory performanceFee
40
- ) external;
41
-
42
- function setTreasuryInfo(
43
- NftId productNftId,
44
- TreasuryInfo memory info
45
- ) external;
46
-
47
- function getTreasuryInfo(
48
- NftId productNftId
49
- ) external view returns (TreasuryInfo memory info);
50
-
51
- // function setProductFees(
52
- // NftId productNftId,
53
- // Fee memory policyFee,
54
- // Fee memory processingFee
55
- // ) external;
56
-
57
- // function setCompensationFees(
58
- // NftId poolNftId,
59
- // Fee memory distributionFee
60
- // ) external;
61
-
62
- // function setPoolFees(
63
- // NftId poolNftId,
64
- // Fee memory stakingFee,
65
- // Fee memory performanceFee
66
- // ) external;
67
-
68
- function getProductNftId(
69
- NftId componentNftId
70
- ) external view returns (NftId productNftId);
71
-
72
- function getTokenHandler(
73
- NftId componentNftId
74
- ) external view returns (TokenHandler tokenHandler);
75
-
76
- function calculateFeeAmount(
77
- uint256 amount,
78
- Fee memory fee
79
- ) external pure returns (uint256 feeAmount, uint256 netAmount);
80
-
81
- function getFee(
82
- UFixed fractionalFee,
83
- uint256 fixedFee
84
- ) external pure returns (Fee memory fee);
85
-
86
- function getZeroFee() external view returns (Fee memory fee);
87
-
88
- function getUFixed(
89
- uint256 a
90
- ) external pure returns (UFixed);
91
-
92
- function getUFixed(
93
- uint256 a,
94
- int8 exp
95
- ) external pure returns (UFixed);
96
- }
@@ -1,48 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {NftId} from "../../../types/NftId.sol";
7
-
8
- contract TokenHandler {
9
- NftId private _productNftId;
10
- IERC20Metadata private _token;
11
-
12
- constructor(
13
- NftId productNftId,
14
- address token
15
- )
16
- {
17
- _productNftId = productNftId;
18
- _token = IERC20Metadata(token);
19
- }
20
-
21
- // TODO add logging
22
- function transfer(
23
- address from,
24
- address to,
25
- uint256 amount
26
- )
27
- external // TODO add authz (only treasury/instance/product/pool/ service)
28
- {
29
- // TODO switch to oz safeTransferFrom
30
- _token.transferFrom(from, to, amount);
31
- }
32
-
33
- function getProductNftId()
34
- external
35
- view
36
- returns(NftId)
37
- {
38
- return _productNftId;
39
- }
40
-
41
- function getToken()
42
- external
43
- view
44
- returns(IERC20Metadata)
45
- {
46
- return _token;
47
- }
48
- }