@etherisc/gif-next 0.0.2-de9ede4-391 → 0.0.2-df69269-973

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 (406) hide show
  1. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +65 -58
  3. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +20 -22
  5. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +27 -3
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +103 -55
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
  12. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +115 -21
  14. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +37 -5
  17. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +42 -13
  19. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -47
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +90 -33
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +51 -21
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +117 -110
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +46 -48
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +38 -8
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +27 -3
  36. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +76 -42
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +93 -40
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +233 -184
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +90 -33
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +104 -54
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +90 -33
  50. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -45
  52. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +98 -48
  54. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  55. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +93 -40
  56. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  57. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +262 -147
  58. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +90 -33
  60. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  61. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  62. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +54 -21
  64. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  65. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +53 -3
  66. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  67. package/artifacts/contracts/instance/Instance.sol/Instance.json +80 -40
  68. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +289 -92
  70. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +97 -40
  72. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +81 -195
  74. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  75. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +65 -58
  76. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +20 -22
  78. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +40 -268
  80. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  81. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  82. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  83. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  84. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  85. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  86. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  87. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  89. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  91. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  92. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  95. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  96. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  97. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +68 -38
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +92 -35
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +38 -8
  105. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
  107. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +52 -22
  109. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +75 -68
  111. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +25 -27
  113. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +51 -21
  115. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +93 -40
  117. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +101 -94
  119. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +38 -40
  121. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +27 -3
  123. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +38 -8
  125. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +27 -3
  127. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  128. package/artifacts/contracts/pool/Pool.sol/Pool.json +51 -21
  129. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +85 -78
  131. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +30 -32
  133. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +57 -50
  135. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +16 -18
  137. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +157 -112
  139. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +90 -33
  141. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +249 -150
  143. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +57 -55
  145. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +27 -3
  147. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +143 -3
  149. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  150. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +27 -3
  151. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -3
  153. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +144 -99
  155. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +27 -3
  157. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +95 -88
  159. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +35 -37
  161. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.json +85 -78
  163. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +31 -33
  165. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  166. package/artifacts/contracts/product/Product.sol/Product.json +157 -112
  167. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.json +76 -77
  169. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +25 -19
  171. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  172. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +7 -2
  174. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
  176. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  177. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  179. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  180. package/artifacts/contracts/registry/Registry.sol/Registry.json +45 -40
  181. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +176 -214
  183. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
  185. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +11 -13
  187. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  188. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  189. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  190. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  191. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +307 -49
  193. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  194. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
  195. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  196. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  197. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  198. package/artifacts/contracts/shared/Component.sol/Component.json +51 -21
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  200. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +113 -90
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +44 -38
  203. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  204. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
  205. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  206. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +57 -4
  207. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  208. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  210. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  211. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  212. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -8
  213. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -3
  215. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  216. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +38 -8
  217. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  219. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  220. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  222. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
  223. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
  226. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  227. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  228. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +51 -21
  229. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  230. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  231. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  232. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  233. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  235. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  236. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  237. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  238. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
  239. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  240. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  241. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  242. package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
  243. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  244. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +3 -3
  245. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
  247. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  248. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  249. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  250. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +38 -8
  251. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  252. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +27 -3
  253. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  254. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
  255. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  256. package/artifacts/contracts/staking/Staking.sol/Staking.json +90 -57
  257. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
  259. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  260. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +27 -19
  261. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  262. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  263. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  264. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +59 -52
  265. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  266. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +17 -19
  267. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  268. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +128 -128
  269. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  270. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -22
  271. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  272. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  276. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  278. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  280. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  281. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  282. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  283. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  285. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  286. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  287. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  289. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  291. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  293. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  295. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +23 -4
  297. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
  299. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  306. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  309. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
  311. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  312. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  313. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
  314. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  315. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  316. package/contracts/accounting/AccountingService.sol +3 -4
  317. package/contracts/accounting/AccountingServiceManager.sol +1 -1
  318. package/contracts/authorization/AccessAdmin.sol +115 -71
  319. package/contracts/authorization/AccessManagerCloneable.sol +136 -3
  320. package/contracts/authorization/Authorization.sol +268 -227
  321. package/contracts/authorization/IAccessAdmin.sol +6 -3
  322. package/contracts/authorization/IAuthorization.sol +7 -1
  323. package/contracts/distribution/BasicDistributionAuthorization.sol +9 -8
  324. package/contracts/distribution/DistributionService.sol +6 -6
  325. package/contracts/distribution/DistributionServiceManager.sol +1 -1
  326. package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
  327. package/contracts/examples/fire/FireProduct.sol +3 -1
  328. package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
  329. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
  330. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
  331. package/contracts/examples/unpermissioned/SimpleProduct.sol +18 -0
  332. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
  333. package/contracts/instance/BundleSet.sol +0 -1
  334. package/contracts/instance/IInstance.sol +6 -7
  335. package/contracts/instance/IInstanceService.sol +2 -0
  336. package/contracts/instance/Instance.sol +17 -9
  337. package/contracts/instance/InstanceAdmin.sol +227 -53
  338. package/contracts/instance/InstanceAuthorizationV3.sol +14 -8
  339. package/contracts/instance/InstanceReader.sol +6 -6
  340. package/contracts/instance/InstanceService.sol +41 -29
  341. package/contracts/instance/InstanceServiceManager.sol +1 -1
  342. package/contracts/instance/InstanceStore.sol +1 -0
  343. package/contracts/instance/RiskSet.sol +7 -9
  344. package/contracts/instance/base/ObjectLifecycle.sol +2 -1
  345. package/contracts/instance/module/IComponents.sol +0 -8
  346. package/contracts/instance/module/IRisk.sol +2 -0
  347. package/contracts/oracle/BasicOracleAuthorization.sol +11 -10
  348. package/contracts/oracle/Oracle.sol +1 -1
  349. package/contracts/oracle/OracleService.sol +16 -15
  350. package/contracts/oracle/OracleServiceManager.sol +1 -1
  351. package/contracts/pool/BasicPoolAuthorization.sol +10 -9
  352. package/contracts/pool/BundleService.sol +3 -3
  353. package/contracts/pool/BundleServiceManager.sol +1 -1
  354. package/contracts/pool/PoolService.sol +4 -4
  355. package/contracts/pool/PoolServiceManager.sol +1 -1
  356. package/contracts/product/ApplicationService.sol +3 -3
  357. package/contracts/product/ApplicationServiceManager.sol +1 -1
  358. package/contracts/product/BasicProduct.sol +2 -0
  359. package/contracts/product/BasicProductAuthorization.sol +10 -9
  360. package/contracts/product/ClaimService.sol +144 -50
  361. package/contracts/product/ClaimServiceManager.sol +1 -1
  362. package/contracts/product/IClaimService.sol +13 -0
  363. package/contracts/product/IProductComponent.sol +4 -1
  364. package/contracts/product/PolicyService.sol +3 -3
  365. package/contracts/product/PolicyServiceManager.sol +1 -1
  366. package/contracts/product/PricingService.sol +23 -19
  367. package/contracts/product/PricingServiceManager.sol +3 -3
  368. package/contracts/product/Product.sol +36 -0
  369. package/contracts/product/RiskService.sol +65 -21
  370. package/contracts/product/RiskServiceManager.sol +1 -1
  371. package/contracts/registry/IRegistry.sol +6 -15
  372. package/contracts/registry/IRelease.sol +26 -0
  373. package/contracts/registry/Registry.sol +3 -2
  374. package/contracts/registry/RegistryAdmin.sol +117 -230
  375. package/contracts/registry/RegistryService.sol +3 -3
  376. package/contracts/registry/RegistryServiceManager.sol +1 -1
  377. package/contracts/registry/ReleaseAdmin.sol +245 -0
  378. package/contracts/registry/ReleaseLifecycle.sol +2 -0
  379. package/contracts/registry/ReleaseRegistry.sol +124 -99
  380. package/contracts/registry/ServiceAuthorizationV3.sol +36 -1
  381. package/contracts/registry/TokenRegistry.sol +6 -8
  382. package/contracts/shared/Component.sol +24 -17
  383. package/contracts/shared/ComponentService.sol +63 -51
  384. package/contracts/shared/ComponentServiceManager.sol +1 -1
  385. package/contracts/shared/ContractLib.sol +29 -1
  386. package/contracts/shared/IComponent.sol +3 -4
  387. package/contracts/shared/IRegisterable.sol +15 -4
  388. package/contracts/shared/IService.sol +3 -5
  389. package/contracts/shared/NftOwnable.sol +4 -4
  390. package/contracts/shared/PolicyHolder.sol +1 -1
  391. package/contracts/shared/Registerable.sol +45 -19
  392. package/contracts/shared/RegistryLinked.sol +1 -1
  393. package/contracts/shared/Service.sol +8 -27
  394. package/contracts/shared/TokenHandler.sol +2 -2
  395. package/contracts/staking/Staking.sol +23 -12
  396. package/contracts/staking/StakingService.sol +2 -3
  397. package/contracts/type/ObjectType.sol +41 -27
  398. package/contracts/type/RiskId.sol +5 -0
  399. package/contracts/type/RoleId.sol +24 -4
  400. package/contracts/type/Timestamp.sol +0 -5
  401. package/contracts/type/Version.sol +15 -5
  402. package/contracts/upgradeability/ProxyManager.sol +1 -1
  403. package/package.json +1 -1
  404. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
  405. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
  406. package/contracts/authorization/ReleaseAccessManager.sol +0 -38
