@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-ab05e7d-681

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 (483) 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 +64 -193
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +62 -157
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -126
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +63 -130
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +145 -100
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +84 -20
  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 +3 -45
  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 +67 -158
  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 +49 -112
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +197 -227
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +93 -184
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +48 -124
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +104 -106
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +76 -187
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +113 -224
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  50. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
  51. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  53. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  55. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
  57. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
  59. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  61. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  63. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
  65. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
  67. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  69. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  70. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  71. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  72. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +74 -193
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
  77. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +73 -192
  79. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +81 -200
  81. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
  83. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  84. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +81 -200
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  86. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
  87. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
  89. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  90. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  91. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  92. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
  93. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  94. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +18 -118
  95. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  96. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +92 -118
  97. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  98. package/artifacts/contracts/instance/Instance.sol/Instance.json +34 -181
  99. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +149 -207
  101. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
  103. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +236 -75
  105. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -167
  107. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +59 -148
  109. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  110. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -32
  111. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  112. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +68 -18
  113. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  114. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  115. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  116. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  117. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  119. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  120. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  121. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  122. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  123. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  124. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  125. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  126. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  127. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  128. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  129. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  131. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +67 -158
  134. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  136. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  138. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +52 -128
  139. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  140. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +26 -113
  141. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  142. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +53 -116
  143. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  144. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +69 -184
  145. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +68 -159
  147. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  148. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +56 -119
  149. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  151. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  152. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +96 -199
  153. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +80 -171
  155. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  156. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +31 -106
  157. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  158. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +55 -131
  159. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  160. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +38 -113
  161. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  162. package/artifacts/contracts/pool/Pool.sol/Pool.json +56 -119
  163. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  164. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +20 -25
  165. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  166. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +107 -210
  167. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  168. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +81 -172
  169. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  170. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +50 -165
  171. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +62 -153
  173. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  174. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +49 -112
  175. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  176. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  177. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  178. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +96 -211
  179. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  180. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +85 -176
  181. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  182. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +19 -106
  183. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  184. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +19 -106
  185. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  186. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +26 -113
  187. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +26 -113
  189. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  190. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +48 -124
  191. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  192. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +19 -106
  193. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  194. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +89 -204
  195. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  196. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
  197. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +78 -169
  199. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  200. package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -186
  201. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +69 -160
  203. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  204. package/artifacts/contracts/product/Product.sol/Product.json +49 -112
  205. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  206. package/artifacts/contracts/product/RiskService.sol/RiskService.json +46 -161
  207. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  208. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +60 -151
  209. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  211. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +56 -155
  213. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  214. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +185 -219
  215. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  216. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  217. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  218. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  219. package/artifacts/contracts/registry/Registry.sol/Registry.json +96 -314
  220. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  221. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +145 -207
  222. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  223. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
  224. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  225. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +213 -302
  226. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  227. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -162
  228. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  229. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +150 -208
  230. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  231. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  232. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  233. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +146 -181
  234. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  235. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  236. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  237. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -46
  238. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  239. package/artifacts/contracts/shared/Component.sol/Component.json +31 -124
  240. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  241. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +323 -198
  242. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  243. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +91 -166
  244. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  245. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +44 -24
  246. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  247. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  248. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  250. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +633 -0
  251. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  252. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +30 -136
  253. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  254. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +234 -113
  255. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  256. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -124
  257. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +2 -44
  260. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +2 -44
  262. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +17 -117
  264. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +2 -44
  266. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  267. package/artifacts/contracts/shared/IService.sol/IService.json +19 -106
  268. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  269. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  270. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +49 -112
  271. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  272. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  273. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  274. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  275. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +4 -46
  276. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  277. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +4 -46
  278. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  279. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +16 -116
  280. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  281. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +4 -46
  282. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  283. package/artifacts/contracts/shared/Service.sol/Service.json +18 -105
  284. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  285. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
  286. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  287. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
  288. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  289. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  290. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  291. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +64 -132
  292. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  293. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +31 -106
  294. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  295. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  296. package/artifacts/contracts/staking/Staking.sol/Staking.json +111 -195
  297. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  298. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  299. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  300. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +71 -156
  301. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  302. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +4 -46
  303. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  304. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +54 -157
  305. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  306. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +58 -149
  307. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  308. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -274
  309. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  310. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  311. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  312. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  313. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  314. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  318. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  320. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  322. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  325. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  326. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  327. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  329. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  330. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  331. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  333. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  335. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  337. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  339. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  340. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  341. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  343. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  345. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  347. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  350. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  352. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  354. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  356. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  357. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  358. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  359. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  360. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  361. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  362. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +40 -109
  363. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  364. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  365. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  366. package/contracts/accounting/AccountingService.sol +18 -30
  367. package/contracts/accounting/AccountingServiceManager.sol +3 -3
  368. package/contracts/accounting/IAccountingService.sol +7 -8
  369. package/contracts/authorization/AccessAdmin.sol +22 -44
  370. package/contracts/authorization/AccessAdminLib.sol +20 -3
  371. package/contracts/authorization/AccessManagerCloneable.sol +51 -24
  372. package/contracts/authorization/Authorization.sol +2 -2
  373. package/contracts/authorization/IAccessAdmin.sol +3 -2
  374. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  375. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  376. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  377. package/contracts/distribution/DistributionService.sol +13 -14
  378. package/contracts/distribution/DistributionServiceManager.sol +3 -3
  379. package/contracts/distribution/IDistributionService.sol +4 -3
  380. package/contracts/examples/flight/FlightLib.sol +337 -0
  381. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  382. package/contracts/examples/flight/FlightNft.sol +234 -0
  383. package/contracts/examples/flight/FlightOracle.sol +226 -0
  384. package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
  385. package/contracts/examples/flight/FlightPool.sol +89 -0
  386. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  387. package/contracts/examples/flight/FlightProduct.sol +687 -0
  388. package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
  389. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  390. package/contracts/examples/flight/FlightUSD.sol +28 -0
  391. package/contracts/examples/flight/originalV1.sol +396 -0
  392. package/contracts/instance/BaseStore.sol +4 -0
  393. package/contracts/instance/IBaseStore.sol +8 -0
  394. package/contracts/instance/IInstance.sol +1 -1
  395. package/contracts/instance/IInstanceService.sol +2 -0
  396. package/contracts/instance/Instance.sol +6 -3
  397. package/contracts/instance/InstanceAdmin.sol +14 -10
  398. package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
  399. package/contracts/instance/InstanceReader.sol +41 -7
  400. package/contracts/instance/InstanceService.sol +8 -4
  401. package/contracts/instance/InstanceServiceManager.sol +3 -3
  402. package/contracts/oracle/BasicOracle.sol +1 -0
  403. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  404. package/contracts/oracle/IOracleService.sol +12 -12
  405. package/contracts/oracle/Oracle.sol +4 -5
  406. package/contracts/oracle/OracleService.sol +1 -1
  407. package/contracts/oracle/OracleServiceManager.sol +3 -3
  408. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  409. package/contracts/pool/BundleService.sol +6 -6
  410. package/contracts/pool/BundleServiceManager.sol +3 -3
  411. package/contracts/pool/IBundleService.sol +1 -1
  412. package/contracts/pool/IPoolService.sol +1 -1
  413. package/contracts/pool/PoolLib.sol +4 -7
  414. package/contracts/pool/PoolService.sol +4 -4
  415. package/contracts/pool/PoolServiceManager.sol +3 -3
  416. package/contracts/product/ApplicationService.sol +5 -4
  417. package/contracts/product/ApplicationServiceManager.sol +3 -3
  418. package/contracts/product/BasicProductAuthorization.sol +7 -7
  419. package/contracts/product/ClaimService.sol +1 -1
  420. package/contracts/product/ClaimServiceManager.sol +3 -3
  421. package/contracts/product/PolicyService.sol +1 -1
  422. package/contracts/product/PolicyServiceLib.sol +5 -3
  423. package/contracts/product/PolicyServiceManager.sol +3 -3
  424. package/contracts/product/PricingService.sol +1 -1
  425. package/contracts/product/PricingServiceManager.sol +3 -3
  426. package/contracts/product/RiskService.sol +1 -1
  427. package/contracts/product/RiskServiceManager.sol +3 -3
  428. package/contracts/registry/ChainNft.sol +1 -1
  429. package/contracts/registry/IRegistry.sol +14 -20
  430. package/contracts/registry/IRegistryService.sol +14 -10
  431. package/contracts/registry/IRelease.sol +3 -0
  432. package/contracts/registry/Registry.sol +78 -124
  433. package/contracts/registry/RegistryAdmin.sol +23 -11
  434. package/contracts/registry/RegistryAuthorization.sol +1 -2
  435. package/contracts/registry/RegistryService.sol +78 -96
  436. package/contracts/registry/RegistryServiceManager.sol +3 -3
  437. package/contracts/registry/ReleaseAdmin.sol +19 -14
  438. package/contracts/registry/ReleaseRegistry.sol +50 -52
  439. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  440. package/contracts/shared/Component.sol +17 -24
  441. package/contracts/shared/ComponentService.sol +106 -28
  442. package/contracts/shared/ComponentServiceManager.sol +3 -3
  443. package/contracts/shared/EcdsaChecker.sol +5 -0
  444. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  445. package/contracts/shared/IComponent.sol +3 -5
  446. package/contracts/shared/IComponentService.sol +15 -0
  447. package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
  448. package/contracts/shared/IRegisterable.sol +3 -8
  449. package/contracts/shared/IRegistryLinked.sol +1 -3
  450. package/contracts/shared/IService.sol +2 -2
  451. package/contracts/shared/InstanceLinkedComponent.sol +126 -40
  452. package/contracts/shared/NftOwnable.sol +14 -1
  453. package/contracts/shared/PolicyHolder.sol +2 -2
  454. package/contracts/shared/Registerable.sol +18 -36
  455. package/contracts/shared/RegistryLinked.sol +4 -11
  456. package/contracts/shared/Service.sol +5 -6
  457. package/contracts/shared/TokenHandler.sol +1 -4
  458. package/contracts/staking/IStaking.sol +4 -2
  459. package/contracts/staking/IStakingService.sol +1 -1
  460. package/contracts/staking/Staking.sol +18 -7
  461. package/contracts/staking/StakingManager.sol +3 -3
  462. package/contracts/staking/StakingService.sol +8 -11
  463. package/contracts/staking/StakingServiceManager.sol +4 -3
  464. package/contracts/staking/StakingStore.sol +8 -10
  465. package/contracts/type/ObjectType.sol +2 -31
  466. package/contracts/type/Referral.sol +6 -0
  467. package/contracts/type/RequestIdSet.sol +62 -0
  468. package/contracts/type/Seconds.sol +4 -0
  469. package/contracts/type/String.sol +30 -0
  470. package/contracts/type/Timestamp.sol +10 -1
  471. package/contracts/type/Version.sol +16 -15
  472. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  473. package/contracts/upgradeability/ProxyManager.sol +50 -46
  474. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  475. package/package.json +2 -1
  476. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  477. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  478. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  479. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  480. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  481. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  482. package/contracts/shared/IVersionable.sol +0 -19
  483. package/contracts/shared/Versionable.sol +0 -47
