@etherisc/gif-next 3.0.0-cf1abe2-268 → 3.0.0-cf20ffd-765

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 (530) hide show
  1. package/README.md +10 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +83 -164
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +119 -117
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +48 -93
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +145 -168
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
  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 +85 -83
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -222
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +59 -168
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +252 -238
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +154 -144
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +58 -180
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +145 -111
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +109 -246
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +137 -279
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
  51. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
  53. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  55. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  57. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1278 -0
  59. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
  61. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1391 -0
  63. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  65. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2214 -0
  67. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
  69. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  70. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  71. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  72. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  73. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  74. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +104 -255
  77. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
  79. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +108 -240
  81. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +125 -257
  83. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  84. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  86. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +116 -248
  87. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  88. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
  89. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
  91. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  92. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +69 -77
  93. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  94. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
  95. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  96. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +47 -99
  97. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +126 -92
  99. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  100. package/artifacts/contracts/instance/Instance.sol/Instance.json +72 -166
  101. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +225 -247
  103. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
  105. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +238 -77
  107. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +175 -149
  109. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +116 -108
  111. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  112. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +183 -133
  113. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  114. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +153 -103
  115. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  116. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +80 -88
  117. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +21 -21
  119. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  120. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  121. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  122. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  123. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  124. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  125. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  126. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +9 -4
  127. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  128. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  129. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  131. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  132. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  133. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  134. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  135. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  136. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +83 -209
  138. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  140. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  141. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  142. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +63 -166
  143. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  144. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +103 -94
  145. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  146. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +69 -159
  147. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  148. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +168 -163
  149. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +133 -115
  151. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  152. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +78 -168
  153. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  154. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  155. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  156. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +158 -212
  157. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -133
  159. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  160. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +73 -107
  161. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  162. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +76 -179
  163. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  164. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +142 -138
  165. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  166. package/artifacts/contracts/pool/Pool.sol/Pool.json +78 -168
  167. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  168. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
  169. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  170. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +221 -277
  171. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +134 -144
  173. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  174. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +74 -149
  175. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +116 -114
  177. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  178. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +59 -149
  179. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  180. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  181. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  182. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -203
  183. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  184. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +142 -136
  185. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  186. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +43 -82
  187. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +59 -92
  189. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  190. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +91 -97
  191. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  192. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +45 -84
  193. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  194. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +58 -161
  195. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  196. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +51 -103
  197. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  198. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +154 -188
  199. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  200. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
  201. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +132 -126
  203. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  204. package/artifacts/contracts/product/PricingService.sol/PricingService.json +96 -163
  205. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  206. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -120
  207. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  208. package/artifacts/contracts/product/Product.sol/Product.json +59 -149
  209. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  210. package/artifacts/contracts/product/RiskService.sol/RiskService.json +78 -174
  211. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  212. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +111 -113
  213. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  214. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +4 -4
  215. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  216. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +70 -163
  217. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  218. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +218 -204
  219. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  220. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  221. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  222. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  223. package/artifacts/contracts/registry/Registry.sol/Registry.json +114 -322
  224. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  225. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +221 -242
  226. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  227. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
  228. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  229. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +246 -287
  230. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  231. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +114 -119
  232. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  233. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +236 -245
  234. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  235. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  236. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  237. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +217 -156
  238. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  239. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  240. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  241. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +39 -23
  242. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  243. package/artifacts/contracts/shared/Component.sol/Component.json +41 -161
  244. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  245. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +554 -182
  246. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  247. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +145 -119
  248. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  249. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
  250. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  251. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  252. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  253. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  254. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  255. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  256. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +558 -0
  257. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  258. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +40 -173
  259. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  260. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +457 -97
  261. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  262. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +58 -161
  263. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  264. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +30 -3
  266. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  267. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
  268. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +27 -79
  270. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  271. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
  272. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IService.sol/IService.json +34 -73
  274. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  275. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  276. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  277. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +59 -149
  278. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  279. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  280. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  281. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  282. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +36 -17
  283. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  284. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
  285. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  286. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +26 -78
  287. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  288. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
  289. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  290. package/artifacts/contracts/shared/Service.sol/Service.json +33 -72
  291. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  292. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -82
  293. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  294. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -70
  295. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  296. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  297. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  298. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +182 -283
  299. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  300. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -300
  301. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  302. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  303. package/artifacts/contracts/staking/Staking.sol/Staking.json +235 -352
  304. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  305. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
  306. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  307. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +128 -116
  308. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  309. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
  310. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  311. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +84 -357
  312. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  313. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +115 -109
  314. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  315. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +273 -281
  316. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  317. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +22 -35
  318. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  319. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
  320. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  321. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  322. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
  324. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  326. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  328. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  330. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  332. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
  334. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  336. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  337. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  338. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  340. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  341. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  342. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  344. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  346. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  348. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  350. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  351. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  352. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  354. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  356. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  358. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  360. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  362. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  364. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  365. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  366. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  367. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  368. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  369. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
  370. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  371. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  372. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  373. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  374. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  375. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  376. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  377. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +90 -67
  378. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  379. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  380. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  381. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  382. package/contracts/accounting/AccountingService.sol +22 -33
  383. package/contracts/accounting/AccountingServiceManager.sol +6 -4
  384. package/contracts/accounting/IAccountingService.sol +7 -8
  385. package/contracts/authorization/AccessAdmin.sol +34 -55
  386. package/contracts/authorization/AccessAdminLib.sol +29 -15
  387. package/contracts/authorization/AccessManagerCloneable.sol +52 -24
  388. package/contracts/authorization/Authorization.sol +2 -2
  389. package/contracts/authorization/IAccessAdmin.sol +11 -10
  390. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  391. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  392. package/contracts/distribution/BasicDistribution.sol +2 -0
  393. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  394. package/contracts/distribution/Distribution.sol +2 -0
  395. package/contracts/distribution/DistributionService.sol +44 -43
  396. package/contracts/distribution/DistributionServiceManager.sol +6 -4
  397. package/contracts/distribution/IDistributionComponent.sol +0 -2
  398. package/contracts/distribution/IDistributionService.sol +8 -7
  399. package/contracts/examples/fire/FirePool.sol +4 -0
  400. package/contracts/examples/fire/FireProduct.sol +4 -0
  401. package/contracts/examples/flight/FlightLib.sol +337 -0
  402. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  403. package/contracts/examples/flight/FlightNft.sol +234 -0
  404. package/contracts/examples/flight/FlightOracle.sol +226 -0
  405. package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
  406. package/contracts/examples/flight/FlightPool.sol +89 -0
  407. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  408. package/contracts/examples/flight/FlightProduct.sol +687 -0
  409. package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
  410. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  411. package/contracts/examples/flight/FlightUSD.sol +28 -0
  412. package/contracts/examples/flight/originalV1.sol +396 -0
  413. package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
  414. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
  415. package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
  416. package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
  417. package/contracts/instance/BaseStore.sol +4 -0
  418. package/contracts/instance/BundleSet.sol +7 -8
  419. package/contracts/instance/IBaseStore.sol +8 -0
  420. package/contracts/instance/IInstance.sol +8 -8
  421. package/contracts/instance/IInstanceService.sol +6 -4
  422. package/contracts/instance/Instance.sol +12 -8
  423. package/contracts/instance/InstanceAdmin.sol +17 -11
  424. package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
  425. package/contracts/instance/InstanceReader.sol +59 -23
  426. package/contracts/instance/InstanceService.sol +28 -18
  427. package/contracts/instance/InstanceServiceManager.sol +6 -4
  428. package/contracts/instance/InstanceStore.sol +14 -14
  429. package/contracts/instance/ProductStore.sol +14 -14
  430. package/contracts/instance/RiskSet.sol +6 -7
  431. package/contracts/instance/base/BalanceStore.sol +7 -7
  432. package/contracts/instance/base/Cloneable.sol +10 -4
  433. package/contracts/instance/base/ObjectSet.sol +3 -3
  434. package/contracts/oracle/BasicOracle.sol +3 -0
  435. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  436. package/contracts/oracle/IOracleService.sol +21 -17
  437. package/contracts/oracle/Oracle.sol +6 -5
  438. package/contracts/oracle/OracleService.sol +68 -38
  439. package/contracts/oracle/OracleServiceManager.sol +6 -4
  440. package/contracts/pool/BasicPool.sol +4 -2
  441. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  442. package/contracts/pool/BundleService.sol +22 -28
  443. package/contracts/pool/BundleServiceManager.sol +7 -5
  444. package/contracts/pool/IBundleService.sol +9 -10
  445. package/contracts/pool/IPoolComponent.sol +1 -1
  446. package/contracts/pool/IPoolService.sol +14 -13
  447. package/contracts/pool/Pool.sol +3 -1
  448. package/contracts/pool/PoolLib.sol +102 -5
  449. package/contracts/pool/PoolService.sol +101 -67
  450. package/contracts/pool/PoolServiceManager.sol +6 -4
  451. package/contracts/product/ApplicationService.sol +34 -13
  452. package/contracts/product/ApplicationServiceManager.sol +6 -4
  453. package/contracts/product/BasicProduct.sol +2 -0
  454. package/contracts/product/BasicProductAuthorization.sol +7 -7
  455. package/contracts/product/ClaimService.sol +35 -11
  456. package/contracts/product/ClaimServiceManager.sol +7 -5
  457. package/contracts/product/IApplicationService.sol +8 -8
  458. package/contracts/product/IClaimService.sol +9 -9
  459. package/contracts/product/IPolicyService.sol +8 -7
  460. package/contracts/product/IRiskService.sol +4 -5
  461. package/contracts/product/PolicyService.sol +58 -45
  462. package/contracts/product/PolicyServiceLib.sol +5 -3
  463. package/contracts/product/PolicyServiceManager.sol +6 -4
  464. package/contracts/product/PricingService.sol +8 -7
  465. package/contracts/product/PricingServiceManager.sol +6 -4
  466. package/contracts/product/Product.sol +2 -0
  467. package/contracts/product/RiskService.sol +42 -10
  468. package/contracts/product/RiskServiceManager.sol +6 -4
  469. package/contracts/registry/ChainNft.sol +2 -2
  470. package/contracts/registry/IRegistry.sol +15 -21
  471. package/contracts/registry/IRegistryService.sol +14 -10
  472. package/contracts/registry/IRelease.sol +3 -0
  473. package/contracts/registry/Registry.sol +82 -126
  474. package/contracts/registry/RegistryAdmin.sol +29 -12
  475. package/contracts/registry/RegistryAuthorization.sol +3 -6
  476. package/contracts/registry/RegistryService.sol +82 -99
  477. package/contracts/registry/RegistryServiceManager.sol +11 -4
  478. package/contracts/registry/ReleaseAdmin.sol +27 -13
  479. package/contracts/registry/ReleaseRegistry.sol +81 -72
  480. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  481. package/contracts/registry/TokenRegistry.sol +18 -9
  482. package/contracts/shared/Component.sol +22 -27
  483. package/contracts/shared/ComponentService.sol +168 -49
  484. package/contracts/shared/ComponentServiceManager.sol +7 -5
  485. package/contracts/shared/ContractLib.sol +93 -359
  486. package/contracts/shared/EcdsaChecker.sol +5 -0
  487. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  488. package/contracts/shared/IComponent.sol +3 -9
  489. package/contracts/shared/IComponentService.sol +46 -10
  490. package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
  491. package/contracts/shared/INftOwnable.sol +3 -1
  492. package/contracts/shared/IRegisterable.sol +3 -14
  493. package/contracts/shared/IRegistryLinked.sol +3 -1
  494. package/contracts/shared/IService.sol +2 -2
  495. package/contracts/shared/InstanceLinkedComponent.sol +130 -39
  496. package/contracts/shared/NftOwnable.sol +22 -9
  497. package/contracts/shared/PolicyHolder.sol +4 -2
  498. package/contracts/shared/Registerable.sol +20 -37
  499. package/contracts/shared/RegistryLinked.sol +23 -4
  500. package/contracts/shared/Service.sol +9 -8
  501. package/contracts/shared/TokenHandler.sol +6 -9
  502. package/contracts/staking/IStaking.sol +35 -33
  503. package/contracts/staking/IStakingService.sol +7 -16
  504. package/contracts/staking/Staking.sol +38 -32
  505. package/contracts/staking/StakingLib.sol +1 -3
  506. package/contracts/staking/StakingManager.sol +6 -3
  507. package/contracts/staking/StakingReader.sol +17 -9
  508. package/contracts/staking/StakingService.sol +15 -18
  509. package/contracts/staking/StakingServiceManager.sol +8 -4
  510. package/contracts/staking/StakingStore.sol +11 -11
  511. package/contracts/staking/TargetHandler.sol +6 -5
  512. package/contracts/type/ObjectType.sol +2 -31
  513. package/contracts/type/Referral.sol +6 -0
  514. package/contracts/type/RequestIdSet.sol +62 -0
  515. package/contracts/type/Seconds.sol +4 -0
  516. package/contracts/type/String.sol +30 -0
  517. package/contracts/type/Timestamp.sol +10 -1
  518. package/contracts/type/Version.sol +16 -15
  519. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  520. package/contracts/upgradeability/ProxyManager.sol +54 -46
  521. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  522. package/package.json +4 -3
  523. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  524. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  525. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  526. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  527. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  528. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  529. package/contracts/shared/IVersionable.sol +0 -19
  530. package/contracts/shared/Versionable.sol +0 -47
