@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,71 +1,67 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {DistributorType} from "../types/DistributorType.sol";
7
- import {Fee, FeeLib} from "../types/Fee.sol";
8
- import {Key32} from "../types/Key32.sol";
9
- import {NftId} from "../types/NftId.sol";
10
- import {ObjectType, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, TREASURY, BUNDLE} from "../types/ObjectType.sol";
11
- import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../types/Referral.sol";
12
- import {Registerable} from "../shared/Registerable.sol";
13
- import {RiskId} from "../types/RiskId.sol";
14
- import {UFixed, MathLib, UFixedLib} from "../types/UFixed.sol";
15
- import {Version} from "../types/Version.sol";
16
- import {StateId} from "../types/StateId.sol";
17
-
18
- import {IRegistry} from "../registry/IRegistry.sol";
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
6
+ import {DistributorType} from "../type/DistributorType.sol";
7
+ import {Key32} from "../type/Key32.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
10
+ import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
11
+ import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
12
+ import {RequestId} from "../type/RequestId.sol";
13
+ import {RiskId} from "../type/RiskId.sol";
14
+ import {RoleId} from "../type/RoleId.sol";
15
+ import {StateId} from "../type/StateId.sol";
16
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
17
+
19
18
  import {IBundle} from "../instance/module/IBundle.sol";
19
+ import {IComponents} from "../instance/module/IComponents.sol";
20
20
  import {IDistribution} from "../instance/module/IDistribution.sol";
21
21
  import {IInstance} from "./IInstance.sol";
22
- import {IKeyValueStore} from "../instance/base/IKeyValueStore.sol";
22
+ import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
23
+ import {IOracle} from "../oracle/IOracle.sol";
23
24
  import {IPolicy} from "../instance/module/IPolicy.sol";
24
25
  import {IRisk} from "../instance/module/IRisk.sol";
25
- import {ISetup} from "../instance/module/ISetup.sol";
26
- import {ITreasury} from "../instance/module/ITreasury.sol";
27
- import {TimestampLib} from "../types/Timestamp.sol";
28
-
26
+ import {TimestampLib} from "../type/Timestamp.sol";
29
27
 
