@etherisc/gif-next 0.0.2-ffa91a6-022 → 3.0.0-0fefe0d-162

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 (501) hide show
  1. package/README.md +123 -332
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +106 -38
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +111 -45
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +58 -6
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +372 -131
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1509 -174
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +266 -64
  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 +263 -87
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +102 -19
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -38
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +269 -69
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -12
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +376 -147
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +160 -78
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -11
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +232 -19
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +108 -79
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +268 -68
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +136 -95
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +268 -68
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  50. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +500 -0
  51. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  53. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1198 -0
  55. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +849 -0
  57. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  59. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  61. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2347 -0
  63. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +844 -0
  65. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  67. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  69. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +86 -45
  71. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  72. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +268 -68
  73. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +35 -26
  75. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -105
  77. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +268 -68
  79. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -147
  81. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +268 -68
  83. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  84. package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +51 -229
  85. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  86. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  87. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  88. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  89. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  90. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +374 -35
  91. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  92. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +305 -5
  93. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  94. package/artifacts/contracts/instance/Instance.sol/Instance.json +425 -97
  95. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +757 -393
  97. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +236 -80
  99. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +723 -553
  101. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +331 -31
  103. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +100 -42
  105. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1323 -2012
  107. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  108. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  109. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  110. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
  111. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  112. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  113. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  114. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  115. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  116. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  117. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  118. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  119. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  120. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  121. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
  122. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  123. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  124. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  125. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  126. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  127. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  129. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +25 -16
  130. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  131. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +282 -65
  132. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  134. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +19 -10
  135. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  136. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
  137. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  138. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -10
  139. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  140. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +83 -38
  141. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +116 -50
  143. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  144. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -58
  145. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  146. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +268 -68
  147. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  148. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +300 -123
  149. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +144 -58
  151. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  152. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +186 -33
  153. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  154. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -20
  155. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  156. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +238 -19
  157. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  158. package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -20
  159. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  160. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
  161. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  162. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +338 -79
  163. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -63
  165. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  166. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +216 -59
  167. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  168. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +113 -43
  169. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  170. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -37
  171. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  172. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +268 -68
  173. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  174. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
  175. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +128 -70
  177. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  178. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
  179. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  180. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
  181. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  182. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +55 -0
  183. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  184. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
  185. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  186. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -31
  187. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
  189. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  190. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +157 -86
  191. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  192. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +511 -21
  193. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  194. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +138 -72
  195. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  196. package/artifacts/contracts/product/PricingService.sol/PricingService.json +93 -112
  197. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +115 -65
  199. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  200. package/artifacts/contracts/product/Product.sol/Product.json +40 -31
  201. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  202. package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
  203. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +101 -43
  205. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  206. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +33 -22
  208. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  209. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
  210. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  211. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  212. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  213. package/artifacts/contracts/registry/Registry.sol/Registry.json +71 -60
  214. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  215. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +542 -305
  216. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  217. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +335 -76
  218. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  219. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +41 -12
  220. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  221. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +96 -38
  222. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  223. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +548 -231
  224. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  225. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  226. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  227. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +167 -103
  228. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  229. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -26
  230. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  231. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
  232. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  233. package/artifacts/contracts/shared/Component.sol/Component.json +19 -10
  234. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  235. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +196 -201
  236. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  237. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +130 -64
  238. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  239. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +76 -41
  240. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  241. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  242. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  243. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
  244. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -10
  246. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +111 -132
  248. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -10
  250. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  251. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  252. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
  253. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  254. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +19 -0
  256. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  257. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  258. package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
  259. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  260. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  261. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -10
  262. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  263. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  264. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  265. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  266. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
  267. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  268. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  269. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  270. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +19 -0
  271. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  272. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  273. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  274. package/artifacts/contracts/shared/Service.sol/Service.json +29 -0
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  277. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  278. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
  279. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  280. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  281. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  282. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1390 -134
  283. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  284. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +97 -117
  285. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  286. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  287. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  288. package/artifacts/contracts/staking/Staking.sol/Staking.json +1479 -192
  289. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +77 -76
  291. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +139 -64
  293. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +296 -152
  295. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +131 -167
  297. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  298. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +96 -46
  299. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  300. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1615 -815
  301. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  302. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  303. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  304. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +153 -91
  305. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  306. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Amount.sol/AmountLib.json +10 -10
  308. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
  310. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  312. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  314. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  316. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/Fee.sol/FeeLib.json +93 -37
  318. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  320. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  321. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  322. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  324. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  325. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  326. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  328. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  330. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  332. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  334. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  335. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  336. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  338. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
  340. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
  342. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
  347. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
  349. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  350. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
  351. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  352. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  353. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  354. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  355. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  356. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -27
  357. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  358. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  359. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  360. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  361. package/contracts/accounting/AccountingService.sol +15 -3
  362. package/contracts/accounting/IAccountingService.sol +4 -2
  363. package/contracts/authorization/AccessAdmin.sol +292 -317
  364. package/contracts/authorization/AccessAdminLib.sol +517 -22
  365. package/contracts/authorization/AccessManagerCloneable.sol +0 -18
  366. package/contracts/authorization/Authorization.sol +64 -239
  367. package/contracts/authorization/IAccess.sol +29 -12
  368. package/contracts/authorization/IAccessAdmin.sol +25 -53
  369. package/contracts/authorization/IAuthorization.sol +3 -57
  370. package/contracts/authorization/IServiceAuthorization.sol +55 -17
  371. package/contracts/authorization/ServiceAuthorization.sol +228 -34
  372. package/contracts/distribution/BasicDistribution.sol +3 -4
  373. package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
  374. package/contracts/distribution/Distribution.sol +9 -8
  375. package/contracts/distribution/DistributionService.sol +125 -62
  376. package/contracts/distribution/IDistributionComponent.sol +3 -1
  377. package/contracts/distribution/IDistributionService.sol +20 -8
  378. package/contracts/examples/fire/FireProduct.sol +6 -6
  379. package/contracts/examples/flight/FlightLib.sol +311 -0
  380. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  381. package/contracts/examples/flight/FlightOracle.sol +167 -0
  382. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  383. package/contracts/examples/flight/FlightPool.sol +89 -0
  384. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  385. package/contracts/examples/flight/FlightProduct.sol +625 -0
  386. package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
  387. package/contracts/examples/flight/FlightUSD.sol +28 -0
  388. package/contracts/examples/flight/originalV1.sol +396 -0
  389. package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
  390. package/contracts/instance/BaseStore.sol +93 -0
  391. package/contracts/instance/IBaseStore.sol +37 -0
  392. package/contracts/instance/IInstance.sol +57 -6
  393. package/contracts/instance/IInstanceService.sol +42 -7
  394. package/contracts/instance/Instance.sol +111 -56
  395. package/contracts/instance/InstanceAdmin.sol +151 -294
  396. package/contracts/instance/InstanceAuthorizationV3.sol +106 -66
  397. package/contracts/instance/InstanceReader.sol +370 -392
  398. package/contracts/instance/InstanceService.sol +186 -134
  399. package/contracts/instance/InstanceStore.sol +153 -128
  400. package/contracts/instance/ProductStore.sol +290 -0
  401. package/contracts/instance/RiskSet.sol +10 -2
  402. package/contracts/instance/TargetNames.sol +10 -0
  403. package/contracts/instance/base/BalanceStore.sol +4 -6
  404. package/contracts/instance/base/ObjectLifecycle.sol +2 -6
  405. package/contracts/instance/module/IBundle.sol +6 -5
  406. package/contracts/instance/module/IComponents.sol +15 -5
  407. package/contracts/instance/module/IDistribution.sol +17 -7
  408. package/contracts/instance/module/IPolicy.sol +28 -8
  409. package/contracts/instance/module/IRisk.sol +2 -0
  410. package/contracts/oracle/BasicOracle.sol +2 -3
  411. package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
  412. package/contracts/oracle/IOracle.sol +9 -4
  413. package/contracts/oracle/IOracleService.sol +12 -12
  414. package/contracts/oracle/Oracle.sol +4 -6
  415. package/contracts/oracle/OracleService.sol +8 -8
  416. package/contracts/pool/BasicPool.sol +4 -16
  417. package/contracts/pool/BasicPoolAuthorization.sol +10 -5
  418. package/contracts/pool/BundleService.sol +34 -43
  419. package/contracts/pool/IBundleService.sol +14 -13
  420. package/contracts/pool/IPoolService.sol +7 -2
  421. package/contracts/pool/Pool.sol +6 -18
  422. package/contracts/pool/PoolLib.sol +127 -2
  423. package/contracts/pool/PoolService.sol +40 -181
  424. package/contracts/product/ApplicationService.sol +64 -11
  425. package/contracts/product/BasicProduct.sol +2 -3
  426. package/contracts/product/BasicProductAuthorization.sol +13 -5
  427. package/contracts/product/ClaimService.sol +99 -105
  428. package/contracts/product/IApplicationService.sol +21 -2
  429. package/contracts/product/IClaimService.sol +5 -4
  430. package/contracts/product/IPolicyService.sol +9 -2
  431. package/contracts/product/IRiskService.sol +18 -3
  432. package/contracts/product/PolicyService.sol +40 -59
  433. package/contracts/product/PolicyServiceLib.sol +79 -5
  434. package/contracts/product/PricingService.sol +28 -31
  435. package/contracts/product/Product.sol +40 -16
  436. package/contracts/product/RiskService.sol +50 -15
  437. package/contracts/registry/IRegistry.sol +15 -9
  438. package/contracts/registry/IRelease.sol +6 -3
  439. package/contracts/registry/Registry.sol +15 -9
  440. package/contracts/registry/RegistryAdmin.sol +33 -118
  441. package/contracts/registry/RegistryAuthorization.sol +139 -69
  442. package/contracts/registry/RegistryService.sol +1 -1
  443. package/contracts/registry/ReleaseAdmin.sol +52 -106
  444. package/contracts/registry/ReleaseRegistry.sol +20 -12
  445. package/contracts/registry/ServiceAuthorizationV3.sol +43 -32
  446. package/contracts/registry/TokenRegistry.sol +56 -52
  447. package/contracts/shared/Component.sol +8 -8
  448. package/contracts/shared/ComponentService.sol +245 -262
  449. package/contracts/shared/ContractLib.sol +106 -75
  450. package/contracts/shared/EcdsaChecker.sol +5 -0
  451. package/contracts/shared/IComponent.sol +1 -1
  452. package/contracts/shared/IComponentService.sol +14 -15
  453. package/contracts/shared/INftOwnable.sol +2 -0
  454. package/contracts/shared/IRegisterable.sol +0 -1
  455. package/contracts/shared/InstanceLinkedComponent.sol +63 -26
  456. package/contracts/shared/NftOwnable.sol +3 -1
  457. package/contracts/shared/PolicyHolder.sol +3 -2
  458. package/contracts/shared/Service.sol +6 -4
  459. package/contracts/staking/IStaking.sol +261 -70
  460. package/contracts/staking/IStakingService.sol +39 -84
  461. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  462. package/contracts/staking/Staking.sol +468 -217
  463. package/contracts/staking/StakingLib.sol +38 -124
  464. package/contracts/staking/StakingManager.sol +4 -3
  465. package/contracts/staking/StakingReader.sol +62 -71
  466. package/contracts/staking/StakingService.sol +42 -185
  467. package/contracts/staking/StakingServiceManager.sol +1 -0
  468. package/contracts/staking/StakingStore.sol +1093 -331
  469. package/contracts/staking/TargetHandler.sol +132 -0
  470. package/contracts/staking/TargetManagerLib.sol +69 -46
  471. package/contracts/type/Amount.sol +4 -0
  472. package/contracts/type/Blocknumber.sol +17 -22
  473. package/contracts/type/ChainId.sol +101 -0
  474. package/contracts/type/Fee.sol +8 -8
  475. package/contracts/type/NftId.sol +3 -3
  476. package/contracts/type/ObjectType.sol +17 -33
  477. package/contracts/type/Referral.sol +6 -0
  478. package/contracts/type/RequestIdSet.sol +62 -0
  479. package/contracts/type/RoleId.sol +57 -59
  480. package/contracts/type/Seconds.sol +23 -0
  481. package/contracts/type/String.sol +42 -0
  482. package/contracts/type/Timestamp.sol +14 -3
  483. package/contracts/type/UFixed.sol +28 -10
  484. package/contracts/upgradeability/IVersionable.sol +3 -0
  485. package/contracts/upgradeability/ProxyManager.sol +26 -12
  486. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  487. package/contracts/upgradeability/Versionable.sol +6 -3
  488. package/package.json +2 -1
  489. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
  490. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
  491. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  492. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
  493. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  494. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  495. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -538
  496. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  497. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
  498. package/contracts/shared/ComponentVerifyingService.sol +0 -128
  499. package/contracts/shared/IKeyValueStore.sol +0 -54
  500. package/contracts/shared/KeyValueStore.sol +0 -131
  501. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -9,10 +9,9 @@ import {IRiskService} from "./IRiskService.sol";
