@etherisc/gif-next 3.0.0-2c4b8cb-070 → 3.0.0-2e16ebd-614

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 (487) hide show
  1. package/README.md +0 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +139 -72
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +110 -116
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +72 -33
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +89 -66
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +122 -101
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
  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 +20 -10
  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 +18 -42
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +126 -75
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +72 -57
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +198 -139
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -150
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -56
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -32
  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 +166 -104
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +200 -138
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +159 -102
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
  53. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  54. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
  55. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
  57. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  60. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
  63. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  64. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
  66. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +78 -26
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +145 -51
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +169 -147
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +77 -179
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  85. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  101. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
  111. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +94 -66
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
  136. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  137. package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
  166. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  167. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
  178. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  179. package/artifacts/contracts/product/Product.sol/Product.json +72 -57
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -96
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +163 -142
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +159 -150
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +127 -185
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
  212. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  213. package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
  220. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  222. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
  223. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
  225. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
  227. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  228. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  229. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -28
  230. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
  232. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
  234. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
  236. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
  238. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
  240. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  241. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  242. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +72 -57
  243. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  244. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  245. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  246. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  247. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -34
  248. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  249. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
  250. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
  252. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  253. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
  254. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
  256. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  257. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
  258. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  259. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
  260. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  261. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  262. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  263. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
  264. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  265. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
  266. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  267. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
  268. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  269. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  270. package/artifacts/contracts/staking/Staking.sol/Staking.json +170 -109
  271. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  272. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
  273. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  274. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
  275. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  276. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
  277. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  278. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
  279. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  280. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
  281. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  282. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
  283. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  284. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
  285. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  286. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  287. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  288. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  292. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  294. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  296. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  299. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  300. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  301. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  303. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  304. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  305. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +25 -22
  307. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  309. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -23
  311. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  313. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  315. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  317. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -21
  319. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/String.sol/StrLib.json +2 -21
  324. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -36
  326. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  329. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
  331. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
  332. package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
  333. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  334. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
  335. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  336. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
  337. package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
  338. package/contracts/accounting/AccountingService.sol +5 -6
  339. package/contracts/accounting/AccountingServiceManager.sol +4 -6
  340. package/contracts/accounting/IAccountingService.sol +1 -1
  341. package/contracts/authorization/AccessAdmin.sol +22 -18
  342. package/contracts/authorization/AccessAdminLib.sol +12 -9
  343. package/contracts/authorization/AccessManagerCloneable.sol +24 -48
  344. package/contracts/authorization/Authorization.sol +2 -2
  345. package/contracts/authorization/IAccessAdmin.sol +3 -3
  346. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  347. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  348. package/contracts/distribution/BasicDistribution.sol +0 -2
  349. package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
  350. package/contracts/distribution/Distribution.sol +0 -2
  351. package/contracts/distribution/DistributionService.sol +24 -20
  352. package/contracts/distribution/DistributionServiceManager.sol +4 -6
  353. package/contracts/examples/fire/FirePool.sol +0 -4
  354. package/contracts/examples/fire/FireProduct.sol +0 -4
  355. package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
  356. package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
  357. package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
  358. package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
  359. package/contracts/instance/IInstance.sol +1 -1
  360. package/contracts/instance/Instance.sol +8 -12
  361. package/contracts/instance/InstanceAdmin.sol +10 -17
  362. package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
  363. package/contracts/instance/InstanceReader.sol +18 -40
  364. package/contracts/instance/InstanceService.sol +18 -20
  365. package/contracts/instance/InstanceServiceManager.sol +4 -6
  366. package/contracts/instance/base/Cloneable.sol +4 -10
  367. package/contracts/instance/base/ObjectSet.sol +2 -2
  368. package/contracts/oracle/BasicOracle.sol +0 -2
  369. package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
  370. package/contracts/oracle/IOracleService.sol +12 -16
  371. package/contracts/oracle/Oracle.sol +3 -4
  372. package/contracts/oracle/OracleService.sol +37 -67
  373. package/contracts/oracle/OracleServiceManager.sol +4 -6
  374. package/contracts/pool/BasicPool.sol +2 -4
  375. package/contracts/pool/BasicPoolAuthorization.sol +5 -4
  376. package/contracts/pool/BundleService.sol +25 -19
  377. package/contracts/pool/BundleServiceManager.sol +5 -7
  378. package/contracts/pool/IPoolService.sol +5 -6
  379. package/contracts/pool/Pool.sol +1 -3
  380. package/contracts/pool/PoolLib.sol +5 -102
  381. package/contracts/pool/PoolService.sol +67 -101
  382. package/contracts/pool/PoolServiceManager.sol +4 -6
  383. package/contracts/product/ApplicationService.sol +13 -34
  384. package/contracts/product/ApplicationServiceManager.sol +4 -6
  385. package/contracts/product/BasicProduct.sol +0 -2
  386. package/contracts/product/BasicProductAuthorization.sol +7 -7
  387. package/contracts/product/ClaimService.sol +10 -34
  388. package/contracts/product/ClaimServiceManager.sol +5 -7
  389. package/contracts/product/IPolicyService.sol +0 -1
  390. package/contracts/product/PolicyService.sol +44 -57
  391. package/contracts/product/PolicyServiceManager.sol +4 -6
  392. package/contracts/product/PricingService.sol +7 -8
  393. package/contracts/product/PricingServiceManager.sol +4 -6
  394. package/contracts/product/Product.sol +0 -2
  395. package/contracts/product/RiskService.sol +8 -40
  396. package/contracts/product/RiskServiceManager.sol +4 -6
  397. package/contracts/registry/IRegistry.sol +20 -14
  398. package/contracts/registry/IRegistryService.sol +10 -14
  399. package/contracts/registry/IRelease.sol +0 -3
  400. package/contracts/registry/Registry.sol +124 -78
  401. package/contracts/registry/RegistryAdmin.sol +11 -22
  402. package/contracts/registry/RegistryAuthorization.sol +4 -3
  403. package/contracts/registry/RegistryService.sol +99 -82
  404. package/contracts/registry/RegistryServiceManager.sol +4 -11
  405. package/contracts/registry/ReleaseAdmin.sol +9 -16
  406. package/contracts/registry/ReleaseRegistry.sol +64 -74
  407. package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
  408. package/contracts/registry/TokenRegistry.sol +6 -15
  409. package/contracts/shared/Component.sol +27 -22
  410. package/contracts/shared/ComponentService.sol +45 -130
  411. package/contracts/shared/ComponentServiceManager.sol +5 -7
  412. package/contracts/shared/ContractLib.sol +359 -93
  413. package/contracts/shared/IComponent.sol +5 -3
  414. package/contracts/shared/IComponentService.sol +0 -14
  415. package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
  416. package/contracts/shared/INftOwnable.sol +0 -2
  417. package/contracts/shared/IRegisterable.sol +14 -3
  418. package/contracts/shared/IRegistryLinked.sol +1 -3
  419. package/contracts/shared/IService.sol +2 -2
  420. package/contracts/shared/IVersionable.sol +19 -0
  421. package/contracts/shared/InstanceLinkedComponent.sol +38 -128
  422. package/contracts/shared/NftOwnable.sol +9 -22
  423. package/contracts/shared/PolicyHolder.sol +2 -4
  424. package/contracts/shared/Registerable.sol +37 -20
  425. package/contracts/shared/RegistryLinked.sol +4 -23
  426. package/contracts/shared/Service.sol +8 -9
  427. package/contracts/shared/TokenHandler.sol +4 -1
  428. package/contracts/shared/Versionable.sol +47 -0
  429. package/contracts/staking/IStaking.sol +2 -2
  430. package/contracts/staking/Staking.sol +28 -33
  431. package/contracts/staking/StakingLib.sol +3 -1
  432. package/contracts/staking/StakingManager.sol +3 -6
  433. package/contracts/staking/StakingReader.sol +9 -17
  434. package/contracts/staking/StakingService.sol +16 -13
  435. package/contracts/staking/StakingServiceManager.sol +4 -8
  436. package/contracts/staking/StakingStore.sol +8 -8
  437. package/contracts/staking/TargetHandler.sol +4 -5
  438. package/contracts/type/ObjectType.sol +31 -2
  439. package/contracts/type/Referral.sol +0 -6
  440. package/contracts/type/Seconds.sol +0 -4
  441. package/contracts/type/String.sol +0 -30
  442. package/contracts/type/Timestamp.sol +1 -10
  443. package/contracts/type/Version.sol +15 -16
  444. package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
  445. package/contracts/upgradeability/ProxyManager.sol +46 -54
  446. package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
  447. package/package.json +1 -2
  448. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +0 -4
  449. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +0 -635
  450. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +0 -4
  451. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +0 -229
  452. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +0 -4
  453. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +0 -1198
  454. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +0 -4
  455. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +0 -849
  456. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +0 -4
  457. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +0 -1466
  458. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +0 -4
  459. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +0 -844
  460. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +0 -4
  461. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +0 -2514
  462. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +0 -4
  463. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +0 -844
  464. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +0 -4
  465. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +0 -586
  466. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +0 -4
  467. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +0 -901
  468. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
  469. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
  470. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
  471. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
  472. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +0 -4
  473. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +0 -33
  474. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
  475. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
  476. package/contracts/examples/flight/FlightLib.sol +0 -322
  477. package/contracts/examples/flight/FlightMessageVerifier.sol +0 -128
  478. package/contracts/examples/flight/FlightOracle.sol +0 -167
  479. package/contracts/examples/flight/FlightOracleAuthorization.sol +0 -34
  480. package/contracts/examples/flight/FlightPool.sol +0 -89
  481. package/contracts/examples/flight/FlightPoolAuthorization.sol +0 -37
  482. package/contracts/examples/flight/FlightProduct.sol +0 -651
  483. package/contracts/examples/flight/FlightProductAuthorization.sol +0 -45
  484. package/contracts/examples/flight/FlightUSD.sol +0 -28
  485. package/contracts/examples/flight/originalV1.sol +0 -396
  486. package/contracts/shared/EcdsaChecker.sol +0 -5
  487. package/contracts/type/RequestIdSet.sol +0 -62
