@etherisc/gif-next 0.0.2-a25e4b8-781 → 0.0.2-a2def05-550

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 (695) hide show
  1. package/README.md +59 -18
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1342 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1012 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1400 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +787 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +906 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +932 -0
  36. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  37. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  38. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  39. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  40. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  41. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  42. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  44. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  45. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  46. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +241 -1561
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +389 -202
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +362 -2504
  52. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  54. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  56. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +876 -407
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +486 -394
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +319 -96
  62. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3587 -0
  64. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  66. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  68. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  69. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  70. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  71. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  72. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  78. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  79. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  80. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  81. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  82. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  83. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  84. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  86. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  88. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  90. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  91. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → oracle/IOracleComponent.sol/IOracleComponent.json} +250 -266
  92. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  94. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  96. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
  98. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
  100. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  101. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  102. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  103. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  104. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1362 -0
  106. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +771 -0
  108. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  109. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +457 -270
  110. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  111. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +366 -405
  112. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  113. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  114. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  116. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  117. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1469 -0
  118. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  119. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +695 -0
  120. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +732 -0
  122. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +667 -0
  124. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  125. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  126. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  128. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  129. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1325 -0
  130. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +775 -0
  132. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  133. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +216 -235
  134. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  135. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  136. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +327 -313
  138. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +270 -220
  140. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  141. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +374 -307
  142. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  143. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IRiskService.sol/IRiskService.json} +126 -172
  144. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  145. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1104 -0
  146. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +715 -0
  148. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  149. package/artifacts/contracts/product/PricingService.sol/PricingService.json +860 -0
  150. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +715 -0
  152. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  153. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  154. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  155. package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
  156. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -0
  158. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  159. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  160. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  161. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +408 -22
  162. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +223 -264
  164. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  165. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  166. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  167. package/artifacts/contracts/registry/Registry.sol/Registry.json +808 -39
  168. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  169. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
  170. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +411 -258
  172. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +302 -83
  174. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  176. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  177. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  178. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  180. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -80
  182. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  183. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +323 -233
  184. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1568 -0
  186. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +753 -0
  188. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  189. package/artifacts/contracts/{components/IComponent.sol/IComponent.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +147 -133
  190. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  191. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IComponent.sol/IComponent.json} +209 -192
  192. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  194. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  196. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  198. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  199. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  200. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  201. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  202. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  203. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +165 -0
  204. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  206. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  207. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  208. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IService.sol/IService.json +84 -159
  210. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  211. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  212. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  213. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  214. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  215. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  216. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  217. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  218. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  219. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  220. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  221. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  222. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +65 -30
  224. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  225. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +188 -0
  226. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +44 -54
  228. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  229. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  230. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  231. package/artifacts/contracts/shared/Service.sol/Service.json +98 -171
  232. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  233. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +382 -9
  234. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  235. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  236. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  237. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  238. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  239. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  240. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  242. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  243. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  244. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  246. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +714 -0
  248. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  250. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1231 -0
  252. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +667 -0
  254. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  256. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  257. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  258. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  259. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  260. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  262. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  264. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  266. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  268. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  270. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  272. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  274. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  275. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  276. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  278. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  280. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  282. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  284. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  286. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  288. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  290. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  292. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  294. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  296. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  298. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  300. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  302. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  304. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  306. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  308. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  309. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  310. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  311. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +566 -0
  312. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  313. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  314. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  315. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  316. package/contracts/authorization/AccessAdmin.sol +589 -0
  317. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  318. package/contracts/authorization/Authorization.sol +217 -0
  319. package/contracts/authorization/IAccess.sol +48 -0
  320. package/contracts/authorization/IAccessAdmin.sol +136 -0
  321. package/contracts/authorization/IAuthorization.sol +54 -0
  322. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  323. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  324. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  325. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  326. package/contracts/distribution/BasicDistribution.sol +138 -0
  327. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  328. package/contracts/distribution/Distribution.sol +295 -0
  329. package/contracts/distribution/DistributionService.sol +336 -0
  330. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  331. package/contracts/distribution/IDistributionComponent.sol +52 -0
  332. package/contracts/distribution/IDistributionService.sol +101 -0
  333. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  334. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  335. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  336. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  337. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +33 -32
  338. package/contracts/instance/IInstance.sol +44 -47
  339. package/contracts/instance/IInstanceService.sol +73 -21
  340. package/contracts/instance/Instance.sol +165 -189
  341. package/contracts/instance/InstanceAdmin.sol +285 -0
  342. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  343. package/contracts/instance/InstanceReader.sol +202 -65
  344. package/contracts/instance/InstanceService.sol +357 -252
  345. package/contracts/instance/InstanceServiceManager.sol +13 -27
  346. package/contracts/instance/InstanceStore.sol +287 -0
  347. package/contracts/instance/base/BalanceStore.sol +123 -0
  348. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  349. package/contracts/instance/base/ObjectCounter.sol +21 -0
  350. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  351. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +19 -24
  352. package/contracts/instance/module/IAccess.sol +19 -21
  353. package/contracts/instance/module/IBundle.sol +8 -8
  354. package/contracts/instance/module/IComponents.sol +46 -0
  355. package/contracts/instance/module/IDistribution.sol +6 -4
  356. package/contracts/instance/module/IPolicy.sol +58 -19
  357. package/contracts/instance/module/IRisk.sol +1 -1
  358. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  359. package/contracts/oracle/BasicOracle.sol +48 -0
  360. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  361. package/contracts/oracle/IOracle.sol +36 -0
  362. package/contracts/oracle/IOracleComponent.sol +33 -0
  363. package/contracts/oracle/IOracleService.sol +65 -0
  364. package/contracts/oracle/Oracle.sol +167 -0
  365. package/contracts/oracle/OracleService.sol +279 -0
  366. package/contracts/oracle/OracleServiceManager.sol +39 -0
  367. package/contracts/pool/BasicPool.sol +166 -0
  368. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  369. package/contracts/pool/BundleService.sol +438 -0
  370. package/contracts/pool/BundleServiceManager.sol +39 -0
  371. package/contracts/pool/IBundleService.sol +134 -0
  372. package/contracts/pool/IPoolComponent.sol +58 -0
  373. package/contracts/pool/IPoolService.sol +160 -0
  374. package/contracts/pool/Pool.sol +326 -0
  375. package/contracts/pool/PoolService.sol +509 -0
  376. package/contracts/pool/PoolServiceManager.sol +39 -0
  377. package/contracts/product/ApplicationService.sol +248 -0
  378. package/contracts/product/ApplicationServiceManager.sol +38 -0
  379. package/contracts/product/BasicProduct.sol +53 -0
  380. package/contracts/product/BasicProductAuthorization.sol +43 -0
  381. package/contracts/product/ClaimService.sol +487 -0
  382. package/contracts/product/ClaimServiceManager.sol +38 -0
  383. package/contracts/product/IApplicationService.sol +63 -0
  384. package/contracts/product/IClaimService.sol +122 -0
  385. package/contracts/product/IPolicyService.sol +73 -0
  386. package/contracts/product/IPricingService.sol +39 -0
  387. package/contracts/product/IProductComponent.sol +39 -0
  388. package/contracts/product/IRiskService.sol +33 -0
  389. package/contracts/product/PolicyService.sol +573 -0
  390. package/contracts/product/PolicyServiceManager.sol +39 -0
  391. package/contracts/product/PricingService.sol +301 -0
  392. package/contracts/product/PricingServiceManager.sol +39 -0
  393. package/contracts/product/Product.sol +425 -0
  394. package/contracts/product/RiskService.sol +97 -0
  395. package/contracts/product/RiskServiceManager.sol +39 -0
  396. package/contracts/registry/ChainNft.sol +80 -32
  397. package/contracts/registry/IRegistry.sol +95 -25
  398. package/contracts/registry/IRegistryService.sol +47 -35
  399. package/contracts/registry/ITransferInterceptor.sol +1 -0
  400. package/contracts/registry/Registry.sol +452 -202
  401. package/contracts/registry/RegistryAdmin.sol +464 -0
  402. package/contracts/registry/RegistryService.sol +111 -171
  403. package/contracts/registry/RegistryServiceManager.sol +24 -33
  404. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  405. package/contracts/registry/ReleaseRegistry.sol +491 -0
  406. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  407. package/contracts/registry/TokenRegistry.sol +263 -60
  408. package/contracts/shared/Component.sol +268 -0
  409. package/contracts/shared/ComponentService.sol +641 -0
  410. package/contracts/shared/ComponentServiceManager.sol +35 -0
  411. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  412. package/contracts/shared/IComponent.sol +70 -0
  413. package/contracts/shared/IComponentService.sol +108 -0
  414. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  415. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  416. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  417. package/contracts/shared/INftOwnable.sol +13 -12
  418. package/contracts/shared/IPolicyHolder.sol +36 -0
  419. package/contracts/shared/IRegisterable.sol +4 -4
  420. package/contracts/shared/IRegistryLinked.sol +11 -0
  421. package/contracts/shared/IService.sol +15 -6
  422. package/contracts/shared/InitializableCustom.sol +177 -0
  423. package/contracts/shared/InitializableERC165.sol +27 -0
  424. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  425. package/contracts/shared/KeyValueStore.sol +131 -0
  426. package/contracts/shared/Lifecycle.sol +77 -0
  427. package/contracts/shared/NftIdSet.sol +65 -0
  428. package/contracts/shared/NftOwnable.sol +59 -88
  429. package/contracts/shared/PolicyHolder.sol +56 -0
  430. package/contracts/shared/Registerable.sol +23 -38
  431. package/contracts/shared/RegistryLinked.sol +44 -0
  432. package/contracts/shared/Service.sol +53 -31
  433. package/contracts/shared/TokenHandler.sol +122 -10
  434. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  435. package/contracts/staking/IStaking.sol +168 -0
  436. package/contracts/staking/IStakingService.sol +160 -0
  437. package/contracts/staking/StakeManagerLib.sol +224 -0
  438. package/contracts/staking/Staking.sol +498 -0
  439. package/contracts/staking/StakingLifecycle.sol +23 -0
  440. package/contracts/staking/StakingManager.sol +50 -0
  441. package/contracts/staking/StakingReader.sol +183 -0
  442. package/contracts/staking/StakingService.sol +407 -0
  443. package/contracts/staking/StakingServiceManager.sol +44 -0
  444. package/contracts/staking/StakingStore.sol +605 -0
  445. package/contracts/staking/TargetManagerLib.sol +211 -0
  446. package/contracts/{types → type}/AddressSet.sol +1 -1
  447. package/contracts/type/Amount.sol +135 -0
  448. package/contracts/{types → type}/Blocknumber.sol +27 -3
  449. package/contracts/type/ClaimId.sol +75 -0
  450. package/contracts/{types → type}/DistributorType.sol +2 -2
  451. package/contracts/{types → type}/Fee.sol +33 -23
  452. package/contracts/{types → type}/NftId.sol +21 -15
  453. package/contracts/{types → type}/NftIdSet.sol +2 -2
  454. package/contracts/type/ObjectType.sol +275 -0
  455. package/contracts/type/PayoutId.sol +82 -0
  456. package/contracts/{types → type}/Referral.sol +6 -1
  457. package/contracts/type/RequestId.sol +75 -0
  458. package/contracts/{types → type}/RiskId.sol +1 -1
  459. package/contracts/type/RoleId.sol +174 -0
  460. package/contracts/type/Seconds.sol +101 -0
  461. package/contracts/type/Selector.sol +102 -0
  462. package/contracts/{types → type}/StateId.sol +35 -4
  463. package/contracts/type/String.sol +53 -0
  464. package/contracts/{types → type}/Timestamp.sol +34 -15
  465. package/contracts/{types → type}/UFixed.sol +35 -9
  466. package/contracts/{types → type}/Version.sol +5 -2
  467. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  468. package/contracts/upgradeability/ProxyManager.sol +198 -0
  469. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  470. package/contracts/upgradeability/Versionable.sol +59 -0
  471. package/package.json +10 -7
  472. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  473. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  474. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  475. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  476. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  477. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  478. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  479. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  480. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  481. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  482. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  483. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  484. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  485. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  487. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  488. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  489. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  490. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  491. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  492. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  493. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  494. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  495. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  496. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  497. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  498. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  499. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  501. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  503. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  505. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  506. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  507. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  508. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  510. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  512. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  513. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  515. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  517. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  519. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  521. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  522. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
  523. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  524. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  525. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1034
  526. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  527. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  528. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  529. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  530. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -100
  531. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  532. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  533. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  534. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  535. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  537. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  538. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  540. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1094
  541. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  543. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -764
  545. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -424
  547. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  550. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  552. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  553. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1219
  554. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  555. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  556. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  557. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -798
  558. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  559. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -424
  560. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  561. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -848
  562. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  563. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -424
  564. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  565. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  566. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  567. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  568. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  569. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  570. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  571. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  572. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  573. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  574. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  575. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  576. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  577. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  578. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  579. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  580. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  582. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  584. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  585. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  586. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  587. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  588. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  589. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  590. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  591. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  592. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  593. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  594. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  595. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  596. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  597. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  598. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  600. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  602. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  604. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  605. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  606. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  607. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  608. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  609. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  610. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  611. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  612. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  614. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  616. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  618. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  620. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  621. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  622. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  624. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  625. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  627. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  628. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  629. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  630. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  631. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  632. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  633. package/contracts/components/Component.sol +0 -179
  634. package/contracts/components/Distribution.sol +0 -154
  635. package/contracts/components/IComponent.sol +0 -37
  636. package/contracts/components/IDistributionComponent.sol +0 -44
  637. package/contracts/components/IPoolComponent.sol +0 -66
  638. package/contracts/components/IProductComponent.sol +0 -35
  639. package/contracts/components/Pool.sol +0 -258
  640. package/contracts/components/Product.sol +0 -297
  641. package/contracts/experiment/cloning/Cloner.sol +0 -47
  642. package/contracts/experiment/errors/Require.sol +0 -38
  643. package/contracts/experiment/errors/Revert.sol +0 -44
  644. package/contracts/experiment/inheritance/A.sol +0 -53
  645. package/contracts/experiment/inheritance/B.sol +0 -28
  646. package/contracts/experiment/inheritance/C.sol +0 -34
  647. package/contracts/experiment/inheritance/IA.sol +0 -13
  648. package/contracts/experiment/inheritance/IB.sol +0 -10
  649. package/contracts/experiment/inheritance/IC.sol +0 -12
  650. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  651. package/contracts/experiment/statemachine/ISM.sol +0 -25
  652. package/contracts/experiment/statemachine/SM.sol +0 -57
  653. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  654. package/contracts/experiment/types/TypeA.sol +0 -47
  655. package/contracts/experiment/types/TypeB.sol +0 -29
  656. package/contracts/instance/InstanceAccessManager.sol +0 -298
  657. package/contracts/instance/base/ComponentService.sol +0 -133
  658. package/contracts/instance/base/IInstanceBase.sol +0 -21
  659. package/contracts/instance/base/KeyValueStore.sol +0 -172
  660. package/contracts/instance/base/Lifecycle.sol +0 -100
  661. package/contracts/instance/module/ISetup.sol +0 -46
  662. package/contracts/instance/module/ITreasury.sol +0 -23
  663. package/contracts/instance/service/BundleService.sol +0 -293
  664. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  665. package/contracts/instance/service/DistributionService.sol +0 -115
  666. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  667. package/contracts/instance/service/IBundleService.sol +0 -44
  668. package/contracts/instance/service/IDistributionService.sol +0 -12
  669. package/contracts/instance/service/IPolicyService.sol +0 -94
  670. package/contracts/instance/service/IPoolService.sol +0 -20
  671. package/contracts/instance/service/IProductService.sol +0 -40
  672. package/contracts/instance/service/PolicyService.sol +0 -538
  673. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  674. package/contracts/instance/service/PoolService.sol +0 -142
  675. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  676. package/contracts/instance/service/ProductService.sol +0 -241
  677. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  678. package/contracts/registry/RegistryAccessManager.sol +0 -216
  679. package/contracts/registry/ReleaseManager.sol +0 -352
  680. package/contracts/shared/ContractDeployerLib.sol +0 -72
  681. package/contracts/shared/ERC165.sol +0 -25
  682. package/contracts/shared/ProxyManager.sol +0 -94
  683. package/contracts/shared/Versionable.sol +0 -147
  684. package/contracts/test/TestFee.sol +0 -25
  685. package/contracts/test/TestRegisterable.sol +0 -18
  686. package/contracts/test/TestRoleId.sol +0 -14
  687. package/contracts/test/TestService.sol +0 -25
  688. package/contracts/test/TestVersion.sol +0 -44
  689. package/contracts/test/TestVersionable.sol +0 -17
  690. package/contracts/test/Usdc.sol +0 -26
  691. package/contracts/types/ChainId.sol +0 -38
  692. package/contracts/types/NumberId.sol +0 -52
  693. package/contracts/types/ObjectType.sol +0 -152
  694. package/contracts/types/RoleId.sol +0 -90
  695. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,53 +1,61 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {DistributorType} from "../types/DistributorType.sol";
