@etherisc/gif-next 0.0.2-91f98cf-477 → 0.0.2-92c1619-347

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 (773) hide show
  1. package/README.md +267 -42
  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 +1402 -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 +1048 -0
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1439 -0
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +830 -0
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +929 -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 +1538 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2077 -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 +1471 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -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 +311 -1644
  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 +451 -1999
  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 +2058 -0
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +995 -0
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +722 -0
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3678 -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/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  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 +1039 -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 +788 -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 +907 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +966 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +722 -0
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1299 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1465 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +834 -0
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +960 -0
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  125. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +960 -0
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1283 -0
  128. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/Pool.sol/Pool.json +1098 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1625 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +766 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +771 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +710 -0
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1173 -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 +1431 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +838 -0
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +253 -337
  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 +925 -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 +1012 -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 +1302 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +782 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingService.sol/PricingService.json +907 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +762 -0
  166. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  167. package/artifacts/contracts/product/Product.sol/Product.json +1131 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -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 +976 -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 +1403 -220
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  183. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1886 -0
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1246 -0
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +713 -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 +725 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1768 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +814 -0
  202. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +268 -234
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  206. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +632 -0
  208. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  209. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1335 -0
  210. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  211. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +723 -0
  212. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  213. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +122 -172
  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 +829 -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/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +225 -159
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  247. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +469 -0
  248. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  249. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  250. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  251. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1465 -0
  252. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  253. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  254. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  256. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  257. package/artifacts/contracts/staking/Staking.sol/Staking.json +1888 -0
  258. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  260. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +776 -0
  262. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  264. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1249 -0
  266. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +710 -0
  268. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  270. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  271. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  272. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  273. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  274. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  276. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  278. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  280. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  282. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  284. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  286. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  288. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  289. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  290. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  292. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  294. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  296. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  298. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  300. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  302. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  304. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  306. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  308. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  310. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  312. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  314. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  316. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  318. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  320. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  322. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  323. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  324. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  325. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +602 -0
  326. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  327. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  328. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  329. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  330. package/contracts/authorization/AccessAdmin.sol +596 -0
  331. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  332. package/contracts/authorization/Authorization.sol +289 -0
  333. package/contracts/authorization/IAccess.sol +49 -0
  334. package/contracts/authorization/IAccessAdmin.sol +137 -0
  335. package/contracts/authorization/IAuthorization.sol +60 -0
  336. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  337. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  338. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  339. package/contracts/distribution/BasicDistribution.sol +139 -0
  340. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  341. package/contracts/distribution/Distribution.sol +285 -0
  342. package/contracts/distribution/DistributionService.sol +355 -0
  343. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  344. package/contracts/distribution/IDistributionComponent.sol +52 -0
  345. package/contracts/distribution/IDistributionService.sol +101 -0
  346. package/contracts/examples/fire/DamageLevel.sol +59 -0
  347. package/contracts/examples/fire/FirePool.sol +75 -0
  348. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  349. package/contracts/examples/fire/FireProduct.sol +418 -0
  350. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  351. package/contracts/examples/fire/FireUSD.sol +26 -0
  352. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  353. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  354. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  355. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  356. package/contracts/instance/BundleSet.sol +126 -0
  357. package/contracts/instance/IInstance.sol +59 -46
  358. package/contracts/instance/IInstanceService.sol +72 -0
  359. package/contracts/instance/Instance.sol +219 -61
  360. package/contracts/instance/InstanceAdmin.sol +277 -0
  361. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  362. package/contracts/instance/InstanceReader.sol +495 -0
  363. package/contracts/instance/InstanceService.sol +411 -0
  364. package/contracts/instance/InstanceServiceManager.sol +39 -0
  365. package/contracts/instance/InstanceStore.sol +287 -0
  366. package/contracts/instance/base/BalanceStore.sol +123 -0
  367. package/contracts/instance/base/Cloneable.sol +28 -0
  368. package/contracts/instance/base/ObjectCounter.sol +21 -0
  369. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  370. package/contracts/instance/base/ObjectSet.sol +79 -0
  371. package/contracts/instance/module/IAccess.sol +46 -0
  372. package/contracts/instance/module/IBundle.sol +20 -0
  373. package/contracts/instance/module/IComponents.sol +51 -0
  374. package/contracts/instance/module/IDistribution.sol +41 -0
  375. package/contracts/instance/module/IPolicy.sol +84 -0
  376. package/contracts/instance/module/IRisk.sol +11 -0
  377. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  378. package/contracts/oracle/BasicOracle.sol +47 -0
  379. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  380. package/contracts/oracle/IOracle.sol +36 -0
  381. package/contracts/oracle/IOracleComponent.sol +33 -0
  382. package/contracts/oracle/IOracleService.sol +66 -0
  383. package/contracts/oracle/Oracle.sol +156 -0
  384. package/contracts/oracle/OracleService.sol +291 -0
  385. package/contracts/oracle/OracleServiceManager.sol +39 -0
  386. package/contracts/pool/BasicPool.sol +154 -0
  387. package/contracts/pool/BasicPoolAuthorization.sol +57 -0
  388. package/contracts/pool/BundleService.sol +493 -0
  389. package/contracts/pool/BundleServiceManager.sol +39 -0
  390. package/contracts/pool/IBundleService.sol +143 -0
  391. package/contracts/pool/IPoolComponent.sol +68 -0
  392. package/contracts/pool/IPoolService.sol +167 -0
  393. package/contracts/pool/Pool.sol +335 -0
  394. package/contracts/pool/PoolService.sol +544 -0
  395. package/contracts/pool/PoolServiceManager.sol +39 -0
  396. package/contracts/product/ApplicationService.sol +257 -0
  397. package/contracts/product/ApplicationServiceManager.sol +38 -0
  398. package/contracts/product/BasicProduct.sol +53 -0
  399. package/contracts/product/BasicProductAuthorization.sol +42 -0
  400. package/contracts/product/ClaimService.sol +604 -0
  401. package/contracts/product/ClaimServiceManager.sol +38 -0
  402. package/contracts/product/IApplicationService.sol +63 -0
  403. package/contracts/product/IClaimService.sol +123 -0
  404. package/contracts/product/IPolicyService.sol +80 -0
  405. package/contracts/product/IPricingService.sol +39 -0
  406. package/contracts/product/IProductComponent.sol +59 -0
  407. package/contracts/product/IRiskService.sol +33 -0
  408. package/contracts/product/PolicyService.sol +683 -0
  409. package/contracts/product/PolicyServiceManager.sol +39 -0
  410. package/contracts/product/PricingService.sol +297 -0
  411. package/contracts/product/PricingServiceManager.sol +39 -0
  412. package/contracts/product/Product.sol +455 -0
  413. package/contracts/product/RiskService.sol +96 -0
  414. package/contracts/product/RiskServiceManager.sol +39 -0
  415. package/contracts/registry/ChainNft.sol +128 -40
  416. package/contracts/registry/IRegistry.sol +142 -28
  417. package/contracts/registry/IRegistryService.sol +62 -0
  418. package/contracts/registry/ITransferInterceptor.sol +6 -0
  419. package/contracts/registry/Registry.sol +618 -282
  420. package/contracts/registry/RegistryAdmin.sol +448 -0
  421. package/contracts/registry/RegistryService.sol +241 -0
  422. package/contracts/registry/RegistryServiceManager.sol +53 -0
  423. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  424. package/contracts/registry/ReleaseRegistry.sol +501 -0
  425. package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
  426. package/contracts/registry/TokenRegistry.sol +315 -0
  427. package/contracts/shared/Component.sol +265 -0
  428. package/contracts/shared/ComponentService.sol +735 -0
  429. package/contracts/shared/ComponentServiceManager.sol +38 -0
  430. package/contracts/shared/ComponentVerifyingService.sol +126 -0
  431. package/contracts/shared/ContractLib.sol +38 -0
  432. package/contracts/shared/IComponent.sol +74 -0
  433. package/contracts/shared/IComponentService.sol +120 -0
  434. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  435. package/contracts/shared/IKeyValueStore.sol +54 -0
  436. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  437. package/contracts/shared/INftOwnable.sol +25 -0
  438. package/contracts/shared/IPolicyHolder.sol +35 -0
  439. package/contracts/shared/IRegisterable.sol +23 -21
  440. package/contracts/shared/IRegistryLinked.sol +11 -0
  441. package/contracts/shared/IService.sol +25 -0
  442. package/contracts/shared/InitializableERC165.sol +27 -0
  443. package/contracts/shared/InstanceLinkedComponent.sol +213 -0
  444. package/contracts/shared/KeyValueStore.sol +131 -0
  445. package/contracts/shared/Lifecycle.sol +88 -0
  446. package/contracts/shared/NftIdSet.sol +65 -0
  447. package/contracts/shared/NftOwnable.sol +127 -0
  448. package/contracts/shared/PolicyHolder.sol +62 -0
  449. package/contracts/shared/Registerable.sol +62 -63
  450. package/contracts/shared/RegistryLinked.sol +44 -0
  451. package/contracts/shared/Service.sol +84 -0
  452. package/contracts/shared/TokenHandler.sol +139 -0
  453. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  454. package/contracts/staking/IStaking.sol +168 -0
  455. package/contracts/staking/IStakingService.sol +157 -0
  456. package/contracts/staking/StakeManagerLib.sol +224 -0
  457. package/contracts/staking/Staking.sol +497 -0
  458. package/contracts/staking/StakingLifecycle.sol +23 -0
  459. package/contracts/staking/StakingManager.sol +52 -0
  460. package/contracts/staking/StakingReader.sol +190 -0
  461. package/contracts/staking/StakingService.sol +393 -0
  462. package/contracts/staking/StakingServiceManager.sol +44 -0
  463. package/contracts/staking/StakingStore.sol +605 -0
  464. package/contracts/staking/TargetManagerLib.sol +211 -0
  465. package/contracts/{types → type}/AddressSet.sol +1 -1
  466. package/contracts/type/Amount.sol +150 -0
  467. package/contracts/{types → type}/Blocknumber.sol +27 -3
  468. package/contracts/type/ClaimId.sol +80 -0
  469. package/contracts/type/DistributorType.sol +55 -0
  470. package/contracts/type/Fee.sol +66 -0
  471. package/contracts/{types → type}/Key32.sol +8 -3
  472. package/contracts/{types → type}/NftId.sol +22 -15
  473. package/contracts/type/NftIdSet.sol +62 -0
  474. package/contracts/type/ObjectType.sol +276 -0
  475. package/contracts/type/PayoutId.sol +82 -0
  476. package/contracts/type/Referral.sol +90 -0
  477. package/contracts/type/RequestId.sol +75 -0
  478. package/contracts/{types → type}/RiskId.sol +16 -2
  479. package/contracts/type/RoleId.sol +162 -0
  480. package/contracts/type/Seconds.sol +101 -0
  481. package/contracts/type/Selector.sol +102 -0
  482. package/contracts/{types → type}/StateId.sol +53 -5
  483. package/contracts/type/String.sol +53 -0
  484. package/contracts/{types → type}/Timestamp.sol +38 -15
  485. package/contracts/type/UFixed.sol +355 -0
  486. package/contracts/{types → type}/Version.sol +17 -2
  487. package/contracts/upgradeability/IVersionable.sol +53 -0
  488. package/contracts/upgradeability/ProxyManager.sol +232 -0
  489. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
  490. package/contracts/upgradeability/Versionable.sol +59 -0
  491. package/package.json +12 -7
  492. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  493. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  494. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  495. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -405
  496. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  497. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  498. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -340
  499. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  500. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -487
  501. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  502. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -370
  503. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  504. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -578
  505. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  506. package/artifacts/contracts/components/Product.sol/Product.json +0 -444
  507. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  509. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  511. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  512. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  513. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  515. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  517. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  519. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  521. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  523. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  525. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  527. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  528. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  529. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  530. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  531. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  532. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  533. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  534. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  535. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  536. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  537. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  539. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  540. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  541. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  542. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  543. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  544. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  545. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  546. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  547. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  548. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  549. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  550. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  551. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  552. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  553. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  554. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  555. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  556. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  557. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  558. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  559. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  560. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  561. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  563. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  564. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  565. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  566. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  567. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  568. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  569. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  570. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  571. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  572. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  573. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  574. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  575. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  576. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  577. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  578. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  579. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  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 -284
  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 -284
  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 -144
  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 -144
  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 -113
  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 -131
  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 -511
  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 -511
  604. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  605. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -531
  606. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  607. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -420
  608. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  609. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  610. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -325
  611. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  612. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  613. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  614. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -543
  615. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  616. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -858
  617. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  618. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  619. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  620. package/artifacts/contracts/registry/RegistryUpgradeable.sol/Registry.dbg.json +0 -4
  621. package/artifacts/contracts/registry/RegistryUpgradeable.sol/Registry.json +0 -495
  622. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  623. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  624. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  625. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  626. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  627. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  628. package/artifacts/contracts/shared/Proxy.sol/Proxy.dbg.json +0 -4
  629. package/artifacts/contracts/shared/Proxy.sol/Proxy.json +0 -178
  630. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.dbg.json +0 -4
  631. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.json +0 -129
  632. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  633. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  634. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.dbg.json +0 -4
  635. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.json +0 -187
  636. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  637. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -405
  638. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  639. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  640. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  641. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -578
  642. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  643. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -575
  644. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  645. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  646. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  647. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  648. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  649. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  650. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  651. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  652. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  653. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  654. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  655. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  656. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  657. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  658. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  659. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  660. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  661. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  662. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  663. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  664. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  665. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  666. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  667. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  668. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  669. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  670. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  671. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  672. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  673. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  674. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  675. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  676. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  677. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  678. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  679. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  680. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  681. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  682. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  683. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  684. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  685. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  686. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  687. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  688. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  689. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  690. package/contracts/components/BaseComponent.sol +0 -94
  691. package/contracts/components/Distribution.sol +0 -132
  692. package/contracts/components/IBaseComponent.sol +0 -19
  693. package/contracts/components/IDistributionComponent.sol +0 -47
  694. package/contracts/components/IPoolComponent.sol +0 -71
  695. package/contracts/components/IProductComponent.sol +0 -38
  696. package/contracts/components/Pool.sol +0 -235
  697. package/contracts/components/Product.sol +0 -227
  698. package/contracts/experiment/errors/Require.sol +0 -38
  699. package/contracts/experiment/errors/Revert.sol +0 -44
  700. package/contracts/experiment/inheritance/A.sol +0 -53
  701. package/contracts/experiment/inheritance/B.sol +0 -28
  702. package/contracts/experiment/inheritance/C.sol +0 -34
  703. package/contracts/experiment/inheritance/IA.sol +0 -13
  704. package/contracts/experiment/inheritance/IB.sol +0 -10
  705. package/contracts/experiment/inheritance/IC.sol +0 -12
  706. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  707. package/contracts/experiment/statemachine/ISM.sol +0 -25
  708. package/contracts/experiment/statemachine/README.md +0 -112
  709. package/contracts/experiment/statemachine/SM.sol +0 -57
  710. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  711. package/contracts/experiment/types/TypeA.sol +0 -47
  712. package/contracts/experiment/types/TypeB.sol +0 -29
  713. package/contracts/instance/IInstanceLinked.sol +0 -8
  714. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  715. package/contracts/instance/base/IInstanceBase.sol +0 -22
  716. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  717. package/contracts/instance/base/IService.sol +0 -15
  718. package/contracts/instance/base/InstanceBase.sol +0 -91
  719. package/contracts/instance/base/KeyValueStore.sol +0 -161
  720. package/contracts/instance/base/Lifecycle.sol +0 -100
  721. package/contracts/instance/base/ModuleBase.sol +0 -57
  722. package/contracts/instance/base/ServiceBase.sol +0 -37
  723. package/contracts/instance/module/access/Access.sol +0 -149
  724. package/contracts/instance/module/access/IAccess.sol +0 -53
  725. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  726. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  727. package/contracts/instance/module/component/ComponentModule.sol +0 -70
  728. package/contracts/instance/module/component/IComponent.sol +0 -28
  729. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  730. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  731. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  732. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  733. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  734. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  735. package/contracts/instance/module/risk/IRisk.sol +0 -26
  736. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  737. package/contracts/instance/module/treasury/ITreasury.sol +0 -82
  738. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  739. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -138
  740. package/contracts/instance/service/ComponentOwnerService.sol +0 -157
  741. package/contracts/instance/service/DistributionService.sol +0 -59
  742. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  743. package/contracts/instance/service/IDistributionService.sol +0 -12
  744. package/contracts/instance/service/IPoolService.sol +0 -37
  745. package/contracts/instance/service/IProductService.sol +0 -107
  746. package/contracts/instance/service/PoolService.sol +0 -149
  747. package/contracts/instance/service/ProductService.sol +0 -509
  748. package/contracts/registry/IChainNft.sol +0 -21
  749. package/contracts/registry/IRegistryLinked.sol +0 -8
  750. package/contracts/registry/RegistryUpgradeable.sol +0 -415
  751. package/contracts/shared/ERC165.sol +0 -21
  752. package/contracts/shared/IOwnable.sol +0 -6
  753. package/contracts/shared/IVersionable.sol +0 -52
  754. package/contracts/shared/Proxy.sol +0 -83
  755. package/contracts/shared/Versionable.sol +0 -89
  756. package/contracts/shared/VersionableUpgradeable.sol +0 -108
  757. package/contracts/test/TestDistribution.sol +0 -21
  758. package/contracts/test/TestFee.sol +0 -25
  759. package/contracts/test/TestPool.sol +0 -25
  760. package/contracts/test/TestProduct.sol +0 -72
  761. package/contracts/test/TestRegisterable.sol +0 -19
  762. package/contracts/test/TestRoleId.sol +0 -14
  763. package/contracts/test/TestService.sol +0 -32
  764. package/contracts/test/TestToken.sol +0 -26
  765. package/contracts/test/TestVersion.sol +0 -44
  766. package/contracts/test/TestVersionable.sol +0 -17
  767. package/contracts/types/ChainId.sol +0 -38
  768. package/contracts/types/Fee.sol +0 -56
  769. package/contracts/types/NftIdSet.sol +0 -60
  770. package/contracts/types/ObjectType.sol +0 -131
  771. package/contracts/types/ReferralId.sol +0 -48
  772. package/contracts/types/RoleId.sol +0 -38
  773. package/contracts/types/UFixed.sol +0 -209