@@ -2,7 +2,7 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccountingService} from "./AccountingService.sol";
5
- import {IVersionable} from "../upgradeability/IVersionable.sol";
5
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
6
6
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
7
7
 
8
8
  contract AccountingServiceManager is ProxyManager {
@@ -12,19 +12,17 @@ contract AccountingServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with service implementation
13
13
  constructor(
14
14
  address authority,
15
- address registry,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  AccountingService svc = new AccountingService();
20
- bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
22
- registry,
19
+ bytes memory data = abi.encode(authority);
20
+ IUpgradeable upgradeable = initialize(
23
21
  address(svc),
24
22
  data,
25
23
  salt);
26
24
 
27
- _accountingService = AccountingService(address(versionable));
25
+ _accountingService = AccountingService(address(upgradeable));
28
26
  }
29
27
 
30
28
  //--- view functions ----------------------------------------------------//
@@ -13,7 +13,7 @@ import {UFixed} from "../type/UFixed.sol";
13
13
  interface IAccountingService is
14
14
  IService
15
15
  {
16
- event LogComponentServiceUpdateFee(
16
+ event LogAccountingServiceUpdateFee(
17
17
  NftId nftId,
18
18
  string feeName,
19
19
  UFixed previousFractionalFee,
@@ -14,13 +14,14 @@ import {AccessAdminLib} from "./AccessAdminLib.sol";
14
14
  import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
15
15
  import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
16
16
  import {ContractLib} from "../shared/ContractLib.sol";
17
- import {NftId, NftIdLib} from "../type/NftId.sol";
17
+ import {NftId} from "../type/NftId.sol";
18
18
  import {ObjectType} from "../type/ObjectType.sol";
19
19
  import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
20
+ import {RegistryLinked} from "../shared/RegistryLinked.sol";
20
21
  import {Selector, SelectorSetLib} from "../type/Selector.sol";
21
22
  import {Str, StrLib} from "../type/String.sol";
22
23
  import {TimestampLib} from "../type/Timestamp.sol";
23
- import {VersionPart} from "../type/Version.sol";
24
+ import {VersionPartLib, VersionPart} from "../type/Version.sol";
24
25
 
25
26
 
26
27
  /**
@@ -30,6 +31,7 @@ import {VersionPart} from "../type/Version.sol";
30
31
  */
31
32
  contract AccessAdmin is
32
33
  AccessManagedUpgradeable,
34
+ RegistryLinked,
33
35
  IAccessAdmin
34
36
  {
35
37
  using EnumerableSet for EnumerableSet.AddressSet;
@@ -91,12 +93,16 @@ contract AccessAdmin is
91
93
  /// Internally initializes access manager with this admin and creates basic role setup.
92
94
  function initialize(
93
95
  address authority,
94
- string memory adminName
96
+ string memory adminName,
97
+ VersionPart release
95
98
  )
96
99
  public
97
- initializer()
98
100
  {
99
- __AccessAdmin_init(authority, adminName);
101
+ if(_getInitializedVersion() != 0) {
102
+ revert InvalidInitialization();
103
+ }
104
+
105
+ __AccessAdmin_init(authority, adminName, release);
100
106
  }
101
107
 
102
108
 
@@ -106,14 +112,16 @@ contract AccessAdmin is
106
112
  /// - this function as well as any completeSetup functions MUST be called in the same tx.
107
113
  function __AccessAdmin_init(
108
114
  address authority,
109
- string memory adminName
115
+ string memory adminName,
116
+ VersionPart release
110
117
  )
111
118
  internal
112
- onlyInitializing()
119
+ reinitializer(release.toInt())
113
120
  {
114
121
  AccessAdminLib.checkInitParameters(authority, adminName);
122
+
115
123
  _authority = AccessManagerCloneable(authority);
116
- _authority.initialize(address(this));
124
+ _authority.initialize(address(this), release);
117
125
 
118
126
  // delayed additional check for authority after its initialization
119
127
  if (!ContractLib.isAuthority(authority)) {
@@ -121,7 +129,7 @@ contract AccessAdmin is
121
129
  }
122
130
 
123
131
  // effects
124
- // set and initialize this access manager contract as
132
+ // set and initialize this contract as
125
133
  // the admin (ADMIN_ROLE) of the provided authority
126
134
  __AccessManaged_init(authority);
127
135
 
@@ -129,7 +137,7 @@ contract AccessAdmin is
129
137
  _adminName = adminName;
130
138
 
131
139
  // set initial linked NFT ID to zero
132
- _linkedNftId = NftIdLib.zero();
140
+ //_linkedNftId = NftIdLib.zero();
133
141
 
134
142
  // setup admin role
135
143
  _createRoleUnchecked(
@@ -149,12 +157,7 @@ contract AccessAdmin is
149
157
  //--- view functions for access admin ---------------------------------------//
150
158
 
151
159
  function getRelease() public view virtual returns (VersionPart release) {
152
- return _authority.getRelease();
153
- }
154
-
155
-
156
- function getRegistry() public view returns (IRegistry registry) {
157
- return _authority.getRegistry();
160
+ return VersionPartLib.toVersionPart(uint8(_getInitializedVersion()));
158
161
  }
159
162
 
160
163
 
@@ -297,11 +300,12 @@ contract AccessAdmin is
297
300
  //--- internal/private functions -------------------------------------------------//
298
301
 
299
302
  function _linkToNftOwnable(address registerable) internal {
300
- if (!getRegistry().isRegistered(registerable)) {
303
+ NftId nftId = _getRegistry().getNftIdForAddress(registerable);
304
+ if (nftId.eqz()) {
301
305
  revert ErrorAccessAdminNotRegistered(registerable);
302
306
  }
303
307
 
304
- _linkedNftId = getRegistry().getNftIdForAddress(registerable);
308
+ _linkedNftId = nftId;
305
309
  }
306
310
 
307
311
 
@@ -335,9 +335,9 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
335
335
  view
336
336
  returns (IAuthorization componentAuthorization)
337
337
  {
338
- checkIsRegistered(address(accessAdmin.getRegistry()), componentAddress, expectedType);
339
-
340
338
  VersionPart expecteRelease = accessAdmin.getRelease();
339
+ checkIsRegistered(componentAddress, expectedType, expecteRelease);
340
+
341
341
  IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
342
342
  componentAuthorization = component.getAuthorization();
343
343
 
@@ -435,22 +435,25 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
435
435
 
436
436
 
437
437
  function checkIsRegistered(
438
- address registry,
439
438
  address target,
440
- ObjectType expectedType
439
+ ObjectType expectedType,
440
+ VersionPart expectedRelease
441
441
  )
442
442
  public
443
443
  view
444
444
  {
445
- checkRegistry(registry);
445
+ IRegistry.ObjectInfo memory info = ContractLib.getRegistry().getObjectInfo(target);
446
446
 
447
- ObjectType tagetType = IRegistry(registry).getObjectInfo(target).objectType;
448
- if (tagetType.eqz()) {
447
+ if (info.objectType.eqz()) {
449
448
  revert IAccessAdmin.ErrorAccessAdminNotRegistered(target);
450
449
  }
451
450
 
452
- if (tagetType != expectedType) {
453
- revert IAccessAdmin.ErrorAccessAdminTargetTypeMismatch(target, expectedType, tagetType);
451
+ if (info.objectType != expectedType) {
452
+ revert IAccessAdmin.ErrorAccessAdminTargetTypeMismatch(target, expectedType, info.objectType);
453
+ }
454
+
455
+ if (info.release != expectedRelease) {
456
+ revert IAccessAdmin.ErrorAccessAdminTargetReleaseMismatch(target, expectedRelease, info.release);
454
457
  }
455
458
  }
456
459
 
@@ -4,9 +4,9 @@ pragma solidity ^0.8.20;
4
4
  import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
5
5
  import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
6
6
 
7
+ import {IAccessAdmin} from "./IAccessAdmin.sol";
7
8
  import {InitializableERC165} from "../shared/InitializableERC165.sol";
8
- import {RegistryLinked} from "../shared/RegistryLinked.sol";
9
- import {VersionPart} from "../type/Version.sol";
9
+ import {VersionPartLib, VersionPart} from "../type/Version.sol";
10
10
 
11
11
 
12
12
  /// @dev An AccessManager based on OpenZeppelin that is cloneable and has a central lock property.
@@ -14,8 +14,7 @@ import {VersionPart} from "../type/Version.sol";
14
14
  /// Cloned by upon release preparation and instance cloning.
15
15
  contract AccessManagerCloneable is
16
16
  AccessManagerUpgradeable,
17
- InitializableERC165,
18
- RegistryLinked
17
+ InitializableERC165
19
18
  {
20
19
  error ErrorAccessManagerCallerNotAdmin(address caller);
21
20
  error ErrorAccessManagerRegistryAlreadySet(address registry);
@@ -24,7 +23,6 @@ contract AccessManagerCloneable is
24
23
  error ErrorAccessManagerTargetAdminLocked(address target);
25
24
  error ErrorAccessManagerCallerAdminLocked(address caller);
26
25
 
27
- VersionPart private _release;
28
26
  bool private _isLocked;
29
27
 
30
28
 
@@ -36,34 +34,36 @@ contract AccessManagerCloneable is
36
34
  _;
37
35
  }
38
36
 
39
-
40
- function initialize(address admin)
37
+ function initialize(address adminAddress, VersionPart release)
41
38
  public
42
- initializer()
39
+
43
40
  {
44
- __ERC165_init();
45
- __AccessManager_init(admin);
41
+ if(_getInitializedVersion() != 0) {
42
+ revert InvalidInitialization();
43
+ }
46
44
 
47
- _registerInterface(type(IAccessManager).interfaceId);
45
+ AccessManagerCloneable_init(adminAddress, release);
48
46
  }
49
47
 
50
-
51
- /// @dev Completes the setup of the access manager.
52
- /// Links the access manager to the registry and sets the release version.
53
- function completeSetup(
54
- address registry,
48
+ function AccessManagerCloneable_init(
49
+ address admin,
55
50
  VersionPart release
56
51
  )
57
- external
58
- onlyAdminRole
59
- reinitializer(uint64(release.toInt()))
52
+ internal
53
+ reinitializer(release.toInt())
60
54
  {
61
- _checkAndSetRegistry(registry);
62
- _checkAndSetRelease(release);
55
+ if (!release.isValidRelease()) {
56
+ revert ErrorAccessManagerInvalidRelease(release);
57
+ }
58
+
59
+ __ERC165_init();
60
+ __AccessManager_init(admin);
61
+
62
+ _registerInterface(type(IAccessManager).interfaceId);
63
63
  }
64
64
 
65
65
  /// @dev Returns true if the caller is authorized to call the target with the given selector and the manager lock is not set to locked.
66
- /// Feturn values as in OpenZeppelin AccessManager.
66
+ /// Return values as in OpenZeppelin AccessManager.
67
67
  /// For a locked manager the function reverts with ErrorAccessManagerTargetAdminLocked.
68
68
  function canCall(
69
69
  address caller,
@@ -101,10 +101,10 @@ contract AccessManagerCloneable is
101
101
  /// For the registry admin release 3 is returned.
102
102
  /// For the release admin and the instance admin the actual release version is returned.
103
103
  function getRelease() external view returns (VersionPart release) {
104
- return _release;
104
+ return VersionPartLib.toVersionPart(
105
+ uint8(_getInitializedVersion()));
105
106
  }
106
107
 
107
-
108
108
  /// @dev Returns true iff all contracts of this access manager are locked.
109
109
  function isLocked()
110
110
  public
@@ -113,28 +113,4 @@ contract AccessManagerCloneable is
113
113
  {
114
114
  return _isLocked;
115
115
  }
116
-
117
-
118
- function _checkAndSetRelease(VersionPart release)
119
- internal
120
- {
121
- if (!release.isValidRelease()) {
122
- revert ErrorAccessManagerInvalidRelease(release);
123
- }
124
-
125
- _release = release;
126
- }
127
-
128
-
129
- function _checkAndSetRegistry(address registry)
130
- internal
131
- {
132
- // checks
133
- if(address(getRegistry()) != address(0)) {
134
- revert ErrorAccessManagerRegistryAlreadySet(address(getRegistry()) );
135
- }
136
-
137
- // effects
138
- __RegistryLinked_init(registry);
139
- }
140
116
  }
@@ -9,7 +9,7 @@ import {ObjectType} from "../type/ObjectType.sol";
9
9
  import {RoleId, RoleIdLib} from "../type/RoleId.sol";
10
10
  import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
11
11
  import {Str, StrLib} from "../type/String.sol";
12
-
12
+ import {VersionPart} from "../type/Version.sol";
13
13
 
14
14
  contract Authorization is
15
15
  ServiceAuthorization,
@@ -30,7 +30,7 @@ contract Authorization is
30
30
  constructor(
31
31
  string memory mainTargetName,
32
32
  ObjectType domain,
33
- uint8 release,
33
+ VersionPart release,
34
34
  string memory commitHash,
35
35
  IAccess.TargetType targetType,
36
36
  bool includeTokenHandler
@@ -6,7 +6,6 @@ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessMana
6
6
  import {IAccess} from "./IAccess.sol";
7
7
  import {IAuthorization} from "./IAuthorization.sol";
8
8
  import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
9
- import {IRelease} from "../registry/IRelease.sol";
10
9
 
11
10
  import {Blocknumber} from "../type/Blocknumber.sol";
12
11
  import {NftId} from "../type/NftId.sol";
@@ -19,8 +18,7 @@ import {VersionPart} from "../type/Version.sol";
19
18
  interface IAccessAdmin is
20
19
  IAccessManaged,
21
20
  IAccess,
22
- IRegistryLinked,
23
- IRelease
21
+ IRegistryLinked
24
22
  {
25
23
 
26
24
  // roles, targets and functions
@@ -59,6 +57,7 @@ interface IAccessAdmin is
59
57
  error ErrorAccessAdminTargetNotCreated(address target);
60
58
  error ErrorAccessAdminTargetNotRegistered(address target);
61
59
  error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
60
+ error ErrorAccessAdminTargetReleaseMismatch(address target, VersionPart expectedRelease, VersionPart actualRelease);
62
61
 
63
62
  // check authorization
64
63
  error ErrorAccessAdminAlreadyInitialized(address authorization);
@@ -139,4 +138,5 @@ interface IAccessAdmin is
139
138
 
140
139
  function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
141
140
  function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
141
+ function getRelease() external view returns (VersionPart);
142
142
  }
@@ -16,7 +16,7 @@ interface IServiceAuthorization is
16
16
 
17
17
  error ErrorAuthorizationMainTargetNameEmpty();
18
18
  error ErrorAuthorizationTargetDomainZero();
19
- error ErrorAuthorizationReleaseInvalid(uint8 release);
19
+ error ErrorAuthorizationReleaseInvalid(VersionPart release);
20
20
  error ErrorAuthorizationCommitHashInvalid(string commitHash);
21
21
 
22
22
  /// @dev Returns the main domain of the authorization.
@@ -30,7 +30,7 @@ contract ServiceAuthorization is
30
30
  string public constant ROLE_NAME_SUFFIX = "_Role";
31
31
 
32
32
  ObjectType public immutable DOMAIN;
33
- uint256 internal immutable _release;
33
+ VersionPart internal immutable _release;
34
34
  string internal _commitHash;
35
35
 
36
36
  string internal _mainTargetName;
@@ -55,7 +55,7 @@ contract ServiceAuthorization is
55
55
  constructor(
56
56
  string memory mainTargetName,
57
57
  ObjectType domain,
58
- uint8 release,
58
+ VersionPart release,
59
59
  string memory commitHash
60
60
  )
61
61
  {
@@ -68,7 +68,7 @@ contract ServiceAuthorization is
68
68
  revert ErrorAuthorizationTargetDomainZero();
69
69
  }
70
70
 
71
- if (release < VersionPartLib.releaseMin().toInt() || release >= VersionPartLib.releaseMax().toInt()) {
71
+ if (!VersionPartLib.isValidRelease(release)) {
72
72
  revert ErrorAuthorizationReleaseInvalid(release);
73
73
  }
74
74
 
@@ -103,7 +103,7 @@ contract ServiceAuthorization is
103
103
 
104
104
  /// @inheritdoc IServiceAuthorization
105
105
  function getRelease() public view returns(VersionPart release) {
106
- return VersionPartLib.toVersionPart(_release);
106
+ return _release;
107
107
  }
108
108
 
109
109
  /// @inheritdoc IServiceAuthorization
@@ -119,7 +119,6 @@ contract BasicDistribution is
119
119
  }
120
120
 
121
121
  function _initializeBasicDistribution(
122
- address registry,
123
122
  NftId instanceNftId,
124
123
  IAuthorization authorization,
125
124
  address initialOwner,
@@ -130,7 +129,6 @@ contract BasicDistribution is
130
129
  onlyInitializing()
131
130
  {
132
131
  __Distribution_init(
133
- registry,
134
132
  instanceNftId,
135
133
  authorization,
136
134
  false,
@@ -2,15 +2,16 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAccess} from "../authorization/IAccess.sol";
5
- import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
5
+ import {IComponent} from "../shared/IInstanceLinkedComponent.sol";
6
6
 
7
7
  import {Authorization} from "../authorization/Authorization.sol";
8
8
  import {BasicDistribution} from "./BasicDistribution.sol";
9
9
  import {Distribution} from "./Distribution.sol";
10
10
  import {COMPONENT, DISTRIBUTION} from "../type/ObjectType.sol";
11
11
  import {PUBLIC_ROLE} from "../type/RoleId.sol";
12
+ import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
12
13
  import {TokenHandler} from "../shared/TokenHandler.sol";
13
-
14
+ import {VersionPartLib} from "../type/Version.sol";
14
15
 
15
16
  contract BasicDistributionAuthorization
16
17
  is Authorization
@@ -20,7 +21,7 @@ contract BasicDistributionAuthorization
20
21
  Authorization(
21
22
  distributionName,
22
23
  DISTRIBUTION(),
23
- 3,
24
+ GIF_INITIAL_RELEASE(),
24
25
  COMMIT_HASH,
25
26
  TargetType.Component,
26
27
  true)
@@ -60,7 +61,7 @@ contract BasicDistributionAuthorization
60
61
  _authorize(functions, BasicDistribution.changeDistributorType.selector, "changeDistributorType");
61
62
  _authorize(functions, BasicDistribution.createReferral.selector, "createReferral");
62
63
 
63
- _authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
64
+ _authorize(functions, IComponent.withdrawFees.selector, "withdrawFees");
64
65
  _authorize(functions, Distribution.withdrawCommission.selector, "withdrawCommission");
65
66
  }
66
67
  }
@@ -104,7 +104,6 @@ abstract contract Distribution is
104
104
 
105
105
 
106
106
  function __Distribution_init(
107
- address registry,
108
107
  NftId productNftId,
109
108
  IAuthorization authorization,
110
109
  bool isInterceptor,
@@ -116,7 +115,6 @@ abstract contract Distribution is
116
115
  onlyInitializing()
117
116
  {
118
117
  __InstanceLinkedComponent_init(
119
- registry,
120
118
  productNftId,
121
119
  name,
122
120
  DISTRIBUTION(),
@@ -20,8 +20,6 @@ import {KEEP_STATE} from "../type/StateId.sol";
20
20
  import {ObjectType, ACCOUNTING, COMPONENT, DISTRIBUTION, INSTANCE, DISTRIBUTION, DISTRIBUTOR, REGISTRY} from "../type/ObjectType.sol";
21
21
  import {InstanceReader} from "../instance/InstanceReader.sol";
22
22
  import {InstanceStore} from "../instance/InstanceStore.sol";
23
- // TODO PoolLib feels wrong, should likely go in a component type independent lib
24
- import {PoolLib} from "../pool/PoolLib.sol";
25
23
  import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
26
24
  import {Seconds} from "../type/Seconds.sol";
27
25
  import {Service} from "../shared/Service.sol";
@@ -44,14 +42,13 @@ contract DistributionService is
44
42
  )
45
43
  internal
46
44
  virtual override
47
- initializer()
45
+ onlyInitializing()
48
46
  {
49
47
  (
50
- address authority,
51
- address registry
52
- ) = abi.decode(data, (address, address));
48
+ address authority
49
+ ) = abi.decode(data, (address));
53
50
 
54
- __Service_init(authority, registry, owner);
51
+ __Service_init(authority, owner);
55
52
 
56
53
  _accountingService = IAccountingService(_getServiceAddress(ACCOUNTING()));
57
54
  _componentService = IComponentService(_getServiceAddress(COMPONENT()));
@@ -81,7 +78,7 @@ contract DistributionService is
81
78
  (NftId distributionNftId, IInstance instance) = _getAndVerifyActiveDistribution();
82
79
 
83
80
  {
84
- NftId productNftId = getRegistry().getParentNftId(distributionNftId);
81
+ NftId productNftId = _getRegistry().getParentNftId(distributionNftId);
85
82
  IComponents.FeeInfo memory feeInfo = instance.getInstanceReader().getFeeInfo(productNftId);
86
83
 
87
84
  UFixed variableDistributionFees = feeInfo.distributionFee.fractionalFee;
@@ -134,11 +131,12 @@ contract DistributionService is
134
131
  NftIdLib.zero(),
135
132
  distributionNftId,
136
133
  DISTRIBUTOR(),
134
+ getRelease(),
137
135
  true, // intercepting property for bundles is defined on pool
138
- address(0),
139
- distributor,
140
- ""
141
- ));
136
+ address(0)),
137
+ distributor,
138
+ ""
139
+ );
142
140
 
143
141
  IDistribution.DistributorInfo memory info = IDistribution.DistributorInfo({
144
142
  distributorType: distributorType,
@@ -197,9 +195,11 @@ contract DistributionService is
197
195
  revert ErrorDistributionServiceExpirationInvalid(expiryAt);
198
196
  }
199
197
 
200
- NftId distributorDistributionNftId = getRegistry().getParentNftId(distributorNftId);
201
- if (distributorDistributionNftId != distributionNftId) {
202
- revert ErrorDistributionServiceDistributorDistributionMismatch(distributorNftId, distributorDistributionNftId, distributionNftId);
198
+ {
199
+ NftId distributorDistributionNftId = _getRegistry().getParentNftId(distributorNftId);
200
+ if (distributorDistributionNftId != distributionNftId) {
201
+ revert ErrorDistributionServiceDistributorDistributionMismatch(distributorNftId, distributorDistributionNftId, distributionNftId);
202
+ }
203
203
  }
204
204
 
205
205
  {
@@ -251,7 +251,7 @@ contract DistributionService is
251
251
  onlyNftOfType(distributionNftId, DISTRIBUTION())
252
252
  {
253
253
  if (referralIsValid(distributionNftId, referralId)) {
254
- IInstance instance = IInstance(ContractLib.getInstanceForComponent(getRegistry(), distributionNftId));
254
+ IInstance instance = IInstance(ContractLib.getInstanceForComponent(distributionNftId));
255
255
 
256
256
  // update book keeping for referral info
257
257
  IDistribution.ReferralInfo memory referralInfo = instance.getInstanceReader().getReferralInfo(referralId);
@@ -272,7 +272,7 @@ contract DistributionService is
272
272
  restricted()
273
273
  onlyNftOfType(distributionNftId, DISTRIBUTION())
274
274
  {
275
- IInstance instance = IInstance(ContractLib.getInstanceForComponent(getRegistry(), distributionNftId));
275
+ IInstance instance = IInstance(ContractLib.getInstanceForComponent(distributionNftId));
276
276
  InstanceReader reader = instance.getInstanceReader();
277
277
  InstanceStore store = instance.getInstanceStore();
278
278
 
@@ -340,7 +340,7 @@ contract DistributionService is
340
340
 
341
341
  // transfer amount to distributor
342
342
  {
343
- address distributor = getRegistry().ownerOf(distributorNftId);
343
+ address distributor = _getRegistry().ownerOf(distributorNftId);
344
344
  emit LogDistributionServiceCommissionWithdrawn(distributorNftId, distributor, address(distributionInfo.tokenHandler.TOKEN()), withdrawnAmount);
345
345
  distributionInfo.tokenHandler.pushToken(distributor, withdrawnAmount);
346
346
  }
@@ -357,7 +357,7 @@ contract DistributionService is
357
357
  return false;
358
358
  }
359
359
 
360
- IInstance instance = IInstance(ContractLib.getInstanceForComponent(getRegistry(), distributionNftId));
360
+ IInstance instance = IInstance(ContractLib.getInstanceForComponent(distributionNftId));
361
361
  IDistribution.ReferralInfo memory info = instance.getInstanceReader().getReferralInfo(referralId);
362
362
 
363
363
  if (info.distributorNftId.eqz()) {
@@ -438,7 +438,11 @@ contract DistributionService is
438
438
  IInstance instance
439
439
  )
440
440
  {
441
- return PoolLib.getAndVerifyActiveComponent(getRegistry(), msg.sender, DISTRIBUTION());
441
+ (poolNftId, instance) = ContractLib.getAndVerifyComponent(
442
+ msg.sender,
443
+ DISTRIBUTION(),
444
+ getRelease(),
445
+ true);
442
446
  }
443
447
 
444
448
 
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {DistributionService} from "./DistributionService.sol";
7
7
 
@@ -12,19 +12,17 @@ contract DistributionServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with distribution service implementation and deploys instance
13
13
  constructor(
14
14
  address authority,
15
- address registry,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  DistributionService svc = new DistributionService{salt: salt}();
20
- bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
22
- registry,
19
+ bytes memory data = abi.encode(authority);
20
+ IUpgradeable upgradeable = initialize(
23
21
  address(svc),
24
22
  data,
25
23
  salt);
26
24
 
27
- _distributionService = DistributionService(address(versionable));
25
+ _distributionService = DistributionService(address(upgradeable));
28
26
  }
29
27
 
30
28
  //--- view functions ----------------------------------------------------//
@@ -16,7 +16,6 @@ contract FirePool is
16
16
  BasicPool
17
17
  {
18
18
  constructor(
19
- address registry,
20
19
  NftId fireProductNftId,
21
20
  string memory componentName,
22
21
  IAuthorization authorization
@@ -24,7 +23,6 @@ contract FirePool is
24
23
  {
25
24
  address initialOwner = msg.sender;
26
25
  _intialize(
27
- registry,
28
26
  fireProductNftId,
29
27
  componentName,
30
28
  IComponents.PoolInfo({
@@ -41,7 +39,6 @@ contract FirePool is
41
39
  }
42
40
 
43
41
  function _intialize(
44
- address registry,
45
42
  NftId fireProductNftId,
46
43
  string memory componentName,
47
44
  IComponents.PoolInfo memory poolInfo,
@@ -52,7 +49,6 @@ contract FirePool is
52
49
  initializer
53
50
  {
54
51
  _initializeBasicPool(
55
- registry,
56
52
  fireProductNftId,
57
53
  componentName,
58
54
  poolInfo,