@@ -12,7 +12,6 @@ import {PUBLIC_ROLE} from "../type/RoleId.sol";
12
12
  import {ReleaseRegistry} from "./ReleaseRegistry.sol";
13
13
  import {RegistryAdmin} from "./RegistryAdmin.sol";
14
14
  import {RoleIdLib, ADMIN_ROLE, GIF_ADMIN_ROLE, GIF_MANAGER_ROLE} from "../type/RoleId.sol";
15
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
16
15
  import {StakingStore} from "../staking/StakingStore.sol";
17
16
  import {TargetHandler} from "../staking/TargetHandler.sol";
18
17
  import {TokenHandler} from "../shared/TokenHandler.sol";
@@ -50,7 +49,7 @@ contract RegistryAuthorization
50
49
  Authorization(
51
50
  REGISTRY_TARGET_NAME,
52
51
  REGISTRY(),
53
- GIF_INITIAL_RELEASE(),
52
+ 3,
54
53
  commitHash,
55
54
  TargetType.Core,
56
55
  false) // includeTokenHandler
@@ -101,7 +100,7 @@ contract RegistryAuthorization
101
100
  AccessAdminLib.roleInfo(
102
101
  ADMIN_ROLE(),
103
102
  TargetType.Custom, // custom is only type that allows role removal
104
- 1, // TODO decide on max member count
103
+ 2, // TODO decide on max member count
105
104
  GIF_ADMIN_ROLE_NAME));
