@etherisc/gif-next 0.0.2-9dd1984-554 → 0.0.2-9e03baf-990

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 (723) hide show
  1. package/README.md +85 -23
  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/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1018 -0
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1471 -0
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +917 -0
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +961 -0
  34. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  44. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
  54. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  55. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +314 -1441
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +336 -204
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +389 -2545
  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 +1 -1
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1022 -391
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +441 -393
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +378 -92
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3668 -0
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  76. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  77. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  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 +1 -1
  85. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  86. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  88. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  89. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  90. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  91. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  92. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  93. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  94. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
  96. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  98. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  100. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
  102. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  103. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +291 -353
  104. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
  106. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +982 -0
  108. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +746 -0
  110. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  111. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1254 -0
  112. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  113. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  114. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1469 -0
  116. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +850 -0
  118. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  119. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +503 -259
  120. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  121. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +415 -364
  122. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1285 -0
  124. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  125. package/artifacts/contracts/pool/Pool.sol/Pool.json +1029 -0
  126. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1635 -0
  128. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  129. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +786 -0
  130. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  131. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +787 -0
  132. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +734 -0
  134. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  135. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1148 -0
  136. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  137. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  138. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  139. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1439 -0
  140. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  141. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +858 -0
  142. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  143. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +238 -228
  144. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  145. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +942 -0
  146. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  147. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +931 -0
  148. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  149. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +290 -211
  150. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  151. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +482 -268
  152. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  153. package/artifacts/contracts/{components/IComponent.sol/IComponent.json → product/IRiskService.sol/IRiskService.json} +154 -138
  154. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  155. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1316 -0
  156. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +802 -0
  158. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  159. package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
  160. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  162. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  163. package/artifacts/contracts/product/Product.sol/Product.json +1106 -0
  164. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  165. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  166. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  167. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  168. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  169. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  170. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  171. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +562 -20
  172. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  173. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +271 -228
  174. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  175. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  176. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  177. package/artifacts/contracts/registry/Registry.sol/Registry.json +1010 -85
  178. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  179. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
  180. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  181. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +336 -269
  182. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  183. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +364 -78
  184. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  185. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  186. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  187. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  188. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  189. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  190. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  191. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -96
  192. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  193. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/Component.sol/Component.json} +276 -272
  194. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  195. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1843 -0
  196. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  197. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +834 -0
  198. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  199. package/artifacts/contracts/{components/Component.sol/Component.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +153 -177
  200. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +111 -0
  202. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/IComponent.sol/IComponent.json} +266 -241
  204. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  205. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
  206. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
  208. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  209. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +96 -34
  210. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  212. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  213. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
  214. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  215. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  216. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  217. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +40 -31
  218. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  219. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  220. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IService.sol/IService.json +106 -152
  222. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  223. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  224. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  225. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +799 -0
  226. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  227. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +129 -20
  228. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  229. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  230. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  231. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  232. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +81 -30
  234. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  235. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  236. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +96 -48
  238. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  239. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  240. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  241. package/artifacts/contracts/shared/Service.sol/Service.json +138 -164
  242. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  243. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +734 -8
  244. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  245. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  246. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  247. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  248. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  249. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
  250. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  251. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  252. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  254. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  255. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  256. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  258. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  260. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  262. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
  264. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
  266. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  268. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  269. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  270. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  271. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  272. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  274. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  276. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  278. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  280. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  282. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  284. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  286. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  287. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  288. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  290. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  292. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  294. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  296. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  298. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  300. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  302. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  304. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  306. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  308. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  310. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  312. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  314. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  316. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  318. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  320. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  321. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  322. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  323. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  324. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  325. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  326. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  327. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  328. package/contracts/authorization/AccessAdmin.sol +596 -0
  329. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  330. package/contracts/authorization/Authorization.sol +289 -0
  331. package/contracts/authorization/IAccess.sol +49 -0
  332. package/contracts/authorization/IAccessAdmin.sol +137 -0
  333. package/contracts/authorization/IAuthorization.sol +60 -0
  334. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  335. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  336. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  337. package/contracts/distribution/BasicDistribution.sol +139 -0
  338. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  339. package/contracts/distribution/Distribution.sol +285 -0
  340. package/contracts/distribution/DistributionService.sol +355 -0
  341. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  342. package/contracts/distribution/IDistributionComponent.sol +52 -0
  343. package/contracts/distribution/IDistributionService.sol +101 -0
  344. package/contracts/examples/fire/DamageLevel.sol +59 -0
  345. package/contracts/examples/fire/FirePool.sol +86 -0
  346. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  347. package/contracts/examples/fire/FireProduct.sol +431 -0
  348. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  349. package/contracts/examples/fire/FireUSD.sol +26 -0
  350. package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
  351. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  352. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  353. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  354. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +40 -43
  355. package/contracts/instance/IInstance.sol +56 -50
  356. package/contracts/instance/IInstanceService.sol +53 -22
  357. package/contracts/instance/Instance.sol +168 -198
  358. package/contracts/instance/InstanceAdmin.sol +277 -0
  359. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  360. package/contracts/instance/InstanceReader.sol +264 -84
  361. package/contracts/instance/InstanceService.sol +314 -245
  362. package/contracts/instance/InstanceServiceManager.sol +14 -29
  363. package/contracts/instance/InstanceStore.sol +287 -0
  364. package/contracts/instance/base/BalanceStore.sol +123 -0
  365. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  366. package/contracts/instance/base/ObjectCounter.sol +21 -0
  367. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  368. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +20 -42
  369. package/contracts/instance/module/IAccess.sol +19 -21
  370. package/contracts/instance/module/IBundle.sol +8 -8
  371. package/contracts/instance/module/IComponents.sol +50 -0
  372. package/contracts/instance/module/IDistribution.sol +6 -4
  373. package/contracts/instance/module/IPolicy.sol +59 -19
  374. package/contracts/instance/module/IRisk.sol +1 -1
  375. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  376. package/contracts/oracle/BasicOracle.sol +47 -0
  377. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  378. package/contracts/oracle/IOracle.sol +36 -0
  379. package/contracts/oracle/IOracleComponent.sol +33 -0
  380. package/contracts/oracle/IOracleService.sol +66 -0
  381. package/contracts/oracle/Oracle.sol +156 -0
  382. package/contracts/oracle/OracleService.sol +292 -0
  383. package/contracts/oracle/OracleServiceManager.sol +39 -0
  384. package/contracts/pool/BasicPool.sol +175 -0
  385. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  386. package/contracts/pool/BundleService.sol +485 -0
  387. package/contracts/pool/BundleServiceManager.sol +39 -0
  388. package/contracts/pool/IBundleService.sol +140 -0
  389. package/contracts/pool/IPoolComponent.sol +62 -0
  390. package/contracts/pool/IPoolService.sol +172 -0
  391. package/contracts/pool/Pool.sol +345 -0
  392. package/contracts/pool/PoolService.sol +620 -0
  393. package/contracts/pool/PoolServiceManager.sol +39 -0
  394. package/contracts/product/ApplicationService.sol +259 -0
  395. package/contracts/product/ApplicationServiceManager.sol +38 -0
  396. package/contracts/product/BasicProduct.sol +49 -0
  397. package/contracts/product/BasicProductAuthorization.sol +42 -0
  398. package/contracts/product/ClaimService.sol +614 -0
  399. package/contracts/product/ClaimServiceManager.sol +38 -0
  400. package/contracts/product/IApplicationService.sol +63 -0
  401. package/contracts/product/IClaimService.sol +123 -0
  402. package/contracts/product/IPolicyService.sol +82 -0
  403. package/contracts/product/IPricingService.sol +39 -0
  404. package/contracts/product/IProductComponent.sol +59 -0
  405. package/contracts/product/IRiskService.sol +33 -0
  406. package/contracts/product/PolicyService.sol +695 -0
  407. package/contracts/product/PolicyServiceManager.sol +39 -0
  408. package/contracts/product/PricingService.sol +300 -0
  409. package/contracts/product/PricingServiceManager.sol +39 -0
  410. package/contracts/product/Product.sol +432 -0
  411. package/contracts/product/RiskService.sol +96 -0
  412. package/contracts/product/RiskServiceManager.sol +39 -0
  413. package/contracts/registry/ChainNft.sol +79 -34
  414. package/contracts/registry/IRegistry.sol +108 -26
  415. package/contracts/registry/IRegistryService.sol +41 -37
  416. package/contracts/registry/ITransferInterceptor.sol +1 -1
  417. package/contracts/registry/Registry.sol +538 -209
  418. package/contracts/registry/RegistryAdmin.sol +462 -0
  419. package/contracts/registry/RegistryService.sol +119 -198
  420. package/contracts/registry/RegistryServiceManager.sol +24 -33
  421. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  422. package/contracts/registry/ReleaseRegistry.sol +485 -0
  423. package/contracts/registry/ServiceAuthorizationV3.sol +203 -0
  424. package/contracts/registry/TokenRegistry.sol +263 -58
  425. package/contracts/shared/Component.sol +229 -0
  426. package/contracts/shared/ComponentService.sol +779 -0
  427. package/contracts/shared/ComponentServiceManager.sol +38 -0
  428. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  429. package/contracts/shared/ContractLib.sol +54 -0
  430. package/contracts/shared/IComponent.sol +67 -0
  431. package/contracts/shared/IComponentService.sol +130 -0
  432. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  433. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  434. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  435. package/contracts/shared/INftOwnable.sol +15 -12
  436. package/contracts/shared/IPolicyHolder.sol +35 -0
  437. package/contracts/shared/IRegisterable.sol +15 -4
  438. package/contracts/shared/IRegistryLinked.sol +11 -0
  439. package/contracts/shared/IService.sol +15 -6
  440. package/contracts/shared/InitializableERC165.sol +27 -0
  441. package/contracts/shared/InstanceLinkedComponent.sol +205 -0
  442. package/contracts/shared/KeyValueStore.sol +131 -0
  443. package/contracts/shared/Lifecycle.sol +88 -0
  444. package/contracts/shared/NftIdSet.sol +65 -0
  445. package/contracts/shared/NftOwnable.sol +75 -84
  446. package/contracts/shared/PolicyHolder.sol +62 -0
  447. package/contracts/shared/Registerable.sol +34 -41
  448. package/contracts/shared/RegistryLinked.sol +38 -0
  449. package/contracts/shared/Service.sol +57 -33
  450. package/contracts/shared/TokenHandler.sol +382 -12
  451. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  452. package/contracts/staking/IStaking.sol +173 -0
  453. package/contracts/staking/IStakingService.sol +157 -0
  454. package/contracts/staking/StakeManagerLib.sol +224 -0
  455. package/contracts/staking/Staking.sol +505 -0
  456. package/contracts/staking/StakingLifecycle.sol +23 -0
  457. package/contracts/staking/StakingManager.sol +52 -0
  458. package/contracts/staking/StakingReader.sol +190 -0
  459. package/contracts/staking/StakingService.sol +453 -0
  460. package/contracts/staking/StakingServiceManager.sol +44 -0
  461. package/contracts/staking/StakingStore.sol +605 -0
  462. package/contracts/staking/TargetManagerLib.sol +211 -0
  463. package/contracts/{types → type}/AddressSet.sol +1 -1
  464. package/contracts/type/Amount.sol +150 -0
  465. package/contracts/{types → type}/Blocknumber.sol +27 -3
  466. package/contracts/type/ClaimId.sol +80 -0
  467. package/contracts/{types → type}/DistributorType.sol +2 -2
  468. package/contracts/{types → type}/Fee.sol +33 -23
  469. package/contracts/{types → type}/NftId.sol +22 -15
  470. package/contracts/{types → type}/NftIdSet.sol +2 -2
  471. package/contracts/type/ObjectType.sol +276 -0
  472. package/contracts/type/PayoutId.sol +82 -0
  473. package/contracts/{types → type}/Referral.sol +6 -1
  474. package/contracts/type/RequestId.sol +75 -0
  475. package/contracts/{types → type}/RiskId.sol +17 -3
  476. package/contracts/type/RoleId.sol +162 -0
  477. package/contracts/type/Seconds.sol +101 -0
  478. package/contracts/type/Selector.sol +102 -0
  479. package/contracts/{types → type}/StateId.sol +48 -4
  480. package/contracts/type/String.sol +53 -0
  481. package/contracts/{types → type}/Timestamp.sol +34 -15
  482. package/contracts/{types → type}/UFixed.sol +39 -9
  483. package/contracts/{types → type}/Version.sol +5 -2
  484. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  485. package/contracts/upgradeability/ProxyManager.sol +232 -0
  486. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  487. package/contracts/upgradeability/Versionable.sol +59 -0
  488. package/package.json +11 -7
  489. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  490. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  491. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  492. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  493. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  494. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  495. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  496. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  497. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  498. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  499. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  501. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  502. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  503. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  504. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  505. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  506. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  507. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  508. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  510. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  512. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  514. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  515. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  516. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  517. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  518. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  519. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  520. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  521. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  523. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  525. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  527. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  528. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  529. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  530. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  531. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  532. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  533. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  534. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  535. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  536. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  537. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  539. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  540. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  541. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  542. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
  543. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  544. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  545. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  546. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
  547. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  548. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  549. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  550. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  551. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  552. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  553. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -100
  554. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  555. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  556. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  557. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  558. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  559. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  560. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  561. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  562. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  563. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1094
  564. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  565. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  566. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  567. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -764
  568. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  569. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -424
  570. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  571. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  572. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  573. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  574. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  575. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  576. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  577. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1219
  578. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  579. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  580. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  581. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -798
  582. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  583. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -424
  584. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  585. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -848
  586. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  587. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -424
  588. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  589. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  590. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  591. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -530
  592. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  593. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  594. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  595. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  596. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  597. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  598. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  599. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  600. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  601. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  602. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  603. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  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/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  607. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  608. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  609. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  610. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  611. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  612. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  613. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  614. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  615. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  616. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  617. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  618. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  619. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  620. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  621. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  622. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  624. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  625. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  626. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  627. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  628. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  629. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  630. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  631. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  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 -33
  636. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  637. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  638. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  639. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  640. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  641. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  642. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  643. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  644. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  645. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  646. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  648. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  649. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  650. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  652. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  653. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  654. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  655. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  656. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  657. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  658. package/contracts/components/Component.sol +0 -177
  659. package/contracts/components/Distribution.sol +0 -154
  660. package/contracts/components/IComponent.sol +0 -37
  661. package/contracts/components/IDistributionComponent.sol +0 -44
  662. package/contracts/components/IPoolComponent.sol +0 -66
  663. package/contracts/components/IProductComponent.sol +0 -35
  664. package/contracts/components/Pool.sol +0 -258
  665. package/contracts/components/Product.sol +0 -295
  666. package/contracts/experiment/cloning/Cloner.sol +0 -47
  667. package/contracts/experiment/errors/Require.sol +0 -38
  668. package/contracts/experiment/errors/Revert.sol +0 -44
  669. package/contracts/experiment/inheritance/A.sol +0 -53
  670. package/contracts/experiment/inheritance/B.sol +0 -28
  671. package/contracts/experiment/inheritance/C.sol +0 -34
  672. package/contracts/experiment/inheritance/IA.sol +0 -13
  673. package/contracts/experiment/inheritance/IB.sol +0 -10
  674. package/contracts/experiment/inheritance/IC.sol +0 -12
  675. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  676. package/contracts/experiment/statemachine/ISM.sol +0 -25
  677. package/contracts/experiment/statemachine/SM.sol +0 -57
  678. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  679. package/contracts/experiment/types/TypeA.sol +0 -47
  680. package/contracts/experiment/types/TypeB.sol +0 -29
  681. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  682. package/contracts/instance/IInstanceBase.sol +0 -25
  683. package/contracts/instance/InstanceAccessManager.sol +0 -303
  684. package/contracts/instance/InstanceBase.sol +0 -39
  685. package/contracts/instance/base/ComponentService.sol +0 -133
  686. package/contracts/instance/base/IInstanceBase.sol +0 -21
  687. package/contracts/instance/base/KeyValueStore.sol +0 -172
  688. package/contracts/instance/base/Lifecycle.sol +0 -100
  689. package/contracts/instance/module/ISetup.sol +0 -46
  690. package/contracts/instance/module/ITreasury.sol +0 -23
  691. package/contracts/instance/service/BundleService.sol +0 -293
  692. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  693. package/contracts/instance/service/DistributionService.sol +0 -115
  694. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  695. package/contracts/instance/service/IBundleService.sol +0 -44
  696. package/contracts/instance/service/IDistributionService.sol +0 -12
  697. package/contracts/instance/service/IPolicyService.sol +0 -94
  698. package/contracts/instance/service/IPoolService.sol +0 -20
  699. package/contracts/instance/service/IProductService.sol +0 -40
  700. package/contracts/instance/service/PolicyService.sol +0 -538
  701. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  702. package/contracts/instance/service/PoolService.sol +0 -142
  703. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  704. package/contracts/instance/service/ProductService.sol +0 -241
  705. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  706. package/contracts/registry/RegistryAccessManager.sol +0 -210
  707. package/contracts/registry/ReleaseManager.sol +0 -342
  708. package/contracts/shared/ContractDeployerLib.sol +0 -72
  709. package/contracts/shared/ERC165.sol +0 -25
  710. package/contracts/shared/ProxyManager.sol +0 -94
  711. package/contracts/shared/Versionable.sol +0 -147
  712. package/contracts/test/TestFee.sol +0 -25
  713. package/contracts/test/TestRegisterable.sol +0 -18
  714. package/contracts/test/TestRoleId.sol +0 -14
  715. package/contracts/test/TestService.sol +0 -25
  716. package/contracts/test/TestToken.sol +0 -26
  717. package/contracts/test/TestVersion.sol +0 -44
  718. package/contracts/test/TestVersionable.sol +0 -17
  719. package/contracts/types/ChainId.sol +0 -38
  720. package/contracts/types/NumberId.sol +0 -52
  721. package/contracts/types/ObjectType.sol +0 -152
  722. package/contracts/types/RoleId.sol +0 -90
  723. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,49 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "VersionPartLib",