7
- import {Fee, FeeLib} from "../types/Fee.sol";
8
- import {Key32} from "../types/Key32.sol";
9
- import {NftId} from "../types/NftId.sol";
10
- import {ObjectType, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, TREASURY, BUNDLE} from "../types/ObjectType.sol";
11
- import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../types/Referral.sol";
12
- import {Registerable} from "../shared/Registerable.sol";
13
- import {RiskId} from "../types/RiskId.sol";
14
- import {UFixed, MathLib, UFixedLib} from "../types/UFixed.sol";
15
- import {Version} from "../types/Version.sol";
16
- import {StateId} from "../types/StateId.sol";
17
-
18
- import {IRegistry} from "../registry/IRegistry.sol";
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {ClaimId} from "../type/ClaimId.sol";
6
+ import {DistributorType} from "../type/DistributorType.sol";
7
+ import {Key32} from "../type/Key32.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
10
+ import {PayoutId} from "../type/PayoutId.sol";
11
+ import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
12
+ import {RequestId} from "../type/RequestId.sol";
13
+ import {RiskId} from "../type/RiskId.sol";
14
+ import {RoleId} from "../type/RoleId.sol";
15
+ import {StateId} from "../type/StateId.sol";
16
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
17
+
19
18
  import {IBundle} from "../instance/module/IBundle.sol";