106
105
 
107
106
  // gif manager role
@@ -110,7 +109,7 @@ contract RegistryAuthorization
110
109
  AccessAdminLib.roleInfo(
111
110
  ADMIN_ROLE(),
112
111
  TargetType.Custom, // custom is only type that allows role removal
113
- 2, // TODO decide on max member count
112
+ 1, // TODO decide on max member count
114
113
  GIF_MANAGER_ROLE_NAME));
115
114
 
116
115
  }
@@ -145,8 +144,6 @@ contract RegistryAuthorization
145
144
  _setupStakingThAuthorization();
146
145
  }
147
146
 
148
- event LogAccessAdminDebug(string message, string custom, uint256 value);
149
-
150
147
  function _setupRegistryAuthorization() internal {
151
148
  IAccess.FunctionInfo[] storage functions;
152
149
 
@@ -1,18 +1,16 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {IComponent} from "../../contracts/shared/IComponent.sol";
4
5
  import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
5
6
  import {IInstance} from "../instance/IInstance.sol";
6
- import {IInstanceLinkedComponent} from "../../contracts/shared/IInstanceLinkedComponent.sol";
7
7
  import {IPoolComponent} from "../../contracts/pool/IPoolComponent.sol";
8
8
  import {IProductComponent} from "../../contracts/product/IProductComponent.sol";
9
9
  import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
10
10
  import {IRegistry} from "./IRegistry.sol";
11
11
  import {IRegistryService} from "./IRegistryService.sol";
12
- import {IStaking} from "../../contracts/staking/IStaking.sol";
13
12
 
14
- import {ContractLib} from "../shared/ContractLib.sol";
15
- import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, POLICY, BUNDLE, STAKE, STAKING} from "../../contracts/type/ObjectType.sol";
13
+ import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE} from "../../contracts/type/ObjectType.sol";
16
14
  import {NftId, NftIdLib} from "../../contracts/type/NftId.sol";