4
- "sourceName": "contracts/types/Version.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "VersionPart",
10
- "name": "a",
11
- "type": "uint8"
12
- }
13
- ],
14
- "name": "toInt",
15
- "outputs": [
16
- {
17
- "internalType": "uint256",
18
- "name": "",
19
- "type": "uint256"
20
- }
21
- ],
22
- "stateMutability": "pure",
23
- "type": "function"
24
- },
25
- {
26
- "inputs": [
27
- {
28
- "internalType": "uint256",
29
- "name": "a",
30
- "type": "uint256"
31
- }
32
- ],
33
- "name": "toVersionPart",
34
- "outputs": [
35
- {
36
- "internalType": "VersionPart",
37
- "name": "",
38
- "type": "uint8"
39
- }
40
- ],
41
- "stateMutability": "pure",
42
- "type": "function"
43
- }
44
- ],
45
- "bytecode": "0x60fb610039600b82828239805160001a60731461002c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80638e4ad86c146042578063ac43d834146067575b600080fd5b6050604d3660046085565b90565b60405160ff90911681526020015b60405180910390f35b60786072366004609d565b60ff1690565b604051908152602001605e565b600060208284031215609657600080fd5b5035919050565b60006020828403121560ae57600080fd5b813560ff8116811460be57600080fd5b939250505056fea264697066735822122074bb6f75f2cab9692d05e41844bf40283045a9440c662c37a97b2502d38207ed64736f6c63430008140033",
46
- "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80638e4ad86c146042578063ac43d834146067575b600080fd5b6050604d3660046085565b90565b60405160ff90911681526020015b60405180910390f35b60786072366004609d565b60ff1690565b604051908152602001605e565b600060208284031215609657600080fd5b5035919050565b60006020828403121560ae57600080fd5b813560ff8116811460be57600080fd5b939250505056fea264697066735822122074bb6f75f2cab9692d05e41844bf40283045a9440c662c37a97b2502d38207ed64736f6c63430008140033",
47
- "linkReferences": {},
48
- "deployedLinkReferences": {}
49
- }
@@ -1,177 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
5
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
6
-
7
- import {IComponent} from "./IComponent.sol";
8
- import {IProductService} from "../instance/service/IProductService.sol";
9
- import {IInstanceService} from "../instance/IInstanceService.sol";
10
- import {IInstance} from "../instance/IInstance.sol";
11
- import {InstanceAccessManager} from "../instance/InstanceAccessManager.sol";
12
- import {IRegistry} from "../registry/IRegistry.sol";
13
- import {NftId, zeroNftId, NftIdLib} from "../types/NftId.sol";
14
- import {ObjectType, INSTANCE, PRODUCT} from "../types/ObjectType.sol";
15
- import {VersionLib} from "../types/Version.sol";
16
- import {Registerable} from "../shared/Registerable.sol";
17
- import {RoleId, RoleIdLib} from "../types/RoleId.sol";
18
- import {IAccess} from "../instance/module/IAccess.sol";
19
-
20
- // TODO discuss to inherit from oz accessmanaged
21
- // TODO make contract upgradeable, then add ComponentUpradeable that also intherits from Versionable
22
- // same pattern as for Service which is also upgradeable
23
- abstract contract Component is
24
- Registerable,
25
- IComponent
26
- {
27
- IInstanceService internal _instanceService;
28
- IProductService internal _productService;
29
-
30
- IInstance internal _instance;
31
- IERC20Metadata internal _token;
32
- address internal _wallet;
33
- NftId internal _productNftId;
34
-
35
- modifier onlyProductService() {
36
- if(msg.sender != address(_productService)) {
37
- revert ErrorComponentNotProductService(msg.sender);
38
- }
39
- _;
40
- }
41
-
42
- // TODO discuss replacement with modifier restricted from accessmanaged
43
- modifier onlyInstanceRole(uint64 roleIdNum) {
44
- RoleId roleId = RoleIdLib.toRoleId(roleIdNum);
45
- InstanceAccessManager accessManager = InstanceAccessManager(_instance.authority());
46
- if( !accessManager.hasRole(roleId, msg.sender)) {
47
- revert ErrorComponentUnauthorized(msg.sender, roleIdNum);
48
- }
49
- _;
50
- }
51
-
52
- // TODO discuss replacement with modifier restricted from accessmanaged
53
- modifier isNotLocked() {
54
- InstanceAccessManager accessManager = InstanceAccessManager(_instance.authority());
55
- if (accessManager.isTargetLocked(address(this))) {
56
- revert IAccess.ErrorIAccessTargetLocked(address(this));
57
- }
58
- _;
59
- }
60
-
61
- constructor(
62
- address registry,
63
- NftId instanceNftId,
64
- address token,
65
- ObjectType componentType,
66
- bool isInterceptor,
67
- address initialOwner
68
- )
69
- {
70
- bytes memory data = "";
71
- _initializeRegisterable(registry, instanceNftId, componentType, isInterceptor, initialOwner, data);
72
-
73
- IRegistry.ObjectInfo memory instanceInfo = _registry.getObjectInfo(instanceNftId);
74
- _instance = IInstance(instanceInfo.objectAddress);
75
- require(
76
- _instance.supportsInterface(type(IInstance).interfaceId),
77
- ""
78
- );
79
-
80
- _instanceService = IInstanceService(_registry.getServiceAddress(INSTANCE(), VersionLib.toVersion(3, 0, 0).toMajorPart()));
81
- _productService = IProductService(_registry.getServiceAddress(PRODUCT(), VersionLib.toVersion(3, 0, 0).toMajorPart()));
82
- _wallet = address(this);
83
- _token = IERC20Metadata(token);
84
-
85
- _registerInterface(type(IComponent).interfaceId);
86
- }
87
-
88
- // TODO discuss replacement with modifier restricted from accessmanaged
89
- function lock() external onlyOwner override {
90
- _instanceService.setTargetLocked(getName(), true);
91
- }
92
-
93
- // TODO discuss replacement with modifier restricted from accessmanaged
94
- function unlock() external onlyOwner override {
95
- _instanceService.setTargetLocked(getName(), false);
96
- }
97
-
98
- // TODO discuss to split this base contract into a minimal component base (eg oracle)
99
- // and a component base that is linked to a product component (all others in v3)
100
- function setProductNftId(NftId productNftId)
101
- external
102
- override
103
- onlyProductService()
104
- {
105
- if(_productNftId.gtz()) {
106
- revert ErrorComponentProductNftAlreadySet();
107
- }
108
-
109
- _productNftId = productNftId;
110
- }
111
-
112
- /// @dev Sets the wallet address for the component.
113
- /// if the current wallet has tokens, these will be transferred.
114
- /// if the new wallet address is externally owned, an approval from the
115
- /// owner of the external wallet for the component to move all tokens must exist.
116
- function setWallet(address newWallet) external override onlyOwner {
117
- address currentWallet = _wallet;
118
- uint256 currentBalance = _token.balanceOf(currentWallet);
119
-
120
- // checks
121
- if (newWallet == currentWallet) {
122
- revert ErrorComponentWalletAddressIsSameAsCurrent(newWallet);
123
- }
124
-
125
- if (currentBalance > 0) {
126
- if (currentWallet == address(this)) {
127
- // move tokens from component smart contract to external wallet
128
- } else {
129
- // move tokens from external wallet to component smart contract or another external wallet
130
- uint256 allowance = _token.allowance(currentWallet, address(this));
131
- if (allowance < currentBalance) {
132
- revert ErrorComponentWalletAllowanceTooSmall(currentWallet, newWallet, allowance, currentBalance);
133
- }
134
- }
135
- }
136
-
137
- // effects
138
- _wallet = newWallet;
139
- emit LogComponentWalletAddressChanged(newWallet);
140
-
141
- // interactions
142
- if (currentBalance > 0) {
143
- // transfer tokens from current wallet to new wallet
144
- if (currentWallet == address(this)) {
145
- // transferFrom requires self allowance too
146
- _token.approve(address(this), currentBalance);
147
- }
148
-
149
- SafeERC20.safeTransferFrom(_token, currentWallet, newWallet, currentBalance);
150
- emit LogComponentWalletTokensTransferred(currentWallet, newWallet, currentBalance);
151
- }
152
- }
153
-
154
- // TODO set name via constructor or initialization, pure function likely too restrictive
155
- function getName() public pure virtual returns (string memory name);
156
-
157
- function getWallet()
158
- external
159
- view
160
- override
161
- returns (address walletAddress)
162
- {
163
- return _wallet;
164
- }
165
-
166
- function getToken() public view override returns (IERC20Metadata token) {
167
- return _token;
168
- }
169
-
170
- function getInstance() public view override returns (IInstance instance) {
171
- return _instance;
172
- }
173
-
174
- function getProductNftId() public view override returns (NftId productNftId) {
175
- return _productNftId;
176
- }
177
- }
@@ -1,154 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {DISTRIBUTION} from "../types/ObjectType.sol";
5
- import {IDistributionService} from "../instance/service/IDistributionService.sol";
6
- import {IProductService} from "../instance/service/IProductService.sol";
7
- import {NftId, zeroNftId, NftIdLib} from "../types/NftId.sol";
8
- import {ReferralId} from "../types/Referral.sol";
9
- import {Fee, FeeLib} from "../types/Fee.sol";
10
- import {Component} from "./Component.sol";
11
- import {IDistributionComponent} from "./IDistributionComponent.sol";
12
- import {IRegistry} from "../registry/IRegistry.sol";
13
- import {IRegisterable} from "../shared/IRegisterable.sol";
14
- import {ISetup} from "../instance/module/ISetup.sol";
15
- import {Registerable} from "../shared/Registerable.sol";
16
- import {TokenHandler} from "../shared/TokenHandler.sol";
17
- import {InstanceReader} from "../instance/InstanceReader.sol";
18
-
19
- abstract contract Distribution is
20
- Component,
21
- IDistributionComponent
22
- {
23
- using NftIdLib for NftId;
24
-
25
- Fee internal _initialDistributionFee;
26
- bool internal _isVerifying;
27
-
28
- TokenHandler internal _tokenHandler;
29
-
30
- IDistributionService private _distributionService;
31
-
32
- constructor(
33
- address registry,
34
- NftId instanceNftId,
35
- // TODO refactor into tokenNftId
36
- address token,
37
- bool verifying,
38
- Fee memory distributionFee,
39
- address initialOwner
40
- )
41
- Component(registry, instanceNftId, token, DISTRIBUTION(), true, initialOwner)
42
- {
43
- _isVerifying = verifying;
44
- _initialDistributionFee = distributionFee;
45
-
46
- _tokenHandler = TokenHandler(token);
47
- _distributionService = _instance.getDistributionService();
48
-
49
- _registerInterface(type(IDistributionComponent).interfaceId);
50
- }
51
-
52
-
53
- function setFees(
54
- Fee memory distributionFee
55
- )
56
- external
57
- override
58
- {
59
- _distributionService.setFees(distributionFee);
60
- }
61
-
62
- function calculateFeeAmount(
63
- ReferralId referralId,
64
- uint256 netPremiumAmount
65
- )
66
- external
67
- view
68
- virtual override
69
- returns (uint256 feeAmount)
70
- {
71
- ISetup.DistributionSetupInfo memory setupInfo = getSetupInfo();
72
- Fee memory fee = setupInfo.distributionFee;
73
- (feeAmount,) = FeeLib.calculateFee(fee, netPremiumAmount);
74
- }
75
-
76
-
77
- function calculateRenewalFeeAmount(
78
- ReferralId referralId,
79
- uint256 netPremiumAmount
80
- )
81
- external
82
- view
83
- virtual override
84
- returns (uint256 feeAmount)
85
- {
86
- // default is no fees
87
- return 0 * netPremiumAmount;
88
- }
89
-
90
- function processSale(
91
- ReferralId referralId,
92
- uint256 feeAmount
93
- )
94
- external
95
- onlyProductService
96
- virtual override
97
- {
98
- // default is no action
99
- }
100
-
101
- function processRenewal(
102
- ReferralId referralId,
103
- uint256 feeAmount
104
- )
105
- external
106
- onlyProductService
107
- virtual override
108
- {
109
- // default is no action
110
- }
111
-
112
- function referralIsValid(ReferralId referralId) external view returns (bool isValid) {
113
- // default is invalid
114
- return false;
115
- }
116
-
117
- function getSetupInfo() public view returns (ISetup.DistributionSetupInfo memory setupInfo) {
118
- InstanceReader reader = _instance.getInstanceReader();
119
- return reader.getDistributionSetupInfo(getNftId());
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 IRegisterable
129
-
130
- function getInitialInfo()
131
- public
132
- view
133
- override (IRegisterable, Registerable)
134
- returns(IRegistry.ObjectInfo memory, bytes memory)
135
- {
136
- (
137
- IRegistry.ObjectInfo memory info,
138
- ) = super.getInitialInfo();
139
-
140
- return (
141
- info,
142
- abi.encode(
143
- getName(),
144
- ISetup.DistributionSetupInfo(
145
- _productNftId,
146
- _tokenHandler,
147
- _initialDistributionFee,
148
- _isVerifying,
149
- address(this)
150
- )
151
- )
152
- );
153
- }
154
- }
@@ -1,37 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {IRegisterable} from "../shared/IRegisterable.sol";
7
- import {IInstance} from "../instance/IInstance.sol";
8
- import {NftId} from "../types/NftId.sol";
9
-
10
- interface IComponent is IRegisterable {
11
-
12
- error ErrorComponentProductNftAlreadySet();
13
- error ErrorComponentWalletAddressIsSameAsCurrent(address newWallet);
14
- error ErrorComponentWalletAllowanceTooSmall(address oldWallet, address newWallet, uint256 allowance, uint256 balance);
15
- error ErrorComponentUnauthorized(address caller, uint64 requiredRoleIdNum);
16
- error ErrorComponentNotProductService(address caller);
17
-
18
- event LogComponentWalletAddressChanged(address newWallet);
19
- event LogComponentWalletTokensTransferred(address from, address to, uint256 amount);
20
-
21
- function getName() external pure returns (string memory name);
22
-
23
- // TODO remove and replace with accessmanaged target locking mechanism
24
- function lock() external;
25
- function unlock() external;
26
-
27
- function getToken() external view returns (IERC20Metadata token);
28
-
29
- function setWallet(address walletAddress) external;
30
- function getWallet() external view returns (address walletAddress);
31
-
32
- function getInstance() external view returns (IInstance instance);
33
-
34
- function setProductNftId(NftId productNftId) external;
35
- function getProductNftId() external view returns (NftId productNftId);
36
-
37
- }
@@ -1,44 +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/Referral.sol";
6
- import {NftId} from "../types/NftId.sol";
7
- import {ISetup} from "../instance/module/ISetup.sol";
8
-
9
- interface IDistributionComponent {
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 returns true iff the component needs to be called when selling/renewing policis
43
- function isVerifying() external view returns (bool verifying);
44
- }
@@ -1,66 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {NftId} from "../types/NftId.sol";
5
- import {Fee} from "../types/Fee.sol";
6
- import {UFixed} from "../types/UFixed.sol";
7
-
8
- interface IPoolComponent {
9
-
10
- event LogUnderwrittenByPool(NftId policyNftId, uint256 collateralizationAmount, address pool);
11
-
12
- function setFees(
13
- Fee memory poolFee,
14
- Fee memory stakingFee,
15
- Fee memory performanceFee
16
- ) external;
17
-
18
- /**
19
- * @dev creates a new bundle for this pool.
20
- */
21
- function createBundle(
22
- Fee memory fee,
23
- uint256 initialAmount,
24
- uint256 lifetime,
25
- bytes memory filter
26
- ) external returns(NftId bundleNftId);
27
-
28
- function setBundleFee(
29
- NftId policyNftId,
30
- Fee memory fee
31
- ) external;
32
-
33
- /**
34
- * @dev this is a callback function that is called by the product service when underwriting a policy.
35
- * the pool has the option to check the details and object to underwriting by reverting.
36
- * the function is only called for "active" pools that ask to be involved/notified
37
- * by product related state changes.
38
- */
39
- function underwrite(
40
- NftId policyNftId,
41
- bytes memory policyData,
42
- bytes memory bundleFilter,
43
- uint256 collateralizationAmount
44
- ) external;
45
-
46
- function lockBundle(NftId bundleNftId) external;
47
-
48
- function unlockBundle(NftId bundleNftId) external;
49
-
50
- /**
51
- * @dev returns true iff the policy application data in policyData matches
52
- * with the bundle filter criteria encoded in bundleFilter.
53
- */
54
- function policyMatchesBundle(
55
- bytes memory policyData,
56
- bytes memory bundleFilter
57
- )
58
- external
59
- view
60
- returns (bool isMatching);
61
-
62
- function isConfirmingApplication() external view returns (bool isConfirmingApplication);
63
-
64
- function getCollateralizationLevel() external view returns (UFixed collateralizationLevel);
65
-
66
- }
@@ -1,35 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Fee} from "../types/Fee.sol";
5
- import {NftId} from "../types/NftId.sol";
6
- import {ReferralId} from "../types/Referral.sol";
7
- import {RiskId} from "../types/RiskId.sol";
8
-
9
- interface IProductComponent {
10
-
11
- function setFees(
12
- Fee memory productFee,
13
- Fee memory processingFee
14
- ) external;
15
-
16
- function calculatePremium(
17
- uint256 sumInsuredAmount,
18
- RiskId riskId,
19
- uint256 lifetime,
20
- bytes memory applicationData,
21
- NftId bundleNftId,
22
- ReferralId referralId
23
- ) external view returns (uint256 premiumAmount);
24
-
25
- function calculateNetPremium(
26
- uint256 sumInsuredAmount,
27
- RiskId riskId,
28
- uint256 lifetime,
29
- bytes memory applicationData
30
- ) external view returns (uint256 netPremiumAmount);
31
-
32
-
33
- function getPoolNftId() external view returns (NftId poolNftId);
34
- function getDistributionNftId() external view returns (NftId distributionNftId);
35
- }