@@ -1,18 +1,26 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
-
5
- import {Amount} from "../type/Amount.sol";
6
- import {Component} from "./Component.sol";
7
- import {IComponentService} from "./IComponentService.sol";
8
- import {IInstanceLinkedComponent} from "./IInstanceLinkedComponent.sol";
9
4
  import {IAuthorization} from "../authorization/IAuthorization.sol";
5
+ import {IAuthorizedComponent} from "../shared/IAuthorizedComponent.sol";
10
6
  import {IComponents} from "../instance/module/IComponents.sol";
7
+ import {IComponentService} from "./IComponentService.sol";
11
8
  import {IInstance} from "../instance/IInstance.sol";
9
+ import {IInstanceLinkedComponent} from "./IInstanceLinkedComponent.sol";
10
+ import {IInstanceService} from "../instance/IInstanceService.sol";
11
+ import {IOracleService} from "../oracle/IOracleService.sol";
12
+
13
+ import {Amount} from "../type/Amount.sol";
14
+ import {Component} from "./Component.sol";
12
15
  import {InstanceReader} from "../instance/InstanceReader.sol";
13
16
  import {IRegistry} from "../registry/IRegistry.sol";
14
17
  import {NftId} from "../type/NftId.sol";
15
- import {ObjectType, COMPONENT, INSTANCE, PRODUCT} from "../type/ObjectType.sol";
18
+ import {ObjectType, COMPONENT, INSTANCE, ORACLE, PRODUCT} from "../type/ObjectType.sol";
19
+ import {RequestId} from "../type/RequestId.sol";
20
+ import {RoleId, RoleIdLib} from "../type/RoleId.sol";
21
+ import {TokenHandler} from "../shared/TokenHandler.sol";
22
+ import {Timestamp} from "../type/Timestamp.sol";
23
+ import {VersionPart} from "../type/Version.sol";
16
24
 
