@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-ab0fcb2-112

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 (456) hide show
  1. package/README.md +1 -0
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +59 -107
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +59 -156
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +13 -61
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +58 -90
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +80 -59
  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 +2 -2
  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 +14 -46
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +45 -85
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +13 -61
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +119 -175
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +89 -190
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +13 -61
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +13 -61
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +54 -103
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +104 -153
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +18 -18
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  47. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  48. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +604 -0
  49. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  50. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  51. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1255 -0
  53. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +825 -0
  55. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1528 -0
  57. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +820 -0
  59. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2635 -0
  61. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +820 -0
  63. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  65. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  68. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +57 -119
  69. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
  71. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  72. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +51 -113
  73. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +59 -121
  75. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +2 -2
  77. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +63 -125
  79. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +18 -18
  81. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  82. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  83. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
  84. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  86. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +14 -62
  87. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  88. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +13 -61
  89. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  90. package/artifacts/contracts/instance/Instance.sol/Instance.json +42 -95
  91. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  92. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +158 -182
  93. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  94. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
  95. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +179 -77
  97. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +51 -99
  99. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +55 -152
  101. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  103. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  104. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  105. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  106. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
  107. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  108. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  109. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  110. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  111. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  112. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  113. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  114. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  115. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  116. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
  117. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  119. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  120. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  121. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  122. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  123. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  124. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  125. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  126. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +41 -81
  127. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  129. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  130. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  131. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +13 -61
  132. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +13 -103
  134. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +13 -61
  136. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +61 -175
  138. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +60 -169
  140. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  141. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +13 -61
  142. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  143. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  144. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  145. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +95 -151
  146. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  147. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +78 -179
  148. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  149. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +13 -61
  150. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  151. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +13 -61
  152. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  153. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +25 -104
  154. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  155. package/artifacts/contracts/pool/Pool.sol/Pool.json +13 -61
  156. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  157. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -252
  158. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  159. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +143 -190
  160. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  161. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +89 -170
  162. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  163. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +59 -99
  164. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +59 -152
  166. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  167. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +13 -61
  168. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  169. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +18 -18
  170. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  171. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +103 -151
  172. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +81 -178
  174. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  175. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +13 -61
  176. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  177. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +13 -61
  178. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  179. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +13 -82
  180. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  181. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +13 -61
  182. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  183. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +13 -61
  184. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  185. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +13 -61
  186. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  187. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +83 -152
  188. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  189. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  190. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  191. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +71 -168
  192. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  193. package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -119
  194. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  195. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +65 -162
  196. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  197. package/artifacts/contracts/product/Product.sol/Product.json +13 -61
  198. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  199. package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -95
  200. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  201. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +58 -147
  202. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  203. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  204. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  205. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -61
  206. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  208. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  209. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  210. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  211. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +140 -169
  212. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  213. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
  214. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  215. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -99
  216. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -157
  218. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  219. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +146 -183
  220. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  221. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  222. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  223. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +98 -185
  224. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  225. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  226. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  227. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -71
  228. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  229. package/artifacts/contracts/shared/Component.sol/Component.json +13 -61
  230. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  231. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +81 -137
  232. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  233. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +70 -171
  234. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  235. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +411 -139
  236. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  238. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +691 -0
  239. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +13 -61
  241. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +13 -61
  243. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +13 -61
  245. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  246. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  247. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -70
  248. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -54
  250. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  251. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +13 -61
  252. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -54
  254. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IService.sol/IService.json +13 -61
  256. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  257. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  258. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  259. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +13 -61
  260. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  261. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  262. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  263. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  264. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -76
  265. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  266. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -56
  267. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  268. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +13 -61
  269. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  270. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -79
  271. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  272. package/artifacts/contracts/shared/Service.sol/Service.json +13 -61
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
  277. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  278. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  279. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  280. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  281. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +13 -61
  282. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  283. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +13 -61
  284. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  285. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  286. package/artifacts/contracts/staking/Staking.sol/Staking.json +73 -121
  287. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
  289. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +66 -163
  291. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -64
  293. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +49 -97
  295. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +54 -151
  297. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  298. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -266
  299. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  300. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
  301. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  302. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  303. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  304. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  308. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  310. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  312. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  314. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  315. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  316. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  317. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  319. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  320. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  321. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  323. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  325. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  327. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  329. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  330. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  331. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  333. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  335. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  337. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +1 -1
  348. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  349. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +29 -121
  350. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  351. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +1 -1
  352. package/contracts/accounting/AccountingService.sol +3 -4
  353. package/contracts/accounting/AccountingServiceManager.sol +1 -3
  354. package/contracts/authorization/AccessAdmin.sol +3 -3
  355. package/contracts/authorization/AccessAdminLib.sol +14 -11
  356. package/contracts/authorization/IAccessAdmin.sol +1 -0
  357. package/contracts/distribution/BasicDistribution.sol +0 -2
  358. package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
  359. package/contracts/distribution/Distribution.sol +0 -2
  360. package/contracts/distribution/DistributionService.sol +14 -13
  361. package/contracts/distribution/DistributionServiceManager.sol +1 -3
  362. package/contracts/examples/fire/FirePool.sol +0 -4
  363. package/contracts/examples/fire/FireProduct.sol +0 -4
  364. package/contracts/examples/flight/FlightLib.sol +322 -0
  365. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  366. package/contracts/examples/flight/FlightOracle.sol +163 -0
  367. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  368. package/contracts/examples/flight/FlightPool.sol +85 -0
  369. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  370. package/contracts/examples/flight/FlightProduct.sol +650 -0
  371. package/contracts/examples/flight/FlightProductAuthorization.sol +45 -0
  372. package/contracts/examples/flight/FlightUSD.sol +28 -0
  373. package/contracts/examples/flight/originalV1.sol +396 -0
  374. package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
  375. package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
  376. package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
  377. package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
  378. package/contracts/instance/IInstance.sol +1 -1
  379. package/contracts/instance/Instance.sol +6 -7
  380. package/contracts/instance/InstanceAdmin.sol +6 -8
  381. package/contracts/instance/InstanceReader.sol +40 -18
  382. package/contracts/instance/InstanceService.sol +14 -16
  383. package/contracts/instance/InstanceServiceManager.sol +1 -3
  384. package/contracts/instance/base/Cloneable.sol +4 -10
  385. package/contracts/instance/base/ObjectSet.sol +2 -2
  386. package/contracts/oracle/BasicOracle.sol +0 -2
  387. package/contracts/oracle/IOracleService.sol +12 -16
  388. package/contracts/oracle/Oracle.sol +0 -2
  389. package/contracts/oracle/OracleService.sol +36 -66
  390. package/contracts/oracle/OracleServiceManager.sol +1 -3
  391. package/contracts/pool/BasicPool.sol +2 -4
  392. package/contracts/pool/BasicPoolAuthorization.sol +1 -1
  393. package/contracts/pool/BundleService.sol +20 -14
  394. package/contracts/pool/BundleServiceManager.sol +2 -4
  395. package/contracts/pool/IPoolService.sol +5 -6
  396. package/contracts/pool/Pool.sol +1 -3
  397. package/contracts/pool/PoolLib.sol +4 -104
  398. package/contracts/pool/PoolService.sol +66 -100
  399. package/contracts/pool/PoolServiceManager.sol +1 -3
  400. package/contracts/product/ApplicationService.sol +9 -29
  401. package/contracts/product/ApplicationServiceManager.sol +1 -3
  402. package/contracts/product/BasicProduct.sol +0 -2
  403. package/contracts/product/BasicProductAuthorization.sol +4 -3
  404. package/contracts/product/ClaimService.sol +9 -33
  405. package/contracts/product/ClaimServiceManager.sol +2 -4
  406. package/contracts/product/IPolicyService.sol +0 -1
  407. package/contracts/product/PolicyService.sol +43 -56
  408. package/contracts/product/PolicyServiceManager.sol +1 -3
  409. package/contracts/product/PricingService.sol +6 -7
  410. package/contracts/product/PricingServiceManager.sol +1 -3
  411. package/contracts/product/Product.sol +0 -2
  412. package/contracts/product/RiskService.sol +7 -39
  413. package/contracts/product/RiskServiceManager.sol +1 -3
  414. package/contracts/registry/RegistryAdmin.sol +6 -11
  415. package/contracts/registry/RegistryAuthorization.sol +2 -2
  416. package/contracts/registry/RegistryService.sol +14 -15
  417. package/contracts/registry/RegistryServiceManager.sol +1 -8
  418. package/contracts/registry/ReleaseAdmin.sol +2 -11
  419. package/contracts/registry/ReleaseRegistry.sol +14 -26
  420. package/contracts/registry/TokenRegistry.sol +6 -15
  421. package/contracts/shared/Component.sol +3 -5
  422. package/contracts/shared/ComponentService.sol +18 -30
  423. package/contracts/shared/ComponentServiceManager.sol +2 -4
  424. package/contracts/shared/ContractLib.sol +359 -93
  425. package/contracts/shared/EcdsaChecker.sol +5 -0
  426. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  427. package/contracts/shared/IInstanceLinkedComponent.sol +2 -6
  428. package/contracts/shared/INftOwnable.sol +0 -2
  429. package/contracts/shared/IRegisterable.sol +6 -0
  430. package/contracts/shared/IRegistryLinked.sol +1 -5
  431. package/contracts/shared/InstanceLinkedComponent.sol +73 -22
  432. package/contracts/shared/NftOwnable.sol +8 -8
  433. package/contracts/shared/PolicyHolder.sol +0 -2
  434. package/contracts/shared/Registerable.sol +5 -6
  435. package/contracts/shared/RegistryLinked.sol +4 -30
  436. package/contracts/shared/Service.sol +2 -4
  437. package/contracts/staking/Staking.sol +22 -17
  438. package/contracts/staking/StakingLib.sol +3 -1
  439. package/contracts/staking/StakingManager.sol +0 -3
  440. package/contracts/staking/StakingReader.sol +9 -17
  441. package/contracts/staking/StakingService.sol +6 -6
  442. package/contracts/staking/StakingServiceManager.sol +1 -4
  443. package/contracts/staking/StakingStore.sol +4 -6
  444. package/contracts/staking/TargetHandler.sol +4 -5
  445. package/contracts/type/ObjectType.sol +2 -31
  446. package/contracts/type/Referral.sol +6 -0
  447. package/contracts/type/RequestIdSet.sol +62 -0
  448. package/contracts/type/Seconds.sol +4 -0
  449. package/contracts/type/String.sol +30 -0
  450. package/contracts/type/Timestamp.sol +10 -1
  451. package/contracts/upgradeability/ProxyManager.sol +1 -5
  452. package/package.json +2 -1
  453. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
  454. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
  455. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
  456. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
