@etherisc/gif-next 0.0.2-b28f7c7-340 → 0.0.2-b2e620f-736

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 (716) hide show
  1. package/README.md +77 -10
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → accounting/IAccountingService.sol/IAccountingService.json} +327 -380
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1379 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +542 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1130 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +350 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +589 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +259 -572
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1501 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +860 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +258 -312
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +243 -325
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +589 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2426 -0
  64. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  66. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +378 -1974
  68. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +238 -112
  70. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/Instance.sol/Instance.json +455 -2782
  72. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1927 -0
  74. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +661 -0
  76. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1670 -575
  78. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +272 -426
  80. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +156 -153
  82. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3718 -0
  84. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  86. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  88. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  89. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  104. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +569 -0
  109. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  112. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +228 -284
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  114. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +302 -175
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  116. package/artifacts/contracts/{components/Component.sol/Component.json → oracle/Oracle.sol/Oracle.json} +262 -229
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  122. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +318 -442
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +589 -0
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1261 -0
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +800 -0
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  130. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +283 -62
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +907 -0
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  136. package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → pool/Pool.sol/Pool.json} +377 -414
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1574 -0
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +808 -0
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +813 -0
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +728 -0
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  148. package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +451 -457
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +589 -0
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1496 -0
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +848 -0
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  156. package/artifacts/contracts/{instance/service → product}/IApplicationService.sol/IApplicationService.json +138 -163
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +602 -0
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1018 -0
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  166. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +64 -61
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1333 -0
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +808 -0
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.json +930 -0
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +784 -0
  177. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  178. package/artifacts/contracts/product/Product.sol/Product.json +1119 -0
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +483 -29
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +286 -109
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  192. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  193. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.json +982 -137
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1928 -0
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +360 -249
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +164 -99
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -0
  203. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  205. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1333 -0
  207. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  209. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +317 -154
  211. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  212. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +280 -180
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1537 -0
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
  217. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  218. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +142 -132
  219. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  227. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  228. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +152 -125
  229. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  230. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1185 -0
  231. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  232. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +709 -0
  233. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  234. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
  235. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  236. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  237. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  238. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -10
  239. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
  241. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +144 -3
  243. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  245. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.json +69 -5
  247. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  249. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +797 -0
  251. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  253. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  255. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  257. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +28 -70
  259. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +35 -85
  261. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +126 -100
  263. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
  265. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  266. package/artifacts/contracts/shared/Service.sol/Service.json +66 -109
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  271. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  273. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1447 -0
  275. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1096 -0
  277. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  278. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  279. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  280. package/artifacts/contracts/staking/Staking.sol/Staking.json +1849 -0
  281. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  283. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +788 -0
  285. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  287. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1301 -0
  289. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +732 -0
  291. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  293. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  295. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  302. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  304. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  306. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  308. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  310. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  312. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  314. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  316. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  318. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  320. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  322. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  324. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +199 -0
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  326. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +433 -0
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  328. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  330. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  332. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  334. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  335. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  336. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  337. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  338. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  339. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  340. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  341. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  342. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  343. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  344. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +113 -0
  345. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  346. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  347. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  348. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  349. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  350. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  351. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  352. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  353. package/contracts/accounting/AccountingService.sol +262 -0
  354. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  355. package/contracts/accounting/IAccountingService.sol +45 -0
  356. package/contracts/authorization/AccessAdmin.sol +689 -0
  357. package/contracts/authorization/AccessManagerCloneable.sol +149 -0
  358. package/contracts/authorization/Authorization.sol +337 -0
  359. package/contracts/authorization/IAccess.sol +49 -0
  360. package/contracts/authorization/IAccessAdmin.sol +143 -0
  361. package/contracts/authorization/IAuthorization.sol +74 -0
  362. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  363. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  364. package/contracts/distribution/BasicDistribution.sol +139 -0
  365. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  366. package/contracts/{components → distribution}/Distribution.sol +170 -163
  367. package/contracts/distribution/DistributionService.sol +357 -0
  368. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  369. package/contracts/distribution/IDistributionComponent.sol +52 -0
  370. package/contracts/{instance/service → distribution}/IDistributionService.sol +35 -34
  371. package/contracts/examples/fire/DamageLevel.sol +59 -0
  372. package/contracts/examples/fire/FirePool.sol +90 -0
  373. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  374. package/contracts/examples/fire/FireProduct.sol +438 -0
  375. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  376. package/contracts/examples/fire/FireUSD.sol +26 -0
  377. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  378. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  379. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  380. package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
  381. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  382. package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
  383. package/contracts/instance/BundleSet.sol +130 -0
  384. package/contracts/instance/IInstance.sol +49 -76
  385. package/contracts/instance/IInstanceService.sol +39 -39
  386. package/contracts/instance/Instance.sol +175 -247
  387. package/contracts/instance/InstanceAdmin.sol +448 -0
  388. package/contracts/instance/InstanceAuthorizationV3.sol +216 -0
  389. package/contracts/instance/InstanceReader.sol +397 -63
  390. package/contracts/instance/InstanceService.sol +273 -364
  391. package/contracts/instance/InstanceServiceManager.sol +14 -29
  392. package/contracts/instance/InstanceStore.sol +298 -0
  393. package/contracts/instance/RiskSet.sol +118 -0
  394. package/contracts/instance/base/BalanceStore.sol +123 -0
  395. package/contracts/instance/base/Cloneable.sol +28 -0
  396. package/contracts/instance/base/ObjectCounter.sol +20 -0
  397. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  398. package/contracts/instance/base/ObjectSet.sol +77 -0
  399. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  400. package/contracts/instance/module/IBundle.sol +6 -9
  401. package/contracts/instance/module/IComponents.sol +28 -18
  402. package/contracts/instance/module/IDistribution.sol +6 -6
  403. package/contracts/instance/module/IPolicy.sol +48 -35
  404. package/contracts/instance/module/IRisk.sol +4 -1
  405. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  406. package/contracts/oracle/BasicOracle.sol +47 -0
  407. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  408. package/contracts/oracle/IOracle.sol +36 -0
  409. package/contracts/oracle/IOracleComponent.sol +33 -0
  410. package/contracts/oracle/IOracleService.sol +66 -0
  411. package/contracts/oracle/Oracle.sol +156 -0
  412. package/contracts/oracle/OracleService.sol +310 -0
  413. package/contracts/oracle/OracleServiceManager.sol +39 -0
  414. package/contracts/pool/BasicPool.sol +175 -0
  415. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  416. package/contracts/pool/BundleService.sol +395 -0
  417. package/contracts/pool/BundleServiceManager.sol +39 -0
  418. package/contracts/{instance/service → pool}/IBundleService.sol +52 -30
  419. package/contracts/pool/IPoolComponent.sol +62 -0
  420. package/contracts/pool/IPoolService.sol +165 -0
  421. package/contracts/pool/Pool.sol +345 -0
  422. package/contracts/pool/PoolLib.sol +216 -0
  423. package/contracts/pool/PoolService.sol +757 -0
  424. package/contracts/pool/PoolServiceManager.sol +39 -0
  425. package/contracts/product/ApplicationService.sol +259 -0
  426. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
  427. package/contracts/product/BasicProduct.sol +51 -0
  428. package/contracts/product/BasicProductAuthorization.sol +56 -0
  429. package/contracts/product/ClaimService.sol +632 -0
  430. package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
  431. package/contracts/{instance/service → product}/IApplicationService.sol +19 -35
  432. package/contracts/product/IClaimService.sol +135 -0
  433. package/contracts/product/IPolicyService.sol +95 -0
  434. package/contracts/product/IPricingService.sol +39 -0
  435. package/contracts/product/IProductComponent.sol +62 -0
  436. package/contracts/product/IRiskService.sol +33 -0
  437. package/contracts/product/PolicyService.sol +707 -0
  438. package/contracts/product/PolicyServiceLib.sol +65 -0
  439. package/contracts/product/PolicyServiceManager.sol +39 -0
  440. package/contracts/product/PricingService.sol +304 -0
  441. package/contracts/product/PricingServiceManager.sol +39 -0
  442. package/contracts/product/Product.sol +478 -0
  443. package/contracts/product/RiskService.sol +145 -0
  444. package/contracts/product/RiskServiceManager.sol +39 -0
  445. package/contracts/registry/ChainNft.sol +79 -40
  446. package/contracts/registry/IRegistry.sol +95 -30
  447. package/contracts/registry/IRegistryService.sol +34 -40
  448. package/contracts/registry/IRelease.sol +26 -0
  449. package/contracts/registry/ITransferInterceptor.sol +1 -2
  450. package/contracts/registry/Registry.sol +460 -197
  451. package/contracts/registry/RegistryAdmin.sol +354 -0
  452. package/contracts/registry/RegistryService.sol +89 -130
  453. package/contracts/registry/RegistryServiceManager.sol +23 -32
  454. package/contracts/registry/ReleaseAdmin.sol +245 -0
  455. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  456. package/contracts/registry/ReleaseRegistry.sol +511 -0
  457. package/contracts/registry/ServiceAuthorizationV3.sol +326 -0
  458. package/contracts/registry/TokenRegistry.sol +261 -64
  459. package/contracts/shared/Component.sol +226 -0
  460. package/contracts/shared/ComponentService.sol +682 -0
  461. package/contracts/shared/ComponentServiceManager.sol +38 -0
  462. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  463. package/contracts/shared/ContractLib.sol +253 -0
  464. package/contracts/shared/IComponent.sol +61 -0
  465. package/contracts/shared/IComponentService.sol +109 -0
  466. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  467. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  468. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  469. package/contracts/shared/INftOwnable.sol +4 -2
  470. package/contracts/shared/IPolicyHolder.sol +23 -14
  471. package/contracts/shared/IRegisterable.sol +23 -1
  472. package/contracts/shared/IRegistryLinked.sol +0 -1
  473. package/contracts/shared/IService.sol +12 -5
  474. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  475. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  476. package/contracts/shared/KeyValueStore.sol +131 -0
  477. package/contracts/shared/Lifecycle.sol +88 -0
  478. package/contracts/shared/NftIdSet.sol +65 -0
  479. package/contracts/shared/NftOwnable.sol +34 -27
  480. package/contracts/shared/PolicyHolder.sol +22 -41
  481. package/contracts/shared/Registerable.sol +55 -20
  482. package/contracts/shared/RegistryLinked.sol +9 -19
  483. package/contracts/shared/Service.sol +33 -40
  484. package/contracts/shared/TokenHandler.sol +321 -13
  485. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  486. package/contracts/staking/IStaking.sol +165 -0
  487. package/contracts/staking/IStakingService.sol +165 -0
  488. package/contracts/staking/StakeManagerLib.sol +224 -0
  489. package/contracts/staking/Staking.sol +526 -0
  490. package/contracts/staking/StakingLifecycle.sol +23 -0
  491. package/contracts/staking/StakingManager.sol +52 -0
  492. package/contracts/staking/StakingReader.sol +190 -0
  493. package/contracts/staking/StakingService.sol +430 -0
  494. package/contracts/staking/StakingServiceManager.sol +45 -0
  495. package/contracts/staking/StakingStore.sol +605 -0
  496. package/contracts/staking/TargetManagerLib.sol +211 -0
  497. package/contracts/{types → type}/AddressSet.sol +1 -1
  498. package/contracts/type/Amount.sol +150 -0
  499. package/contracts/{types → type}/Blocknumber.sol +26 -3
  500. package/contracts/{types → type}/ClaimId.sol +31 -3
  501. package/contracts/{types → type}/Fee.sol +24 -22
  502. package/contracts/{types → type}/Key32.sol +2 -2
  503. package/contracts/type/Key32Set.sol +62 -0
  504. package/contracts/{types → type}/NftId.sol +21 -16
  505. package/contracts/{types → type}/NftIdSet.sol +2 -2
  506. package/contracts/type/ObjectType.sol +303 -0
  507. package/contracts/type/PayoutId.sol +82 -0
  508. package/contracts/{types → type}/Referral.sol +2 -1
  509. package/contracts/type/RequestId.sol +75 -0
  510. package/contracts/type/RiskId.sol +74 -0
  511. package/contracts/type/RoleId.sol +182 -0
  512. package/contracts/type/Seconds.sol +101 -0
  513. package/contracts/type/Selector.sol +107 -0
  514. package/contracts/{types → type}/StateId.sol +47 -4
  515. package/contracts/type/String.sol +53 -0
  516. package/contracts/{types → type}/Timestamp.sol +20 -6
  517. package/contracts/{types → type}/UFixed.sol +40 -121
  518. package/contracts/{types → type}/Version.sol +19 -7
  519. package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
  520. package/contracts/{shared → upgradeability}/ProxyManager.sol +93 -30
  521. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  522. package/contracts/{shared → upgradeability}/Versionable.sol +3 -3
  523. package/package.json +11 -7
  524. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  525. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  526. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  527. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  528. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  529. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  530. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  531. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  532. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  533. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  534. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  535. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  536. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  537. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  538. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
  539. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  540. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  541. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  542. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  543. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  544. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  545. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  546. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  547. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  548. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  549. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -237
  550. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  551. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  552. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  553. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  554. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1039
  555. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  556. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -673
  557. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  558. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1231
  559. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  560. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -721
  561. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  562. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -817
  563. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  564. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -641
  565. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  566. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
  567. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  568. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
  569. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  570. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  571. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  572. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  573. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  574. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  575. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  576. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  577. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1092
  578. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  579. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -697
  580. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  581. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
  582. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  583. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
  584. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  585. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
  586. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  587. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
  588. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  589. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  590. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  591. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
  592. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  593. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  594. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  595. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  596. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  597. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  598. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
  599. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  600. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  601. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  602. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  603. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  604. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  605. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  606. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  607. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  608. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  609. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
  610. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  611. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  612. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  613. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  614. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  615. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  616. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  617. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  618. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  619. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  620. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  621. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
  622. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  624. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  625. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  626. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  627. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  628. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  629. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  630. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  631. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  632. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  633. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  634. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  635. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  636. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  637. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  638. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  639. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  640. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  641. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  642. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  643. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  644. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  645. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  646. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  648. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  649. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  650. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  652. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  653. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  654. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  655. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -267
  656. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  657. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  658. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  659. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  660. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  661. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  662. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  663. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  664. package/contracts/components/Component.sol +0 -253
  665. package/contracts/components/IComponent.sol +0 -76
  666. package/contracts/components/IDistributionComponent.sol +0 -71
  667. package/contracts/components/IPoolComponent.sol +0 -113
  668. package/contracts/components/IProductComponent.sol +0 -40
  669. package/contracts/components/Pool.sol +0 -303
  670. package/contracts/components/Product.sol +0 -293
  671. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  672. package/contracts/instance/BundleManager.sol +0 -127
  673. package/contracts/instance/Cloneable.sol +0 -51
  674. package/contracts/instance/InstanceAccessManager.sol +0 -527
  675. package/contracts/instance/ObjectManager.sol +0 -82
  676. package/contracts/instance/base/ComponentService.sol +0 -121
  677. package/contracts/instance/base/KeyValueStore.sol +0 -180
  678. package/contracts/instance/base/Lifecycle.sol +0 -109
  679. package/contracts/instance/module/IAccess.sol +0 -54
  680. package/contracts/instance/module/ISetup.sol +0 -33
  681. package/contracts/instance/module/ITreasury.sol +0 -23
  682. package/contracts/instance/service/ApplicationService.sol +0 -350
  683. package/contracts/instance/service/BundleService.sol +0 -431
  684. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  685. package/contracts/instance/service/ClaimService.sol +0 -151
  686. package/contracts/instance/service/DistributionService.sol +0 -435
  687. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  688. package/contracts/instance/service/IClaimService.sol +0 -61
  689. package/contracts/instance/service/IPolicyService.sol +0 -72
  690. package/contracts/instance/service/IPoolService.sol +0 -99
  691. package/contracts/instance/service/IProductService.sol +0 -40
  692. package/contracts/instance/service/PolicyService.sol +0 -362
  693. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  694. package/contracts/instance/service/PoolService.sol +0 -303
  695. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  696. package/contracts/instance/service/ProductService.sol +0 -210
  697. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  698. package/contracts/registry/RegistryAccessManager.sol +0 -216
  699. package/contracts/registry/ReleaseManager.sol +0 -324
  700. package/contracts/shared/ContractDeployerLib.sol +0 -72
  701. package/contracts/test/TestFee.sol +0 -25
  702. package/contracts/test/TestRegisterable.sol +0 -18
  703. package/contracts/test/TestRoleId.sol +0 -14
  704. package/contracts/test/TestService.sol +0 -25
  705. package/contracts/test/TestToken.sol +0 -26
  706. package/contracts/test/TestVersion.sol +0 -44
  707. package/contracts/test/TestVersionable.sol +0 -17
  708. package/contracts/types/Amount.sol +0 -60
  709. package/contracts/types/ChainId.sol +0 -38
  710. package/contracts/types/NumberId.sol +0 -52
  711. package/contracts/types/ObjectType.sol +0 -157
  712. package/contracts/types/PayoutId.sol +0 -54
  713. package/contracts/types/RiskId.sol +0 -43
  714. package/contracts/types/RoleId.sol +0 -97
  715. package/contracts/types/Seconds.sol +0 -54
  716. /package/contracts/{types → type}/DistributorType.sol +0 -0