19
+ import {IComponents} from "../instance/module/IComponents.sol";
20
20
  import {IDistribution} from "../instance/module/IDistribution.sol";
21
21
  import {IInstance} from "./IInstance.sol";
22
- import {IKeyValueStore} from "../instance/base/IKeyValueStore.sol";
22
+ import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
23
+ import {IOracle} from "../oracle/IOracle.sol";
23
24
  import {IPolicy} from "../instance/module/IPolicy.sol";
24
25
  import {IRisk} from "../instance/module/IRisk.sol";
25
- import {ISetup} from "../instance/module/ISetup.sol";
26
- import {ITreasury} from "../instance/module/ITreasury.sol";
27
- import {TimestampLib} from "../types/Timestamp.sol";
26
+ import {TimestampLib} from "../type/Timestamp.sol";
27
+
28
+ import {InstanceStore} from "./InstanceStore.sol";
28
29
 
29
30
 
30
31
  contract InstanceReader {
31
- bool private _initialized;
32
32
 
33
- IRegistry internal _registry;
34
- IInstance internal _instance;
35
- IKeyValueStore internal _store;
33
+ error ErrorInstanceReaderAlreadyInitialized();
34
+ error ErrorInstanceReaderInstanceAddressZero();
36
35
 
37
- function initialize(address registry, address instance) public {
38
- require(!_initialized, "ERROR:CRD-000:ALREADY_INITIALIZED");
36
+ bool private _initialized = false;
39
37
 
40
- require(
41
- address(registry) != address(0),
42
- "ERROR:CRD-001:REGISTRY_ZERO");
38
+ IInstance internal _instance;
39
+ InstanceStore internal _store;
43
40
 
41
+ /// @dev This initializer needs to be called from the instance itself.
42
+ function initialize() public {
43
+ if(_initialized) {
44
+ revert ErrorInstanceReaderAlreadyInitialized();
45
+ }
44
46
 
45
- _registry = IRegistry(registry);
47
+ initializeWithInstance(msg.sender);
48
+ }
46
49
 
47
- _instance = IInstance(instance);
48
- _store = IKeyValueStore(instance);
50
+ /// @dev This initializer needs to be called from the instance itself.
51
+ function initializeWithInstance(address instanceAddress) public {
52
+ if(_initialized) {
53
+ revert ErrorInstanceReaderAlreadyInitialized();
54
+ }
49
55
 
50
56
  _initialized = true;
57
+ _instance = IInstance(instanceAddress);
58
+ _store = _instance.getInstanceStore();
51
59
  }
52
60
 
53
61
 
@@ -69,7 +77,101 @@ contract InstanceReader {
69
77
  view
70
78
  returns (StateId state)
71
79
  {
72
- return _instance.getState(toPolicyKey(policyNftId));
80
+ return _store.getState(toPolicyKey(policyNftId));
81
+ }
82
+
83
+ function getPremiumInfo(NftId policyNftId)
84
+ public
85
+ view
86
+ returns (IPolicy.PremiumInfo memory info)
87
+ {
88
+ bytes memory data = _store.getData(toPremiumKey(policyNftId));
89
+ if (data.length > 0) {
90
+ return abi.decode(data, (IPolicy.PremiumInfo));
91
+ }
92
+ }
93
+
94
+ function getPremiumInfoState(NftId policyNftId)
95
+ public
96
+ view
97
+ returns (StateId state)
98
+ {
99
+ return _store.getState(toPremiumKey(policyNftId));
100
+ }
101
+
102
+ function getBundleState(NftId bundleNftId)
103
+ public
104
+ view
105
+ returns (StateId state)
106
+ {
107
+ return _store.getState(toBundleKey(bundleNftId));
108
+ }
109
+
110
+ /// @dev returns true iff policy may be closed
111
+ /// a policy can be closed all conditions below are met
112
+ /// - policy exists
113
+ /// - has been activated
114
+ /// - is not yet closed
115
+ /// - has no open claims
116
+ /// - claim amount matches sum insured amount or is expired
117
+ function policyIsCloseable(NftId policyNftId)
118
+ public
119
+ view
120
+ returns (bool isCloseable)
121
+ {
122
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
123
+
124
+ if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
125
+ if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
126
+ if (info.closedAt.gtz()) { return false; } // not closeable: already closed
127
+ if (info.openClaimsCount > 0) { return false; } // not closeable: has open claims
128
+
129
+ // closeable: if sum of claims matches sum insured a policy may be closed prior to the expiry date
130
+ if (info.claimAmount == info.sumInsuredAmount) { return true; }
131
+
132
+ // not closeable: not yet expired
133
+ if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
134
+
135
+ // all conditionsl to close the policy are met
136
+ return true;
137
+ }
138
+
139
+ function getClaimInfo(NftId policyNftId, ClaimId claimId)
140
+ public
141
+ view
142
+ returns (IPolicy.ClaimInfo memory info)
143
+ {
144
+ bytes memory data = _store.getData(claimId.toKey32(policyNftId));
145
+ if (data.length > 0) {
146
+ return abi.decode(data, (IPolicy.ClaimInfo));
147
+ }
148
+ }
149
+
150
+ function getClaimState(NftId policyNftId, ClaimId claimId)
151
+ public
152
+ view
153
+ returns (StateId state)
154
+ {
155
+ return _store.getState(claimId.toKey32(policyNftId));
156
+ }
157
+
158
+ function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
159
+ public
160
+ view
161
+ returns (IPolicy.PayoutInfo memory info)
162
+ {
163
+ bytes memory data = _store.getData(payoutId.toKey32(policyNftId));
164
+ if (data.length > 0) {
165
+ return abi.decode(data, (IPolicy.PayoutInfo));
166
+ }
167
+ }
168
+
169
+ function getPayoutState(NftId policyNftId, PayoutId payoutId)
170
+ public
171
+ view
172
+ returns (StateId state)
173
+ {
174
+ return _store.getState(payoutId.toKey32(policyNftId));
73
175
  }
74
176
 
75
177
  function getRiskInfo(RiskId riskId)
@@ -83,30 +185,19 @@ contract InstanceReader {
83
185
  }
84
186
  }
85
187
 
86
- function getTokenHandler(NftId productNftId)
188
+ function getTokenHandler(NftId componentNftId)
87
189
  public
88
190
  view
89
191
  returns (address tokenHandler)
90
192
  {
91
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
193
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
92
194
 
93
195
  if (data.length > 0) {
94
- ITreasury.TreasuryInfo memory info = abi.decode(data, (ITreasury.TreasuryInfo));
196
+ IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
95
197
  return address(info.tokenHandler);
96
198
  }
97
199
  }
98
200
 
99
- function getTreasuryInfo(NftId productNftId)
100
- public
101
- view
102
- returns (ITreasury.TreasuryInfo memory info)
103
- {
104
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
105
- if (data.length > 0) {
106
- return abi.decode(data, (ITreasury.TreasuryInfo));
107
- }
108
- }
109
-
110
201
  function getBundleInfo(NftId bundleNftId)
111
202
  public
112
203
  view
@@ -140,36 +231,48 @@ contract InstanceReader {
140
231
  }
141
232
  }
142
233
 
143
- function getDistributionSetupInfo(NftId distributionNftId)
234
+ function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
235
+ return _store.getBalanceAmount(targetNftId);
236
+ }
237
+
238
+ function getLockedAmount(NftId targetNftId) external view returns (Amount) {
239
+ return _store.getLockedAmount(targetNftId);
240
+ }
241
+
242
+ function getFeeAmount(NftId targetNftId) external view returns (Amount) {
243
+ return _store.getFeeAmount(targetNftId);
244
+ }
245
+
246
+ function getComponentInfo(NftId componentNftId)
144
247
  public