17
25
  // then add (Distribution|Pool|Product)Upradeable that also intherit from Versionable
18
26
  // same pattern as for Service which is also upgradeable
@@ -25,19 +33,80 @@ abstract contract InstanceLinkedComponent is
25
33
 
26
34
  struct InstanceLinkedComponentStorage {
27
35
  IInstance _instance; // instance for this component
36
+ InstanceReader _instanceReader; // instance reader for this component
28
37
  IAuthorization _initialAuthorization;
38
+ IComponentService _componentService;
39
+ IOracleService _oracleService;
29
40
  }
30
41
 
42
+ //--- view functions ----------------------------------------------------//
43
+
31
44
  /// @inheritdoc IInstanceLinkedComponent
32
- function getInstance() public view virtual returns (IInstance instance) {
45
+ function getInstance() public view virtual override returns (IInstance instance) {
33
46
  return _getInstanceLinkedComponentStorage()._instance;
34
47
  }
35
48
 
36
- /// @inheritdoc IInstanceLinkedComponent
49
+
50
+ /// @inheritdoc IAuthorizedComponent
37
51
  function getAuthorization() external view virtual returns (IAuthorization authorization) {
38
52
  return _getInstanceLinkedComponentStorage()._initialAuthorization;
39
53
  }
40
54
 
55
+
56
+ /// @inheritdoc IInstanceLinkedComponent
57
+ function withdrawFees(Amount amount)
58
+ external
59
+ virtual
60
+ restricted()
61
+ onlyOwner()
62
+ returns (Amount withdrawnAmount)
63
+ {
64
+ return _withdrawFees(amount);
65
+ }
66
+
67
+ //--- internal functions ------------------------------------------------//
68
+
69
+ function _sendRequest(
70
+ NftId oracleNftId,
71
+ bytes memory requestData,
72
+ Timestamp expiryAt,
73
+ string memory callbackMethod
74
+ )
75
+ internal
76
+ virtual
77
+ returns (RequestId requestId)
78
+ {
79
+ return _getInstanceLinkedComponentStorage()._oracleService.request(
80
+ oracleNftId,
81
+ requestData,
82
+ expiryAt,
83
+ callbackMethod);
84
+ }
85
+
86
+
87
+ function _cancelRequest(RequestId requestId)
88
+ internal
89
+ virtual
90
+ {
91
+ _getInstanceLinkedComponentStorage()._oracleService.cancel(requestId);
92
+ }
93
+
94
+
95
+ function _resendRequest(RequestId requestId)
96
+ internal
97
+ virtual
98
+ {
99
+ _getInstanceLinkedComponentStorage()._oracleService.resend(requestId);
100
+ }
101
+
102
+
103
+ function _getInstanceLinkedComponentStorage() private pure returns (InstanceLinkedComponentStorage storage $) {
104
+ assembly {
105
+ $.slot := INSTANCE_LINKED_COMPONENT_LOCATION_V1
106
+ }
107
+ }
108
+
109
+
41
110
  function __InstanceLinkedComponent_init(
42
111
  address registry,
43
112
  NftId parentNftId,
@@ -47,64 +116,80 @@ abstract contract InstanceLinkedComponent is
47
116
  bool isInterceptor,
48
117
  address initialOwner
49
118
  )
50
- internal
119
+ internal
51
120
  virtual
52
121
  onlyInitializing()
53
122
  {
54
- // TODO calling registry and checking release before component is initialized
55
- // at least breaks order of checks -> e.g. if registry is not contract no meaningfull error will be given
56
- IInstance instance = _checkAndGetInstance(registry, parentNftId, componentType);
123
+ // validate registry, nft ids and get parent nft id
124
+ NftId instanceNftId = _checkAndGetInstanceNftId(
125
+ registry,
126
+ parentNftId,
127
+ componentType);
128
+
129
+ // set and check linked instance
130
+ InstanceLinkedComponentStorage storage $ = _getInstanceLinkedComponentStorage();
131
+ $._instance = IInstance(
132
+ IRegistry(registry).getObjectAddress(instanceNftId));
57
133
 
58
134
  // set component specific parameters
59
135
  __Component_init(
60
- instance.authority(),
136
+ $._instance.authority(), // instance linked components need to point to instance admin
61
137
  registry,
62
138
  parentNftId,
63
139
  name,
64
- componentType,
140
+ componentType,
65
141
  isInterceptor,
66
142
  initialOwner,
67
143
  ""); // registry data
68
144
 
69
145
  // set instance linked specific parameters
70
- InstanceLinkedComponentStorage storage $ = _getInstanceLinkedComponentStorage();
71
- $._instance = instance;
146
+ $._instanceReader = $._instance.getInstanceReader();
72
147
  $._initialAuthorization = authorization;
148
+ $._componentService = IComponentService(_getServiceAddress(COMPONENT()));
149
+ $._oracleService = IOracleService(_getServiceAddress(ORACLE()));
73
150
 
74
151
  // register interfaces
75
152
  _registerInterface(type(IInstanceLinkedComponent).interfaceId);
76
153
  }
77
154
 
78
- function _checkAndGetInstance(
155
+
156
+ function _checkAndGetInstanceNftId(
79
157
  address registryAddress,
80
158
  NftId parentNftId,
81
159
  ObjectType componentType
82
160
  )
83
- private
161
+ internal
84
162
  view
85
- returns (IInstance instance)
163
+ returns (NftId instanceNftId)
86
164
  {
87
- NftId instanceNftId;
88
- IRegistry registry = IRegistry(registryAddress);
89
-
90
- if(componentType == PRODUCT()) {
91
- instanceNftId = parentNftId;
92
- } else {
93
- NftId productNftId = parentNftId;
94
- instanceNftId = registry.getParentNftId(productNftId);
165
+ // if product, then parent is already instance
166
+ if (componentType == PRODUCT()) {
167
+ _checkAndGetRegistry(registryAddress, parentNftId, INSTANCE());
168
+ return parentNftId;
95
169
  }
96
170
 
97
- IRegistry.ObjectInfo memory info = registry.getObjectInfo(instanceNftId);
171
+ // if not product parent is product, and parent of product is instance
172
+ IRegistry registry = _checkAndGetRegistry(registryAddress, parentNftId, PRODUCT());
173
+ return registry.getParentNftId(parentNftId);
174
+ }
98
175
 
99
- if (info.objectType != INSTANCE()) {
100
- revert ErrorInstanceLinkedComponentInstanceInvalid();
101
- }
176
+ /// @dev checks the and gets registry.
177
+ /// validates registry using a provided nft id and expected object type.
178
+ function _checkAndGetRegistry(
179
+ address registryAddress,
180
+ NftId objectNftId,
181
+ ObjectType requiredType
182
+ )
183
+ internal
184
+ view
185
+ returns (IRegistry registry)
186
+ {
187
+ registry = IRegistry(registryAddress);
188
+ IRegistry.ObjectInfo memory info = registry.getObjectInfo(objectNftId);
102
189
 
103
- if(info.release != getRelease()) {
104
- revert ErrorInstanceLinkedComponentInstanceMismatch(info.release, getRelease());
190
+ if (info.objectType != requiredType) {
191
+ revert ErrorInstanceLinkedComponentTypeMismatch(requiredType, info.objectType);
105
192
  }
106
-
107
- instance = IInstance(info.objectAddress);
108
193
  }
109
194
 
110
195
 
@@ -136,12 +221,13 @@ abstract contract InstanceLinkedComponent is
136
221
 
137
222
  /// @dev returns reader for linked instance
138
223
  function _getInstanceReader() internal view returns (InstanceReader reader) {
139
- return _getInstanceLinkedComponentStorage()._instance.getInstanceReader();
224
+ return _getInstanceLinkedComponentStorage()._instanceReader;
140
225
  }
141
226
 
142
- function _getInstanceLinkedComponentStorage() private pure returns (InstanceLinkedComponentStorage storage $) {
143
- assembly {
144
- $.slot := INSTANCE_LINKED_COMPONENT_LOCATION_V1
145
- }
227
+ function _withdrawFees(Amount amount)
228
+ internal
229
+ returns (Amount withdrawnAmount)
230
+ {
231
+ return _getInstanceLinkedComponentStorage()._componentService.withdrawFees(amount);
146
232
  }
147
233
  }
@@ -4,6 +4,7 @@ pragma solidity ^0.8.20;
4
4
  import {InitializableERC165} from "./InitializableERC165.sol";
5
5
  import {INftOwnable} from "./INftOwnable.sol";
6
6
  import {NftId} from "../type/NftId.sol";
7
+ import {ObjectType} from "../type/ObjectType.sol";
7
8
  import {RegistryLinked} from "./RegistryLinked.sol";
8
9
 
9
10
  contract NftOwnable is
@@ -34,8 +35,20 @@ contract NftOwnable is
34
35
  _;
35
36
  }
36
37
 
38
+ modifier onlyNftOfType(NftId nftId, ObjectType expectedObjectType) {
39
+ _checkNftType(nftId, expectedObjectType);
40
+ _;
41
+ }
42
+
43
+ function _checkNftType(NftId nftId, ObjectType expectedObjectType) internal view {
44
+ if(expectedObjectType.eqz() || !getRegistry().isObjectType(nftId, expectedObjectType)) {
45
+ revert ErrorNftOwnableInvalidType(nftId, expectedObjectType);
46
+ }
47
+ }
48
+
49
+
37
50
  /// @dev Initialization for upgradable contracts.
38
- // used in __Registerable_init, ProxyManager.initialize
51
+ // used in __Registerable_init, ProxyManager._preDeployChecksAndSetup
39
52
  function __NftOwnable_init(
40
53
  address registry,
41
54
  address initialOwner
@@ -23,7 +23,7 @@ contract PolicyHolder is
23
23
  // callbacks must only be allowed from the policy and claim services
24
24
  // will need a release parameter to fetch the right service addresses for the modifiers
25
25
 
26
- function __PolicyHolder_init(
26
+ function _initializePolicyHolder(
27
27
  address registryAddress
28
28
  )
29
29
  internal
@@ -47,7 +47,7 @@ contract PolicyHolder is
47
47
  /// @dev empty default implementation
48
48
  function payoutExecuted(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary) external virtual {}
49
49
 
50
- //--- IERC721 functions ---------------//
50
+ //--- IERC165 functions ---------------//
51
51
  function onERC721Received(
52
52
  address, // operator
53
53
  address, // from
@@ -9,16 +9,15 @@ import {ContractLib} from "../shared/ContractLib.sol";
9
9
  import {NftId, NftIdLib} from "../type/NftId.sol";
10
10
  import {NftOwnable} from "../shared/NftOwnable.sol";
11
11
  import {ObjectType} from "../type/ObjectType.sol";
12
- import {Versionable} from "../shared/Versionable.sol";
13
12
  import {VersionPart, VersionPartLib} from "../type/Version.sol";
14
13
 
15
14
  import {IRegistry} from "../registry/IRegistry.sol";
16
15
  import {IRegisterable} from "./IRegisterable.sol";
16
+ import {IRelease} from "../registry/IRelease.sol";
17
17
 
18
18
  abstract contract Registerable is
19
19
  AccessManagedUpgradeable,
20
20
  NftOwnable,
21
- Versionable,
22
21
  IRegisterable
23
22
  {
24
23
  // keccak256(abi.encode(uint256(keccak256("gif-next.contracts.shared.Registerable.sol")) - 1)) & ~bytes32(uint256(0xff));
@@ -38,19 +37,6 @@ abstract contract Registerable is
38
37
  _;
39
38
  }
40
39
 
41
- // TODO move to registerables verification library
42
- modifier onlyNftOfType(NftId nftId, ObjectType expectedObjectType) {
43
- _checkNftType(nftId, expectedObjectType);
44
- _;
45
- }
46
-
47
- // TODO move to registerables verification library
48
- function _checkNftType(NftId nftId, ObjectType expectedObjectType) internal view {
49
- if(expectedObjectType.eqz() || !getRegistry().isObjectType(nftId, expectedObjectType, getRelease())) {
50
- revert ErrorNftOwnableInvalidType(nftId, expectedObjectType);
51
- }
52
- }
53
-
54
40
  function __Registerable_init(
55
41
  address authority,
56
42
  address registry,
@@ -58,7 +44,7 @@ abstract contract Registerable is
58
44
  ObjectType objectType,
59
45
  bool isInterceptor,
60
46
  address initialOwner,
61
- bytes memory data
47
+ bytes memory data // writeonly data that will saved in the object info record of the registry
62
48
  )
63
49
  internal
64
50
  virtual
@@ -68,20 +54,14 @@ abstract contract Registerable is
68
54
  revert ErrorAuthorityInvalid(authority);
69
55
  }
70
56
 
71
- // release must allign with authority -> not a release check of third contract...
72
- VersionPart release = AccessManagerCloneable(authority).getRelease();
73
-
74
57
  __AccessManaged_init(authority);
75
58
  __NftOwnable_init(registry, initialOwner);
76
- __Versionable_init(release);
77
59
 
78
60
  RegisterableStorage storage $ = _getRegisterableStorage();
79
61
  $._parentNftId = parentNftId;
80
62
  $._objectType = objectType;
81
63
  $._isInterceptor = isInterceptor;
82
- if(data.length > 0) {
83
- $._data = data;
84
- }
64
+ $._data = data;
85
65
 
86
66
  _registerInterface(type(IAccessManaged).interfaceId);
87
67
  }
@@ -92,6 +72,13 @@ abstract contract Registerable is
92
72
  return !AccessManagerCloneable(authority()).isTargetClosed(address(this));
93
73
  }
94
74
 
75
+
76
+ /// @inheritdoc IRelease
77
+ function getRelease() public virtual view returns (VersionPart release) {
78
+ return AccessManagerCloneable(authority()).getRelease();
79
+ }
80
+
81
+
95
82
  /// @inheritdoc IRegisterable
96
83
  function getInitialInfo()
97
84
  public
@@ -100,19 +87,14 @@ abstract contract Registerable is
100
87
  returns (IRegistry.ObjectInfo memory info)
101
88
  {
102
89
  RegisterableStorage storage $ = _getRegisterableStorage();
103
- return (
104
- IRegistry.ObjectInfo(
105
- NftIdLib.zero(),
106
- $._parentNftId,
107
- $._objectType,
108
- getRelease(),
109
- $._isInterceptor,
110
- address(this))
111
- );
112
- }
113
-
114
- function getInitialData() public view virtual returns (bytes memory data) {
115
- return _getRegisterableStorage()._data;
90
+ return IRegistry.ObjectInfo(
91
+ NftIdLib.zero(),
92
+ $._parentNftId,
93
+ $._objectType,
94
+ $._isInterceptor,
95
+ address(this),
96
+ getOwner(),
97
+ $._data);
116
98
  }
117
99
 
118
100
 
@@ -12,27 +12,20 @@ contract RegistryLinked is
12
12
  IRegistryLinked
13
13
  {
14
14
 
15
- // priorize simplicity and size over using standard upgradeability structs
16
- // registry address MUST NOT be upgraded
15
+ // priorize simplicity and size over using standard upgradeability structs
17
16
  IRegistry private _registry;
18
17
 
19
18
  /// @dev initialization for upgradable contracts
20
- // used in RegistryAdmin / InstanceAdmin / ReleaseAdmin.completeSetup()
19
+ // used in _initializeRegisterable
21
20
  function __RegistryLinked_init(
22
21
  address registry
23
22
  )
24
23
  internal
25
24
  virtual
25
+ onlyInitializing()
26
26
  {
27
- if(address(_registry) != address(0) ) {
28
- if(_registry != IRegistry(registry)) {
29
- revert ErrorRegistryLinkedRegistryAlreadyInitialized(address(this), address(_registry));
30
- }
31
- return;
32
- }
33
-
34
27
  if (!ContractLib.isRegistry(registry)) {
35
- revert ErrorRegistryLinkedNotRegistry(address(this), registry);
28
+ revert ErrorNotRegistry(registry);
36
29
  }
37
30
 
38
31
  _registry = IRegistry(registry);
@@ -5,19 +5,18 @@ import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/ut
5
5
 
6
6
  import {IRegistry} from "../registry/IRegistry.sol";
7
7
  import {IService} from "./IService.sol";
8
- import {IVersionable} from "../shared/IVersionable.sol";
8
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
9
9
  import {ObjectType, SERVICE} from "../type/ObjectType.sol";
10
10
  import {Registerable} from "./Registerable.sol";
11
11
  import {RoleId, RoleIdLib} from "../type/RoleId.sol";
12
- import {Version, VersionLib, VersionPartLib} from "../type/Version.sol";
13
- import {Versionable} from "../shared/Versionable.sol";
14
- import {Upgradeable} from "../upgradeability/Upgradeable.sol";
12
+ import {Version, VersionLib} from "../type/Version.sol";
13
+ import {Versionable} from "../upgradeability/Versionable.sol";
15
14
 
16
15
 
17
16
  /// @dev service base contract
18
17
  abstract contract Service is
19
- Registerable,
20
- Upgradeable,
18
+ Registerable,
19
+ Versionable,
21
20
  ReentrancyGuardUpgradeable,
22
21
  IService
23
22
  {
@@ -10,7 +10,6 @@ import {ContractLib} from "../shared/ContractLib.sol";
10
10
  import {IRegistry} from "../registry/IRegistry.sol";
11
11
  import {NftId} from "../type/NftId.sol";
12
12
  import {SERVICE} from "../type/ObjectType.sol";
13
- import {VersionPart} from "../type/Version.sol";
14
13
 
15
14
 
16
15
  /// @dev Token specific transfer helper base contract.
@@ -50,7 +49,6 @@ contract TokenHandlerBase {
50
49
  IERC20Metadata public immutable TOKEN;
51
50
  address public immutable COMPONENT;
52
51
  NftId public immutable NFT_ID;
53
- VersionPart public immutable RELEASE;
54
52
 
55
53
  address internal _wallet;
56
54
 
@@ -71,7 +69,6 @@ contract TokenHandlerBase {
71
69
  REGISTRY = IRegistry(registry);
72
70
  COMPONENT = component;
73
71
  NFT_ID = REGISTRY.getNftIdForAddress(component);
74
- RELEASE = REGISTRY.getObjectRelease(NFT_ID);
75
72
 
76
73
  if (NFT_ID.eqz()) {
77
74
  revert ErrorTokenHandlerComponentNotRegistered(component);
@@ -257,7 +254,7 @@ contract TokenHandler is
257
254
  error ErrorTokenHandlerNotService(address service);
258
255
 
259
256
  modifier onlyService() {
260
- if (!REGISTRY.isObjectType(msg.sender, SERVICE(), RELEASE)) {
257
+ if (!REGISTRY.isObjectType(msg.sender, SERVICE())) {
261
258
  revert ErrorTokenHandlerNotService(msg.sender);
262
259
  }
263
260
  _;
@@ -4,7 +4,7 @@ pragma solidity ^0.8.20;
4
4
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
5
 
6
6
  import {IComponent} from "../shared/IComponent.sol";
7
- import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
7
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
8
8
 
9
9
  import {Amount} from "../type/Amount.sol";
10
10
  import {Blocknumber} from "../type/Blocknumber.sol";
@@ -22,9 +22,11 @@ import {VersionPart} from "../type/Version.sol";
22
22
 
23
23
  interface IStaking is
24
24
  IComponent,
25
- IUpgradeable
25
+ IVersionable
26
26
  {
27
27
 
28
+ event LogStakingTokenHandlerDeployed(NftId componentNftId, address tokenHandler, address token);
29
+
28
30
  // owner functions
29
31
  event LogStakingStakingRateSet(ChainId chainId, address token, UFixed newStakingRate, UFixed oldStakingRate, Blocknumber lastUpdateIn);
30
32
  event LogStakingStakingServiceSet(address stakingService, VersionPart release, address oldStakingService);
@@ -17,7 +17,7 @@ interface IStakingService is IService
17
17
  {
18
18
 
19
19
  event LogStakingServiceProtocolTargetRegistered(NftId protocolNftId);
20
- event LogStakingServiceInstanceTargetRegistered(NftId instanceNftId, uint256 chainId);
20
+ event LogStakingServiceInstanceTargetRegistered(NftId instanceNftId, uint256 chainId, Seconds initialLockingPeriod, UFixed initialRewardRate);
21
21
  event LogStakingServiceLockingPeriodSet(NftId targetNftId, Seconds oldLockingDuration, Seconds lockingDuration);
22
22
  event LogStakingServiceRewardRateSet(NftId targetNftId, UFixed oldRewardRate, UFixed rewardRate);
23
23
 
@@ -4,10 +4,11 @@ pragma solidity ^0.8.20;
4
4
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
5
 
6
6
  import {IRegistry} from "../registry/IRegistry.sol";
7
+ import {IRelease} from "../registry/IRelease.sol";
7
8
  import {IStaking} from "./IStaking.sol";
8
9
  import {IStakingService} from "./IStakingService.sol";
9
10
  import {ITargetLimitHandler} from "./ITargetLimitHandler.sol";
10
- import {IVersionable} from "../shared/IVersionable.sol";
11
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
11
12
 
12
13
  import {Amount, AmountLib} from "../type/Amount.sol";
13
14
  import {Blocknumber} from "../type/Blocknumber.sol";
@@ -15,7 +16,7 @@ import {ChainId, ChainIdLib} from "../type/ChainId.sol";
15
16
  import {Component} from "../shared/Component.sol";
16
17
  import {IComponent} from "../shared/IComponent.sol";
17
18
  import {NftId} from "../type/NftId.sol";
18
- import {ObjectType, PROTOCOL, STAKE, STAKING, TARGET} from "../type/ObjectType.sol";
19
+ import {ObjectType, PROTOCOL, INSTANCE, STAKE, STAKING, TARGET} from "../type/ObjectType.sol";
19
20
  import {Seconds, SecondsLib} from "../type/Seconds.sol";
20
21
  import {Registerable} from "../shared/Registerable.sol";
21
22
  import {StakingLib} from "./StakingLib.sol";
@@ -27,13 +28,12 @@ import {TokenHandlerDeployerLib} from "../shared/TokenHandlerDeployerLib.sol";
27
28
  import {TokenRegistry} from "../registry/TokenRegistry.sol";
28
29
  import {UFixed, UFixedLib} from "../type/UFixed.sol";
29
30
  import {Version, VersionLib, VersionPart, VersionPartLib} from "../type/Version.sol";
30
- import {Versionable} from "../shared/Versionable.sol";
31
- import {Upgradeable} from "../upgradeability/Upgradeable.sol";
31
+ import {Versionable} from "../upgradeability/Versionable.sol";
32
32
 
33
33
 
34
34
  contract Staking is
35
35
  Component,
36
- Upgradeable,
36
+ Versionable,
37
37
  IStaking
38
38
  {
39
39
  string public constant CONTRACT_NAME = "Staking";
@@ -86,6 +86,7 @@ contract Staking is
86
86
  address(this),
87
87
  dipToken,
88
88
  getRegistry().getAuthority());
89
+ emit LogStakingTokenHandlerDeployed(getNftId(), address($._tokenHandler), dipToken);
89
90
  }
90
91
 
91
92
 
@@ -649,11 +650,21 @@ contract Staking is
649
650
  return _getStakingStorage()._tokenHandler;
650
651
  }
651
652
 
653
+ // from IRegisterable
654
+ function getRelease()
655
+ public
656
+ pure
657
+ virtual override (IRelease, Registerable)
658
+ returns(VersionPart)
659
+ {
660
+ return VersionPartLib.toVersionPart(3);
661
+ }
662
+
652
663
  // from IVersionable
653
664
  function getVersion()
654
665
  public
655
666
  pure
656
- virtual override (IVersionable, Versionable)
667
+ virtual override (Component, IVersionable, Versionable)
657
668
  returns(Version)
658
669
  {
659
670
  return VersionLib.toVersion(3,0,0);
@@ -737,7 +748,7 @@ contract Staking is
737
748
  // initialize component
738
749
  __Component_init(
739
750
  registry.getAuthority(),
740
- registryAddress,
751
+ address(registry),
741
752
  registry.getNftId(), // parent nft id
742
753
  CONTRACT_NAME,
743
754
  STAKING(),
@@ -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 {Staking} from "./Staking.sol";
7
7
 
@@ -32,13 +32,13 @@ contract StakingManager is
32
32
  stakingStore,
33
33
  tokenRegistry);
34
34
 
35
- IUpgradeable upgradeable = initialize(
35
+ IVersionable versionable = initialize(
36
36
  registry,
37
37
  _initialImplementation,
38
38
  _initializationData,
39
39
  salt);
40
40
 
41
- _staking = Staking(address(upgradeable));
41
+ _staking = Staking(address(versionable));
42
42
  }
43
43
 
44
44
  //--- view functions ----------------------------------------------------//