@@ -3,51 +3,91 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
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";
19
6
  import {IBundle} from "../instance/module/IBundle.sol";
20
7
  import {IComponents} from "../instance/module/IComponents.sol";
21
8
  import {IDistribution} from "../instance/module/IDistribution.sol";
22
9
  import {IInstance} from "./IInstance.sol";
23
- import {IKeyValueStore} from "../instance/base/IKeyValueStore.sol";
10
+ import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
11
+ import {IOracle} from "../oracle/IOracle.sol";
24
12
  import {IPolicy} from "../instance/module/IPolicy.sol";
13
+ import {IRegistry} from "../registry/IRegistry.sol";
25
14
  import {IRisk} from "../instance/module/IRisk.sol";
26
- import {ISetup} from "../instance/module/ISetup.sol";
27
- import {ITreasury} from "../instance/module/ITreasury.sol";
28
- import {TimestampLib} from "../types/Timestamp.sol";
15
+ import {TimestampLib} from "../type/Timestamp.sol";
16
+
17
+ import {Amount} from "../type/Amount.sol";
18
+ import {BundleSet} from "./BundleSet.sol";
19
+ import {BUNDLE, COMPONENT, DISTRIBUTOR, DISTRIBUTION, FEE, PREMIUM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
20
+ import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
21
+ import {DistributorType} from "../type/DistributorType.sol";
22
+ import {InstanceStore} from "./InstanceStore.sol";
23
+ import {Key32} from "../type/Key32.sol";
24
+ import {NftId} from "../type/NftId.sol";
25
+ import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
26
+ import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
27
+ import {RequestId} from "../type/RequestId.sol";
28
+ import {RiskId} from "../type/RiskId.sol";
29
+ import {RiskSet} from "./RiskSet.sol";
30
+ import {RoleId} from "../type/RoleId.sol";
31
+ import {StateId} from "../type/StateId.sol";
32
+ import {TokenHandler} from "../shared/TokenHandler.sol";
33
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
34
+
29
35
 
30
36
 
31
37
  contract InstanceReader {
32
- bool private _initialized;
33
38
 
39
+ error ErrorInstanceReaderAlreadyInitialized();
40
+ error ErrorInstanceReaderInstanceAddressZero();
41
+
42
+ bool private _initialized = false;
43
+
44
+ IRegistry internal _registry;
34
45
  IInstance internal _instance;
35
- IKeyValueStore internal _store;
36
46
 
37
- function initialize(address instance) public {
38
- require(!_initialized, "ERROR:CRD-000:ALREADY_INITIALIZED");
47
+ InstanceStore internal _store;
48
+ BundleSet internal _bundleSet;
49
+ RiskSet internal _riskSet;
39
50
 
40
- require(
41
- address(instance) != address(0),
42
- "ERROR:CRD-001:INSTANCE_ZERO");
51
+ /// @dev This initializer needs to be called from the instance itself.
52
+ function initialize() public {
53
+ if(_initialized) {
54
+ revert ErrorInstanceReaderAlreadyInitialized();
55
+ }
43
56
 
44
- _instance = IInstance(instance);
45
- _store = IKeyValueStore(instance);
57
+ initializeWithInstance(msg.sender);
58
+ }
59
+
60
+ function initializeWithInstance(address instanceAddress)
61
+ public
62
+ {
63
+ if(_initialized) {
64
+ revert ErrorInstanceReaderAlreadyInitialized();
65
+ }
46
66
 
47
67
  _initialized = true;
68
+ _instance = IInstance(instanceAddress);
69
+ _registry = _instance.getRegistry();
70
+
71
+ _store = _instance.getInstanceStore();
72
+ _bundleSet = _instance.getBundleSet();
73
+ _riskSet = _instance.getRiskSet();
48
74
  }
49
75
 
50
76
 
77
+ // instance level functions
78
+
79
+ function getRegistry() public view returns (IRegistry registry) {
80
+ return _registry;
81
+ }
82
+
83
+ function getInstanceNftId() public view returns (NftId instanceNftid) {
84
+ return _registry.getNftIdForAddress(address(_instance));
85
+ }
86
+
87
+ function getInstance() public view returns (IInstance instance) {
88
+ return _instance;
89
+ }
90
+
51
91
  // module specific functions
52
92
 
53
93
  function getPolicyInfo(NftId policyNftId)
@@ -66,7 +106,198 @@ contract InstanceReader {
66
106
  view
67
107
  returns (StateId state)
68
108
  {
69
- return _instance.getState(toPolicyKey(policyNftId));
109
+ return _store.getState(toPolicyKey(policyNftId));
110
+ }
111
+
112
+ function getPremiumInfo(NftId policyNftId)
113
+ public
114
+ view
115
+ returns (IPolicy.PremiumInfo memory info)
116
+ {
117
+ bytes memory data = _store.getData(toPremiumKey(policyNftId));
118
+ if (data.length > 0) {
119
+ return abi.decode(data, (IPolicy.PremiumInfo));
120
+ }
121
+ }
122
+
123
+ function getPremiumInfoState(NftId policyNftId)
124
+ public
125
+ view
126
+ returns (StateId state)
127
+ {
128
+ return _store.getState(toPremiumKey(policyNftId));
129
+ }
130
+
131
+ function bundles(NftId poolNftId)
132
+ public
133
+ view
134
+ returns (uint256 bundleCount)
135
+ {
136
+ return _bundleSet.bundles(poolNftId);
137
+ }
138
+
139
+ function activeBundles(NftId poolNftId)
140
+ public
141
+ view
142
+ returns (uint256 bundleCount)
143
+ {
144
+ return _bundleSet.activeBundles(poolNftId);
145
+ }
146
+
147
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx)
148
+ public
149
+ view
150
+ returns (NftId bundleNftId)
151
+ {
152
+ return _bundleSet.getActiveBundleNftId(poolNftId, idx);
153
+ }
154
+
155
+ function getBundleNftId(NftId poolNftId, uint256 idx)
156
+ public
157
+ view
158
+ returns (NftId bundleNftId)
159
+ {
160
+ return _bundleSet.getBundleNftId(poolNftId, idx);
161
+ }
162
+
163
+ function getBundleState(NftId bundleNftId)
164
+ public
165
+ view
166
+ returns (StateId state)
167
+ {
168
+ return _store.getState(toBundleKey(bundleNftId));
169
+ }
170
+
171
+ /// @dev Returns true iff policy is active.
172
+ function policyIsActive(NftId policyNftId)
173
+ public
174
+ view
175
+ returns (bool isCloseable)
176
+ {
177
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
178
+
179
+ if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
180
+ if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
181
+ if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
182
+ if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
183
+
184
+ return true;
185
+ }
186
+
187
+ function claims(NftId policyNftId)
188
+ public
189
+ view
190
+ returns (uint16 claimCount)
191
+ {
192
+ return getPolicyInfo(policyNftId).claimsCount;
193
+ }
194
+
195
+
196
+ function getClaimId(uint idx)
197
+ public
198
+ view
199
+ returns (ClaimId claimId)
200
+ {
201
+ return ClaimIdLib.toClaimId(idx + 1);
202
+ }
203
+
204
+ function getClaimInfo(NftId policyNftId, ClaimId claimId)
205
+ public
206
+ view
207
+ returns (IPolicy.ClaimInfo memory info)
208
+ {
209
+ bytes memory data = _store.getData(claimId.toKey32(policyNftId));
210
+ if (data.length > 0) {
211
+ return abi.decode(data, (IPolicy.ClaimInfo));
212
+ }
213
+ }
214
+
215
+
216
+ function getClaimState(NftId policyNftId, ClaimId claimId)
217
+ public
218
+ view
219
+ returns (StateId state)
220
+ {
221
+ return _store.getState(claimId.toKey32(policyNftId));
222
+ }
223
+
224
+
225
+ function payouts(NftId policyNftId, ClaimId claimId)
226
+ public
227
+ view
228
+ returns (uint24 payoutCount)
229
+ {
230
+ return getClaimInfo(policyNftId, claimId).payoutsCount;
231
+ }
232
+
233
+
234
+ function getPayoutId(ClaimId claimId, uint24 idx)
235
+ public
236
+ view
237
+ returns (PayoutId payoutId)
238
+ {
239
+ return PayoutIdLib.toPayoutId(claimId, idx + 1);
240
+ }
241
+
242
+
243
+ function getRemainingClaimableAmount(NftId policyNftId)
244
+ public
245
+ view
246
+ returns (Amount remainingClaimableAmount)
247
+ {
248
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
249
+ return info.sumInsuredAmount - info.claimAmount;
250
+ }
251
+
252
+ function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
253
+ public
254
+ view
255
+ returns (IPolicy.PayoutInfo memory info)
256
+ {
257
+ bytes memory data = _store.getData(payoutId.toKey32(policyNftId));
258
+ if (data.length > 0) {
259
+ return abi.decode(data, (IPolicy.PayoutInfo));
260
+ }
261
+ }
262
+
263
+ function getPayoutState(NftId policyNftId, PayoutId payoutId)
264
+ public
265
+ view
266
+ returns (StateId state)
267
+ {
268
+ return _store.getState(payoutId.toKey32(policyNftId));
269
+ }
270
+
271
+ function risks(NftId productNftId)
272
+ public
273
+ view
274
+ returns (uint256 riskCount)
275
+ {
276
+ return _riskSet.risks(productNftId);
277
+ }
278
+
279
+ function getRiskId(NftId productNftId, uint256 idx)
280
+ public
281
+ view
282
+ returns (RiskId riskId)
283
+ {
284
+ return _riskSet.getRiskId(productNftId, idx);
285
+ }
286
+
287
+ function activeRisks(NftId productNftId)
288
+ public
289
+ view
290
+ returns (uint256 activeRiskCount)
291
+ {
292
+ return _riskSet.activeRisks(productNftId);
293
+ }
294
+
295
+ function getActiveRiskId(NftId productNftId, uint256 idx)
296
+ public
297
+ view
298
+ returns (RiskId riskId)
299
+ {
300
+ return _riskSet.getActiveRiskId(productNftId, idx);
70
301
  }
71
302
 
72
303
  function getRiskInfo(RiskId riskId)
@@ -80,30 +311,68 @@ contract InstanceReader {
80
311
  }
81
312
  }
82
313
 
83
- function getTokenHandler(NftId productNftId)
314
+ function getRiskState(RiskId riskId)
315
+ public
316
+ view
317
+ returns (StateId stateId)
318
+ {
319
+ bytes memory data = _store.getData(riskId.toKey32());
320
+ return _store.getState(riskId.toKey32());
321
+ }
322
+
323
+ function policiesForRisk(RiskId riskId)
84
324
  public
85
325
  view
86
- returns (address tokenHandler)
326
+ returns (uint256 linkedPolicies)
87
327
  {
88
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
328
+ return _riskSet.linkedPolicies(riskId);
329
+ }
89
330
 
90
- if (data.length > 0) {
91
- ITreasury.TreasuryInfo memory info = abi.decode(data, (ITreasury.TreasuryInfo));
92
- return address(info.tokenHandler);
331
+ function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
332
+ public
333
+ view
334
+ returns (NftId linkedPolicyNftId)
335
+ {
336
+ return _riskSet.getLinkedPolicyNftId(riskId, idx);
337
+ }
338
+
339
+
340
+ function getToken(NftId componentNftId)
341
+ public
342
+ view
343
+ returns (IERC20Metadata token)
344
+ {
345
+ TokenHandler tokenHandler = getTokenHandler(componentNftId);
346
+ if (address(tokenHandler) != address(0)) {
347
+ return tokenHandler.TOKEN();
93
348
  }
94
349
  }
95
350
 
96
- function getTreasuryInfo(NftId productNftId)
97
- public
98
- view
99
- returns (ITreasury.TreasuryInfo memory info)
351
+
352
+ function getWallet(NftId componentNftId)
353
+ public
354
+ view
355
+ returns (address wallet)
356
+ {
357
+ TokenHandler tokenHandler = getTokenHandler(componentNftId);
358
+ if (address(tokenHandler) != address(0)) {
359
+ return tokenHandler.getWallet();
360
+ }
361
+ }
362
+
363
+
364
+ function getTokenHandler(NftId componentNftId)
365
+ public
366
+ view
367
+ returns (TokenHandler tokenHandler)
100
368
  {
101
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
369
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
102
370
  if (data.length > 0) {
103
- return abi.decode(data, (ITreasury.TreasuryInfo));
371
+ return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
104
372
  }
105
373
  }
106
-
374
+
375
+
107
376
  function getBundleInfo(NftId bundleNftId)
108
377
  public
109
378
  view
@@ -137,37 +406,59 @@ contract InstanceReader {
137
406
  }
138
407
  }
139
408
 
140
- function getDistributionSetupInfo(NftId distributionNftId)
409
+ function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
410
+ return _store.getBalanceAmount(targetNftId);
411
+ }
412
+
413
+ function getLockedAmount(NftId targetNftId) external view returns (Amount) {
414
+ return _store.getLockedAmount(targetNftId);
415
+ }
416
+
417
+ function getFeeAmount(NftId targetNftId) external view returns (Amount) {
418
+ return _store.getFeeAmount(targetNftId);
419
+ }
420
+
421
+ function getComponentInfo(NftId componentNftId)
141
422
  public
142
423
  view
143
- returns (ISetup.DistributionSetupInfo memory info)
424
+ returns (IComponents.ComponentInfo memory info)
144
425
  {
145
- bytes memory data = _store.getData(toDistributionKey(distributionNftId));
426
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
146
427
  if (data.length > 0) {
147
- return abi.decode(data, (ISetup.DistributionSetupInfo));
428
+ return abi.decode(data, (IComponents.ComponentInfo));
148
429
  }
149
430
  }
150
431
 
151
- // TODO consider to replace by component type specific getXyzInfo
152
- function getComponentInfo(NftId poolNftId)
432
+ function getProductInfo(NftId productNftId)
153
433
  public
154
434
  view
155
- returns (IComponents.ComponentInfo memory info)
435
+ returns (IComponents.ProductInfo memory info)
156
436
  {
157
- bytes memory data = _store.getData(toPoolKey(poolNftId));
437
+ bytes memory data = _store.getData(toProductKey(productNftId));
158
438
  if (data.length > 0) {
159
- return abi.decode(data, (IComponents.ComponentInfo));
439
+ return abi.decode(data, (IComponents.ProductInfo));
160
440
  }
161
441
  }
162
442
 
163
- function getProductSetupInfo(NftId productNftId)
443
+ function getFeeInfo(NftId productNftId)
164
444
  public
165
445
  view
166
- returns (ISetup.ProductSetupInfo memory info)
446
+ returns (IComponents.FeeInfo memory feeInfo)
167
447
  {
168
- bytes memory data = _store.getData(toProductKey(productNftId));
448
+ bytes memory data = _store.getData(toFeeKey(productNftId));
169
449
  if (data.length > 0) {
170
- return abi.decode(data, (ISetup.ProductSetupInfo));
450
+ return abi.decode(data, (IComponents.FeeInfo));
451
+ }
452
+ }
453
+
454
+ function getPoolInfo(NftId poolNftId)
455
+ public
456
+ view
457
+ returns (IComponents.PoolInfo memory info)
458
+ {
459
+ bytes memory data = _store.getData(toPoolKey(poolNftId));
460
+ if (data.length > 0) {
461
+ return abi.decode(data, (IComponents.PoolInfo));
171
462
  }
172
463
  }
173
464
 
@@ -182,6 +473,16 @@ contract InstanceReader {
182
473
  }
183
474
  }
