@etherisc/gif-next 3.0.0-24be7ed-702 → 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 (443) hide show
  1. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +139 -72
  3. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +110 -116
  5. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +72 -33
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +89 -66
  9. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +122 -101
  11. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
  13. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
  15. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +20 -10
  18. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  20. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  22. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +18 -42
  24. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +126 -75
  26. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
  28. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +72 -57
  30. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +198 -139
  32. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -150
  34. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -56
  36. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -32
  38. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +166 -104
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +200 -138
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
  47. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +159 -102
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
  52. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  53. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
  54. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  55. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
  56. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  57. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
  58. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
  60. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
  62. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  63. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  64. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
  65. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  66. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +77 -25
  68. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
  70. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/Instance.sol/Instance.json +144 -50
  72. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +169 -147
  74. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
  76. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +34 -34
  78. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
  80. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
  82. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  84. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +94 -66
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  166. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
  177. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  178. package/artifacts/contracts/product/Product.sol/Product.json +72 -57
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  191. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -96
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +163 -142
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +159 -150
  203. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  205. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +127 -185
  207. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
  209. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
  211. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  212. package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
  219. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  220. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
  222. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
  224. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
  226. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  227. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  228. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -28
  229. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
  231. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
  233. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
  235. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
  237. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  238. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
  239. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  240. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  241. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +72 -57
  242. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  243. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  244. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  245. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  246. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -34
  247. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  248. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
  249. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  250. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
  251. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  252. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
  253. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  254. package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
  255. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  256. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
  257. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  258. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
  259. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  260. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  261. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  262. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
  263. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  264. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
  265. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  266. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
  267. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  268. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  269. package/artifacts/contracts/staking/Staking.sol/Staking.json +170 -109
  270. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  271. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
  272. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  273. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
  274. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  275. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
  276. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
  278. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
  280. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
  282. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  283. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
  284. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  285. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  286. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  287. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  291. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  293. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  295. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  298. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  299. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  300. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  302. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  303. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  304. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +4 -4
  306. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  308. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  310. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  312. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  314. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  316. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  325. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
  327. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
  328. package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
  329. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  330. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
  331. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  332. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
  333. package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
  334. package/contracts/accounting/AccountingService.sol +5 -6
  335. package/contracts/accounting/AccountingServiceManager.sol +4 -6
  336. package/contracts/accounting/IAccountingService.sol +1 -1
  337. package/contracts/authorization/AccessAdmin.sol +22 -18
  338. package/contracts/authorization/AccessAdminLib.sol +12 -9
  339. package/contracts/authorization/AccessManagerCloneable.sol +24 -48
  340. package/contracts/authorization/Authorization.sol +2 -2
  341. package/contracts/authorization/IAccessAdmin.sol +3 -3
  342. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  343. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  344. package/contracts/distribution/BasicDistribution.sol +0 -2
  345. package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
  346. package/contracts/distribution/Distribution.sol +0 -2
  347. package/contracts/distribution/DistributionService.sol +24 -20
  348. package/contracts/distribution/DistributionServiceManager.sol +4 -6
  349. package/contracts/examples/fire/FirePool.sol +0 -4
  350. package/contracts/examples/fire/FireProduct.sol +0 -4
  351. package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
  352. package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
  353. package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
  354. package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
  355. package/contracts/instance/Instance.sol +7 -11
  356. package/contracts/instance/InstanceAdmin.sol +10 -17
  357. package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
  358. package/contracts/instance/InstanceReader.sol +15 -15
  359. package/contracts/instance/InstanceService.sol +18 -20
  360. package/contracts/instance/InstanceServiceManager.sol +4 -6
  361. package/contracts/instance/base/Cloneable.sol +4 -10
  362. package/contracts/instance/base/ObjectSet.sol +2 -2
  363. package/contracts/oracle/BasicOracle.sol +0 -2
  364. package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
  365. package/contracts/oracle/IOracleService.sol +0 -4
  366. package/contracts/oracle/Oracle.sol +3 -4
  367. package/contracts/oracle/OracleService.sol +37 -67
  368. package/contracts/oracle/OracleServiceManager.sol +4 -6
  369. package/contracts/pool/BasicPool.sol +2 -4
  370. package/contracts/pool/BasicPoolAuthorization.sol +5 -4
  371. package/contracts/pool/BundleService.sol +25 -19
  372. package/contracts/pool/BundleServiceManager.sol +5 -7
  373. package/contracts/pool/IPoolService.sol +5 -6
  374. package/contracts/pool/Pool.sol +1 -3
  375. package/contracts/pool/PoolLib.sol +5 -102
  376. package/contracts/pool/PoolService.sol +67 -101
  377. package/contracts/pool/PoolServiceManager.sol +4 -6
  378. package/contracts/product/ApplicationService.sol +13 -34
  379. package/contracts/product/ApplicationServiceManager.sol +4 -6
  380. package/contracts/product/BasicProduct.sol +0 -2
  381. package/contracts/product/BasicProductAuthorization.sol +5 -4
  382. package/contracts/product/ClaimService.sol +10 -34
  383. package/contracts/product/ClaimServiceManager.sol +5 -7
  384. package/contracts/product/IPolicyService.sol +0 -1
  385. package/contracts/product/PolicyService.sol +44 -57
  386. package/contracts/product/PolicyServiceManager.sol +4 -6
  387. package/contracts/product/PricingService.sol +7 -8
  388. package/contracts/product/PricingServiceManager.sol +4 -6
  389. package/contracts/product/Product.sol +0 -2
  390. package/contracts/product/RiskService.sol +8 -40
  391. package/contracts/product/RiskServiceManager.sol +4 -6
  392. package/contracts/registry/IRegistry.sol +20 -14
  393. package/contracts/registry/IRegistryService.sol +10 -14
  394. package/contracts/registry/IRelease.sol +0 -3
  395. package/contracts/registry/Registry.sol +124 -78
  396. package/contracts/registry/RegistryAdmin.sol +11 -22
  397. package/contracts/registry/RegistryAuthorization.sol +4 -3
  398. package/contracts/registry/RegistryService.sol +99 -82
  399. package/contracts/registry/RegistryServiceManager.sol +4 -11
  400. package/contracts/registry/ReleaseAdmin.sol +9 -16
  401. package/contracts/registry/ReleaseRegistry.sol +64 -74
  402. package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
  403. package/contracts/registry/TokenRegistry.sol +6 -15
  404. package/contracts/shared/Component.sol +27 -22
  405. package/contracts/shared/ComponentService.sol +45 -130
  406. package/contracts/shared/ComponentServiceManager.sol +5 -7
  407. package/contracts/shared/ContractLib.sol +359 -93
  408. package/contracts/shared/IComponent.sol +5 -3
  409. package/contracts/shared/IComponentService.sol +0 -14
  410. package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
  411. package/contracts/shared/INftOwnable.sol +0 -2
  412. package/contracts/shared/IRegisterable.sol +14 -3
  413. package/contracts/shared/IRegistryLinked.sol +1 -3
  414. package/contracts/shared/IService.sol +2 -2
  415. package/contracts/shared/IVersionable.sol +19 -0
  416. package/contracts/shared/InstanceLinkedComponent.sol +32 -82
  417. package/contracts/shared/NftOwnable.sol +9 -22
  418. package/contracts/shared/PolicyHolder.sol +2 -4
  419. package/contracts/shared/Registerable.sol +37 -20
  420. package/contracts/shared/RegistryLinked.sol +4 -23
  421. package/contracts/shared/Service.sol +8 -9
  422. package/contracts/shared/TokenHandler.sol +4 -1
  423. package/contracts/shared/Versionable.sol +47 -0
  424. package/contracts/staking/IStaking.sol +2 -2
  425. package/contracts/staking/Staking.sol +28 -33
  426. package/contracts/staking/StakingLib.sol +3 -1
  427. package/contracts/staking/StakingManager.sol +3 -6
  428. package/contracts/staking/StakingReader.sol +9 -17
  429. package/contracts/staking/StakingService.sol +16 -13
  430. package/contracts/staking/StakingServiceManager.sol +4 -8
  431. package/contracts/staking/StakingStore.sol +8 -8
  432. package/contracts/staking/TargetHandler.sol +4 -5
  433. package/contracts/type/Version.sol +15 -16
  434. package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
  435. package/contracts/upgradeability/ProxyManager.sol +46 -54
  436. package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
  437. package/package.json +1 -1
  438. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
  439. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
  440. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
  441. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
  442. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
  443. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