@@ -7,13 +7,11 @@ import {IService} from "../shared/IService.sol";
7
7
  import {IStaking} from "../staking/IStaking.sol";
8
8
 
9
9
  import {AccessAdmin} from "../authorization/AccessAdmin.sol";
10
- import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
11
10
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
12
11
  import {ObjectType, REGISTRY} from "../type/ObjectType.sol";
13
12
  import {RoleId, RoleIdLib, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE} from "../type/RoleId.sol";
14
13
  import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
15
14
  import {Str} from "../type/String.sol";
16
- import {VersionPartLib} from "../type/Version.sol";
17
15
 
18
16
  /*
19
17
  1) GIF_MANAGER_ROLE
@@ -68,7 +66,6 @@ contract RegistryAdmin is
68
66
 
69
67
 
70
68
  function completeSetup(
71
- address registry,
72
69
  address authorization,
73
70
  address gifAdmin,
74
71
  address gifManager
@@ -80,19 +77,17 @@ contract RegistryAdmin is
80
77
  _checkAuthorization(authorization, REGISTRY(), getRelease(), false, true);
81
78
 
82
79
  // effects
83
- __RegistryLinked_init(registry);
84
-
85
80
  _authorization = IAuthorization(authorization);
86
81
 
87
- IRegistry registryContract = IRegistry(registry);
88
- _releaseRegistry = registryContract.getReleaseRegistryAddress();
89
- _tokenRegistry = registryContract.getTokenRegistryAddress();
90
- _staking = registryContract.getStakingAddress();
82
+ IRegistry registry = _getRegistry();
83
+ _releaseRegistry = registry.getReleaseRegistryAddress();
84
+ _tokenRegistry = registry.getTokenRegistryAddress();
85
+ _staking = registry.getStakingAddress();
91
86
  _stakingTargetHandler = address(IStaking(_staking).getTargetHandler());
92
87
  _stakingStore = address(IStaking(_staking).getStakingStore());
93
88
 
94
89
  // link nft ownability to registry
95
- _linkToNftOwnable(address(getRegistry()));
90
+ _linkToNftOwnable(address(_getRegistry()));
96
91
 
97
92
  _createRoles(_authorization);
98
93
 
@@ -137,7 +132,7 @@ contract RegistryAdmin is
137
132
  internal
138
133
  {
139
134
  // create unchecked registry targets
140
- _createTarget(address(getRegistry()), registryTargetName, TargetType.Core, false);
135
+ _createTarget(address(_getRegistry()), registryTargetName, TargetType.Core, false);
141
136
  _createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, TargetType.Core, false);
142
137
  _createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, TargetType.Core, false);
143
138
  _createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, TargetType.Core, false);
@@ -101,7 +101,7 @@ contract RegistryAuthorization
101
101
  AccessAdminLib.roleInfo(
102
102
  ADMIN_ROLE(),
103
103
  TargetType.Custom, // custom is only type that allows role removal
104
- 2, // TODO decide on max member count
104
+ 1, // TODO decide on max member count
105
105
  GIF_ADMIN_ROLE_NAME));
106
106
 
107
107
  // gif manager role
@@ -110,7 +110,7 @@ contract RegistryAuthorization
110
110
  AccessAdminLib.roleInfo(
111
111
  ADMIN_ROLE(),
112
112
  TargetType.Custom, // custom is only type that allows role removal
113
- 1, // TODO decide on max member count
113
+ 2, // TODO decide on max member count
114
114
  GIF_MANAGER_ROLE_NAME));
115
115
 
116
116
  }
@@ -33,11 +33,10 @@ contract RegistryService is
33
33
  onlyInitializing
34
34
  {
35
35
  (
36
- address authority,
37
- address registry
38
- ) = abi.decode(data, (address, address));
36
+ address authority
37
+ ) = abi.decode(data, (address));
39
38
 
40
- __Service_init(authority, registry, owner);
39
+ __Service_init(authority, owner);
41
40
  _registerInterface(type(IRegistryService).interfaceId);
42
41
  }
43
42
 
@@ -55,7 +54,7 @@ contract RegistryService is
55
54
  address owner;
56
55
  bytes memory data;
57
56
  (info, owner, data) = _getAndVerifyContractInfo(staking, NftIdLib.zero(), STAKING(), expectedOwner);
58
- info.nftId = getRegistry().register(info, owner, data);
57
+ info.nftId = _getRegistry().register(info, owner, data);
59
58
  }
60
59
 
61
60
 
@@ -71,8 +70,8 @@ contract RegistryService is
71
70
 
72
71
  address owner;
73
72
  bytes memory data;
74
- (info, owner, data) = _getAndVerifyContractInfo(instance, getRegistry().getNftId(), INSTANCE(), expectedOwner);
75
- info.nftId = getRegistry().register(info, owner, data);
73
+ (info, owner, data) = _getAndVerifyContractInfo(instance, _getRegistry().getNftId(), INSTANCE(), expectedOwner);
74
+ info.nftId = _getRegistry().register(info, owner, data);
76
75
 
77
76
  instance.linkToRegisteredNftId(); // asume safe
78
77
  }
@@ -97,7 +96,7 @@ contract RegistryService is
97
96
  address owner;
98
97
  bytes memory data;
99
98
  (info, owner, data) = _getAndVerifyContractInfo(component, expectedParentNftId, expectedType, expectedOwner);
100
- info.nftId = getRegistry().register(info, owner, data);
99
+ info.nftId = _getRegistry().register(info, owner, data);
101
100
  }
102
101
 
103
102
  function registerDistributor(IRegistry.ObjectInfo memory info, address owner, bytes memory data)
@@ -107,7 +106,7 @@ contract RegistryService is
107
106
  returns(NftId nftId)
108
107
  {
109
108
  _verifyObjectInfo(info, owner, DISTRIBUTOR());
110
- nftId = getRegistry().register(info, owner, data);
109
+ nftId = _getRegistry().register(info, owner, data);
111
110
  }
112
111
 
113
112
  function registerPolicy(IRegistry.ObjectInfo memory info, address owner, bytes memory data)
@@ -117,7 +116,7 @@ contract RegistryService is
117
116
  returns(NftId nftId)
118
117
  {
119
118
  _verifyObjectInfo(info, owner, POLICY());
120
- nftId = getRegistry().register(info, owner, data);
119
+ nftId = _getRegistry().register(info, owner, data);
121
120
  }
122
121
 
123
122
  function registerBundle(IRegistry.ObjectInfo memory info, address owner, bytes memory data)
@@ -127,7 +126,7 @@ contract RegistryService is
127
126
  returns(NftId nftId)
128
127
  {
129
128
  _verifyObjectInfo(info, owner, BUNDLE());
130
- nftId = getRegistry().register(info, owner, data);
129
+ nftId = _getRegistry().register(info, owner, data);
131
130
  }
132
131
 
133
132
  function registerStake(IRegistry.ObjectInfo memory info, address owner, bytes memory data)
@@ -137,7 +136,7 @@ contract RegistryService is
137
136
  returns(NftId nftId)
138
137
  {
139
138
  _verifyObjectInfo(info, owner, STAKE());
140
- nftId = getRegistry().register(info, owner, data);
139
+ nftId = _getRegistry().register(info, owner, data);
141
140
  }
142
141
 
143
142
  // Internal
@@ -214,7 +213,7 @@ contract RegistryService is
214
213
  revert ErrorRegistryServiceRegisterableOwnerZero(registerable);
215
214
  }
216
215
 
217
- if(getRegistry().isRegistered(initialOwner)) {
216
+ if(_getRegistry().isRegistered(initialOwner)) {
218
217
  revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable, initialOwner);
219
218
  }
220
219
  }
@@ -244,8 +243,8 @@ contract RegistryService is
244
243
  revert ErrorRegistryServiceInvalidInitialOwner(initialOwner);
245
244
  }
246
245
 
247
- if(getRegistry().isRegistered(initialOwner)) {
248
- ObjectType ownerType = getRegistry().getObjectInfo(initialOwner).objectType;
246
+ if(_getRegistry().isRegistered(initialOwner)) {
247
+ ObjectType ownerType = _getRegistry().getObjectInfo(initialOwner).objectType;
249
248
  if(ownerType == REGISTRY() || ownerType == STAKING() || ownerType == SERVICE() || ownerType == INSTANCE()) {
250
249
  revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, initialOwner);
251
250
  }
@@ -9,7 +9,6 @@ contract RegistryServiceManager is
9
9
  ProxyManager
10
10
  {
11
11
  error ErrorRegistryAccessManagerAuthorityZero();
12
- error ErrorRegistryAccessManagerRegistryZero();
13
12
 
14
13
  bytes32 constant public ACCESS_MANAGER_CREATION_CODE_HASH = 0x0;
15
14
 
@@ -18,22 +17,16 @@ contract RegistryServiceManager is
18
17
  /// @dev initializes proxy manager with registry service implementation and deploys registry
19
18
  constructor(
20
19
  address authority, // used by implementation
21
- address registry, // used by implementation
22
20
  bytes32 salt
23
21
  )
24
22
  {
25
23
  if(authority == address(0)) {
26
24
  revert ErrorRegistryAccessManagerAuthorityZero();
27
25
  }
28
-
29
- if(registry == address(0)) {
30
- revert ErrorRegistryAccessManagerRegistryZero();
31
- }
32
26
 
33
27
  RegistryService srv = new RegistryService{ salt: salt }();
34
- bytes memory data = abi.encode(authority, registry);
28
+ bytes memory data = abi.encode(authority);
35
29
  IUpgradeable upgradeable = initialize(
36
- registry,
37
30
  address(srv),
38
31
  data,
39
32
  salt);
@@ -13,7 +13,7 @@ import {ObjectType, ObjectTypeLib, RELEASE} from "../type/ObjectType.sol";
13
13
  import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
14
14
  import {RoleId, ADMIN_ROLE, RELEASE_REGISTRY_ROLE} from "../type/RoleId.sol";
15
15
  import {Str} from "../type/String.sol";
16
- import {VersionPartLib, VersionPart} from "../type/Version.sol";
16
+ import {VersionPart} from "../type/Version.sol";
17
17
 
18
18
 
19
19
  /// @dev The ReleaseAdmin contract implements the central authorization for the services of a specific release.
@@ -57,29 +57,20 @@ contract ReleaseAdmin is
57
57
 
58
58
 
59
59
  function completeSetup(
60
- address registry,
61
60
  address authorization,
62
61
  address releaseRegistry
63
62
  )
64
63
  external
65
64
  //onlyDeployer()
66
65
  {
67
- // checks
68
- AccessAdminLib.checkRegistry(registry);
69
66
 
70
67
  // effects
71
- //AccessManagerCloneable(
72
- // authority()).completeSetup(
73
- // registry);
74
-
75
- __RegistryLinked_init(registry);
76
-
77
68
  IServiceAuthorization serviceAuthorization = IServiceAuthorization(authorization);
78
69
  _checkAuthorization(address(serviceAuthorization), RELEASE(), getRelease(), true, true);
79
70
  _serviceAuthorization = serviceAuthorization;
80
71
 
81
72
  // link nft ownability to registry
82
- _linkToNftOwnable(registry);
73
+ _linkToNftOwnable(address(_getRegistry()));
83
74
 
84
75
  _createRoles(_serviceAuthorization);
85
76
 
@@ -7,7 +7,7 @@ import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManage
7
7
  import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
8
8
  import {IRegistry} from "./IRegistry.sol";
9
9
  import {IRelease} from "./IRelease.sol";
10
- import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
10
+ import {RegistryLinked} from "../shared/RegistryLinked.sol";
11
11
  import {IService} from "../shared/IService.sol";
12
12
  import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
13
13
 
@@ -33,16 +33,13 @@ import {VersionPart, VersionPartLib} from "../type/Version.sol";
33
33
  contract ReleaseRegistry is
34
34
  AccessManaged,
35
35
  ReleaseLifecycle,
36
- IRegistryLinked
36
+ RegistryLinked
37
37
  {
38
38
  event LogReleaseCreation(IAccessAdmin admin, VersionPart release, bytes32 salt);
39
39
  event LogReleaseActivation(VersionPart release);
40
40
  event LogReleaseDisabled(VersionPart release);
41
41
  event LogReleaseEnabled(VersionPart release);
42
42
 
43
- // constructor
44
- error ErrorReleaseRegistryNotRegistry(Registry registry);
45
-
46
43
  // _verifyServiceAuthorization
47
44
  error ErrorReleaseRegistryNotServiceAuth(address notAuth);
48
45
  error ErrorReleaseRegistryServiceAuthVersionMismatch(IServiceAuthorization auth, VersionPart expected, VersionPart actual);
@@ -69,7 +66,6 @@ contract ReleaseRegistry is
69
66
  error ErrorReleaseRegistryServiceOwnerRegistered(IService service, address owner);
70
67
 
71
68
  RegistryAdmin public immutable _registryAdmin;
72
- Registry public immutable _registry;
73
69
 
74
70
  mapping(VersionPart release => IRelease.ReleaseInfo info) internal _releaseInfo;
75
71
  VersionPart [] internal _release; // array of all created releases
@@ -83,17 +79,14 @@ contract ReleaseRegistry is
83
79
  uint256 internal _servicesToRegister = 0;
84
80
 
85
81
  // TODO move master relase admin outside constructor (same construction as for registry admin)
86
- constructor(Registry registry)
82
+ constructor()
87
83
  AccessManaged(msg.sender)
88
84
  {
89
- if (!ContractLib.isRegistry(address(registry))) {
90
- revert ErrorReleaseRegistryNotRegistry(registry);
91
- }
85
+ IRegistry registry = _getRegistry();
92
86
 
93
87
  setAuthority(registry.getAuthority());
94
88
 
95
- _registry = registry;
96
- _registryAdmin = RegistryAdmin(_registry.getRegistryAdminAddress());
89
+ _registryAdmin = RegistryAdmin(registry.getRegistryAdminAddress());
97
90
  _masterReleaseAdmin = new ReleaseAdmin(
98
91
  _cloneNewAccessManager());
99
92
 
@@ -115,7 +108,7 @@ contract ReleaseRegistry is
115
108
  }
116
109
 
117
110
  release = VersionPartLib.toVersionPart(release.toInt() + 1);
118
- _release.push(release);
111
+ _release.push(release); // TODO push only activated releases, _next keeps total release count
119
112
 
120
113
  _next = release;
121
114
  _releaseInfo[release].version = release;
@@ -216,7 +209,7 @@ contract ReleaseRegistry is
216
209
  releaseAdmin.setReleaseLocked(true);
217
210
 
218
211
  // register service with registry
219
- nftId = _registry.registerService(info, expectedOwner, serviceDomain, data);
212
+ nftId = _getRegistry().registerService(info, expectedOwner, serviceDomain, data);
220
213
  service.linkToRegisteredNftId();
221
214
  }
222
215
 
@@ -239,25 +232,27 @@ contract ReleaseRegistry is
239
232
  // grant special roles for registry/staking/pool services
240
233
  // this will enable access to core contracts functions
241
234
 
235
+ IRegistry registry = _getRegistry();
236
+
242
237
  // registry service MUST be registered for each release
243
- address service = _registry.getServiceAddress(REGISTRY(), release);
238
+ address service = registry.getServiceAddress(REGISTRY(), release);
244
239
  if(service == address(0)) {
245
240
  revert ErrorReleaseRegistryRegistryServiceMissing(release);
246
241
  }
247
242
 
248
243
  _registryAdmin.grantServiceRoleForAllVersions(IService(service), REGISTRY());
249
244
 
250
- service = _registry.getServiceAddress(STAKING(), release);
245
+ service = registry.getServiceAddress(STAKING(), release);
251
246
  if(service != address(0)) {
252
247
  _registryAdmin.grantServiceRoleForAllVersions(IService(service), STAKING());
253
248
  }
254
249
 
255
- service = _registry.getServiceAddress(COMPONENT(), release);
250
+ service = registry.getServiceAddress(COMPONENT(), release);
256
251
  if(service != address(0)) {
257
252
  _registryAdmin.grantServiceRoleForAllVersions(IService(service), COMPONENT());
258
253
  }
259
254
 
260
- service = _registry.getServiceAddress(POOL(), release);
255
+ service = registry.getServiceAddress(POOL(), release);
261
256
  if(service != address(0)) {
262
257
  _registryAdmin.grantServiceRoleForAllVersions(IService(service), POOL());
263
258
  }
@@ -350,12 +345,6 @@ contract ReleaseRegistry is
350
345
  return address(_registryAdmin);
351
346
  }
352
347
 
353
- //--- IRegistryLinked ------------------------------------------------------//
354
-
355
- function getRegistry() external view returns (IRegistry) {
356
- return _registry;
357
- }
358
-
359
348
  //--- private functions ----------------------------------------------------//
360
349
 
361
350
  function _setReleaseLocked(VersionPart release, bool locked)
@@ -387,7 +376,6 @@ contract ReleaseRegistry is
387
376
  release);
388
377
 
389
378
  clonedAdmin.completeSetup(
390
- address(_registry),
391
379
  address(serviceAuthorization),
392
380
  address(this)); // release registry (this contract)
393
381
 
@@ -519,7 +507,7 @@ contract ReleaseRegistry is
519
507
  revert ErrorReleaseRegistryServiceSelfRegistration(service);
520
508
  }
521
509
 
522
- if(_registry.isRegistered(initialOwner)) {
510
+ if(_getRegistry().isRegistered(initialOwner)) {
523
511
  revert ErrorReleaseRegistryServiceOwnerRegistered(service, initialOwner);
524
512
  }
525
513
  }
@@ -5,7 +5,7 @@ import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManage
5
5
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
6
6
 
7
7
  import {IRegistry} from "./IRegistry.sol";
8
- import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
8
+ import {RegistryLinked} from "../shared/RegistryLinked.sol";
9
9
  import {IStaking} from "../staking/IStaking.sol";
10
10
 
11
11
  import {ChainId, ChainIdLib} from "../type/ChainId.sol";
@@ -16,7 +16,7 @@ import {VersionPart} from "../type/Version.sol";
16
16
  /// Only whitelisted tokens can be used as default tokens for products, distribution and pools components.
17
17
  contract TokenRegistry is
18
18
  AccessManaged,
19
- IRegistryLinked
19
+ RegistryLinked
20
20
  {
21
21
  event LogTokenRegistryTokenRegistered(ChainId chainId, address token, uint256 decimals, string symbol);
22
22
  event LogTokenRegistryTokenGlobalStateSet(ChainId chainId, address token, bool active);
@@ -47,7 +47,6 @@ contract TokenRegistry is
47
47
  mapping(ChainId chainId => mapping(address token => mapping(VersionPart release => bool isActive))) internal _active;
48
48
  TokenInfo [] internal _token;
49
49
 
50
- IRegistry internal _registry;
51
50
  ChainId internal _chainId = ChainIdLib.current();
52
51
  IERC20Metadata internal _dipToken;
53
52
 
@@ -59,14 +58,13 @@ contract TokenRegistry is
59
58
  _;
60
59
  }
61
60
 
62
- constructor(IRegistry registry, IERC20Metadata dipToken)
61
+ constructor(IERC20Metadata dipToken)
63
62
  AccessManaged(msg.sender)
64
63
  {
65
64
  // set authority
66
- address authority = RegistryAdmin(registry.getRegistryAdminAddress()).authority();
65
+ address authority = RegistryAdmin(
66
+ _getRegistry().getRegistryAdminAddress()).authority();
67
67
  setAuthority(authority);
68
-
69
- _registry = registry;
70
68
 
71
69
  // TODO deal with chains without a dip token
72
70
  _dipToken = _verifyOnchainToken(address(dipToken));
@@ -180,7 +178,7 @@ contract TokenRegistry is
180
178
  // verify valid major version
181
179
  if(enforceVersionCheck) {
182
180
  uint256 version = release.toInt();
183
- if (!getRegistry().isActiveRelease(release)) {
181
+ if (!_getRegistry().isActiveRelease(release)) {
184
182
  revert ErrorTokenRegistryMajorVersionInvalid(release);
185
183
  }
186
184
  }
@@ -228,13 +226,6 @@ contract TokenRegistry is
228
226
  return address(_dipToken);
229
227
  }
230
228
 
231
- //--- IRegistryLinked --------------------------------------------------//
232
-
233
- /// @dev returns the dip token for this chain
234
- function getRegistry() public view returns (IRegistry) {
235
- return _registry;
236
- }
237
-
238
229
  //--- internal functions ------------------------------------------------//
239
230
 
240
231
 
@@ -33,7 +33,7 @@ abstract contract Component is
33
33
 
34
34
 
35
35
  modifier onlyChainNft() {
36
- if(msg.sender != getRegistry().getChainNftAddress()) {
36
+ if(msg.sender != _getRegistry().getChainNftAddress()) {
37
37
  revert ErrorComponentNotChainNft(msg.sender);
38
38
  }
39
39
  _;
@@ -50,7 +50,6 @@ abstract contract Component is
50
50
  /// @dev requires component parent to be registered
51
51
  function __Component_init(
52
52
  address authority,
53
- address registry,
54
53
  NftId parentNftId,
55
54
  string memory name,
56
55
  ObjectType componentType,
@@ -68,7 +67,6 @@ abstract contract Component is
68
67
 
69
68
  __Registerable_init(
70
69
  authority,
71
- registry,
72
70
  parentNftId,
73
71
  componentType,
74
72
  isInterceptor,
@@ -140,7 +138,7 @@ abstract contract Component is
140
138
 
141
139
 
142
140
  function isRegistered() public virtual view returns (bool) {
143
- return getRegistry().getNftIdForAddress(address(this)).gtz();
141
+ return _getRegistry().getNftIdForAddress(address(this)).gtz();
144
142
  }
145
143
 
146
144
 
@@ -212,6 +210,6 @@ abstract contract Component is
212
210
  /// @dev returns the service address for the specified domain
213
211
  /// gets address via lookup from registry using the major version form the linked instance
214
212
  function _getServiceAddress(ObjectType domain) internal view returns (address) {
215
- return getRegistry().getServiceAddress(domain, getRelease());
213
+ return _getRegistry().getServiceAddress(domain, getRelease());
216
214
  }
217
215
  }
@@ -52,11 +52,10 @@ contract ComponentService is
52
52
  onlyInitializing()
53
53
  {
54
54
  (
55
- address authority,
56
- address registry
57
- ) = abi.decode(data, (address, address));
55
+ address authority
56
+ ) = abi.decode(data, (address));
58
57
 
59
- __Service_init(authority, registry, owner);
58
+ __Service_init(authority, owner);
60
59
 
61
60
  _accountingService = IAccountingService(_getServiceAddress(ACCOUNTING()));
62
61
  _registryService = IRegistryService(_getServiceAddress(REGISTRY()));
@@ -75,7 +74,7 @@ contract ComponentService is
75
74
  returns (NftId componentNftId)
76
75
  {
77
76
  // check sender is registered product
78
- IRegistry registry = getRegistry();
77
+ IRegistry registry = _getRegistry();
79
78
  if (!registry.isObjectType(msg.sender, PRODUCT(), getRelease())) {
80
79
  revert ErrorComponentServiceCallerNotProduct(msg.sender);
81
80
  }
@@ -179,7 +178,7 @@ contract ComponentService is
179
178
  withdrawnAmount);
180
179
 
181
180
  // transfer amount to component owner
182
- address componentOwner = getRegistry().ownerOf(componentNftId);
181
+ address componentOwner = _getRegistry().ownerOf(componentNftId);
183
182
  TokenHandler tokenHandler = instanceReader.getTokenHandler(componentNftId);
184
183
  emit LogComponentServiceComponentFeesWithdrawn(
185
184
  componentNftId,
@@ -206,7 +205,7 @@ contract ComponentService is
206
205
  returns (NftId productNftId)
207
206
  {
208
207
  // check sender is registered instance
209
- IRegistry registry = getRegistry();
208
+ IRegistry registry = _getRegistry();
210
209
  if (!registry.isObjectType(msg.sender, INSTANCE(), getRelease())) {
211
210
  revert ErrorComponentServiceCallerNotInstance(msg.sender);
212
211
  }
@@ -461,6 +460,8 @@ contract ComponentService is
461
460
  returns (NftId componentNftId)
462
461
  {
463
462
  IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
463
+ // TODO consider adding release arg to _registryService.registerComponent() and similar
464
+ // in order to be 100% sure that services have same release?
464
465
  IRegistry.ObjectInfo memory info = _registryService.registerComponent(
465
466
  component,
466
467
  parentNftId,
@@ -500,7 +501,7 @@ contract ComponentService is
500
501
  InstanceAdmin instanceAdmin = instance.getInstanceAdmin();
501
502
 
502
503
  // deploy and wire token handler
503
- IRegistry registry = getRegistry();
504
+ IRegistry registry = _getRegistry();
504
505
  IComponents.ComponentInfo memory componentInfo = component.getInitialComponentInfo();
505
506
  componentInfo.tokenHandler = TokenHandlerDeployerLib.deployTokenHandler(
506
507
  address(registry),
@@ -517,7 +518,7 @@ contract ComponentService is
517
518
  component.linkToRegisteredNftId();
518
519
 
519
520
  // authorize
520
- instanceAdmin.initializeComponentAuthorization(componentAddress, componentType);
521
+ instanceAdmin.initializeComponentAuthorization(componentAddress, componentType, getRelease());
521
522
 
522
523
  emit LogComponentServiceRegistered(
523
524
  instance.getNftId(),
@@ -534,9 +535,10 @@ contract ComponentService is
534
535
  view
535
536
  {
536
537
  if (! instance.isTokenRegistryDisabled()) {
538
+ // TODO call token registry directlly?
537
539
  // check if provided token is whitelisted and active
538
540
  if (!ContractLib.isActiveToken(
539
- getRegistry().getTokenRegistryAddress(),
541
+ _getRegistry().getTokenRegistryAddress(),
540
542
  ChainIdLib.current(),
541
543
  token,
542
544
  AccessManagerCloneable(authority()).getRelease())
@@ -573,7 +575,7 @@ contract ComponentService is
573
575
  IComponents.FeeInfo memory info
574
576
  )
575
577
  {
576
- productNftId = getRegistry().getParentNftId(componentNftId);
578
+ productNftId = _getRegistry().getParentNftId(componentNftId);
577
579
  info = instanceReader.getFeeInfo(productNftId);
578
580
  }
579
581
 
@@ -590,25 +592,11 @@ contract ComponentService is
590
592
  IInstance instance
591
593
  )
592
594
  {
593
- IRegistry.ObjectInfo memory info;
594
- address instanceAddress;
595
-
596
- if (expectedType != COMPONENT()) {
597
- (info, instanceAddress) = ContractLib.getAndVerifyComponent(
598
- getRegistry(),
599
- msg.sender, // caller
600
- expectedType,
601
- isActive);
602
- } else {
603
- (info, instanceAddress) = ContractLib.getAndVerifyAnyComponent(
604
- getRegistry(),
605
- msg.sender,
606
- isActive);
607
- }
608
-
609
- // get component nft id and instance
610
- componentNftId = info.nftId;
611
- instance = IInstance(instanceAddress);
595
+ (componentNftId, instance) = ContractLib.getAndVerifyComponent(
596
+ msg.sender, // caller
597
+ expectedType,
598
+ getRelease(),
599
+ isActive);
612
600
  }
613
601
 
614
602
 
@@ -11,15 +11,13 @@ contract ComponentServiceManager is ProxyManager {
11
11
 
12
12
  /// @dev initializes proxy manager with service implementation
13
13
  constructor(
14
- address authority,
15
- address registry,
14
+ address authority,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  ComponentService svc = new ComponentService();
20
- bytes memory data = abi.encode(authority, registry);
19
+ bytes memory data = abi.encode(authority);
21
20
  IUpgradeable upgradeable = initialize(
22
- registry,
23
21
  address(svc),
24
22
  data,
25
23
  salt);