145
248
  view
146
- returns (ISetup.DistributionSetupInfo memory info)
249
+ returns (IComponents.ComponentInfo memory info)
147
250
  {
148
- bytes memory data = _store.getData(toDistributionKey(distributionNftId));
251
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
149
252
  if (data.length > 0) {
150
- return abi.decode(data, (ISetup.DistributionSetupInfo));
253
+ return abi.decode(data, (IComponents.ComponentInfo));
151
254
  }
152
255
  }
153
256
 
154
- function getPoolSetupInfo(NftId poolNftId)
257
+ function getProductInfo(NftId productNftId)
155
258
  public
156
259
  view
157
- returns (ISetup.PoolSetupInfo memory info)
260
+ returns (IComponents.ProductInfo memory info)
158
261
  {
159
- bytes memory data = _store.getData(toPoolKey(poolNftId));
262
+ bytes memory data = _store.getData(toProductKey(productNftId));
160
263
  if (data.length > 0) {
161
- return abi.decode(data, (ISetup.PoolSetupInfo));
264
+ return abi.decode(data, (IComponents.ProductInfo));
162
265
  }
163
266
  }
164
267
 
165
- function getProductSetupInfo(NftId productNftId)
268
+ function getPoolInfo(NftId poolNftId)
166
269
  public
