@etherisc/gif-next 0.0.2-ab8a361 → 0.0.2-abde86b-349

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