@etherisc/gif-next 0.0.2-8708f37-786 → 0.0.2-8773a53-517

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