167
270
  view
168
- returns (ISetup.ProductSetupInfo memory info)
271
+ returns (IComponents.PoolInfo memory info)
169
272
  {
170
- bytes memory data = _store.getData(toProductKey(productNftId));
273
+ bytes memory data = _store.getData(toPoolKey(poolNftId));
171
274
  if (data.length > 0) {
172
- return abi.decode(data, (ISetup.ProductSetupInfo));
275
+ return abi.decode(data, (IComponents.PoolInfo));
173
276
  }
174
277
  }
175
278
 
@@ -184,6 +287,16 @@ contract InstanceReader {
184
287
  }
185
288
  }
186
289
 
290
+ function getRequestInfo(RequestId requestId)
291
+ public
292
+ view
293
+ returns (IOracle.RequestInfo memory requestInfo)
294
+ {
295
+ bytes memory data = _store.getData(requestId.toKey32());
296
+ if (data.length > 0) {
297
+ return abi.decode(data, (IOracle.RequestInfo));
298
+ }
299
+ }
187
300
 
188
301
  function getMetadata(Key32 key)
189
302
  public
@@ -193,6 +306,14 @@ contract InstanceReader {
193
306
  return _store.getMetadata(key);
194
307
  }
195
308
 
309
+ function getState(Key32 key)
310
+ public
311
+ view
312
+ returns (StateId state)
313
+ {
314
+ return _store.getMetadata(key).state;
315
+ }
316
+
196
317
 