9
9
  import {ContractLib} from "../shared/ContractLib.sol";
10
10
  import {InstanceReader} from "../instance/InstanceReader.sol";
11
11
  import {ObjectType, COMPONENT, PRODUCT, RISK} from "../type/ObjectType.sol";
12
- import {ACTIVE, PAUSED, KEEP_STATE} from "../type/StateId.sol";
12
+ import {ACTIVE, KEEP_STATE, CLOSED} from "../type/StateId.sol";
13
13
  import {NftId} from "../type/NftId.sol";
14
14
  import {RiskId, RiskIdLib} from "../type/RiskId.sol";
15
- import {StateId} from "../type/StateId.sol";
16
15
  import {RiskSet} from "../instance/RiskSet.sol";
17
16
  import {Service} from "../shared/Service.sol";
18
17
  import {TimestampLib} from "../type/Timestamp.sol";
@@ -45,6 +44,7 @@ contract RiskService is
45
44
  bytes memory data
46
45
  )
47
46
  external
47
+ virtual
48
48
  restricted()
49
49
  returns (RiskId riskId)
50
50
  {
@@ -55,10 +55,10 @@ contract RiskService is
55
55
  riskId = RiskIdLib.toRiskId(productNftId, id);
56
56
  IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo({
57
57
  productNftId: productNftId,
58
- createdAt: TimestampLib.blockTimestamp(),
58
+ createdAt: TimestampLib.current(),
59
59
  data: data});
60
60
 
61
- instance.getInstanceStore().createRisk(
61
+ instance.getProductStore().createRisk(
62
62
  riskId,
63
63
  riskInfo
64
64
  );
@@ -66,6 +66,8 @@ contract RiskService is
66
66
  // add risk to RiskSet
67
67
  RiskSet riskSet = instance.getRiskSet();
68
68
  riskSet.add(riskId);
69
+
70
+ emit LogRiskServiceRiskCreated(productNftId, riskId);
69
71
  }
70
72
 
71
73
 
@@ -74,6 +76,7 @@ contract RiskService is
74
76
  bytes memory data
75
77
  )