30
- contract InstanceReader {
31
- bool private _initialized;
28
+ import {InstanceStore} from "./InstanceStore.sol";
29
+ import {BundleSet} from "./BundleSet.sol";
30
+ import {RiskSet} from "./RiskSet.sol";
32
31
 
33
- IRegistry internal _registry;
34
- NftId internal _instanceNftId;
35
- IInstance internal _instance;
36
- IKeyValueStore internal _store;
37
32
 
38
- constructor(
39
- address registry,
40
- NftId instanceNftId
41
- )
42
- {
43
- initialize(registry, instanceNftId);
44
- }
45
-
46
- function initialize(address registry, NftId instanceNftId) public {
47
- require(!_initialized, "ERROR:CRD-000:ALREADY_INITIALIZED");
33
+ contract InstanceReader {
48
34
 
49
- require(
50
- address(registry) != address(0),
51
- "ERROR:CRD-001:REGISTRY_ZERO");
35
+ error ErrorInstanceReaderAlreadyInitialized();
36
+ error ErrorInstanceReaderInstanceAddressZero();
52
37
 
53
- require(
54
- instanceNftId.gtz(),
55
- "ERROR:CRD-002:NFT_ID_ZERO");
38
+ bool private _initialized = false;
56
39
 
57
- _registry = IRegistry(registry);
58
- _instanceNftId = instanceNftId;
59
- IRegistry.ObjectInfo memory instanceInfo = _registry.getObjectInfo(_instanceNftId);
40
+ IInstance internal _instance;
41
+ InstanceStore internal _store;
42
+ BundleSet internal _bundleSet;
43
+ RiskSet internal _riskSet;
44
+
45
+ /// @dev This initializer needs to be called from the instance itself.
46
+ function initialize() public {
47
+ if(_initialized) {
48
+ revert ErrorInstanceReaderAlreadyInitialized();
49
+ }
60
50
 
61
- require(
62
- instanceInfo.objectType == INSTANCE(),
63
- "ERROR:CRD-003:PARENT_NOT_INSTANCE");
51
+ initializeWithInstance(msg.sender);
52
+ }
64
53
 
65
- _instance = IInstance(instanceInfo.objectAddress);
66
- _store = IKeyValueStore(instanceInfo.objectAddress);
54
+ /// @dev This initializer needs to be called from the instance itself.
55
+ function initializeWithInstance(address instanceAddress) public {
56
+ if(_initialized) {
57
+ revert ErrorInstanceReaderAlreadyInitialized();
58
+ }
67
59
 
68
60
  _initialized = true;
61
+ _instance = IInstance(instanceAddress);
62
+ _store = _instance.getInstanceStore();
63
+ _bundleSet = _instance.getBundleSet();
64
+ _riskSet = _instance.getRiskSet();
69
65
  }
70
66
 
71
67
 
@@ -87,7 +83,198 @@ contract InstanceReader {
87
83
  view
88
84
  returns (StateId state)
89
85
  {
90
- return _instance.getState(toPolicyKey(policyNftId));
86
+ return _store.getState(toPolicyKey(policyNftId));
87
+ }
88
+
89
+ function getPremiumInfo(NftId policyNftId)
90
+ public
91
+ view
92
+ returns (IPolicy.PremiumInfo memory info)
93
+ {
94
+ bytes memory data = _store.getData(toPremiumKey(policyNftId));
95
+ if (data.length > 0) {
96
+ return abi.decode(data, (IPolicy.PremiumInfo));
97
+ }
98
+ }
99
+
100
+ function getPremiumInfoState(NftId policyNftId)
101
+ public
102
+ view
103
+ returns (StateId state)
104
+ {
105
+ return _store.getState(toPremiumKey(policyNftId));
106
+ }
107
+
108
+ function bundles(NftId poolNftId)
109
+ public
110
+ view
111
+ returns (uint256 bundles)
112
+ {
113
+ return _bundleSet.bundles(poolNftId);
114
+ }
115
+
116
+ function activeBundles(NftId poolNftId)
117
+ public
118
+ view
119
+ returns (uint256 bundles)
120
+ {
121
+ return _bundleSet.activeBundles(poolNftId);
122
+ }
123
+
124
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx)
125
+ public
126
+ view
127
+ returns (NftId bundleNftId)
128
+ {
129
+ return _bundleSet.getActiveBundleNftId(poolNftId, idx);
130
+ }
131
+
132
+ function getBundleNftId(NftId poolNftId, uint256 idx)
133
+ public
134
+ view
135
+ returns (NftId bundleNftId)
136
+ {
137
+ return _bundleSet.getBundleNftId(poolNftId, idx);
138
+ }
139
+
140
+ function getBundleState(NftId bundleNftId)
141
+ public
142
+ view
143
+ returns (StateId state)
144
+ {
145
+ return _store.getState(toBundleKey(bundleNftId));
146
+ }
147
+
148
+ /// @dev Returns true iff policy is active.
149
+ function policyIsActive(NftId policyNftId)
150
+ public
151
+ view
152
+ returns (bool isCloseable)
153
+ {
154
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
155
+
156
+ if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
157
+ if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
158
+ if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
159
+ if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
160
+
161
+ return true;
162
+ }
163
+
164
+ function claims(NftId policyNftId)
165
+ public
166
+ view
167
+ returns (uint16 claims)
168
+ {
169
+ return getPolicyInfo(policyNftId).claimsCount;
170
+ }
171
+
172
+
173
+ function getClaimId(uint idx)
174
+ public
175
+ view
176
+ returns (ClaimId claimId)
177
+ {
178
+ return ClaimIdLib.toClaimId(idx + 1);
179
+ }
180
+
181
+ function getClaimInfo(NftId policyNftId, ClaimId claimId)
182
+ public
183
+ view
184
+ returns (IPolicy.ClaimInfo memory info)
185
+ {
186
+ bytes memory data = _store.getData(claimId.toKey32(policyNftId));
187
+ if (data.length > 0) {
188
+ return abi.decode(data, (IPolicy.ClaimInfo));
189
+ }
190
+ }
191
+
192
+
193
+ function getClaimState(NftId policyNftId, ClaimId claimId)
194
+ public
195
+ view
196
+ returns (StateId state)
197
+ {
198
+ return _store.getState(claimId.toKey32(policyNftId));
199
+ }
200
+
201
+
202
+ function payouts(NftId policyNftId, ClaimId claimId)
203
+ public
204
+ view
205
+ returns (uint24 payouts)
206
+ {
207
+ return getClaimInfo(policyNftId, claimId).payoutsCount;
208
+ }
209
+
210
+
211
+ function getPayoutId(ClaimId claimId, uint24 idx)
212
+ public
213
+ view
214
+ returns (PayoutId payoutId)
215
+ {
216
+ return PayoutIdLib.toPayoutId(claimId, idx + 1);
217
+ }
218
+
219
+
220
+ function getRemainingClaimableAmount(NftId policyNftId)
221
+ public
222
+ view
223
+ returns (Amount remainingClaimableAmount)
224
+ {
225
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
226
+ return info.sumInsuredAmount - info.claimAmount;
227
+ }
228
+
229
+ function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
230
+ public
231
+ view
232
+ returns (IPolicy.PayoutInfo memory info)
233
+ {
234
+ bytes memory data = _store.getData(payoutId.toKey32(policyNftId));
235
+ if (data.length > 0) {
236
+ return abi.decode(data, (IPolicy.PayoutInfo));
237
+ }
238
+ }
239
+
240
+ function getPayoutState(NftId policyNftId, PayoutId payoutId)
241
+ public
242
+ view
243
+ returns (StateId state)
244
+ {
245
+ return _store.getState(payoutId.toKey32(policyNftId));
246
+ }
247
+
248
+ function risks(NftId productNftId)
249
+ public
250
+ view
251
+ returns (uint256 activeRisks)
252
+ {
253
+ return _riskSet.risks(productNftId);
254
+ }
255
+
256
+ function getRiskId(NftId productNftId, uint256 idx)
257
+ public
258
+ view
259
+ returns (RiskId riskId)
260
+ {
261
+ return _riskSet.getRiskId(productNftId, idx);
262
+ }
263
+
264
+ function activeRisks(NftId productNftId)
265
+ public
266
+ view
267
+ returns (uint256 activeRisks)
268
+ {
269
+ return _riskSet.activeRisks(productNftId);
270
+ }
271
+
272
+ function getActiveRiskId(NftId productNftId, uint256 idx)
273
+ public
274
+ view
275
+ returns (RiskId riskId)
276
+ {
277
+ return _riskSet.getActiveRiskId(productNftId, idx);
91
278
  }
92
279
 
93
280
  function getRiskInfo(RiskId riskId)
@@ -101,30 +288,57 @@ contract InstanceReader {
101
288
  }
102
289
  }
103
290
 
104
- function getTokenHandler(NftId productNftId)
291
+ function getRiskState(RiskId riskId)
292
+ public
293
+ view
294
+ returns (StateId stateId)
295
+ {
296
+ bytes memory data = _store.getData(riskId.toKey32());
297
+ return _store.getState(riskId.toKey32());
298
+ }
299
+
300
+ function policiesForRisk(RiskId riskId)
301
+ public
302
+ view
303
+ returns (uint256 linkedPolicies)
304
+ {
305
+ return _riskSet.linkedPolicies(riskId);
306
+ }
307
+
308
+ function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
309
+ public
310
+ view
311
+ returns (NftId linkedPolicyNftId)
312
+ {
313
+ return _riskSet.getLinkedPolicyNftId(riskId, idx);
314
+ }
315
+
316
+ function getWallet(NftId componentNftId)
105
317
  public
106
318
  view
107
319
  returns (address tokenHandler)
108
320
  {
109
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
321
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
110
322
 
111
323
  if (data.length > 0) {
112
- ITreasury.TreasuryInfo memory info = abi.decode(data, (ITreasury.TreasuryInfo));
113
- return address(info.tokenHandler);
324
+ IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
325
+ return info.tokenHandler.getWallet();
114
326
  }
115
327
  }
116
328
 
117
- function getTreasuryInfo(NftId productNftId)
118
- public
119
- view
120
- returns (ITreasury.TreasuryInfo memory info)
329
+ function getTokenHandler(NftId componentNftId)
330
+ public
331
+ view
332
+ returns (address tokenHandler)
121
333
  {
122
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
334
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
335
+
123
336
  if (data.length > 0) {
124
- return abi.decode(data, (ITreasury.TreasuryInfo));
337
+ IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
338
+ return address(info.tokenHandler);
125
339
  }
126
340
  }
127
-
341
+
128
342
  function getBundleInfo(NftId bundleNftId)
129
343
  public
130
344
  view
@@ -158,36 +372,48 @@ contract InstanceReader {
158
372
  }
159
373
  }
160
374
 
161
- function getDistributionSetupInfo(NftId distributionNftId)
375
+ function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
376
+ return _store.getBalanceAmount(targetNftId);
377
+ }
378
+
379
+ function getLockedAmount(NftId targetNftId) external view returns (Amount) {
380
+ return _store.getLockedAmount(targetNftId);
381
+ }
382
+
383
+ function getFeeAmount(NftId targetNftId) external view returns (Amount) {
384
+ return _store.getFeeAmount(targetNftId);
385
+ }
386
+
387
+ function getComponentInfo(NftId componentNftId)
162
388
  public