184
475
 
476
+ function getRequestInfo(RequestId requestId)
477
+ public
478
+ view
479
+ returns (IOracle.RequestInfo memory requestInfo)
480
+ {
481
+ bytes memory data = _store.getData(requestId.toKey32());
482
+ if (data.length > 0) {
483
+ return abi.decode(data, (IOracle.RequestInfo));
484
+ }
485
+ }
185
486
 
186
487
  function getMetadata(Key32 key)
187
488
  public
@@ -191,6 +492,14 @@ contract InstanceReader {
191
492
  return _store.getMetadata(key);
192
493
  }
193
494
 
495
+ function getState(Key32 key)
496
+ public
497
+ view
498
+ returns (StateId state)
499
+ {
500
+ return _store.getMetadata(key).state;
501
+ }
502
+
194
503
 
195
504
  function toReferralId(
196
505
  NftId distributionNftId,
@@ -242,28 +551,44 @@ contract InstanceReader {
242
551
  }
243
552
 
244
553
 
245
- function toTreasuryKey(NftId productNftId) public pure returns (Key32) {
246
- return productNftId.toKey32(TREASURY());
554
+ function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
555
+ return _instance.getInstanceAdmin().hasRole(account, roleId);
556
+ }
557
+
558
+
559
+ function hasAdminRole(address account, RoleId roleId) public view returns (bool isMember) {
560
+ return _instance.getInstanceAdmin().hasAdminRole(account, roleId);
247
561
  }
248
562
 
249
563
 
564
+ function isLocked(address target) public view returns (bool) {
565
+ return _instance.getInstanceAdmin().isTargetLocked(target);
566
+ }
567
+
250
568
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
251
569
  return policyNftId.toKey32(POLICY());
252
570
  }