76
78
  external
79
+ virtual
77
80
  restricted()
78
81
  {
79
82
  // checks
@@ -88,33 +91,65 @@ contract RiskService is
88
91
  }
89
92
 
90
93
  riskInfo.data = data;
91
- instance.getInstanceStore().updateRisk(riskId, riskInfo, KEEP_STATE());
94
+ instance.getProductStore().updateRisk(riskId, riskInfo, KEEP_STATE());
95
+
96
+ emit LogRiskServiceRiskUpdated(productNftId, riskId);
92
97
  }
93
98
 
94
99
 
95
- function updateRiskState(
100
+ /// @inheritdoc IRiskService
101
+ function setRiskLocked(
96
102
  RiskId riskId,
97
- StateId state
103
+ bool locked
98
104
  )
99
105
  external
106
+ virtual
100
107
  restricted()
101
108
  {
102
109
  // checks
103
110
  (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
104
111
 
105
- NftId riskProductNftId = instance.getInstanceReader().getRiskInfo(riskId).productNftId;
106
- if (riskProductNftId != productNftId) {
107
- revert ErrorRiskServiceRiskProductMismatch(riskId, riskProductNftId, productNftId);
112
+ if (!instance.getRiskSet().hasRisk(productNftId, riskId)) {
113
+ revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
108
114
  }
109
115
 
110
- // effects
111
- instance.getInstanceStore().updateRiskState(riskId, state);
116
+ if (instance.getInstanceReader().getRiskState(riskId) != ACTIVE()) {
117
+ revert ErrorRiskServiceRiskNotActive(productNftId, riskId);
118
+ }
112
119
 
113
- if (state == ACTIVE()) {
120
+ if (locked) {
121
+ instance.getRiskSet().deactivate(riskId);
122
+ emit LogRiskServiceRiskLocked(productNftId, riskId);
123
+ } else {
114
124
  instance.getRiskSet().activate(riskId);
115
- } else if (state == PAUSED()) {
116
- instance.getRiskSet().pause(riskId);
125
+ emit LogRiskServiceRiskUnlocked(productNftId, riskId);
126
+ }
127
+ }
128
+
129
+ /// @inheritdoc IRiskService
130
+ function closeRisk(
131
+ RiskId riskId
132
+ )
133
+ external
134
+ virtual
135
+ restricted()
136
+ {
137
+ // checks
138
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
139
+ (bool exists, bool active) = instance.getRiskSet().checkRisk(productNftId, riskId);
140
+
141
+ if (!exists) {
142
+ revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
117
143
  }
144
+
145
+ if (active) {
146
+ revert ErrorRiskServiceRiskNotLocked(productNftId, riskId);
147
+ }
148
+
149
+ // effects
150
+ instance.getProductStore().updateRiskState(riskId, CLOSED());
151
+
152
+ emit LogRiskServiceRiskClosed(productNftId, riskId);
118
153
  }
119
154
 
120
155
  function _getAndVerifyActiveComponent(ObjectType expectedType)
@@ -19,13 +19,16 @@ interface IRegistry is
19
19
  IERC165
20
20
  {
21
21
 
22
- event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
23
- event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
24
- event LogChainRegistryRegistration(NftId nftId, uint256 chainId, address chainRegistryAddress);
22
+ event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
23
+ event LogRegistryServiceRegistered(VersionPart majorVersion, ObjectType domain);
24
+ event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
25
25
 
26
26
  // initialize
27
27
  error ErrorRegistryCallerNotDeployer();
28
28
 
29
+ // register()
30
+ error ErrorRegistryObjectTypeNotSupported(ObjectType objectType);
31
+
29
32
  // registerRegistry()
30
33
  error ErrorRegistryNotOnMainnet(uint256 chainId);
31
34
  error ErrorRegistryChainRegistryChainIdZero(NftId nftId);
@@ -36,8 +39,7 @@ interface IRegistry is
36
39
  // registerService()
37
40
  error ErrorRegistryServiceAddressZero();
38
41
  error ErrorRegistryServiceVersionZero(address service);
39
- //error ErrorRegistryServiceVersionMismatch(address service, VersionPart serviceVersion, VersionPart releaseVersion);
40
- //error ErrorRegistryServiceVersionNotDeploying(address service, VersionPart version);
42
+
41
43
  error ErrorRegistryServiceDomainZero(address service, VersionPart version);
42
44
  error ErrorRegistryNotService(address service, ObjectType objectType);
43
45
  error ErrorRegistryServiceParentNotRegistry(address service, VersionPart version, NftId parentNftId);
@@ -48,16 +50,20 @@ interface IRegistry is
48
50
 
49
51
  // _register()
50
52
  error ErrorRegistryGlobalRegistryAsParent(address objectAddress, ObjectType objectType);
51
- error ErrorRegistryTypesCombinationInvalid(address objectAddress, ObjectType objectType, ObjectType parentType);
53
+ error ErrorRegistryTypeCombinationInvalid(address objectAddress, ObjectType objectType, ObjectType parentType);
52
54
  error ErrorRegistryContractAlreadyRegistered(address objectAddress);
53
55
 
54
56
  struct ObjectInfo {
57
+ // slot 0
55
58
  NftId nftId;
56
59
  NftId parentNftId;
57
60
  ObjectType objectType;
58
61
  bool isInterceptor;
62
+ // slot 1
59
63
  address objectAddress;
64
+ // slot 2
60
65
  address initialOwner;
66
+ // slot 3
61
67
  bytes data;
62
68
  }
63
69
 
@@ -89,11 +95,11 @@ interface IRegistry is
89
95
  /// May not be used to register known core types.
90
96
  function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
91
97
 
92
- function getInitialVersion() external view returns (VersionPart);
98
+ function getInitialRelease() external view returns (VersionPart);
93
99
 
94
- function getNextVersion() external view returns (VersionPart);
100
+ function getNextRelease() external view returns (VersionPart);
95
101
 
96
- function getLatestVersion() external view returns (VersionPart);
102
+ function getLatestRelease() external view returns (VersionPart);
97
103
 
98
104
  function getReleaseInfo(VersionPart release) external view returns (IRelease.ReleaseInfo memory);
99
105
 
@@ -11,13 +11,16 @@ import {VersionPart} from "../type/Version.sol";
11
11
  interface IRelease {
12
12
 
13
13
  struct ReleaseInfo {
14
+ // slot 0
15
+ address releaseAdmin;
14
16
  StateId state;
15
17
  VersionPart version;
16
- bytes32 salt;
17
- IServiceAuthorization auth;
18
- address releaseAdmin;
19
18
  Timestamp activatedAt;
20
19
  Timestamp disabledAt;
20
+ // slot 1
21
+ IServiceAuthorization auth;
22
+ // slot 2
23
+ bytes32 salt;
21
24
  }
22
25
 
23
26
  /// @dev Registers a registry contract for a specified chain.
@@ -172,7 +172,7 @@ contract Registry is
172
172
  revert ErrorRegistryChainRegistryNftIdInvalid(nftId, chainId);
173
173
  }
174
174
 
175
- emit LogChainRegistryRegistration(nftId, chainId, registryAddress);
175
+ emit LogRegistryChainRegistryRegistered(nftId, chainId, registryAddress);
176
176
 
177
177
  _registerRegistryForNft(
178
178
  chainId,
@@ -231,7 +231,7 @@ contract Registry is
231
231
 
232
232
  _service[version][domain] = service;
233
233
 
234
- emit LogServiceRegistration(version, domain);
234
+ emit LogRegistryServiceRegistered(version, domain);
235
235
 
236
236
  nftId = _register(info);
237
237
  }
@@ -246,6 +246,11 @@ contract Registry is
246
246
  address objectAddress = info.objectAddress;
247
247
  ObjectType objectType = info.objectType;
248
248
 
249
+ // specialized functions have to be used to register registries and services
250
+ if(objectType == REGISTRY() || objectType == STAKING() || objectType == SERVICE()) {
251
+ revert ErrorRegistryObjectTypeNotSupported(objectType);
252
+ }
253
+
249
254
  // this indidirectly enforces that the parent is registered
250
255
  // parentType would be zero for a non-registered parent which is never a valid type combination
251
256
  ObjectType parentType = _info[info.parentNftId].objectType;
@@ -253,13 +258,13 @@ contract Registry is
253
258
  // check type combinations for core objects
254
259
  if(objectAddress == address(0)) {
255
260
  if(_coreObjectCombinations[objectType][parentType] == false) {
256
- revert ErrorRegistryTypesCombinationInvalid(objectAddress, objectType, parentType);
261
+ revert ErrorRegistryTypeCombinationInvalid(objectAddress, objectType, parentType);
257
262
  }
258
263
  }
259
264
  // check type combinations for contract objects
260
265
  else {
261
266
  if(_coreContractCombinations[objectType][parentType] == false) {
262
- revert ErrorRegistryTypesCombinationInvalid(objectAddress, objectType, parentType);
267
+ revert ErrorRegistryTypeCombinationInvalid(objectAddress, objectType, parentType);
263
268
  }
264
269
  }
265
270
 
@@ -284,9 +289,10 @@ contract Registry is
284
289
  objectType == ObjectTypeLib.zero() ||
285
290
  parentType == ObjectTypeLib.zero() ||
286
291
  parentType == PROTOCOL() ||
292
+ parentType == STAKING() ||
287
293
  parentType == SERVICE()
288
294
  ) {
289
- revert ErrorRegistryTypesCombinationInvalid(info.objectAddress, objectType, parentType);
295
+ revert ErrorRegistryTypeCombinationInvalid(info.objectAddress, objectType, parentType);
290
296
  }
291
297
 
292
298
  nftId = _register(info);
@@ -294,17 +300,17 @@ contract Registry is
294
300
 
295
301
 
296
302
  /// @dev earliest GIF major version
297
- function getInitialVersion() external view returns (VersionPart) {
303
+ function getInitialRelease() external view returns (VersionPart) {
298
304
  return VersionPartLib.toVersionPart(_releaseRegistry.INITIAL_GIF_VERSION());
299
305
  }
300
306
 
301
307
  /// @dev next GIF release version to be released
302
- function getNextVersion() external view returns (VersionPart) {
308
+ function getNextRelease() external view returns (VersionPart) {
303
309
  return _releaseRegistry.getNextVersion();
304
310
  }
305
311
 
306
312
  /// @dev latest active GIF release version
307
- function getLatestVersion() external view returns (VersionPart) {
313
+ function getLatestRelease() external view returns (VersionPart) {
308
314
  return _releaseRegistry.getLatestVersion();
309
315
  }
310
316
 
@@ -495,7 +501,7 @@ contract Registry is
495
501
  _info[nftId] = info;
496
502
  _setAddressForNftId(nftId, objectAddress);
497
503
 
498
- emit LogRegistration(nftId, parentNftId, objectType, isInterceptor, objectAddress, owner);
504
+ emit LogRegistryObjectRegistered(nftId, parentNftId, objectType, isInterceptor, objectAddress, owner);
499
505
 
500
506
  // calls nft receiver(1) and interceptor(2)
501
507
  uint256 mintedTokenId = CHAIN_NFT.mint(
@@ -2,7 +2,6 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAuthorization} from "../authorization/IAuthorization.sol";
5
- import {IComponent} from "../shared/IComponent.sol";
6
5
  import {IRegistry} from "./IRegistry.sol";
7
6
  import {IService} from "../shared/IService.sol";
8
7
  import {IStaking} from "../staking/IStaking.sol";
@@ -10,16 +9,10 @@ import {IStaking} from "../staking/IStaking.sol";
10
9
  import {AccessAdmin} from "../authorization/AccessAdmin.sol";
11
10
  import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
12
11
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
13
- import {ContractLib} from "../shared/ContractLib.sol";
14
- import {ObjectType, REGISTRY, STAKING, POOL, RELEASE} from "../type/ObjectType.sol";
15
- import {ReleaseRegistry} from "./ReleaseRegistry.sol";
16
- import {RoleId, RoleIdLib, ADMIN_ROLE, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
17
- import {Staking} from "../staking/Staking.sol";
18
- import {Str, StrLib} from "../type/String.sol";
19
- import {StakingStore} from "../staking/StakingStore.sol";
20
- import {TokenHandler} from "../shared/TokenHandler.sol";
21
- import {TokenRegistry} from "./TokenRegistry.sol";
22
- import {VersionPart, VersionPartLib} from "../type/Version.sol";
12
+ import {ObjectType, REGISTRY} from "../type/ObjectType.sol";
13
+ import {RoleId, RoleIdLib, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE} from "../type/RoleId.sol";
14
+ import {Str} from "../type/String.sol";
15
+ import {VersionPart} from "../type/Version.sol";
23
16
 
24
17
  /*
25
18
  1) GIF_MANAGER_ROLE
@@ -44,22 +37,15 @@ contract RegistryAdmin is
44
37
  /// @dev gif core roles
45
38
  string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
46
39
  string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
47
- string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
48
- string public constant STAKING_ROLE_NAME = "StakingRole";
49
-
50
- /// @dev gif roles for external contracts
51
- string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
52
- string public constant COMPONENT_SERVICE_ROLE_NAME = "ComponentServiceRole";
53
- string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
54
- string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
55
40
 
56
41
  /// @dev gif core targets
57
42
  string public constant REGISTRY_ADMIN_TARGET_NAME = "RegistryAdmin";
58
43
  string public constant REGISTRY_TARGET_NAME = "Registry";
59
44
  string public constant RELEASE_REGISTRY_TARGET_NAME = "ReleaseRegistry";
60
45
  string public constant STAKING_TARGET_NAME = "Staking";
61
- string public constant STAKING_TH_TARGET_NAME = "StakingTH";
46
+ string public constant STAKING_TARGET_HANDLER_NAME = "TargetHandler";
62
47
  string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
48
+ string public constant STAKING_TH_TARGET_NAME = "StakingTH";
63
49
  string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
64
50
  string public constant TOKEN_HANDLER_TARGET_NAME = "TokenHandler";
65
51
 
@@ -70,6 +56,7 @@ contract RegistryAdmin is
70
56
  address private _releaseRegistry;
71
57
  address private _tokenRegistry;
72
58
  address private _staking;
59
+ address private _stakingTargetHandler;
73
60
  address private _stakingStore;
74
61
 
75
62
  constructor() {
@@ -82,24 +69,23 @@ contract RegistryAdmin is
82
69
  function completeSetup(
83
70
  address registry,
84
71
  address authorization,
72
+ VersionPart release,
85
73
  address gifAdmin,
86
74
  address gifManager
87
75
  )
88
76
  public
89
77
  virtual
90
78
  reinitializer(type(uint8).max)
91
- onlyDeployer()
92
79
  {
93
80
  // checks
94
- _checkRegistry(registry);
81
+ AccessAdminLib.checkRegistry(registry);
95
82
 
96
- VersionPart release = VersionPartLib.toVersionPart(3);
97
83
  AccessManagerCloneable(
98
84
  authority()).completeSetup(
99
85
  registry,
100
86
  release);
101
87
 
102
- _checkAuthorization(authorization, REGISTRY(), release, true);
88
+ _checkAuthorization(authorization, REGISTRY(), release, false, true);
103
89
 
104
90
  _registry = registry;
105
91
  _authorization = IAuthorization(authorization);
@@ -108,25 +94,26 @@ contract RegistryAdmin is
108
94
  _releaseRegistry = registryContract.getReleaseRegistryAddress();
109
95
  _tokenRegistry = registryContract.getTokenRegistryAddress();
110
96
  _staking = registryContract.getStakingAddress();
111
- _stakingStore = address(
112
- IStaking(_staking).getStakingStore());
97
+ _stakingTargetHandler = address(IStaking(_staking).getTargetHandler());
98
+ _stakingStore = address(IStaking(_staking).getStakingStore());
113
99
 
114
100
  // link nft ownability to registry
115
101
  _linkToNftOwnable(_registry);
116
102
 
117
- _setupRegistry(_registry);
118
-
119
- // setup authorization for registry and supporting contracts
120
103
  _createRoles(_authorization);
104
+
105
+ // setup registry core targets
106
+ _createCoreTargets(_authorization.getMainTargetName());
107
+
108
+ // setup non-contract roles
121
109
  _grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
122
110
  _grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
123
111
 
124
- _createTargets(_authorization);
112
+ // authorize functions of registry and staking contracts
125
113
  _createTargetAuthorizations(_authorization);
126
114
  }
127
115
 
128
116
 
129
-
130
117
  function grantServiceRoleForAllVersions(
131
118
  IService service,
132
119
  ObjectType domain
@@ -135,83 +122,36 @@ contract RegistryAdmin is
135
122
  restricted()
136
123
  {
137
124
  _grantRoleToAccount(
138
- RoleIdLib.roleForTypeAndAllVersions(domain),
125
+ RoleIdLib.toGenericServiceRoleId(domain),
139
126
  address(service));
140
127
  }
141
128
 
142
129
  //--- view functions ----------------------------------------------------//
143
130
 
144
- function getGifAdminRole() external view returns (RoleId) {
131
+ function getGifAdminRole() external pure returns (RoleId) {
145
132
  return GIF_ADMIN_ROLE();
146
133
  }
147
134
 
148
- function getGifManagerRole() external view returns (RoleId) {
135
+ function getGifManagerRole() external pure returns (RoleId) {
149
136
  return GIF_MANAGER_ROLE();
150
137
  }
151
138
 
152
139
  //--- private initialization functions -------------------------------------------//
153
140
 
154
- // create registry role and target
155
- function _setupRegistry(address registry) internal {
156
-
157
- // create registry role
158
- RoleId roleId = _authorization.getTargetRole(
159
- _authorization.getMainTarget());
160
-
161
- _createRole(
162
- roleId,
163
- _authorization.getRoleInfo(roleId));
164
-
165
- // create registry target
166
- _createTarget(
167
- registry,
168
- _authorization.getMainTargetName(),
169
- true, // checkAuthority
170
- false); // custom
171
-
172
- // assign registry role to registry
173
- _grantRoleToAccount(
174
- roleId,
175
- registry);
176
- }
177
-
178
-
179
- function _createRoles(IAuthorization authorization)
180
- internal
181
- {
182
- RoleId[] memory roles = authorization.getRoles();
183
- RoleId mainTargetRoleId = authorization.getTargetRole(
184
- authorization.getMainTarget());
185
-
186
- RoleId roleId;
187
- RoleInfo memory roleInfo;
188
-
189
- for(uint256 i = 0; i < roles.length; i++) {
190
-
191
- roleId = roles[i];
192
-
193
- // skip main target role, create role if not exists
194
- if (roleId != mainTargetRoleId && !roleExists(roleId)) {
195
- _createRole(
196
- roleId,
197
- authorization.getRoleInfo(roleId));
198
- }
199
- }
200
- }
201
141
 
202
-
203
- function _createTargets(IAuthorization authorization)
142
+ function _createCoreTargets(string memory registryTargetName)
204
143
  internal
205
144
  {
206
- // registry
207
- _createTargetWithRole(address(this), REGISTRY_ADMIN_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(REGISTRY_ADMIN_TARGET_NAME)));
208
- _createTargetWithRole(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(RELEASE_REGISTRY_TARGET_NAME)));
209
- _createTargetWithRole(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(TOKEN_REGISTRY_TARGET_NAME)));
210
-
211
- // staking
212
- _createTargetWithRole(_staking, STAKING_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(STAKING_TARGET_NAME)));
213
- _createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
214
- _createTarget(address(IComponent(_staking).getTokenHandler()), STAKING_TH_TARGET_NAME, true, false);
145
+ // create unchecked registry targets
146
+ _createTarget(_registry, registryTargetName, TargetType.Core, false);
147
+ _createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, TargetType.Core, false);
148
+ _createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, TargetType.Core, false);
149
+ _createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, TargetType.Core, false);
150
+
151
+ // create unchecked staking targets
152
+ _createTarget(_staking, STAKING_TARGET_NAME, TargetType.Core, false);
153
+ _createTarget(_stakingTargetHandler, STAKING_TARGET_HANDLER_NAME, TargetType.Core, false);
154
+ _createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, TargetType.Core, false);
215
155
  }
216
156
 
217
157
 
@@ -224,35 +164,10 @@ contract RegistryAdmin is
224
164
  for(uint256 i = 0; i < targets.length; i++) {
225
165
  target = targets[i];
226
166
  RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
227
- RoleId authorizedRole;
228
167
 
229
168
  for(uint256 j = 0; j < authorizedRoles.length; j++) {
230
- authorizedRole = authorizedRoles[j];
231
-
232
- _authorizeTargetFunctions(
233
- getTargetForName(target),
234
- authorizedRole,
235
- authorization.getAuthorizedFunctions(
236
- target,
237
- authorizedRole));
169
+ _authorizeFunctions(authorization, target, authorizedRoles[j]);
238
170
  }
239
171
  }
240
172
  }
241
-
242
-
243
- function _createTargets(address authorization)
244
- private
245
- onlyInitializing()
246
- {
247
- IStaking staking = IStaking(_staking);
248
- address tokenHandler = address(staking.getTokenHandler());
249
-
250
- _createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, false, false);
251
- _createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
252
- _createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, true, false);
253
- _createTarget(_staking, STAKING_TARGET_NAME, true, false);
254
- _createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
255
- _createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
256
- _createTarget(tokenHandler, TOKEN_HANDLER_TARGET_NAME, true, false);
257
- }
258
173
  }