163
389
  view
164
- returns (ISetup.DistributionSetupInfo memory info)
390
+ returns (IComponents.ComponentInfo memory info)
165
391
  {
166
- bytes memory data = _store.getData(toDistributionKey(distributionNftId));
392
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
167
393
  if (data.length > 0) {
168
- return abi.decode(data, (ISetup.DistributionSetupInfo));
394
+ return abi.decode(data, (IComponents.ComponentInfo));
169
395
  }
170
396
  }
171
397
 
172
- function getPoolSetupInfo(NftId poolNftId)
398
+ function getProductInfo(NftId productNftId)
173
399
  public
174
400
  view
175
- returns (ISetup.PoolSetupInfo memory info)
401
+ returns (IComponents.ProductInfo memory info)
176
402
  {
177
- bytes memory data = _store.getData(toPoolKey(poolNftId));
403
+ bytes memory data = _store.getData(toProductKey(productNftId));
178
404
  if (data.length > 0) {
179
- return abi.decode(data, (ISetup.PoolSetupInfo));
405
+ return abi.decode(data, (IComponents.ProductInfo));
180
406
  }
181
407
  }
182
408
 
183
- function getProductSetupInfo(NftId productNftId)
409
+ function getPoolInfo(NftId poolNftId)
184
410
  public
