@etherisc/gif-next 0.0.2-e5a2253-213 → 0.0.2-e5bdc7a-937

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 (740) 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/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  6. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  8. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  10. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  12. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  14. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  18. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1018 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1494 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +917 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +984 -0
  36. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
  56. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  57. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
  58. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +322 -1403
  60. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  61. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +355 -203
  62. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/Instance.sol/Instance.json +419 -2524
  64. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1666 -0
  66. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
  68. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1276 -412
  70. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +461 -393
  72. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +378 -92
  74. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3668 -0
  76. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  77. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
  78. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  80. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  81. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  82. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  84. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  85. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  86. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  88. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  90. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  91. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  92. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  93. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  95. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  96. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  97. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  107. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +291 -353
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +990 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +766 -0
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1254 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1360 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  123. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +476 -274
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  125. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +421 -365
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1285 -0
  128. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/Pool.sol/Pool.json +1029 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1619 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +794 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +806 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1148 -0
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1439 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +858 -0
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +265 -228
  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 +944 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  153. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +290 -211
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  155. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +488 -269
  156. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  157. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IRiskService.sol/IRiskService.json} +154 -133
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1313 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +810 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  166. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  167. package/artifacts/contracts/product/Product.sol/Product.json +1106 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  172. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +562 -20
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  177. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +273 -230
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  179. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  180. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/Registry.sol/Registry.json +1010 -85
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  183. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +338 -271
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +364 -78
  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 +1 -1
  195. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -96
  196. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  197. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/Component.sol/Component.json} +283 -274
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1835 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +846 -0
  202. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  203. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +153 -172
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +488 -0
  206. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  207. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  208. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  209. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  210. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  211. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +260 -262
  212. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  213. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
  214. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  215. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
  216. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  217. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +96 -34
  218. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  219. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  220. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  221. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
  222. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  223. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  224. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +40 -31
  226. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  227. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  228. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IService.sol/IService.json +106 -152
  230. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  231. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  232. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  233. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +799 -0
  234. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  235. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +129 -20
  236. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  237. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  238. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  239. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  240. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +81 -30
  242. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  243. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  244. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +96 -48
  246. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  247. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  248. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  249. package/artifacts/contracts/shared/Service.sol/Service.json +138 -164
  250. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  251. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +734 -8
  252. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  253. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  254. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  255. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  256. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  257. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
  258. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  259. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  260. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  262. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  263. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  264. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  266. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  268. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  270. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  271. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
  272. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  273. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
  274. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  275. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  276. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  277. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  278. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  279. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  280. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  282. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  284. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  286. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  288. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  290. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  292. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  293. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  294. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  296. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  297. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  298. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  300. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  302. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  304. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  306. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +180 -0
  308. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  310. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  312. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  314. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  316. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  318. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  320. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  322. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  324. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  326. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  328. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  330. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  331. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  332. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  333. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  334. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  335. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  336. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  337. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  338. package/contracts/authorization/AccessAdmin.sol +616 -0
  339. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  340. package/contracts/authorization/Authorization.sol +289 -0
  341. package/contracts/authorization/IAccess.sol +49 -0
  342. package/contracts/authorization/IAccessAdmin.sol +137 -0
  343. package/contracts/authorization/IAuthorization.sol +60 -0
  344. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  345. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  346. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  347. package/contracts/distribution/BasicDistribution.sol +139 -0
  348. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  349. package/contracts/distribution/Distribution.sol +284 -0
  350. package/contracts/distribution/DistributionService.sol +354 -0
  351. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  352. package/contracts/distribution/IDistributionComponent.sol +52 -0
  353. package/contracts/distribution/IDistributionService.sol +100 -0
  354. package/contracts/examples/fire/DamageLevel.sol +59 -0
  355. package/contracts/examples/fire/FirePool.sol +86 -0
  356. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  357. package/contracts/examples/fire/FireProduct.sol +431 -0
  358. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  359. package/contracts/examples/fire/FireUSD.sol +26 -0
  360. package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
  361. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  362. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  363. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  364. package/contracts/instance/BundleSet.sol +130 -0
  365. package/contracts/instance/IInstance.sol +62 -50
  366. package/contracts/instance/IInstanceService.sol +56 -22
  367. package/contracts/instance/Instance.sol +175 -196
  368. package/contracts/instance/InstanceAdmin.sol +278 -0
  369. package/contracts/instance/InstanceAuthorizationV3.sol +217 -0
  370. package/contracts/instance/InstanceReader.sol +347 -83
  371. package/contracts/instance/InstanceService.sol +325 -246
  372. package/contracts/instance/InstanceServiceManager.sol +14 -29
  373. package/contracts/instance/InstanceStore.sol +287 -0
  374. package/contracts/instance/RiskSet.sol +119 -0
  375. package/contracts/instance/base/BalanceStore.sol +123 -0
  376. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  377. package/contracts/instance/base/ObjectCounter.sol +21 -0
  378. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  379. package/contracts/instance/base/ObjectSet.sol +78 -0
  380. package/contracts/instance/module/IAccess.sol +19 -21
  381. package/contracts/instance/module/IBundle.sol +8 -8
  382. package/contracts/instance/module/IComponents.sol +50 -0
  383. package/contracts/instance/module/IDistribution.sol +6 -4
  384. package/contracts/instance/module/IPolicy.sol +59 -19
  385. package/contracts/instance/module/IRisk.sol +2 -1
  386. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  387. package/contracts/oracle/BasicOracle.sol +47 -0
  388. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  389. package/contracts/oracle/IOracle.sol +36 -0
  390. package/contracts/oracle/IOracleComponent.sol +33 -0
  391. package/contracts/oracle/IOracleService.sol +66 -0
  392. package/contracts/oracle/Oracle.sol +156 -0
  393. package/contracts/oracle/OracleService.sol +309 -0
  394. package/contracts/oracle/OracleServiceManager.sol +39 -0
  395. package/contracts/pool/BasicPool.sol +175 -0
  396. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  397. package/contracts/pool/BundleService.sol +423 -0
  398. package/contracts/pool/BundleServiceManager.sol +39 -0
  399. package/contracts/pool/IBundleService.sol +122 -0
  400. package/contracts/pool/IPoolComponent.sol +62 -0
  401. package/contracts/pool/IPoolService.sol +153 -0
  402. package/contracts/pool/Pool.sol +345 -0
  403. package/contracts/pool/PoolService.sol +612 -0
  404. package/contracts/pool/PoolServiceManager.sol +39 -0
  405. package/contracts/product/ApplicationService.sol +259 -0
  406. package/contracts/product/ApplicationServiceManager.sol +38 -0
  407. package/contracts/product/BasicProduct.sol +49 -0
  408. package/contracts/product/BasicProductAuthorization.sol +42 -0
  409. package/contracts/product/ClaimService.sol +614 -0
  410. package/contracts/product/ClaimServiceManager.sol +38 -0
  411. package/contracts/product/IApplicationService.sol +66 -0
  412. package/contracts/product/IClaimService.sol +123 -0
  413. package/contracts/product/IPolicyService.sol +90 -0
  414. package/contracts/product/IPricingService.sol +39 -0
  415. package/contracts/product/IProductComponent.sol +59 -0
  416. package/contracts/product/IRiskService.sol +33 -0
  417. package/contracts/product/PolicyService.sol +733 -0
  418. package/contracts/product/PolicyServiceManager.sol +39 -0
  419. package/contracts/product/PricingService.sol +300 -0
  420. package/contracts/product/PricingServiceManager.sol +39 -0
  421. package/contracts/product/Product.sol +427 -0
  422. package/contracts/product/RiskService.sol +107 -0
  423. package/contracts/product/RiskServiceManager.sol +39 -0
  424. package/contracts/registry/ChainNft.sol +79 -34
  425. package/contracts/registry/IRegistry.sol +108 -26
  426. package/contracts/registry/IRegistryService.sol +38 -34
  427. package/contracts/registry/ITransferInterceptor.sol +1 -1
  428. package/contracts/registry/Registry.sol +538 -209
  429. package/contracts/registry/RegistryAdmin.sol +451 -0
  430. package/contracts/registry/RegistryService.sol +119 -198
  431. package/contracts/registry/RegistryServiceManager.sol +24 -33
  432. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  433. package/contracts/registry/ReleaseRegistry.sol +485 -0
  434. package/contracts/registry/ServiceAuthorizationV3.sol +175 -0
  435. package/contracts/registry/TokenRegistry.sol +263 -58
  436. package/contracts/shared/Component.sol +217 -0
  437. package/contracts/shared/ComponentService.sol +806 -0
  438. package/contracts/shared/ComponentServiceManager.sol +38 -0
  439. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  440. package/contracts/shared/ContractLib.sol +224 -0
  441. package/contracts/shared/IComponent.sol +67 -0
  442. package/contracts/shared/IComponentService.sol +130 -0
  443. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  444. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  445. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  446. package/contracts/shared/INftOwnable.sol +15 -12
  447. package/contracts/shared/IPolicyHolder.sol +35 -0
  448. package/contracts/shared/IRegisterable.sol +15 -4
  449. package/contracts/shared/IRegistryLinked.sol +11 -0
  450. package/contracts/shared/IService.sol +15 -6
  451. package/contracts/shared/InitializableERC165.sol +27 -0
  452. package/contracts/shared/InstanceLinkedComponent.sol +205 -0
  453. package/contracts/shared/KeyValueStore.sol +131 -0
  454. package/contracts/shared/Lifecycle.sol +88 -0
  455. package/contracts/shared/NftIdSet.sol +65 -0
  456. package/contracts/shared/NftOwnable.sol +75 -82
  457. package/contracts/shared/PolicyHolder.sol +62 -0
  458. package/contracts/shared/Registerable.sol +34 -41
  459. package/contracts/shared/RegistryLinked.sol +38 -0
  460. package/contracts/shared/Service.sol +60 -34
  461. package/contracts/shared/TokenHandler.sol +374 -12
  462. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  463. package/contracts/staking/IStaking.sol +173 -0
  464. package/contracts/staking/IStakingService.sol +157 -0
  465. package/contracts/staking/StakeManagerLib.sol +224 -0
  466. package/contracts/staking/Staking.sol +505 -0
  467. package/contracts/staking/StakingLifecycle.sol +23 -0
  468. package/contracts/staking/StakingManager.sol +52 -0
  469. package/contracts/staking/StakingReader.sol +190 -0
  470. package/contracts/staking/StakingService.sol +440 -0
  471. package/contracts/staking/StakingServiceManager.sol +44 -0
  472. package/contracts/staking/StakingStore.sol +605 -0
  473. package/contracts/staking/TargetManagerLib.sol +211 -0
  474. package/contracts/{types → type}/AddressSet.sol +1 -1
  475. package/contracts/type/Amount.sol +150 -0
  476. package/contracts/{types → type}/Blocknumber.sol +27 -3
  477. package/contracts/type/ClaimId.sol +80 -0
  478. package/contracts/{types → type}/DistributorType.sol +2 -2
  479. package/contracts/{types → type}/Fee.sol +33 -23
  480. package/contracts/{types → type}/Key32.sol +2 -2
  481. package/contracts/type/Key32Set.sol +62 -0
  482. package/contracts/{types → type}/NftId.sol +28 -15
  483. package/contracts/{types → type}/NftIdSet.sol +2 -2
  484. package/contracts/type/ObjectType.sol +278 -0
  485. package/contracts/type/PayoutId.sol +82 -0
  486. package/contracts/{types → type}/Referral.sol +6 -1
  487. package/contracts/type/RequestId.sol +75 -0
  488. package/contracts/{types → type}/RiskId.sol +31 -5
  489. package/contracts/type/RoleId.sol +162 -0
  490. package/contracts/type/Seconds.sol +101 -0
  491. package/contracts/type/Selector.sol +102 -0
  492. package/contracts/{types → type}/StateId.sol +48 -4
  493. package/contracts/type/String.sol +53 -0
  494. package/contracts/{types → type}/Timestamp.sol +34 -15
  495. package/contracts/{types → type}/UFixed.sol +39 -9
  496. package/contracts/{types → type}/Version.sol +5 -2
  497. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  498. package/contracts/upgradeability/ProxyManager.sol +232 -0
  499. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  500. package/contracts/upgradeability/Versionable.sol +59 -0
  501. package/package.json +11 -7
  502. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  503. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  504. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  505. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  506. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  507. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  508. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  509. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  510. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  511. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  512. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  515. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  517. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  519. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  521. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  523. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  525. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  527. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  528. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  529. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  530. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  531. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  532. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  533. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  534. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  535. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  536. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  537. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  538. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  539. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  540. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  541. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  542. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  543. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  544. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  545. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  546. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  547. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  548. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  549. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  550. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  551. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  552. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  553. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  554. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  555. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
  556. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  557. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  558. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  559. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
  560. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  561. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  562. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  563. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  564. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  565. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  566. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -100
  567. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  568. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  569. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  570. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  571. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  572. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  573. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  574. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  575. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  576. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1121
  577. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  578. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  579. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  580. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -791
  581. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  582. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -424
  583. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  584. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  585. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  586. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  587. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  588. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  589. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  590. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1246
  591. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  592. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  593. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  594. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -825
  595. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  596. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -424
  597. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  598. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -875
  599. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  600. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -424
  601. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  602. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  603. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  604. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -530
  605. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  606. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  607. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  608. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  609. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  610. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  611. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  612. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  613. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  614. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  615. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  616. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  617. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  618. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  619. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  620. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  621. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  622. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  623. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  624. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  625. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  626. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  627. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  628. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  629. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  630. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  631. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  632. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  633. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  634. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  635. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  636. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  637. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  638. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  639. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  640. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  641. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  642. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  643. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  644. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  645. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  646. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  647. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  648. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  649. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  650. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  651. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  652. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  653. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  654. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  655. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  656. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  657. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  658. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  659. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  660. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  661. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  662. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  663. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  664. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  665. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  666. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  667. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  668. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  669. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  670. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  671. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  672. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  673. package/contracts/components/BaseComponent.sol +0 -168
  674. package/contracts/components/Distribution.sol +0 -154
  675. package/contracts/components/IBaseComponent.sol +0 -35
  676. package/contracts/components/IDistributionComponent.sol +0 -44
  677. package/contracts/components/IPoolComponent.sol +0 -66
  678. package/contracts/components/IProductComponent.sol +0 -35
  679. package/contracts/components/Pool.sol +0 -258
  680. package/contracts/components/Product.sol +0 -295
  681. package/contracts/experiment/cloning/Cloner.sol +0 -47
  682. package/contracts/experiment/errors/Require.sol +0 -38
  683. package/contracts/experiment/errors/Revert.sol +0 -44
  684. package/contracts/experiment/inheritance/A.sol +0 -53
  685. package/contracts/experiment/inheritance/B.sol +0 -28
  686. package/contracts/experiment/inheritance/C.sol +0 -34
  687. package/contracts/experiment/inheritance/IA.sol +0 -13
  688. package/contracts/experiment/inheritance/IB.sol +0 -10
  689. package/contracts/experiment/inheritance/IC.sol +0 -12
  690. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  691. package/contracts/experiment/statemachine/ISM.sol +0 -25
  692. package/contracts/experiment/statemachine/SM.sol +0 -57
  693. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  694. package/contracts/experiment/types/TypeA.sol +0 -47
  695. package/contracts/experiment/types/TypeB.sol +0 -29
  696. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  697. package/contracts/instance/BundleManager.sol +0 -129
  698. package/contracts/instance/IInstanceBase.sol +0 -25
  699. package/contracts/instance/InstanceAccessManager.sol +0 -303
  700. package/contracts/instance/InstanceBase.sol +0 -39
  701. package/contracts/instance/ObjectManager.sol +0 -101
  702. package/contracts/instance/base/ComponentServiceBase.sol +0 -138
  703. package/contracts/instance/base/IInstanceBase.sol +0 -21
  704. package/contracts/instance/base/KeyValueStore.sol +0 -172
  705. package/contracts/instance/base/Lifecycle.sol +0 -100
  706. package/contracts/instance/module/ISetup.sol +0 -46
  707. package/contracts/instance/module/ITreasury.sol +0 -23
  708. package/contracts/instance/service/BundleService.sol +0 -294
  709. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  710. package/contracts/instance/service/DistributionService.sol +0 -115
  711. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  712. package/contracts/instance/service/IBundleService.sol +0 -44
  713. package/contracts/instance/service/IDistributionService.sol +0 -12
  714. package/contracts/instance/service/IPolicyService.sol +0 -94
  715. package/contracts/instance/service/IPoolService.sol +0 -20
  716. package/contracts/instance/service/IProductService.sol +0 -40
  717. package/contracts/instance/service/PolicyService.sol +0 -539
  718. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  719. package/contracts/instance/service/PoolService.sol +0 -142
  720. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  721. package/contracts/instance/service/ProductService.sol +0 -209
  722. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  723. package/contracts/registry/RegistryAccessManager.sol +0 -210
  724. package/contracts/registry/ReleaseManager.sol +0 -342
  725. package/contracts/shared/ContractDeployerLib.sol +0 -72
  726. package/contracts/shared/ERC165.sol +0 -25
  727. package/contracts/shared/ProxyManager.sol +0 -94
  728. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  729. package/contracts/shared/Versionable.sol +0 -147
  730. package/contracts/test/TestFee.sol +0 -25
  731. package/contracts/test/TestRegisterable.sol +0 -18
  732. package/contracts/test/TestRoleId.sol +0 -14
  733. package/contracts/test/TestService.sol +0 -25
  734. package/contracts/test/TestToken.sol +0 -26
  735. package/contracts/test/TestVersion.sol +0 -44
  736. package/contracts/test/TestVersionable.sol +0 -17
  737. package/contracts/types/ChainId.sol +0 -38
  738. package/contracts/types/NumberId.sol +0 -52
  739. package/contracts/types/ObjectType.sol +0 -152
  740. package/contracts/types/RoleId.sol +0 -90