@@ -41,6 +41,7 @@ abstract contract Product is
41
41
 
42
42
  struct ProductStorage {
43
43
  IComponents.ProductInfo _productInfo;
44
+ IComponents.FeeInfo _feeInfo;
44
45
  IComponentService _componentService;
45
46
  IRiskService _riskService;
46
47
  IApplicationService _applicationService;
@@ -126,6 +127,15 @@ abstract contract Product is
126
127
  return _getProductStorage()._productInfo;
127
128
  }
128
129
 
130
+ function getInitialFeeInfo()
131
+ public
132
+ virtual
133
+ view
134
+ returns (IComponents.FeeInfo memory feeInfo)
135
+ {
136
+ return _getProductStorage()._feeInfo;
137
+ }
138
+
129
139
 
130
140
  function _initializeProduct(
131
141
  address registry,
@@ -133,6 +143,7 @@ abstract contract Product is
133
143
  string memory name,
134
144
  address token,
135
145
  IComponents.ProductInfo memory productInfo,
146
+ IComponents.FeeInfo memory feeInfo,
136
147
  IAuthorization authorization,
137
148
  address initialOwner,
138
149
  bytes memory componentData // writeonly data that will saved in the object info record of the registry
@@ -154,6 +165,7 @@ abstract contract Product is
154
165
 
155
166
  ProductStorage storage $ = _getProductStorage();
156
167
  $._productInfo = productInfo;
168
+ $._feeInfo = feeInfo;
157
169
  $._riskService = IRiskService(_getServiceAddress(RISK()));
158
170
  $._applicationService = IApplicationService(_getServiceAddress(APPLICATION()));
159
171
  $._policyService = IPolicyService(_getServiceAddress(POLICY()));
@@ -325,6 +337,18 @@ abstract contract Product is
325
337
  claimData);
