@etherisc/gif-next 0.0.2-9fbf8d0-135 → 0.0.2-a092cff-725

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