17
15
  import {Service} from "../shared/Service.sol";
18
16
 
@@ -23,6 +21,8 @@ contract RegistryService is
23
21
  // TODO update to real hash when registry is stable
24
22
  bytes32 public constant REGISTRY_CREATION_CODE_HASH = bytes32(0);
25
23
 
24
+ // from Versionable
25
+
26
26
  /// @dev top level initializer
27
27
  function _initialize(
28
28
  address owner,
@@ -33,15 +33,16 @@ contract RegistryService is
33
33
  onlyInitializing
34
34
  {
35
35
  (
36
- address authority
37
- ) = abi.decode(data, (address));
36
+ address authority,
37
+ address registry
38
+ ) = abi.decode(data, (address, address));
38
39
 
39
- __Service_init(authority, owner);
40
+ __Service_init(authority, registry, owner);
40
41
  _registerInterface(type(IRegistryService).interfaceId);
41
42
  }
42
43
 
43
- // TODO register have no combos with STAKING; decide on parentNftId arg
44
- function registerStaking(IRegisterable staking, address expectedOwner)
44
+
45
+ function registerStaking(IRegisterable staking, address owner)
45
46
  external
46
47
  virtual
47
48
  restricted()
@@ -49,16 +50,12 @@ contract RegistryService is
49
50
  IRegistry.ObjectInfo memory info