326
338
  }
327
339
 
340
+ function _revokeClaim(
341
+ NftId policyNftId,
342
+ ClaimId claimId
343
+ )
344
+ internal
345
+ virtual
346
+ {
347
+ _getProductStorage()._claimService.revoke(
348
+ policyNftId,
349
+ claimId);
350
+ }
351
+
328
352
  function _confirmClaim(
329
353
  NftId policyNftId,
330
354
  ClaimId claimId,
@@ -415,6 +439,18 @@ abstract contract Product is
415
439
  payoutId);
416
440
  }
417
441
 
442
+ function _cancelPayout(
443
+ NftId policyNftId,
444
+ PayoutId payoutId
445
+ )
446
+ internal
447
+ virtual
448
+ {
449
+ _getProductStorage()._claimService.cancelPayout(
450
+ policyNftId,
451
+ payoutId);
452
+ }
453
+
418
454
  function _toRiskId(string memory riskName) internal virtual pure returns (RiskId riskId) {
419
455
  return RiskIdLib.toRiskId(riskName);
420
456
  }
@@ -4,26 +4,26 @@ pragma solidity ^0.8.20;
4
4
  import {IInstance} from "../instance/IInstance.sol";
5
5
  import {IInstanceService} from "../instance/IInstanceService.sol";
6
6
  import {IPoolService} from "../pool/PoolService.sol";
7
- import {IRiskService} from "./IRiskService.sol";
7
+ import {IRegistry} from "../registry/IRegistry.sol";
8
8
  import {IRegistryService} from "../registry/IRegistryService.sol";
9
9
  import {IRisk} from "../instance/module/IRisk.sol";
10
+ import {IRiskService} from "./IRiskService.sol";
10
11
 
12
+ import {ContractLib} from "../shared/ContractLib.sol";
11
13
  import {InstanceReader} from "../instance/InstanceReader.sol";
12
- import {ObjectType, INSTANCE, PRODUCT, POOL, POLICY, REGISTRY, RISK} from "../type/ObjectType.sol";
14
+ import {ObjectType, COMPONENT, INSTANCE, PRODUCT, POOL, POLICY, REGISTRY, RISK} from "../type/ObjectType.sol";
13
15
  import {ACTIVE, PAUSED, KEEP_STATE} from "../type/StateId.sol";
