@etherisc/gif-next 0.0.2-def25d4-556 → 0.0.2-df73b56-462

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