50
51
  )
51
52
  {
52
- _checkInterface(staking, type(IStaking).interfaceId);
53
-
54
- address owner;
55
- bytes memory data;
56
- (info, owner, data) = _getAndVerifyContractInfo(staking, NftIdLib.zero(), STAKING(), expectedOwner);
57
- info.nftId = _getRegistry().register(info, owner, data);
53
+ info = _getAndVerifyContractInfo(staking, STAKING(), owner);
54
+ info.nftId = getRegistry().register(info);
58
55
  }
59
56
 
60
57
 
61
- function registerInstance(IRegisterable instance, address expectedOwner)
58
+ function registerInstance(IRegisterable instance, address owner)
62
59
  external
63
60
  virtual
64
61
  restricted()
@@ -66,21 +63,19 @@ contract RegistryService is
66
63
  IRegistry.ObjectInfo memory info
67
64
  )
68
65
  {
69
- _checkInterface(instance, type(IInstance).interfaceId);
66
+ if(!instance.supportsInterface(type(IInstance).interfaceId)) {
67
+ revert ErrorRegistryServiceNotInstance(address(instance));
68
+ }
70
69
 
71
- address owner;
72
- bytes memory data;
73
- (info, owner, data) = _getAndVerifyContractInfo(instance, _getRegistry().getNftId(), INSTANCE(), expectedOwner);
74
- info.nftId = _getRegistry().register(info, owner, data);
70
+ info = _getAndVerifyContractInfo(instance, INSTANCE(), owner);
71
+ info.nftId = getRegistry().register(info);
75
72
 
76
73
  instance.linkToRegisteredNftId(); // asume safe
77
74
  }
78
75
 
79
- function registerComponent(
80
- IRegisterable component,
81
- NftId expectedParentNftId,
82
- ObjectType expectedType,
83
- address expectedOwner
76
+ function registerProduct(
77
+ IComponent product,
78
+ address initialOwner
84
79
  )
85
80
  external
86
81
  virtual
@@ -89,75 +84,83 @@ contract RegistryService is
89
84
  IRegistry.ObjectInfo memory info
90
85
  )
91
86
  {
92
- _checkInterface(
93
- component,
94
- type(IInstanceLinkedComponent).interfaceId);
95
-
96
- address owner;
97
- bytes memory data;
98
- (info, owner, data) = _getAndVerifyContractInfo(component, expectedParentNftId, expectedType, expectedOwner);
99
- info.nftId = _getRegistry().register(info, owner, data);
87
+ if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
88
+ revert ErrorRegistryServiceNotProduct(address(product));
89
+ }
90
+
91
+ info = _getAndVerifyContractInfo(product, PRODUCT(), initialOwner);
92
+ info.nftId = getRegistry().register(info);
100
93
  }
101
94
 
102
- function registerDistributor(IRegistry.ObjectInfo memory info, address owner, bytes memory data)
95
+ function registerProductLinkedComponent(
96
+ IComponent component,
97
+ ObjectType objectType,
98
+ address initialOwner
99
+ )
103
100
  external
104
101
  virtual
105
102
  restricted()
106
- returns(NftId nftId)
103
+ returns(
104
+ IRegistry.ObjectInfo memory info
105
+ )
107
106
  {
108
- _verifyObjectInfo(info, owner, DISTRIBUTOR());
109
- nftId = _getRegistry().register(info, owner, data);
107
+ // CAN revert if no ERC165 support -> will revert with empty message
108
+ if(!component.supportsInterface(type(IComponent).interfaceId)) {
109
+ revert ErrorRegistryServiceNotComponent(address(component));
110
+ }
111
+
112
+ if (!(objectType == DISTRIBUTION() || objectType == ORACLE() || objectType == POOL())) {
113
+ revert ErrorRegistryServiceNotProductLinkedComponent(address(component));
114
+ }
115
+
116
+ info = _getAndVerifyContractInfo(component, objectType, initialOwner);
117
+ info.nftId = getRegistry().register(info);
110
118
  }