@@ -1,94 +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 {IRegisterable} from "../shared/IRegisterable.sol";
7
- import {Registerable} from "../shared/Registerable.sol";
8
-
9
- import {IRegistry} from "../registry/IRegistry.sol";
10
- import {IInstance} from "../instance/IInstance.sol";
11
-
12
- import {IInstance} from "../instance/IInstance.sol";
13
- import {IComponent, IComponentModule} from "../instance/module/component/IComponent.sol";
14
- import {IComponentOwnerService} from "../instance/service/IComponentOwnerService.sol";
15
- import {IBaseComponent} from "./IBaseComponent.sol";
16
- import {Fee, FeeLib} from "../types/Fee.sol";
17
- import {NftId} from "../types/NftId.sol";
18
-
19
- abstract contract BaseComponent is
20
- Registerable,
21
- IBaseComponent
22
- {
23
- IComponentOwnerService internal _componentOwnerService;
24
-
25
- address internal _deployer;
26
- address internal _wallet;
27
- IERC20Metadata internal _token;
28
- IInstance internal _instance;
29
- bool internal _isRegistered;
30
- Fee internal _zeroFee;
31
-
32
- constructor(
33
- address registry,
34
- NftId instanceNftId,
35
- address token
36
- )
37
- Registerable(registry, instanceNftId)
38
- {
39
- IRegistry.ObjectInfo memory instanceInfo = _registry.getObjectInfo(instanceNftId);
40
- _instance = IInstance(instanceInfo.objectAddress);
41
- require(
42
- _instance.supportsInterface(type(IInstance).interfaceId),
43
- ""
44
- );
45
-
46
- _componentOwnerService = _instance.getComponentOwnerService();
47
- _wallet = address(this);
48
- _token = IERC20Metadata(token);
49
- _isRegistered = false;
50
- _zeroFee = FeeLib.zeroFee();
51
- }
52
-
53
- // from registerable
54
- function register() public override(IRegisterable, Registerable) returns (NftId componentId) {
55
- require(msg.sender == getOwner(), "");
56
- require(
57
- address(_registry) != address(0),
58
- "ERROR:COB-001:REGISTRY_ZERO"
59
- );
60
- require(
61
- _registry.isRegistered(address(_instance)),
62
- "ERROR:COB:INSTANCE_NOT_REGISTERED"
63
- );
64
-
65
- _isRegistered = true;
66
- return _componentOwnerService.register(this);
67
- }
68
-
69
- // from component contract
70
- function lock() external onlyOwner override {
71
- _componentOwnerService.lock(this);
72
- }
73
-
74
- function unlock() external onlyOwner override {
75
- _componentOwnerService.unlock(this);
76
- }
77
-
78
- function getWallet()
79
- external
80
- view
81
- override
82
- returns (address walletAddress)
83
- {
84
- return _wallet;
85
- }
86
-
87
- function getToken() external view override returns (IERC20Metadata token) {
88
- return _token;
89
- }
90
-
91
- function getInstance() external view override returns (IInstance instance) {
92
- return _instance;
93
- }
94
- }
@@ -1,132 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType, DISTRIBUTION} from "../types/ObjectType.sol";
5
- import {IDistributionService} from "../instance/service/IDistributionService.sol";
6
- import {IProductService} from "../instance/service/IProductService.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {ReferralId} from "../types/ReferralId.sol";
9
- import {Fee, FeeLib} from "../types/Fee.sol";
10
- import {BaseComponent} from "./BaseComponent.sol";
11
- import {IDistributionComponent} from "./IDistributionComponent.sol";
12
-
13
- contract Distribution is
14
- BaseComponent,
15
- IDistributionComponent
16
- {
17
-
18
- Fee internal _initialDistributionFee;
19
- bool internal _isVerifying;
20
-
21
- IDistributionService private _distributionService;
22
- IProductService private _productService;
23
-
24
- modifier onlyProductService() {
25
- require(
26
- msg.sender == address(_productService),
27
- "ERROR:POL-002:NOT_PRODUCT_SERVICE");
28
- _;
29
- }
30
-
31
- constructor(
32
- address registry,
33
- NftId instanceNftId,
34
- // TODO refactor into tokenNftId
35
- address token,
36
- bool verifying,
37
- Fee memory distributionFee
38
- )
39
- BaseComponent(registry, instanceNftId, token)
40
- {
41
- _isVerifying = verifying;
42
- _initialDistributionFee = distributionFee;
43
-
44
- _distributionService = _instance.getDistributionService();
45
- _productService = _instance.getProductService();
46
- }
47
-
48
-
49
- function setFees(
50
- Fee memory distributionFee
51
- )
52
- external
53
- override
54
- {
55
- _distributionService.setFees(distributionFee);
56
- }
57
-
58
- function calculateFeeAmount(
59
- ReferralId referralId,
60
- uint256 netPremiumAmount
61
- )
62
- external
63
- view
64
- virtual override
65
- returns (uint256 feeAmount)
66
- {
67
- Fee memory fee = getDistributionFee();
68
- (feeAmount,) = FeeLib.calculateFee(fee, netPremiumAmount);
69
- }
70
-
71
-
72
- function calculateRenewalFeeAmount(
73
- ReferralId referralId,
74
- uint256 netPremiumAmount
75
- )
76
- external
77
- view
78
- virtual override
79
- returns (uint256 feeAmount)
80
- {
81
- // default is no fees
82
- return 0 * netPremiumAmount;
83
- }
84
-
85
- function processSale(
86
- ReferralId referralId,
87
- uint256 feeAmount
88
- )
89
- external
90
- onlyProductService
91
- virtual override
92
- {
93
- // default is no action
94
- }
95
-
96
- function processRenewal(
97
- ReferralId referralId,
98
- uint256 feeAmount
99
- )
100
- external
101
- onlyProductService
102
- virtual override
103
- {
104
- // default is no action
105
- }
106
-
107
- function referralIsValid(ReferralId referralId) external view returns (bool isValid) {
108
- // default is invalid
109
- return false;
110
- }
111
-
112
- /// @dev default distribution fee, ie when not using any valid referralId
113
- function getDistributionFee() public view returns (Fee memory distributionFee) {
114
- NftId productNftId = _instance.getProductNftId(getNftId());
115
- if (_instance.hasTreasuryInfo(productNftId)) {
116
- return _instance.getTreasuryInfo(productNftId).distributionFee;
117
- } else {
118
- return _initialDistributionFee;
119
- }
120
- }
121
-
122
-
123
- /// @dev returns true iff the component needs to be called when selling/renewing policis
124
- function isVerifying() external view returns (bool verifying) {
125
- return _isVerifying;
126
- }
127
-
128
- // from registerable
129
- function getType() public pure override returns (ObjectType) {
130
- return DISTRIBUTION();
131
- }
132
- }
@@ -1,19 +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 {IRegisterable} from "../shared/IRegisterable.sol";
7
- import {IInstanceLinked} from "../instance/IInstanceLinked.sol";
8
-
9
- interface IBaseComponent is IRegisterable, IInstanceLinked {
10
-
11
- function lock() external;
12
-
13
- function unlock() external;
14
-
15
- function getToken() external view returns (IERC20Metadata token);
16
-
17
- function getWallet() external view returns (address walletAddress);
18
-
19
- }
@@ -1,47 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Fee} from "../types/Fee.sol";
5
- import {ReferralId} from "../types/ReferralId.sol";
6
- import {NftId} from "../types/NftId.sol";
7
- import {IBaseComponent} from "./IBaseComponent.sol";
8
-
9
- interface IDistributionComponent is IBaseComponent {
10
-
11
- function setFees(
12
- Fee memory distributionFee
13
- ) external;
14
-
15
- function calculateFeeAmount(
16
- ReferralId referralId,
17
- uint256 netPremiumAmount
18
- ) external view returns (uint256 feeAmount);
19
-
20
- function calculateRenewalFeeAmount(
21
- ReferralId referralId,
22
- uint256 netPremiumAmount
23
- ) external view returns (uint256 feeAmount);
24
-
25
- /// @dev callback from product service when selling a policy for a specific referralId
26
- /// the used referral id and the collected fee are provided as parameters
27
- /// the component implementation can then process this information accordingly
28
- function processSale(
29
- ReferralId referralId,
30
- uint256 feeAmount
31
- ) external;
32
-
33
- /// @dev callback from product service when a policy is renews for a specific referralId
34
- function processRenewal(
35
- ReferralId referralId,
36
- uint256 feeAmount
37
- ) external;
38
-
39
- /// @dev returns true iff the referral id is valid
40
- function referralIsValid(ReferralId referralId) external view returns (bool isValid);
41
-
42
- /// @dev default distribution fee, ie when not using any valid referralId
43
- function getDistributionFee() external view returns (Fee memory distributionFee);
44
-
45
- /// @dev returns true iff the component needs to be called when selling/renewing policis
46
- function isVerifying() external view returns (bool verifying);
47
- }
@@ -1,71 +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 {Fee} from "../types/Fee.sol";
6
- import {UFixed} from "../types/UFixed.sol";
7
- import {IBaseComponent} from "./IBaseComponent.sol";
8
-
9
- interface IPoolComponent is IBaseComponent {
10
-
11
- event LogUnderwrittenByPool(NftId policyNftId, uint256 collateralizationAmount, address pool);
12
-
13
- function setFees(
14
- Fee memory poolFee,
15
- Fee memory stakingFee,
16
- Fee memory performanceFee
17
- ) external;
18
-
19
- /**
20
- * @dev creates a new bundle for this pool.
21
- */
22
- function createBundle(
23
- Fee memory fee,
24
- uint256 initialAmount,
25
- uint256 lifetime,
26
- bytes memory filter
27
- ) external returns(NftId bundleNftId);
28
-
29
- function setBundleFee(
30
- NftId policyNftId,
31
- Fee memory fee
32
- ) external;
33
-
34
- /**
35
- * @dev this is a callback function that is called by the product service when underwriting a policy.
36
- * the pool has the option to check the details and object to underwriting by reverting.
37
- * the function is only called for "active" pools that ask to be involved/notified
38
- * by product related state changes.
39
- */
40
- function underwrite(
41
- NftId policyNftId,
42
- bytes memory policyData,
43
- bytes memory bundleFilter,
44
- uint256 collateralizationAmount
45
- ) external;
46
-
47
- /**
48
- * @dev returns true iff the policy application data in policyData matches
49
- * with the bundle filter criteria encoded in bundleFilter.
50
- */
51
- function policyMatchesBundle(
52
- bytes memory policyData,
53
- bytes memory bundleFilter
54
- )
55
- external
56
- view
57
- returns (bool isMatching);
58
-
59
- function isVerifying() external view returns (bool verifying);
60
-
61
- function getCollateralizationLevel() external view returns (UFixed collateralizationLevel);
62
-
63
- function getPoolFee() external view returns (Fee memory poolFee);
64
-
65
- function getStakingFee() external view returns (Fee memory stakingFee);
66
-
67
- function getPerformanceFee()
68
- external
69
- view
70
- returns (Fee memory performanceFee);
71
- }
@@ -1,38 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Fee} from "../types/Fee.sol";
5
- import {NftId} from "../types/NftId.sol";
6
- import {ReferralId} from "../types/ReferralId.sol";
7
- import {RiskId} from "../types/RiskId.sol";
8
-
9
- import {IBaseComponent} from "./IBaseComponent.sol";
10
-
11
- interface IProductComponent is IBaseComponent {
12
- function setFees(
13
- Fee memory productFee,
14
- Fee memory processingFee
15
- ) external;
16
-
17
- function calculatePremium(
18
- uint256 sumInsuredAmount,
19
- RiskId riskId,
20
- uint256 lifetime,
21
- bytes memory applicationData,
22
- ReferralId referralId,
23
- NftId bundleNftId
24
- ) external view returns (uint256 premiumAmount);
25
-
26
- function calculateNetPremium(
27
- uint256 sumInsuredAmount,
28
- RiskId riskId,
29
- uint256 lifetime,
30
- bytes memory applicationData
31
- ) external view returns (uint256 netPremiumAmount);
32
-
33
- function getProductFee() external view returns (Fee memory productFee);
34
- function getProcessingFee() external view returns (Fee memory processingFee);
35
-
36
- function getPoolNftId() external view returns (NftId poolNftId);
37
- function getDistributionNftId() external view returns (NftId distributionNftId);
38
- }
@@ -1,235 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType, POOL} from "../types/ObjectType.sol";
5
- import {IProductService} from "../instance/service/IProductService.sol";
6
- import {IPoolService} from "../instance/service/IPoolService.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {Fee} from "../types/Fee.sol";
9
- import {UFixed} from "../types/UFixed.sol";
10
- import {IPoolComponent} from "./IPoolComponent.sol";
11
- import {BaseComponent} from "./BaseComponent.sol";
12
-
13
- contract Pool is BaseComponent, IPoolComponent {
14
-
15
- bool internal _isVerifying;
16
- UFixed internal _collateralizationLevel;
17
-
18
- Fee internal _initialPoolFee;
19
- Fee internal _initialStakingFee;
20
- Fee internal _initialPerformanceFee;
21
-
22
- // may be used to interact with instance by derived contracts
23
- IPoolService internal _poolService;
24
-
25
- // only relevant to protect callback functions for "active" pools
26
- IProductService private _productService;
27
-
28
- modifier onlyPoolService() {
29
- require(
30
- msg.sender == address(_poolService),
31
- "ERROR:POL-001:NOT_POOL_SERVICE");
32
- _;
33
- }
34
-
35
- modifier onlyProductService() {
36
- require(
37
- msg.sender == address(_productService),
38
- "ERROR:POL-002:NOT_PRODUCT_SERVICE");
39
- _;
40
- }
41
-
42
- constructor(
43
- address registry,
44
- NftId instanceNftId,
45
- // TODO refactor into tokenNftId
46
- address token,
47
- bool verifying,
48
- UFixed collateralizationLevel,
49
- Fee memory poolFee,
50
- Fee memory stakingFee,
51
- Fee memory performanceFee
52
- )
53
- BaseComponent(registry, instanceNftId, token)
54
- {
55
- _isVerifying = verifying;
56
- // TODO add validation
57
- _collateralizationLevel = collateralizationLevel;
58
- _initialPoolFee = poolFee;
59
- _initialStakingFee = stakingFee;
60
- _initialPerformanceFee = performanceFee;
61
-
62
- _poolService = _instance.getPoolService();
63
- _productService = _instance.getProductService();
64
- }
65
-
66
- function setFees(
67
- Fee memory poolFee,
68
- Fee memory stakingFee,
69
- Fee memory performanceFee
70
- )
71
- external
72
- onlyOwner
73
- override
74
- {
75
- _poolService.setFees(poolFee, stakingFee, performanceFee);
76
- }
77
-
78
- function createBundle(
79
- Fee memory fee,
80
- uint256 initialAmount,
81
- uint256 lifetime,
82
- bytes memory filter
83
- )
84
- external
85
- virtual override
86
- returns(NftId bundleNftId)
87
- {
88
- address owner = msg.sender;
89
- bundleNftId = _poolService.createBundle(
90
- owner,
91
- fee,
92
- initialAmount,
93
- lifetime,
94
- filter
95
- );
96
-
97
- // TODO add logging
98
- }
99
-
100
- function setBundleFee(
101
- NftId bundleNftId,
102
- Fee memory fee
103
- )
104
- external
105
- override
106
- // TODO add onlyBundleOwner
107
- {
108
- _poolService.setBundleFee(bundleNftId, fee);
109
- }
110
-
111
- /**
112
- * @dev see {IPool.underwrite}.
113
- * Default implementation that only writes a {LogUnderwrittenByPool} entry.
114
- */
115
- function underwrite(
116
- NftId policyNftId,
117
- bytes memory policyData,
118
- bytes memory bundleFilter,
119
- uint256 collateralizationAmount
120
- )
121
- external
122
- onlyProductService
123
- virtual override
124
- {
125
- _underwrite(policyNftId, policyData, bundleFilter, collateralizationAmount);
126
- }
127
-
128
- /**
129
- * @dev see {IPoolComponent.policyMatchesBundle}.
130
- * Default implementation always returns true
131
- */
132
- function policyMatchesBundle(
133
- bytes memory, // policyData
134
- bytes memory // bundleFilter
135
- )
136
- public
137
- view
138
- virtual override
139
- returns (bool isMatching)
140
- {
141
- return true;
142
- }
143
-
144
-
145
- function isVerifying() external view override returns (bool verifying) {
146
- return _isVerifying;
147
- }
148
-
149
- function getCollateralizationLevel() external view override returns (UFixed collateralizationLevel) {
150
- return _collateralizationLevel;
151
- }
152
-
153
- function _underwrite(
154
- NftId policyNftId,
155
- bytes memory policyData,
156
- bytes memory bundleFilter,
157
- uint256 collateralizationAmount
158
- )
159
- internal
160
- {
161
- require(
162
- policyMatchesBundle(policyData, bundleFilter),
163
- "ERROR:POL-020:POLICY_BUNDLE_MISMATCH"
164
- );
165
-
166
- emit LogUnderwrittenByPool(policyNftId, collateralizationAmount, address(this));
167
- }
168
-
169
- function _createBundle(
170
- address bundleOwner,
171
- Fee memory fee,
172
- uint256 amount,
173
- uint256 lifetime,
174
- bytes calldata filter
175
- )
176
- internal
177
- returns(NftId bundleNftId)
178
- {
179
- bundleNftId = _poolService.createBundle(
180
- bundleOwner,
181
- fee,
182
- amount,
183
- lifetime,
184
- filter
185
- );
186
- }
187
-
188
- // from pool component
189
- function getPoolFee()
190
- external
191
- view
192
- override
193
- returns (Fee memory poolFee)
194
- {
195
- NftId productNftId = _instance.getProductNftId(getNftId());
196
- if (_instance.hasTreasuryInfo(productNftId)) {
197
- return _instance.getTreasuryInfo(productNftId).poolFee;
198
- } else {
199
- return _initialPoolFee;
200
- }
201
- }
202
-
203
- function getStakingFee()
204
- external
205
- view
206
- override
207
- returns (Fee memory stakingFee)
208
- {
209
- NftId productNftId = _instance.getProductNftId(getNftId());
210
- if (_instance.hasTreasuryInfo(productNftId)) {
211
- return _instance.getTreasuryInfo(productNftId).stakingFee;
212
- } else {
213
- return _initialStakingFee;
214
- }
215
- }
216
-
217
- function getPerformanceFee()
218
- external
219
- view
220
- override
221
- returns (Fee memory performanceFee)
222
- {
223
- NftId productNftId = _instance.getProductNftId(getNftId());
224
- if (_instance.hasTreasuryInfo(productNftId)) {
225
- return _instance.getTreasuryInfo(productNftId).performanceFee;
226
- } else {
227
- return _initialPerformanceFee;
228
- }
229
- }
230
-
231
- // from registerable
232
- function getType() public pure override returns (ObjectType) {
233
- return POOL();
234
- }
235
- }