185
411
  view
186
- returns (ISetup.ProductSetupInfo memory info)
412
+ returns (IComponents.PoolInfo memory info)
187
413
  {
188
- bytes memory data = _store.getData(toProductKey(productNftId));
414
+ bytes memory data = _store.getData(toPoolKey(poolNftId));
189
415
  if (data.length > 0) {
190
- return abi.decode(data, (ISetup.ProductSetupInfo));
416
+ return abi.decode(data, (IComponents.PoolInfo));
191
417
  }
192
418
  }
193
419
 
@@ -202,6 +428,16 @@ contract InstanceReader {
202
428
  }
203
429
  }
204
430
 
431
+ function getRequestInfo(RequestId requestId)
432
+ public
433
+ view
434
+ returns (IOracle.RequestInfo memory requestInfo)
435
+ {
436
+ bytes memory data = _store.getData(requestId.toKey32());
437
+ if (data.length > 0) {
438
+ return abi.decode(data, (IOracle.RequestInfo));
439
+ }
440
+ }
205
441
 
206
442
  function getMetadata(Key32 key)
207
443
  public
@@ -211,6 +447,14 @@ contract InstanceReader {
211
447
  return _store.getMetadata(key);
212
448
  }
213
449
 
450
+ function getState(Key32 key)
451
+ public
452
+ view
453
+ returns (StateId state)
454
+ {
455
+ return _store.getMetadata(key).state;
456
+ }
457
+
214
458
 
215
459
  function toReferralId(
216
460
  NftId distributionNftId,
@@ -262,28 +506,44 @@ contract InstanceReader {
262
506
  }
263
507
 
264
508
 
265
- function toTreasuryKey(NftId productNftId) public pure returns (Key32) {
266
- return productNftId.toKey32(TREASURY());
509
+ function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
510
+ return _instance.getInstanceAdmin().hasRole(account, roleId);
267
511
  }
268
512
 
269
513
 
514
+ function hasAdminRole(address account, RoleId roleId) public view returns (bool isMember) {
515
+ return _instance.getInstanceAdmin().hasAdminRole(account, roleId);
516
+ }
517
+
518
+
519
+ function isTargetLocked(address target) public view returns (bool) {
520
+ return _instance.getInstanceAdmin().isTargetLocked(target);
521
+ }
522
+
270
523
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
271
524
  return policyNftId.toKey32(POLICY());
272
525
  }
273
526
 
527
+ function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
528
+ return policyNftId.toKey32(PREMIUM());
529
+ }
274
530
 
275
531
  function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
276
532
  return distributorNftId.toKey32(DISTRIBUTOR());
277
533
  }
278
534
 
279
- function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
280
- return distributionNftId.toKey32(DISTRIBUTION());
281
- }
282
-
283
535
  function toBundleKey(NftId poolNftId) public pure returns (Key32) {
284
536
  return poolNftId.toKey32(BUNDLE());
285
537
  }
286
538
 
539
+ function toComponentKey(NftId componentNftId) public pure returns (Key32) {
540
+ return componentNftId.toKey32(COMPONENT());
541
+ }
542
+
543
+ function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
544
+ return distributionNftId.toKey32(DISTRIBUTION());
545
+ }
546
+
287
547
  function toPoolKey(NftId poolNftId) public pure returns (Key32) {
288
548
  return poolNftId.toKey32(POOL());
289
549
  }
@@ -301,8 +561,12 @@ contract InstanceReader {
301
561
  return _store;
302
562
  }
303
563
 
304
- function getInstanceNftId() external view returns (NftId nftId) {
305
- return _instanceNftId;
564
+ function getBundleSet() external view returns (BundleSet bundleSet) {
565
+ return _bundleSet;
566
+ }
567
+
568
+ function getRiskSet() external view returns (RiskSet riskSet) {
569
+ return _riskSet;
306
570
  }
307
571
 
308
572
  function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
@@ -312,4 +576,4 @@ contract InstanceReader {
312
576
  function toInt(UFixed value) public pure returns (uint256) {
313
577
  return UFixedLib.toInt(value);
314
578
  }
315
- }
579
+ }