@etherisc/gif-next 0.0.2-683d8b2-607 → 0.0.2-684bde0-724

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 (555) hide show
  1. package/README.md +100 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +212 -473
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +139 -381
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +772 -316
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +241 -117
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +135 -187
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +579 -137
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1480 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2045 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1423 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2471 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +560 -66
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +319 -57
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +568 -166
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1685 -774
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +332 -227
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +142 -104
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +921 -728
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  104. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +152 -350
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  109. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +129 -129
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +128 -318
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +176 -96
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +194 -421
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +568 -248
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +219 -103
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +374 -36
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +158 -212
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +711 -340
  134. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  135. package/artifacts/contracts/pool/Pool.sol/Pool.json +148 -392
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +546 -0
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +925 -545
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +229 -105
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +158 -98
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +287 -427
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +472 -235
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +194 -122
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +348 -16
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +417 -101
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +272 -222
  164. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  165. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +196 -163
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +532 -311
  168. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +195 -107
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -329
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +164 -136
  176. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  177. package/artifacts/contracts/product/Product.sol/Product.json +279 -419
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.json +780 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +21 -2
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +364 -42
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  192. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/Registry.sol/Registry.json +471 -112
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +749 -455
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +140 -88
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +491 -242
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  212. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  213. package/artifacts/contracts/shared/Component.sol/Component.json +86 -277
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +590 -542
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +189 -119
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -93
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +535 -240
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +118 -129
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  235. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  242. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  246. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  248. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -318
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  250. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  252. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  254. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  256. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  258. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  260. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  262. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  263. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  264. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  270. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  272. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +341 -133
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  274. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +184 -23
  275. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  276. package/artifacts/contracts/staking/Staking.sol/Staking.json +468 -419
  277. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  278. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  279. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  280. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  282. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +180 -99
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  284. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +91 -67
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  286. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +253 -171
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +157 -93
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +209 -149
  291. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  292. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +95 -49
  293. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  294. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  296. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  298. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  300. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  302. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  304. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  306. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  307. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  308. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  310. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  311. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  312. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  314. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  316. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  318. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  320. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  322. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  324. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
  326. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  328. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  330. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  332. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  334. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  336. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +109 -35
  338. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  340. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  342. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  343. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  344. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +117 -78
  346. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  348. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  349. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  350. package/contracts/accounting/AccountingService.sol +274 -0
  351. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  352. package/contracts/accounting/IAccountingService.sol +47 -0
  353. package/contracts/authorization/AccessAdmin.sol +456 -266
  354. package/contracts/authorization/AccessAdminLib.sol +396 -0
  355. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  356. package/contracts/authorization/Authorization.sol +159 -208
  357. package/contracts/authorization/IAccess.sol +25 -6
  358. package/contracts/authorization/IAccessAdmin.sol +87 -79
  359. package/contracts/authorization/IAuthorization.sol +9 -36
  360. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  361. package/contracts/authorization/ServiceAuthorization.sol +254 -24
  362. package/contracts/distribution/BasicDistribution.sol +20 -28
  363. package/contracts/distribution/BasicDistributionAuthorization.sol +34 -10
  364. package/contracts/distribution/Distribution.sol +46 -82
  365. package/contracts/distribution/DistributionService.sol +276 -116
  366. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  367. package/contracts/distribution/IDistributionComponent.sol +11 -14
  368. package/contracts/distribution/IDistributionService.sol +56 -26
  369. package/contracts/examples/fire/DamageLevel.sol +59 -0
  370. package/contracts/examples/fire/FirePool.sol +86 -0
  371. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  372. package/contracts/examples/fire/FireProduct.sol +433 -0
  373. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  374. package/contracts/examples/fire/FireUSD.sol +26 -0
  375. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  376. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  377. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  378. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  379. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  380. package/contracts/examples/unpermissioned/SimpleProduct.sol +385 -0
  381. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  382. package/contracts/instance/BundleSet.sol +42 -38
  383. package/contracts/instance/IInstance.sol +101 -42
  384. package/contracts/instance/IInstanceService.sol +52 -31
  385. package/contracts/instance/Instance.sol +189 -97
  386. package/contracts/instance/InstanceAdmin.sol +275 -158
  387. package/contracts/instance/InstanceAuthorizationV3.sol +120 -56
  388. package/contracts/instance/InstanceReader.sol +478 -251
  389. package/contracts/instance/InstanceService.sol +298 -229
  390. package/contracts/instance/InstanceServiceManager.sol +6 -7
  391. package/contracts/instance/InstanceStore.sol +24 -2
  392. package/contracts/instance/RiskSet.sol +118 -0
  393. package/contracts/instance/base/BalanceStore.sol +3 -5
  394. package/contracts/instance/base/ObjectCounter.sol +1 -2
  395. package/contracts/instance/base/ObjectLifecycle.sol +11 -4
  396. package/contracts/instance/base/ObjectSet.sol +31 -33
  397. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  398. package/contracts/instance/module/IBundle.sol +6 -5
  399. package/contracts/instance/module/IComponents.sol +30 -20
  400. package/contracts/instance/module/IDistribution.sol +21 -9
  401. package/contracts/instance/module/IPolicy.sol +50 -29
  402. package/contracts/instance/module/IRisk.sol +5 -0
  403. package/contracts/mock/Dip.sol +1 -1
  404. package/contracts/oracle/BasicOracle.sol +1 -4
  405. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  406. package/contracts/oracle/IOracle.sol +9 -4
  407. package/contracts/oracle/IOracleComponent.sol +2 -1
  408. package/contracts/oracle/IOracleService.sol +2 -1
  409. package/contracts/oracle/Oracle.sol +21 -24
  410. package/contracts/oracle/OracleService.sol +117 -85
  411. package/contracts/oracle/OracleServiceManager.sol +6 -6
  412. package/contracts/pool/BasicPool.sol +37 -28
  413. package/contracts/pool/BasicPoolAuthorization.sol +42 -9
  414. package/contracts/pool/BundleService.sol +213 -91
  415. package/contracts/pool/BundleServiceManager.sol +6 -6
  416. package/contracts/pool/IBundleService.sol +40 -25
  417. package/contracts/pool/IPoolComponent.sol +20 -10
  418. package/contracts/pool/IPoolService.sol +97 -77
  419. package/contracts/pool/Pool.sol +145 -113
  420. package/contracts/pool/PoolLib.sol +359 -0
  421. package/contracts/pool/PoolService.sol +413 -235
  422. package/contracts/pool/PoolServiceManager.sol +4 -4
  423. package/contracts/product/ApplicationService.sol +143 -46
  424. package/contracts/product/ApplicationServiceManager.sol +4 -4
  425. package/contracts/product/BasicProduct.sol +12 -45
  426. package/contracts/product/BasicProductAuthorization.sol +33 -10
  427. package/contracts/product/ClaimService.sol +384 -159
  428. package/contracts/product/ClaimServiceManager.sol +4 -4
  429. package/contracts/product/IApplicationService.sol +29 -3
  430. package/contracts/product/IClaimService.sol +44 -8
  431. package/contracts/product/IPolicyService.sol +61 -37
  432. package/contracts/product/IPricingService.sol +11 -10
  433. package/contracts/product/IProductComponent.sol +28 -5
  434. package/contracts/product/IRiskService.sol +37 -0
  435. package/contracts/product/PolicyService.sol +443 -273
  436. package/contracts/product/PolicyServiceLib.sol +139 -0
  437. package/contracts/product/PolicyServiceManager.sol +4 -4
  438. package/contracts/product/PricingService.sol +90 -84
  439. package/contracts/product/PricingServiceManager.sol +4 -4
  440. package/contracts/product/Product.sol +175 -95
  441. package/contracts/product/RiskService.sol +163 -0
  442. package/contracts/product/RiskServiceManager.sol +39 -0
  443. package/contracts/registry/ChainNft.sol +49 -31
  444. package/contracts/registry/IRegistry.sol +69 -27
  445. package/contracts/registry/IRegistryService.sol +5 -12
  446. package/contracts/registry/IRelease.sol +29 -0
  447. package/contracts/registry/ITransferInterceptor.sol +1 -2
  448. package/contracts/registry/Registry.sol +348 -177
  449. package/contracts/registry/RegistryAdmin.sol +100 -357
  450. package/contracts/registry/RegistryAuthorization.sol +284 -0
  451. package/contracts/registry/RegistryService.sol +38 -49
  452. package/contracts/registry/RegistryServiceManager.sol +3 -3
  453. package/contracts/registry/ReleaseAdmin.sol +195 -0
  454. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  455. package/contracts/registry/ReleaseRegistry.sol +262 -275
  456. package/contracts/registry/ServiceAuthorizationV3.sol +202 -57
  457. package/contracts/registry/TokenRegistry.sol +12 -13
  458. package/contracts/shared/Component.sol +65 -136
  459. package/contracts/shared/ComponentService.sol +441 -343
  460. package/contracts/shared/ComponentServiceManager.sol +8 -5
  461. package/contracts/shared/ContractLib.sol +311 -0
  462. package/contracts/shared/IComponent.sol +6 -18
  463. package/contracts/shared/IComponentService.sol +50 -41
  464. package/contracts/shared/IInstanceLinkedComponent.sol +7 -27
  465. package/contracts/shared/ILifecycle.sol +3 -1
  466. package/contracts/shared/INftOwnable.sol +4 -0
  467. package/contracts/shared/IPolicyHolder.sol +12 -22
  468. package/contracts/shared/IRegisterable.sol +22 -1
  469. package/contracts/shared/IService.sol +3 -5
  470. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  471. package/contracts/shared/InstanceLinkedComponent.sol +82 -39
  472. package/contracts/shared/KeyValueStore.sol +1 -1
  473. package/contracts/shared/Lifecycle.sol +15 -4
  474. package/contracts/shared/NftOwnable.sol +33 -11
  475. package/contracts/shared/PolicyHolder.sol +20 -59
  476. package/contracts/shared/Registerable.sol +52 -21
  477. package/contracts/shared/RegistryLinked.sol +9 -14
  478. package/contracts/shared/Service.sol +20 -35
  479. package/contracts/shared/TokenHandler.sol +310 -26
  480. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  481. package/contracts/staking/IStaking.sol +48 -20
  482. package/contracts/staking/IStakingService.sol +21 -11
  483. package/contracts/staking/Staking.sol +203 -108
  484. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  485. package/contracts/staking/StakingManager.sol +8 -6
  486. package/contracts/staking/StakingReader.sol +40 -24
  487. package/contracts/staking/StakingService.sol +96 -39
  488. package/contracts/staking/StakingServiceManager.sol +6 -5
  489. package/contracts/staking/StakingStore.sol +3 -2
  490. package/contracts/staking/TargetManagerLib.sol +8 -4
  491. package/contracts/type/Amount.sol +27 -5
  492. package/contracts/type/Blocknumber.sol +7 -1
  493. package/contracts/type/ClaimId.sol +6 -1
  494. package/contracts/type/Fee.sol +8 -8
  495. package/contracts/type/Key32.sol +2 -2
  496. package/contracts/type/Key32Set.sol +62 -0
  497. package/contracts/type/NftId.sol +7 -0
  498. package/contracts/type/ObjectType.sol +73 -37
  499. package/contracts/type/PayoutId.sol +10 -10
  500. package/contracts/type/Referral.sol +1 -0
  501. package/contracts/type/RiskId.sol +38 -6
  502. package/contracts/type/RoleId.sol +61 -55
  503. package/contracts/type/Seconds.sol +25 -1
  504. package/contracts/type/Selector.sol +5 -0
  505. package/contracts/type/StateId.sol +15 -1
  506. package/contracts/type/String.sol +12 -0
  507. package/contracts/type/Timestamp.sol +10 -5
  508. package/contracts/type/UFixed.sol +56 -126
  509. package/contracts/type/Version.sol +54 -5
  510. package/contracts/upgradeability/IVersionable.sol +3 -0
  511. package/contracts/upgradeability/ProxyManager.sol +93 -45
  512. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
  513. package/contracts/upgradeability/Versionable.sol +8 -5
  514. package/package.json +5 -4
  515. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  516. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  517. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  518. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  519. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  520. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  521. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  522. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  523. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  524. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  525. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  526. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  527. package/artifacts/contracts/registry/GlobalRegistry.sol/GlobalRegistry.dbg.json +0 -4
  528. package/artifacts/contracts/registry/GlobalRegistry.sol/GlobalRegistry.json +0 -1487
  529. package/artifacts/contracts/registry/GlobalRegistryAdmin.sol/GlobalRegistryAdmin.dbg.json +0 -4
  530. package/artifacts/contracts/registry/GlobalRegistryAdmin.sol/GlobalRegistryAdmin.json +0 -1876
  531. package/artifacts/contracts/registry/IGlobalRegistry.sol/IGlobalRegistry.dbg.json +0 -4
  532. package/artifacts/contracts/registry/IGlobalRegistry.sol/IGlobalRegistry.json +0 -974
  533. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  534. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  535. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  536. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  537. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  538. package/artifacts/contracts/shared/MainnetContract.sol/MainnetContract.dbg.json +0 -4
  539. package/artifacts/contracts/shared/MainnetContract.sol/MainnetContract.json +0 -34
  540. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  541. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  542. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  543. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  544. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  545. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  546. package/contracts/instance/module/IAccess.sol +0 -46
  547. package/contracts/product/IProductService.sol +0 -33
  548. package/contracts/product/ProductService.sol +0 -99
  549. package/contracts/product/ProductServiceManager.sol +0 -39
  550. package/contracts/registry/GlobalRegistry.sol +0 -89
  551. package/contracts/registry/GlobalRegistryAdmin.sol +0 -38
  552. package/contracts/registry/IGlobalRegistry.sol +0 -17
  553. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  554. package/contracts/shared/InitializableCustom.sol +0 -177
  555. package/contracts/shared/MainnetContract.sol +0 -15
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/d7615b7e73c2dc00c5012aeb5208ff5a.json"
4
- }
@@ -1,10 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "MathLib",
4
- "sourceName": "contracts/type/UFixed.sol",
5
- "abi": [],
6
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202cc980bf0a430ee2301014388bd392a4e0ea428e49d43fae39937ef0e86afdc464736f6c634300081a0033",
7
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202cc980bf0a430ee2301014388bd392a4e0ea428e49d43fae39937ef0e86afdc464736f6c634300081a0033",
8
- "linkReferences": {},
9
- "deployedLinkReferences": {}
10
- }
@@ -1,21 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IAccess} from "./IAccess.sol";
5
- import {IAuthorization} from "./IAuthorization.sol";
6
- import {ObjectType} from "../type/ObjectType.sol";
7
- import {RoleId} from "../type/RoleId.sol";
8
- import {Str} from "../type/String.sol";
9
-
10
- interface IModuleAuthorization is
11
- IAccess,
12
- IAuthorization
13
- {
14
-
15
- /// @dev Returns the list of service targets.
16
- function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
17
-
18
- /// @dev Returns the service target for the specified domain.
19
- function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
20
- }
21
-
@@ -1,78 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Authorization} from "./Authorization.sol";
5
- import {IAccess} from "./IAccess.sol";
6
- import {IModuleAuthorization} from "./IModuleAuthorization.sol";
7
- import {ObjectType, ObjectTypeLib} from "../type/ObjectType.sol";
8
- import {RoleId, RoleIdLib, ADMIN_ROLE} from "../type/RoleId.sol";
9
- import {SelectorLib} from "../type/Selector.sol";
10
- import {Str, StrLib} from "../type/String.sol";
11
- import {TimestampLib} from "../type/Timestamp.sol";
12
- import {VersionPart} from "../type/Version.sol";
13
-
14
- contract ModuleAuthorization is
15
- Authorization,
16
- IModuleAuthorization
17
- {
18
-
19
- ObjectType[] internal _serviceDomains;
20
- mapping(ObjectType domain => Str target) internal _serviceTarget;
21
-
22
- constructor(string memory moduleName)
23
- Authorization(moduleName)
24
- { }
25
-
26
- function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
27
- return _serviceDomains;
28
- }
29
-
30
- function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget) {
31
- return _serviceTarget[serviceDomain];
32
- }
33
-
34
- /// @dev Add a GIF role for the provided role id and name.
35
- function _addGifRole(RoleId roleId, string memory name) internal returns (RoleInfo memory info) {
36
- _addRole(
37
- roleId,
38
- _toRoleInfo(
39
- ADMIN_ROLE(),
40
- RoleType.Gif,
41
- type(uint32).max,
42
- name));
43
- }
44
-
45
- /// @dev Add the service target role for the specified service domain
46
- function _addServiceTargetWithRole(ObjectType serviceDomain) internal {
47
- // add service domain
48
- _serviceDomains.push(serviceDomain);
49
-
50
- // get versioned target name
51
- string memory serviceTargetName = ObjectTypeLib.toVersionedName(
52
- ObjectTypeLib.toName(serviceDomain),
53
- "Service",
54
- getRelease().toInt());
55
-
56
- _serviceTarget[serviceDomain] = StrLib.toStr(serviceTargetName);
57
-
58
- RoleId serviceRoleId = getServiceRole(serviceDomain);
59
- string memory serviceRoleName = ObjectTypeLib.toVersionedName(
60
- ObjectTypeLib.toName(serviceDomain),
61
- "ServiceRole",
62
- getRelease().toInt());
63
-
64
- _addTargetWithRole(
65
- serviceTargetName,
66
- serviceRoleId,
67
- serviceRoleName);
68
- }
69
-
70
- /// @dev role id for targets registry, staking and instance
71
- function _getTargetRoleId(ObjectType targetDomain)
72
- internal
73
- returns (RoleId targetRoleId)
74
- {
75
- return RoleIdLib.roleForType(targetDomain);
76
- }
77
- }
78
-
@@ -1,46 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
5
-
6
- import {NftId} from "../../type/NftId.sol";
7
- import {RoleId} from "../../type/RoleId.sol";
8
- import {Timestamp} from "../../type/Timestamp.sol";
9
-
10
- interface IAccess {
11
-
12
- enum Type {
13
- NotInitialized,
14
- Core,
15
- Gif,
16
- Custom
17
- }
18
-
19
- struct RoleInfo {
20
- ShortString name;
21
- Type rtype;
22
- //bool isLocked;
23
- RoleId admin;
24
- Timestamp createdAt;
25
- Timestamp updatedAt;
26
- }
27
-
28
- struct TargetInfo {
29
- ShortString name;
30
- Type ttype;
31
- bool isLocked;
32
- Timestamp createdAt;
33
- Timestamp updatedAt;
34
- }
35
-
36
- error ErrorIAccessRoleIdTooBig(RoleId roleId);
37
- error ErrorIAccessRoleIdTooSmall(RoleId roleId);
38
- error ErrorIAccessRoleTypeInvalid(RoleId roleId, Type rtype);
39
-
40
- error ErrorIAccessTargetAddressZero();
41
- error ErrorIAccessTargetTypeInvalid(address target, Type ttype);
42
- error ErrorIAccessTargetLocked(address target);
43
- error ErrorIAccessTargetNotRegistered(address target);
44
- error ErrorIAccessTargetAuthorityInvalid(address target, address targetAuthority);
45
- error ErrorIAccessTargetInstanceMismatch(address target, NftId targetParentNftId, NftId instanceNftId);
46
- }
@@ -1,33 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IRisk} from "../instance/module/IRisk.sol";
5
- import {IService} from "../shared/IService.sol";
6
-
7
- import {NftId} from "../type/NftId.sol";
8
- import {ReferralId} from "../type/Referral.sol";
9
- import {RiskId} from "../type/RiskId.sol";
10
- import {StateId} from "../type/StateId.sol";
11
- import {Timestamp} from "../type/Timestamp.sol";
12
- import {UFixed} from "../type/UFixed.sol";
13
- import {Fee} from "../type/Fee.sol";
14
-
15
- interface IProductService is IService {
16
-
17
- function createRisk(
18
- RiskId riskId,
19
- bytes memory data
20
- ) external;
21
-
22
-
23
- function updateRisk(
24
- RiskId riskId,
25
- bytes memory data
26
- ) external;
27
-
28
-
29
- function updateRiskState(
30
- RiskId riskId,
31
- StateId newState
32
- ) external;
33
- }
@@ -1,99 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IInstance} from "../instance/IInstance.sol";
5
- import {IInstanceService} from "../instance/IInstanceService.sol";
6
- import {IPoolService} from "../pool/PoolService.sol";
7
- import {IProductService} from "./IProductService.sol";
8
- import {IRegistryService} from "../registry/IRegistryService.sol";
9
- import {IRisk} from "../instance/module/IRisk.sol";
10
-
11
- import {InstanceReader} from "../instance/InstanceReader.sol";
12
- import {ObjectType, INSTANCE, PRODUCT, POOL, POLICY, REGISTRY} from "../type/ObjectType.sol";
13
- import {KEEP_STATE} from "../type/StateId.sol";
14
- import {NftId} from "../type/NftId.sol";
15
- import {RiskId} from "../type/RiskId.sol";
16
- import {StateId} from "../type/StateId.sol";
17
- import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
18
-
19
- contract ProductService is
20
- ComponentVerifyingService,
21
- IProductService
22
- {
23
- IInstanceService private _instanceService;
24
- IPoolService internal _poolService;
25
- IRegistryService private _registryService;
26
-
27
- event LogProductServiceSender(address sender);
28
-
29
- function _initialize(
30
- address owner,
31
- bytes memory data
32
- )
33
- internal
34
- initializer
35
- virtual override
36
- {
37
- (
38
- address registryAddress,,
39
- //address managerAddress
40
- address authority
41
- ) = abi.decode(data, (address, address, address));
42
-
43
- initializeService(registryAddress, authority, owner);
44
-
45
- _instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
46
- _poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
47
- _registryService = IRegistryService(_getServiceAddress(REGISTRY()));
48
-
49
- registerInterface(type(IProductService).interfaceId);
50
- }
51
-
52
-
53
- function createRisk(
54
- RiskId riskId,
55
- bytes memory data
56
- )
57
- external
58
- override
59
- {
60
- (NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
61
- IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
62
-
63
- instance.getInstanceStore().createRisk(
64
- riskId,
65
- riskInfo
66
- );
67
- }
68
-
69
-
70
- function updateRisk(
71
- RiskId riskId,
72
- bytes memory data
73
- )
74
- external
75
- {
76
- (,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
77
- InstanceReader instanceReader = instance.getInstanceReader();
78
-
79
- IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
80
- riskInfo.data = data;
81
- instance.getInstanceStore().updateRisk(riskId, riskInfo, KEEP_STATE());
82
- }
83
-
84
-
85
- function updateRiskState(
86
- RiskId riskId,
87
- StateId state
88
- )
89
- external
90
- {
91
- (,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
92
- instance.getInstanceStore().updateRiskState(riskId, state);
93
- }
94
-
95
-
96
- function _getDomain() internal pure override returns(ObjectType) {
97
- return PRODUCT();
98
- }
99
- }
@@ -1,39 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
5
- import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
- import {ProductService} from "./ProductService.sol";
7
-
8
- contract ProductServiceManager is ProxyManager {
9
-
10
- ProductService private _productService;
11
-
12
- /// @dev initializes proxy manager with product service implementation
13
- constructor(
14
- address authority,
15
- address registryAddress,
16
- bytes32 salt
17
- )
18
- ProxyManager(registryAddress)
19
- {
20
- ProductService svc = new ProductService{salt: salt}();
21
- bytes memory data = abi.encode(registryAddress, address(this), authority);
22
- IVersionable versionable = deployDetermenistic(
23
- address(svc),
24
- data,
25
- salt);
26
-
27
- _productService = ProductService(address(versionable));
28
- }
29
-
30
- //--- view functions ----------------------------------------------------//
31
- function getProductService()
32
- external
33
- view
34
- returns (ProductService productService)
35
- {
36
- return _productService;
37
- }
38
-
39
- }
@@ -1,89 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
-
5
- import {NftId, NftIdLib} from "../type/NftId.sol";
6
- import {VersionPart} from "../type/Version.sol";
7
- import {ObjectType, REGISTRY} from "../type/ObjectType.sol";
8
-
9
- import {IGlobalRegistry} from "./IGlobalRegistry.sol";
10
- import {Registry} from "./Registry.sol";
11
- import {RegistryAdmin} from "./RegistryAdmin.sol";
12
- import {MainnetContract} from "../shared/MainnetContract.sol";
13
-
14
- contract GlobalRegistry is
15
- MainnetContract,
16
- Registry,
17
- IGlobalRegistry
18
- {
19
-
20
- error ErrorGlobalRegistryChainRegistryAlreadyRegistered(uint chainId, address chainRegistry);
21
- error ErrorGlobalRegistryChainRegistryAddressInvalid(uint chainId, address chainRegistry);
22
-
23
- mapping(uint chanId => address registry) _registryAddressByChainId;
24
- uint256[] _chainId;
25
-
26
- constructor(RegistryAdmin admin) Registry(admin, address(this))
27
- {}
28
-
29
- /// @dev registers a registry contract for a specified chain
30
- // only one chain registry per chain
31
- // each chain registry have unique address (sort of share same address space)
32
- function registerChainRegistry(uint chainId, address chainRegistryAddress)
33
- external
34
- restricted
35
- returns (NftId chainRegistryNftId)
36
- {
37
- // TODO allow for the same address to be registered on multiple chains
38
- if(_nftIdByAddress[chainRegistryAddress] != NftIdLib.zero()) {
39
- revert ErrorGlobalRegistryChainRegistryAddressInvalid(chainId, chainRegistryAddress);
40
- }
41
-
42
- // calculate chain registry token id
43
- uint chainRegistryId = _chainNft.calculateTokenId(REGISTRY_TOKEN_SEQUENCE_ID, chainId);
44
- chainRegistryNftId = NftIdLib.toNftId(chainRegistryId);
45
-
46
- _info[chainRegistryNftId] = ObjectInfo({
47
- nftId: chainRegistryNftId,
48
- parentNftId: _registryNftId,
49
- objectType: REGISTRY(),
50
- isInterceptor: false,
51
- objectAddress: chainRegistryAddress, // TODO consider "chainId:address" format
52
- initialOwner: NFT_LOCK_ADDRESS,
53
- data: ""
54
- });
55
-
56
- _nftIdByAddress[chainRegistryAddress] = chainRegistryNftId;
57
- _registryAddressByChainId[chainId] = chainRegistryAddress;
58
- _chainId.push(chainId);
59
-
60
- _chainNft.mint(NFT_LOCK_ADDRESS, chainRegistryId);
61
- }
62
-
63
- //------------- public view functions -------------//
64
- function getChainRegistryAddress(uint chainId) public view returns (address) {
65
- return _registryAddressByChainId[chainId];
66
- }
67
-
68
- function getChainId(uint idx) public view returns (uint) {
69
- return _chainId[idx];
70
- }
71
-
72
- function chainIds() public view returns (uint) {
73
- return _chainId.length;
74
- }
75
-
76
- // Internals
77
-
78
- /// @dev global registry already registered, register specifics only
79
- function _registerRegistry()
80
- internal
81
- virtual
82
- override
83
- returns (NftId)
84
- {
85
- _registryAddressByChainId[MAINNET_CHAIN_ID] = address(this);
86
- _chainId.push(MAINNET_CHAIN_ID);
87
- return _globalRegistryNftId;
88
- }
89
- }
@@ -1,38 +0,0 @@
1
- // SPDX-License-Identifier: UNLICENSED
2
- pragma solidity ^0.8.20;
3
-
4
- import {GIF_ADMIN_ROLE} from "../type/RoleId.sol";
5
-
6
- import {IGlobalRegistry} from "./IGlobalRegistry.sol";
7
- import {RegistryAdmin} from "./RegistryAdmin.sol";
8
- import {MainnetContract} from "../shared/MainnetContract.sol";
9
-
10
-
11
- contract GlobalRegistryAdmin is
12
- MainnetContract,
13
- RegistryAdmin
14
- {
15
- error ErrorGlobalRegistryAdminDeploymentNotOnMainnet();
16
-
17
- constructor() RegistryAdmin()
18
- {
19
- if(block.chainid != 1) {
20
- revert ErrorGlobalRegistryAdminDeploymentNotOnMainnet();
21
- }
22
- }
23
-
24
- function _setupRegistry()
25
- internal
26
- override
27
- onlyInitializing()
28
- {
29
- super._setupRegistry();
30
-
31
- // global registry function authorization for gif admin role
32
- FunctionInfo[] memory functions;
33
- functions = new FunctionInfo[](1);
34
- functions[0] = toFunction(IGlobalRegistry.registerChainRegistry.selector, "registerChainRegistry");
35
-
36
- _authorizeTargetFunctions(_registry, GIF_ADMIN_ROLE(), functions);
37
- }
38
- }
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {NftId} from "../type/NftId.sol";
5
-
6
- import {IRegistry} from "./IRegistry.sol";
7
-
8
- interface IGlobalRegistry is IRegistry {
9
- // function registerChainRegistry(uint chainId, address deployer, bytes32 initCodeHash, bytes32 salt);
10
- function registerChainRegistry(uint chainId, address chainRegistryAddress) external returns (NftId chainRegistryNftId);
11
-
12
- function getChainRegistryAddress(uint chainId) external returns (address);
13
-
14
- function getChainId(uint idx) external view returns (uint);
15
-
16
- function chainIds() external view returns (uint);
17
- }
@@ -1,117 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IInstance} from "../instance/IInstance.sol";
5
- import {InstanceReader} from "../instance/InstanceReader.sol";
6
- import {IRegistry} from "../registry/IRegistry.sol";
7
- import {NftId} from "../type/NftId.sol";
8
- import {ObjectType, COMPONENT, DISTRIBUTION, ORACLE, POOL, PRODUCT} from "../type/ObjectType.sol";
9
- import {Service} from "../shared/Service.sol";
10
-
11
-
12
- abstract contract ComponentVerifyingService is
13
- Service
14
- {
15
-
16
- error ErrorComponentVerifyingServiceComponentTypeInvalid(NftId componentNftId, ObjectType expectedType, ObjectType actualType);
17
- error ErrorComponentVerifyingServiceComponentIsLocked(NftId componentNftId);
18
-
19
- /// @dev based on the sender address returns the corresponding components nft id, info and instance.
20
- /// the function reverts iff:
21
- /// - there is no such component
22
- /// - the component has the wrong object type
23
- /// - the component is locked
24
- function _getAndVerifyActiveComponent(
25
- ObjectType expectedType // assume always of `component` type
26
- )
27
- internal
28
- view
29
- returns(
30
- NftId componentNftId,
31
- IRegistry.ObjectInfo memory componentInfo,
32
- IInstance instance
33
- )
34
- {
35
- componentNftId = getRegistry().getNftId(msg.sender);
36
- (componentInfo, instance) = _getAndVerifyComponentInfo(
37
- componentNftId,
38
- expectedType,
39
- true); // only active
40
- }
41
-
42
-
43
- /// @dev returns the component info and instance contract reference given a component nft id
44
- /// the function reverts iff:
45
- /// - there is no such component
46
- /// - the component has the wrong object type
47
- function _getAndVerifyComponentInfo(
48
- NftId componentNftId,
49
- ObjectType expectedType, // assume always of `component` type
50
- bool onlyActive
51
- )
52
- internal
53
- virtual
54
- view
55
- returns(
56
- IRegistry.ObjectInfo memory info,
57
- IInstance instance
58
- )
59
- {
60
- IRegistry registry = getRegistry();
61
- info = registry.getObjectInfo(componentNftId);
62
-
63
- // if not COMPONENT require exact match
64
- if(expectedType != COMPONENT()) {
65
- // ensure component is of expected type
66
- if(info.objectType != expectedType) {
67
- revert ErrorComponentVerifyingServiceComponentTypeInvalid(
68
- componentNftId,
69
- expectedType,
70
- info.objectType);
71
- }
72
- } else {
73
- if(!(info.objectType == PRODUCT()
74
- || info.objectType == POOL()
75
- || info.objectType == DISTRIBUTION()
76
- || info.objectType == ORACLE()
77
- ))
78
- {
79
- revert ErrorComponentVerifyingServiceComponentTypeInvalid(
80
- componentNftId,
81
- expectedType,
82
- info.objectType);
83
- }
84
- }
85
-
86
- instance = _getInstance(info.parentNftId);
87
-
88
- // ensure component is not locked
89
- if (onlyActive) {
90
- if (instance.getInstanceAdmin().isTargetLocked(info.objectAddress)) {
91
- revert ErrorComponentVerifyingServiceComponentIsLocked(componentNftId);
92
- }
93
- }
94
- }
95
-
96
-
97
- /// @dev returns the linked product nft id for the specified component
98
- function _getProductNftId(
99
- InstanceReader instanceReader,
100
- NftId componentNftId
101
- )
102
- internal
103
- virtual
104
- view
105
- returns (NftId productNftId)
106
- {
107
- return instanceReader.getComponentInfo(componentNftId).productNftId;
108
- }
109
-
110
-
111
- /// @dev returns an IInstance contract reference for the specified instance nft id
112
- function _getInstance(NftId instanceNftId) internal view returns (IInstance) {
113
- return IInstance(
114
- getRegistry().getObjectInfo(
115
- instanceNftId).objectAddress);
116
- }
117
- }