@@ -1,13 +1,50 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "Versionable",
4
- "sourceName": "contracts/upgradeability/Versionable.sol",
3
+ "contractName": "Upgradeable",
4
+ "sourceName": "contracts/upgradeability/Upgradeable.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [],
8
8
  "name": "ErrorVersionableInitializeNotImplemented",
9
9
  "type": "error"
10
10
  },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "target",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "VersionPart",
20
+ "name": "invalidRelease",
21
+ "type": "uint8"
22
+ }
23
+ ],
24
+ "name": "ErrorVersionableReleaseInvalid",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "address",
31
+ "name": "target",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "internalType": "VersionPart",
36
+ "name": "expected",
37
+ "type": "uint8"
38
+ },
39
+ {
40
+ "internalType": "VersionPart",
41
+ "name": "actual",
42
+ "type": "uint8"
43
+ }
44
+ ],
45
+ "name": "ErrorVersionableReleaseMismatch",
46
+ "type": "error"
47
+ },
11
48
  {
12
49
  "inputs": [],
13
50
  "name": "ErrorVersionableUpgradeNotImplemented",
@@ -36,6 +73,19 @@
36
73
  "name": "Initialized",
37
74
  "type": "event"
38
75
  },
76
+ {
77
+ "inputs": [],
78
+ "name": "getRelease",
79
+ "outputs": [
80
+ {
81
+ "internalType": "VersionPart",
82
+ "name": "",
83
+ "type": "uint8"
84
+ }
85
+ ],
86
+ "stateMutability": "pure",
87
+ "type": "function"
88
+ },
39
89
  {
40
90
  "inputs": [],
41
91
  "name": "getVersion",
@@ -62,7 +112,7 @@
62
112
  "type": "bytes"
63
113
  }
