@etherisc/gif-next 0.0.2-b060f43-287 → 0.0.2-b0a5f9c-428

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 (679) 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 +1548 -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 +1234 -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 +274 -1320
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +444 -172
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +364 -3003
  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 +600 -399
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +349 -127
  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 -112
  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 +1185 -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/oracle/IOracleService.sol/IOracleService.json +675 -0
  86. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1093 -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 +1470 -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 +1521 -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 +938 -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 +1256 -0
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1684 -0
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +790 -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 +1318 -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 +1315 -0
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  124. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  125. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +236 -190
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  127. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IPolicyService.sol/IPolicyService.json} +422 -377
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IPricingService.sol/IPricingService.json} +290 -187
  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 +1300 -0
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  139. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +782 -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 +1276 -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 +896 -0
  176. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1696 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -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} +208 -209
  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/IPoolService.sol/IPoolService.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +379 -370
  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 +1015 -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 +60 -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 +2005 -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 +761 -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 +337 -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 +68 -38
  325. package/contracts/instance/IInstanceService.sol +78 -18
  326. package/contracts/instance/Instance.sol +181 -382
  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 +393 -184
  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 +29 -21
  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 +450 -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 +550 -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 +417 -0
  368. package/contracts/product/ClaimServiceManager.sol +38 -0
  369. package/contracts/product/IApplicationService.sol +62 -0
  370. package/contracts/product/IClaimService.sol +99 -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 +529 -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 +280 -0
  395. package/contracts/shared/ComponentService.sol +651 -0
  396. package/contracts/shared/ComponentServiceManager.sol +35 -0
  397. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  398. package/contracts/shared/IComponent.sol +70 -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 +37 -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 +411 -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 -940
  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/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  534. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  535. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  536. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -716
  537. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  538. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -444
  539. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  540. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  541. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  543. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1049
  545. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -464
  547. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1147
  549. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  550. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -488
  551. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  552. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  553. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  554. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  555. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  556. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  557. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  558. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  559. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  560. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  561. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  562. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  563. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  564. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  565. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  566. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  567. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  568. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  569. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  570. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  571. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  572. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  573. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  574. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  575. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  576. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  577. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  578. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  579. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  580. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  581. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  582. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  583. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  584. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  585. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  586. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  587. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  588. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  589. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  590. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  591. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  592. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  593. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  594. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  595. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  596. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  597. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  598. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  599. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  600. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  601. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  602. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  603. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  604. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  605. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  606. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  607. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  608. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  609. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  610. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  611. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  612. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  614. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  616. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  618. package/contracts/components/BaseComponent.sol +0 -132
  619. package/contracts/components/Distribution.sol +0 -163
  620. package/contracts/components/IBaseComponent.sol +0 -31
  621. package/contracts/components/IDistributionComponent.sol +0 -44
  622. package/contracts/components/IPoolComponent.sol +0 -66
  623. package/contracts/components/IProductComponent.sol +0 -35
  624. package/contracts/components/Pool.sol +0 -267
  625. package/contracts/components/Product.sol +0 -289
  626. package/contracts/experiment/cloning/Cloner.sol +0 -47
  627. package/contracts/experiment/errors/Require.sol +0 -38
  628. package/contracts/experiment/errors/Revert.sol +0 -44
  629. package/contracts/experiment/inheritance/A.sol +0 -53
  630. package/contracts/experiment/inheritance/B.sol +0 -28
  631. package/contracts/experiment/inheritance/C.sol +0 -34
  632. package/contracts/experiment/inheritance/IA.sol +0 -13
  633. package/contracts/experiment/inheritance/IB.sol +0 -10
  634. package/contracts/experiment/inheritance/IC.sol +0 -12
  635. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  636. package/contracts/experiment/statemachine/ISM.sol +0 -25
  637. package/contracts/experiment/statemachine/SM.sol +0 -57
  638. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  639. package/contracts/experiment/types/TypeA.sol +0 -47
  640. package/contracts/experiment/types/TypeB.sol +0 -29
  641. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  642. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  643. package/contracts/instance/IInstanceBase.sol +0 -26
  644. package/contracts/instance/InstanceAccessManager.sol +0 -288
  645. package/contracts/instance/InstanceBase.sol +0 -41
  646. package/contracts/instance/base/ComponentServiceBase.sol +0 -134
  647. package/contracts/instance/base/IInstanceBase.sol +0 -23
  648. package/contracts/instance/base/KeyValueStore.sol +0 -172
  649. package/contracts/instance/base/Lifecycle.sol +0 -100
  650. package/contracts/instance/module/ISetup.sol +0 -46
  651. package/contracts/instance/module/ITreasury.sol +0 -23
  652. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  653. package/contracts/instance/service/DistributionService.sol +0 -88
  654. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  655. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  656. package/contracts/instance/service/IDistributionService.sol +0 -12
  657. package/contracts/instance/service/IPoolService.sol +0 -51
  658. package/contracts/instance/service/IProductService.sol +0 -110
  659. package/contracts/instance/service/PoolService.sol +0 -287
  660. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  661. package/contracts/instance/service/ProductService.sol +0 -570
  662. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  663. package/contracts/shared/ContractDeployerLib.sol +0 -72
  664. package/contracts/shared/ERC165.sol +0 -25
  665. package/contracts/shared/ProxyManager.sol +0 -94
  666. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  667. package/contracts/shared/Versionable.sol +0 -147
  668. package/contracts/test/TestFee.sol +0 -25
  669. package/contracts/test/TestRegisterable.sol +0 -18
  670. package/contracts/test/TestRoleId.sol +0 -14
  671. package/contracts/test/TestService.sol +0 -24
  672. package/contracts/test/TestToken.sol +0 -26
  673. package/contracts/test/TestVersion.sol +0 -44
  674. package/contracts/test/TestVersionable.sol +0 -17
  675. package/contracts/types/ChainId.sol +0 -38
  676. package/contracts/types/NumberId.sol +0 -52
  677. package/contracts/types/ObjectType.sol +0 -152
  678. package/contracts/types/RoleId.sol +0 -90
  679. /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
+ }