197
318
  function toReferralId(
198
319
  NftId distributionNftId,
@@ -244,28 +365,44 @@ contract InstanceReader {
244
365
  }
245
366
 
246
367
 
247
- function toTreasuryKey(NftId productNftId) public pure returns (Key32) {
248
- return productNftId.toKey32(TREASURY());
368
+ function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
369
+ return _instance.getInstanceAdmin().hasRole(account, roleId);
370
+ }
371
+
372
+
373
+ function hasAdminRole(address account, RoleId roleId) public view returns (bool isMember) {
374
+ return _instance.getInstanceAdmin().hasAdminRole(account, roleId);
249
375
  }
250
376
 
251
377
 
378
+ function isTargetLocked(address target) public view returns (bool) {
379
+ return _instance.getInstanceAdmin().isTargetLocked(target);
380
+ }
381
+
252
382
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
253
383
  return policyNftId.toKey32(POLICY());
254
384
  }
255
385
 
386
+ function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
387
+ return policyNftId.toKey32(PREMIUM());
388
+ }
256
389
 
257
390
  function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
258
391
  return distributorNftId.toKey32(DISTRIBUTOR());
259
392
  }
260
393
 
261
- function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
262
- return distributionNftId.toKey32(DISTRIBUTION());
263
- }
264
-
265
394
  function toBundleKey(NftId poolNftId) public pure returns (Key32) {
266
395
  return poolNftId.toKey32(BUNDLE());
267
396
  }
268
397
 
398
+ function toComponentKey(NftId componentNftId) public pure returns (Key32) {
399
+ return componentNftId.toKey32(COMPONENT());
400
+ }
401
+
402
+ function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
403
+ return distributionNftId.toKey32(DISTRIBUTION());
404
+ }
405
+
269
406
  function toPoolKey(NftId poolNftId) public pure returns (Key32) {
270
407
  return poolNftId.toKey32(POOL());
271
408
  }
@@ -290,4 +427,4 @@ contract InstanceReader {
290
427
  function toInt(UFixed value) public pure returns (uint256) {
291
428
  return UFixedLib.toInt(value);
292
429
  }
293
- }
430
+ }