111
119
 
112
- function registerPolicy(IRegistry.ObjectInfo memory info, address owner, bytes memory data)
120
+ function registerDistributor(IRegistry.ObjectInfo memory info)
113
121
  external
114
122
  virtual
115
123
  restricted()
116
124
  returns(NftId nftId)
117
125
  {
118
- _verifyObjectInfo(info, owner, POLICY());
119
- nftId = _getRegistry().register(info, owner, data);
126
+ _verifyObjectInfo(info, DISTRIBUTOR());
127
+ nftId = getRegistry().register(info);
120
128
  }
121
129
 
122
- function registerBundle(IRegistry.ObjectInfo memory info, address owner, bytes memory data)
130
+ function registerPolicy(IRegistry.ObjectInfo memory info)
123
131
  external
124
132
  virtual
125
133
  restricted()
126
134
  returns(NftId nftId)
127
135
  {
128
- _verifyObjectInfo(info, owner, BUNDLE());
129
- nftId = _getRegistry().register(info, owner, data);
136
+ _verifyObjectInfo(info, POLICY());
137
+ nftId = getRegistry().register(info);
130
138
  }
131
139
 
132
- function registerStake(IRegistry.ObjectInfo memory info, address owner, bytes memory data)
140
+ function registerBundle(IRegistry.ObjectInfo memory info)
133
141
  external
134
142
  virtual
135
143
  restricted()
136
144
  returns(NftId nftId)
137
145
  {
138
- _verifyObjectInfo(info, owner, STAKE());
139
- nftId = _getRegistry().register(info, owner, data);
146
+ _verifyObjectInfo(info, BUNDLE());
147
+ nftId = getRegistry().register(info);
140
148
  }
141
149
 
142
- // Internal
143
-
144
- function _checkInterface(IRegisterable registerable, bytes4 interfaceId) internal view
150
+ function registerStake(IRegistry.ObjectInfo memory info)
151
+ external
152
+ virtual
153
+ restricted()
154
+ returns(NftId nftId)
145
155
  {
146
- if(!ContractLib.supportsInterface(address(registerable), interfaceId)) {
147
- revert ErrorRegistryServiceInterfaceNotSupported(address(registerable), interfaceId);
148
- }
156
+ _verifyObjectInfo(info, STAKE());
157
+ nftId = getRegistry().register(info);
149
158
  }
150
159
 
151
- /// @dev Based on the provided component address, parent, type and owner this function reverts iff:
152
- /// - the component address does not match with address stored in component's initial info
153
- /// - the component type does not match with the required type
154
- /// - the component parent does not match with the required parent (when required parent is not zero)
155
- /// - the component initialOwner does not match with the required owner (when required owner is not zero)
156
- /// - the component initialOwner is zero (redundant, consider deleting)
157
- /// - the component initialOwner is already registered
160
+ // Internal
161
+
158
162
  function _getAndVerifyContractInfo(
159
163
  IRegisterable registerable,
160
- NftId expectedParent,
161
164
  ObjectType expectedType, // assume can be valid only
162
165
  address expectedOwner // assume can be 0 when given by other service
163
166
  )
@@ -165,62 +168,40 @@ contract RegistryService is
165
168
  virtual
166
169
  view
167
170
  returns(
168
- IRegistry.ObjectInfo memory info,
169
- address initialOwner,
170
- bytes memory data
171
+ IRegistry.ObjectInfo memory info
171
172
  )
172
173
  {
173
174
  info = registerable.getInitialInfo();
174
- data = registerable.getInitialData();
175
- initialOwner = registerable.getOwner();
176
175
 
177
176
  if(info.objectAddress != address(registerable)) {
178
177
  revert ErrorRegistryServiceRegisterableAddressInvalid(registerable, info.objectAddress);
179
178
  }
180
179
 
181
- if(expectedType != COMPONENT()) {
182
- // exact match
183
- if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
184
- revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
185
- }
186
- } else {
187
- // match any component except product
188
- if(!(info.objectType == DISTRIBUTION() || info.objectType == ORACLE() || info.objectType == POOL())) {
189
- revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
190
- }
180
+ if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
181
+ revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
191
182
  }
192
183
 