14
16
  import {NftId} from "../type/NftId.sol";
15
17
  import {RiskId} from "../type/RiskId.sol";
16
18
  import {StateId} from "../type/StateId.sol";
17
19
  import {RiskSet} from "../instance/RiskSet.sol";
18
- import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
20
+ import {Service} from "../shared/Service.sol";
21
+ import {TimestampLib} from "../type/Timestamp.sol";
19
22
 
20
23
  contract RiskService is
21
- ComponentVerifyingService,
24
+ Service,
22
25
  IRiskService
23
26
  {
24
- IInstanceService private _instanceService;
25
- IPoolService internal _poolService;
26
- IRegistryService private _registryService;
27
27
 
28
28
  function _initialize(
29
29
  address owner,
@@ -34,15 +34,16 @@ contract RiskService is
34
34
  virtual override
35
35
  {
36
36
  (
37
- address registryAddress,
38
- address authority
37
+ address authority,
38
+ address registry
39
39
  ) = abi.decode(data, (address, address));
40
40
 
41
- _initializeService(registryAddress, authority, owner);
41
+ __Service_init(authority, registry, owner);
42
42
 
43
- _instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
44
- _poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
45
- _registryService = IRegistryService(_getServiceAddress(REGISTRY()));
43
+ // TODO cleanup
44
+ // _instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
45
+ // _poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
46
+ // _registryService = IRegistryService(_getServiceAddress(REGISTRY()));
46
47
 
47
48
  _registerInterface(type(IRiskService).interfaceId);
48
49
  }
@@ -53,10 +54,16 @@ contract RiskService is
53
54
  bytes memory data
54
55
  )
55
56
  external
56
- override
57
+ restricted()
57
58
  {
58
- (NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
59
- IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
59
+ // checks
60
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
61
+
62
+ // effects
63
+ IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo({
64
+ productNftId: productNftId,
65
+ createdAt: TimestampLib.blockTimestamp(),
66
+ data: data});
60
67
 
61
68
  instance.getInstanceStore().createRisk(
62
69
  riskId,
@@ -73,11 +80,14 @@ contract RiskService is
73
80
  RiskId riskId,
74
81
  bytes memory data
75
82
  )
76
- external
83
+ external
84
+ restricted()
77
85
  {
78
- (,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
79
- InstanceReader instanceReader = instance.getInstanceReader();
86
+ // checks
87
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
80
88
 
89
+ // effects
90
+ InstanceReader instanceReader = instance.getInstanceReader();
81
91
  IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
82
92
  riskInfo.data = data;
83
93
  instance.getInstanceStore().updateRisk(riskId, riskInfo, KEEP_STATE());
@@ -88,9 +98,13 @@ contract RiskService is
88
98
  RiskId riskId,
89
99
  StateId state
90
100
  )
91
- external
101
+ external
102
+ restricted()
92
103
  {
93
- (,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
104
+ // checks
105
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
106
+
107
+ // effects
94
108
  instance.getInstanceStore().updateRiskState(riskId, state);
95
109
 
96
110
  if (state == ACTIVE()) {
@@ -100,6 +114,36 @@ contract RiskService is
100
114
  }
101
115
  }
102
116
 
117
+ function _getAndVerifyActiveComponent(ObjectType expectedType)
118
+ internal
119
+ view
120
+ returns (
121
+ NftId componentNftId,
122
+ IInstance instance
123
+ )
124
+ {
125
+ IRegistry.ObjectInfo memory info;
126
+ address instanceAddress;
127
+ bool isActive = true;
128
+
129
+ if (expectedType != COMPONENT()) {
130
+ (info, instanceAddress) = ContractLib.getAndVerifyComponent(
131
+ getRegistry(),
132
+ msg.sender, // caller
133
+ expectedType,
134
+ isActive);
135
+ } else {
136
+ (info, instanceAddress) = ContractLib.getAndVerifyAnyComponent(
137
+ getRegistry(),
138
+ msg.sender,
139
+ isActive);
140
+ }
141
+
142
+ // get component nft id and instance
143
+ componentNftId = info.nftId;
144
+ instance = IInstance(instanceAddress);
145
+ }
146
+
103
147
 
104
148
  function _getDomain() internal pure override returns(ObjectType) {
105
149
  return RISK();
@@ -17,7 +17,7 @@ contract RiskServiceManager is ProxyManager {
17
17
  )
18
18
  {
19
19
  RiskService svc = new RiskService{salt: salt}();
20
- bytes memory data = abi.encode(registry, authority);
20
+ bytes memory data = abi.encode(authority, registry);
21
21
  IVersionable versionable = initialize(
22
22
  registry,
23
23
  address(svc),
@@ -3,13 +3,11 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
5
 
6
+ import {IRelease} from "./IRelease.sol";
7
+
6
8
  import {NftId} from "../type/NftId.sol";
7
9
  import {ObjectType} from "../type/ObjectType.sol";
8
10
  import {VersionPart} from "../type/Version.sol";
9
- import {Timestamp} from "../type/Timestamp.sol";
10
- import {StateId} from "../type/StateId.sol";
11
-
12
- import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
13
11
 
14
12
  /// @title Chain Registry interface.
15
13
  /// A chain registry holds all protocol relevant objects with basic metadata.
@@ -17,7 +15,9 @@ import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol"
17
15
  /// Registered objects are represented by NFTs.
18
16
  /// When on mainnet registry is global and keeps arbitrary number of chain registries residing on different chain ids.
19
17
  /// When not on mainnet registry keeps the only object residing on different chain id (on mainnet) - global registry.
20
- interface IRegistry is IERC165 {
18
+ interface IRegistry is
19
+ IERC165
20
+ {
21
21
 
22
22
  event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
23
23
  event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
@@ -61,15 +61,6 @@ interface IRegistry is IERC165 {
61
61
  bytes data;
62
62
  }
63
63
 
64
- struct ReleaseInfo {
65
- StateId state;
66
- VersionPart version;
67
- bytes32 salt;
68
- IServiceAuthorization auth;
69
- Timestamp activatedAt;
70
- Timestamp disabledAt;
71
- }
72
-
73
64
  /// @dev Registers a registry contract for a specified chain.
74
65
  /// Only one chain registry may be registered per chain
75
66
  function registerRegistry(
@@ -104,7 +95,7 @@ interface IRegistry is IERC165 {
104
95
 
105
96
  function getLatestVersion() external view returns (VersionPart);
106
97
 
107
- function getReleaseInfo(VersionPart version) external view returns (ReleaseInfo memory);
98
+ function getReleaseInfo(VersionPart release) external view returns (IRelease.ReleaseInfo memory);
108
99
 
109
100
  /// @dev Returns the number of supported chains.
110
101
  function chainIds() external view returns (uint256);
@@ -0,0 +1,26 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
5
+
6
+ import {StateId} from "../type/StateId.sol";
7
+ import {Timestamp} from "../type/Timestamp.sol";
8
+ import {VersionPart} from "../type/Version.sol";
9
+
10
+ /// @title Marks contracts that are linked to a specific GIF release version.
11
+ interface IRelease {
12
+
13
+ struct ReleaseInfo {
14
+ StateId state;
15
+ VersionPart version;
16
+ bytes32 salt;
17
+ IServiceAuthorization auth;
18
+ address releaseAdmin;
19
+ Timestamp activatedAt;
20
+ Timestamp disabledAt;
21
+ }
22
+
23
+ /// @dev Registers a registry contract for a specified chain.
24
+ /// Only one chain registry may be registered per chain
25
+ function getRelease() external view returns (VersionPart release);
26
+ }
@@ -12,6 +12,7 @@ import {ObjectType, ObjectTypeLib, PROTOCOL, REGISTRY, SERVICE, INSTANCE, STAKE,
12
12
 
13
13
  import {ChainNft} from "./ChainNft.sol";
14
14
  import {IRegistry} from "./IRegistry.sol";
15
+ import {IRelease} from "./IRelease.sol";
15
16
  import {IRegisterable} from "../shared/IRegisterable.sol";
16
17
  import {IStaking} from "../staking/IStaking.sol";
17
18
  import {ReleaseRegistry} from "./ReleaseRegistry.sol";
@@ -307,8 +308,8 @@ contract Registry is
307
308
  return _releaseRegistry.getLatestVersion();
308
309
  }
309
310
 
310
- function getReleaseInfo(VersionPart version) external view returns (ReleaseInfo memory) {
311
- return _releaseRegistry.getReleaseInfo(version);
311
+ function getReleaseInfo(VersionPart release) external view returns (IRelease.ReleaseInfo memory) {
312
+ return _releaseRegistry.getReleaseInfo(release);
312
313
  }
313
314
 
314
315
  function chainIds() public view returns (uint256) {