@etherisc/gif-next 0.0.2-bdcb44f-543 → 0.0.2-be7b687-620

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