193
- if(expectedParent.gtz()) {
194
- // exact parent is important
195
- if(info.parentNftId != expectedParent) {
196
- revert ErrorRegistryServiceRegisterableParentInvalid(registerable, expectedParent, info.parentNftId);
197
- }
198
- }
184
+ address owner = info.initialOwner;
199
185
 
200
- if(expectedOwner > address(0)) {
201
- // exact owner is important
202
- if(initialOwner != expectedOwner) { // registerable owner protection
203
- revert ErrorRegistryServiceRegisterableOwnerInvalid(registerable, expectedOwner, initialOwner);
204
- }
186
+ if(owner != expectedOwner) { // registerable owner protection
187
+ revert ErrorRegistryServiceRegisterableOwnerInvalid(registerable, expectedOwner, owner);
205
188
  }
206
189
 
207
- if(initialOwner == address(registerable)) {
190
+ if(owner == address(registerable)) {
208
191
  revert ErrorRegistryServiceRegisterableSelfRegistration(registerable);
209
192
  }
210
193
 
211
- // redundant, checked by chainNft
212
- if(initialOwner == address(0)) {
194
+ if(owner == address(0)) {
213
195
  revert ErrorRegistryServiceRegisterableOwnerZero(registerable);
214
196
  }
215
197
 
216
- if(_getRegistry().isRegistered(initialOwner)) {
217
- revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable, initialOwner);
198
+ if(getRegistry().isRegistered(owner)) {
199
+ revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable, owner);
218
200
  }
219
201
  }
220
202
 
221
203
  function _verifyObjectInfo(
222
204
  IRegistry.ObjectInfo memory info,
223
- address initialOwner,
224
205
  ObjectType expectedType
225
206
  )
226
207
  internal
@@ -235,18 +216,20 @@ contract RegistryService is
235
216
  revert ErrorRegistryServiceObjectTypeInvalid(expectedType, info.objectType);
236
217
  }
237
218
 