253
571
 
572
+ function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
573
+ return policyNftId.toKey32(PREMIUM());
574
+ }
254
575
 
255
576
  function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
256
577
  return distributorNftId.toKey32(DISTRIBUTOR());
257
578
  }
258
579
 
259
- function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
260
- return distributionNftId.toKey32(DISTRIBUTION());
261
- }
262
-
263
580
  function toBundleKey(NftId poolNftId) public pure returns (Key32) {
264
581
  return poolNftId.toKey32(BUNDLE());
265
582
  }
266
583
 
584
+ function toComponentKey(NftId componentNftId) public pure returns (Key32) {
585
+ return componentNftId.toKey32(COMPONENT());
586
+ }
587
+
588
+ function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
589
+ return distributionNftId.toKey32(DISTRIBUTION());
590
+ }
591
+
267
592
  function toPoolKey(NftId poolNftId) public pure returns (Key32) {
268
593
  return poolNftId.toKey32(POOL());
269
594
  }
@@ -272,15 +597,24 @@ contract InstanceReader {
272
597
  return productNftId.toKey32(PRODUCT());
273
598
  }
274
599
 
275
- // low level function
276
- function getInstance() external view returns (IInstance instance) {
277
- return _instance;
600
+ function toFeeKey(NftId productNftId) public pure returns (Key32) {
601
+ return productNftId.toKey32(FEE());
278
602
  }
279
603
 
604
+ // low level function
605
+
280
606
  function getInstanceStore() external view returns (IKeyValueStore store) {
281
607
  return _store;
282
608
  }
283
609
 
610
+ function getBundleSet() external view returns (BundleSet bundleSet) {
611
+ return _bundleSet;
612
+ }
613
+
614
+ function getRiskSet() external view returns (RiskSet riskSet) {
615
+ return _riskSet;
616
+ }
617
+
284
618
  function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
285
619
  return UFixedLib.toUFixed(value, exp);
286
620
  }
@@ -288,4 +622,4 @@ contract InstanceReader {
288
622
  function toInt(UFixed value) public pure returns (uint256) {
289
623
  return UFixedLib.toInt(value);
290
624
  }
291
- }
625
+ }