64
114
  ],
65
- "name": "initializeVersionable",
115
+ "name": "initialize",
66
116
  "outputs": [],
67
117
  "stateMutability": "nonpayable",
68
118
  "type": "function"
@@ -75,7 +125,7 @@
75
125
  "type": "bytes"
76
126
  }
77
127
  ],
78
- "name": "upgradeVersionable",
128
+ "name": "upgrade",
79
129
  "outputs": [],
80
130
  "stateMutability": "nonpayable",
81
131
  "type": "function"
@@ -26,14 +26,13 @@ contract AccountingService is
26
26
  )
27
27
  internal
28
28
  virtual override
29
- initializer()
29
+ onlyInitializing()
30
30
  {
31
31
  (
32
- address authority,
33
- address registry
34
- ) = abi.decode(data, (address, address));
32
+ address authority
33
+ ) = abi.decode(data, (address));
35
34
 
36
- __Service_init(authority, registry, owner);
35
+ __Service_init(authority, owner);
37
36
  _registerInterface(type(IAccountingService).interfaceId);
38
37
  }
39
38
 
@@ -256,7 +255,7 @@ contract AccountingService is
256
255
  internal
257
256
  virtual
258
257
  {
259
- emit LogComponentServiceUpdateFee(
258
+ emit LogAccountingServiceUpdateFee(
260
259
  productNftId,
261
260
  name,
262
261
  feeBefore.fractionalFee,
@@ -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(),