238
- if(initialOwner == address(0)) {
219
+ address owner = info.initialOwner;
220
+
221
+ if(owner == address(0)) {
239
222
  revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
240
223
  }
241
224
 
242
- if(initialOwner == msg.sender) {
243
- revert ErrorRegistryServiceInvalidInitialOwner(initialOwner);
225
+ if(owner == msg.sender) {
226
+ revert ErrorRegistryServiceInvalidInitialOwner(owner);
244
227
  }
245
228
 
246
- if(_getRegistry().isRegistered(initialOwner)) {
247
- ObjectType ownerType = _getRegistry().getObjectInfo(initialOwner).objectType;
229
+ if(getRegistry().isRegistered(owner)) {
230
+ ObjectType ownerType = getRegistry().getObjectInfo(owner).objectType;
248
231
  if(ownerType == REGISTRY() || ownerType == STAKING() || ownerType == SERVICE() || ownerType == INSTANCE()) {
249
- revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, initialOwner);
232
+ revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
250
233
  }
251
234
  }
252
235
  }
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {RegistryService} from "./RegistryService.sol";
7
7
 
@@ -9,6 +9,7 @@ contract RegistryServiceManager is
9
9
  ProxyManager
10
10
  {
11
11
  error ErrorRegistryAccessManagerAuthorityZero();
12
+ error ErrorRegistryAccessManagerRegistryZero();
12
13
 
13
14
  bytes32 constant public ACCESS_MANAGER_CREATION_CODE_HASH = 0x0;
14
15
 
@@ -17,21 +18,27 @@ contract RegistryServiceManager is
17
18
  /// @dev initializes proxy manager with registry service implementation and deploys registry
18
19
  constructor(
19
20
  address authority, // used by implementation
21
+ address registry, // used by implementation
20
22
  bytes32 salt
21
23
  )
22
24
  {
23
25
  if(authority == address(0)) {
24
26
  revert ErrorRegistryAccessManagerAuthorityZero();
25
27
  }
28
+
29
+ if(registry == address(0)) {
30
+ revert ErrorRegistryAccessManagerRegistryZero();
31
+ }
26
32
 
27
33
  RegistryService srv = new RegistryService{ salt: salt }();
28
- bytes memory data = abi.encode(authority);
29
- IUpgradeable upgradeable = initialize(
34
+ bytes memory data = abi.encode(authority, registry);
35
+ IVersionable versionable = initialize(
36
+ registry,
30
37
  address(srv),
31
38
  data,
32
39
  salt);
33
40
 
34
- _registryService = RegistryService(address(upgradeable));
41
+ _registryService = RegistryService(address(versionable));
35
42
  }
36
43
 
37
44
  //--- view functions ----------------------------------------------------//
@@ -10,7 +10,6 @@ import {AccessAdmin} from "../authorization/AccessAdmin.sol";
10
10
  import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
11
11
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
12
12
  import {ObjectType, ObjectTypeLib, RELEASE} from "../type/ObjectType.sol";
13
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
14
13
  import {RoleId, ADMIN_ROLE, RELEASE_REGISTRY_ROLE} from "../type/RoleId.sol";
15
14
  import {Str} from "../type/String.sol";
16
15
  import {VersionPart} from "../type/Version.sol";
@@ -22,8 +21,8 @@ import {VersionPart} from "../type/Version.sol";
22
21
  contract ReleaseAdmin is
23
22
  AccessAdmin
24
23
  {
25
- event LogReleaseAdminReleaseLockChanged(VersionPart release, bool locked);
26
- event LogReleaseAdminServiceLockChanged(VersionPart release, address service, bool locked);
24
+ event LogReleaseAdminReleaseLocked(VersionPart indexed release, bool indexed locked);
25
+ event LogReleaseAdminServiceLocked(VersionPart indexed release, address indexed service, bool indexed locked);
27
26
 
28
27
  error ErrorReleaseAdminCallerNotReleaseRegistry(address caller);
29
28
  error ErrorReleaseAdminNotService(address notService);
@@ -47,30 +46,44 @@ contract ReleaseAdmin is
47
46
  }
48
47
 
49
48
 
50
- /// @dev Only used for master release admin
49
+ // @dev Only used for master release admin
51
50
  constructor(address accessManager) {
52
51
  initialize(
53
52
  accessManager,
54
- "MasterReleaseAdmin",
55
- GIF_INITIAL_RELEASE());
53
+ "MasterReleaseAdmin");
56
54
  }
57
55
 
58
56
 
59
57
  function completeSetup(
58
+ address registry,
60
59
  address authorization,
60
+ VersionPart release,
61
61
  address releaseRegistry
62
62
  )
63
63
  external
64
- //onlyDeployer()
64
+ reinitializer(uint64(release.toInt()))
65
65
  {
66
+ // checks
67
+ AccessAdminLib.checkRegistry(registry);
68
+
69
+ AccessManagerCloneable(
70
+ authority()).completeSetup(
71
+ registry,
72
+ release);
66
73
 
67
- // effects
68
74
  IServiceAuthorization serviceAuthorization = IServiceAuthorization(authorization);
69
- _checkAuthorization(address(serviceAuthorization), RELEASE(), getRelease(), true, true);
75
+ AccessAdminLib.checkAuthorization(
76
+ address(_authorization),
77
+ address(serviceAuthorization),
78
+ RELEASE(),
79
+ release,
80
+ true, // expectServiceAuthorization
81
+ true); // checkAlreadyInitialized);
82
+
70
83
  _serviceAuthorization = serviceAuthorization;
71
84
 
72
85
  // link nft ownability to registry
73
- _linkToNftOwnable(address(_getRegistry()));
86
+ _linkToNftOwnable(registry);
74
87
 
75
88
  _createRoles(_serviceAuthorization);
76
89
 
@@ -124,7 +137,7 @@ contract ReleaseAdmin is
124
137
  // effects
125
138
  accessManager.setLocked(locked);
126
139
 
127
- emit LogReleaseAdminReleaseLockChanged(getRelease(), locked);
140
+ emit LogReleaseAdminReleaseLocked(getRelease(), locked);
128
141
  }
129
142
 
130
143
 
@@ -142,7 +155,7 @@ contract ReleaseAdmin is
142
155
 
143
156
  _setTargetLocked(address(service), locked);
144
157
 
145
- emit LogReleaseAdminServiceLockChanged(service.getRelease(), address(service), locked);
158
+ emit LogReleaseAdminServiceLocked(service.getRelease(), address(service), locked);
146
159
  }
147
160
 
148
161
  //--- private functions -------------------------------------------------//
@@ -167,7 +180,8 @@ contract ReleaseAdmin is
167
180
  //--- private initialization functions -------------------------------------------//
168
181
 
169
182
  function _setupReleaseRegistry(address releaseRegistry)
170
- private
183
+ private
184
+ onlyInitializing()
171
185
  {
172
186
 
173
187
  _createRole(