@@ -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,168 +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 {IBaseComponent} from "./IBaseComponent.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 also inherit oz accessmanaged
21
- abstract contract BaseComponent is
22
- Registerable,
23
- IBaseComponent
24
- {
25
- using NftIdLib for NftId;
26
-
27
- IInstanceService internal _instanceService;
28
- IProductService internal _productService;
29
-
30
- address internal _deployer;
31
- address internal _wallet;
32
- IERC20Metadata internal _token;
33
- IInstance internal _instance;
34
- NftId internal _productNftId;
35
-
36
- modifier onlyProductService() {
37
- if(msg.sender != address(_productService)) {
38
- revert ErrorBaseComponentNotProductService(msg.sender);
39
- }
40
- _;
41
- }
42
-
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 ErrorBaseComponentUnauthorized(msg.sender, roleIdNum);
48
- }
49
- _;
50
- }
51
-
52
- // TODO move to oz accessmanaged locked (which is included in restricted modifier)
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(IBaseComponent).interfaceId);
86
- }
87
-
88
- function getName() public pure virtual returns (string memory name);
89
-
90
- // from component contract
91
- // TODO only owner and instance owner
92
- function lock() external onlyOwner override {
93
- _instanceService.setTargetLocked(getName(), true);
94
- }
95
-
96
- // TODO only owner and instance owner
97
- function unlock() external onlyOwner override {
98
- _instanceService.setTargetLocked(getName(), false);
99
- }
100
-
101
- function getWallet()
102
- external
103
- view
104
- override
105
- returns (address walletAddress)
106
- {
107
- return _wallet;
108
- }
109
-
110
- /// @dev Sets the wallet address for the component.
111
- /// if the current wallet has tokens, these will be transferred.
112
- /// if the new wallet address is externally owned, an approval from the
113
- /// owner of the external wallet for the component to move all tokens must exist.
114
- function setWallet(address newWallet) external override onlyOwner {
115
- address currentWallet = _wallet;
116
- uint256 currentBalance = _token.balanceOf(currentWallet);
117
-
118
- // checks
119
- if (newWallet == currentWallet) {
120
- revert ErrorBaseComponentWalletAddressIsSameAsCurrent(newWallet);
121
- }
122
-
123
- if (currentBalance > 0) {
124
- if (currentWallet == address(this)) {
125
- // move tokens from component smart contract to external wallet
126
- } else {
127
- // move tokens from external wallet to component smart contract or another external wallet
128
- uint256 allowance = _token.allowance(currentWallet, address(this));
129
- if (allowance < currentBalance) {
130
- revert ErrorBaseComponentWalletAllowanceTooSmall(currentWallet, newWallet, allowance, currentBalance);
131
- }
132
- }
133
- }
134
-
135
- // effects
136
- _wallet = newWallet;
137
- emit LogBaseComponentWalletAddressChanged(newWallet);
138
-
139
- // interactions
140
- if (currentBalance > 0) {
141
- // transfer tokens from current wallet to new wallet
142
- if (currentWallet == address(this)) {
143
- // transferFrom requires self allowance too
144
- _token.approve(address(this), currentBalance);
145
- }
146
-
147
- SafeERC20.safeTransferFrom(_token, currentWallet, newWallet, currentBalance);
148
- emit LogBaseComponentWalletTokensTransferred(currentWallet, newWallet, currentBalance);
149
- }
150
- }
151
-
152
- function getToken() public view override returns (IERC20Metadata token) {
153
- return _token;
154
- }
155
-
156
- function getInstance() public view override returns (IInstance instance) {
157
- return _instance;
158
- }
159
-
160
- function setProductNftId(NftId productNftId) public override onlyOwner {
161
- require(_productNftId.eq(zeroNftId()), "product nft id already set");
162
- _productNftId = productNftId;
163
- }
164
-
165
- function getProductNftId() public view override returns (NftId productNftId) {
166
- return _productNftId;
167
- }
168
- }
@@ -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 {BaseComponent} from "./BaseComponent.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
- BaseComponent,
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
- BaseComponent(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,35 +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 IBaseComponent is IRegisterable {
11
- error ErrorBaseComponentWalletAddressIsSameAsCurrent(address newWallet);
12
- error ErrorBaseComponentWalletAllowanceTooSmall(address oldWallet, address newWallet, uint256 allowance, uint256 balance);
13
- error ErrorBaseComponentUnauthorized(address caller, uint64 requiredRoleIdNum);
14
- error ErrorBaseComponentNotProductService(address caller);
15
-
16
- event LogBaseComponentWalletAddressChanged(address newWallet);
17
- event LogBaseComponentWalletTokensTransferred(address from, address to, uint256 amount);
18
-
19
- function getName() external pure returns (string memory name);
20
-
21
- // TODO remove and replace with accessmanaged target locking mechanism
22
- function lock() external;
23
- function unlock() external;
24
-
25
- function getToken() external view returns (IERC20Metadata token);
26
-
27
- function setWallet(address walletAddress) external;
28
- function getWallet() external view returns (address walletAddress);
29
-
30
- function getInstance() external view returns (IInstance instance);
31
-
32
- function setProductNftId(NftId productNftId) external;
33
- function getProductNftId() external view returns (NftId productNftId);
34
-
35
- }
@@ -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
- }