@etherisc/gif-next 3.0.0-c0923b6f-772-12c20a7-167 → 3.0.0-c458de2-735

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 (490) hide show
  1. package/README.md +4 -2
  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 +93 -82
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +171 -105
  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/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  50. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +728 -0
  51. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  53. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1291 -0
  55. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +872 -0
  57. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1528 -0
  59. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +820 -0
  61. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2559 -0
  63. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +867 -0
  65. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  67. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  69. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +159 -102
  71. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  72. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
  73. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
  75. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
  77. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
  79. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
  81. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
  83. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  85. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
  86. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  87. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  88. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +78 -26
  89. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  90. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
  91. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  92. package/artifacts/contracts/instance/Instance.sol/Instance.json +145 -51
  93. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  94. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +173 -163
  95. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
  97. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +203 -77
  99. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
  101. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
  103. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  105. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  106. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  107. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  108. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
  109. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  110. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  111. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  112. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  113. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  114. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  115. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  116. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  117. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
  119. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  120. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  121. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  122. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  123. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  124. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  125. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  126. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  127. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
  129. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  130. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
  131. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +94 -66
  134. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
  136. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
  138. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
  140. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
  142. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  143. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
  144. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  145. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
  146. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  147. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
  148. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
  150. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  151. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
  152. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  153. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
  154. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  155. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
  156. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  157. package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
  158. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  159. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
  160. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  161. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
  162. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  163. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
  164. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  165. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
  166. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  167. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
  168. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  169. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
  170. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  171. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
  172. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  173. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
  174. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
  176. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  177. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
  178. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  179. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
  180. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  181. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
  182. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  183. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
  184. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  185. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
  186. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  187. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
  188. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  189. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
  190. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  191. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  192. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  193. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
  194. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  195. package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
  196. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  197. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
  198. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  199. package/artifacts/contracts/product/Product.sol/Product.json +72 -57
  200. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  201. package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
  202. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  203. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
  204. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  205. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
  207. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  208. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
  209. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  210. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
  211. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  212. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  213. package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -96
  214. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  215. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +161 -152
  216. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  217. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
  218. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  219. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
  220. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  221. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
  222. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  223. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +157 -160
  224. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  225. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  226. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  227. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +126 -190
  228. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  229. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
  230. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  231. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
  232. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  233. package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
  234. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  235. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
  236. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  237. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
  238. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  239. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
  240. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  242. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +691 -0
  243. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
  245. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
  247. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  248. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
  249. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  250. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  251. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -28
  252. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
  254. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
  256. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  257. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
  258. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  259. package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
  260. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  261. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
  262. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  263. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  264. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +72 -57
  265. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  266. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  267. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  268. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -34
  270. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  271. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
  272. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  273. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
  274. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  275. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
  276. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  277. package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
  278. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  279. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
  280. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  281. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
  282. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  283. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  284. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  285. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
  286. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  287. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
  288. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
  290. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  291. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  292. package/artifacts/contracts/staking/Staking.sol/Staking.json +170 -109
  293. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
  295. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
  297. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  298. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
  299. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  300. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
  301. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  302. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
  303. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  304. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
  305. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  306. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
  307. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  308. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  309. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  310. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  314. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  316. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  318. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  321. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  322. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  323. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  325. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  326. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  327. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  329. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  331. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  333. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  335. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  336. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  337. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  339. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  341. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  343. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  348. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  350. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  352. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  353. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  354. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
  355. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
  356. package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
  357. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  358. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
  359. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  360. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
  361. package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
  362. package/contracts/accounting/AccountingService.sol +5 -6
  363. package/contracts/accounting/AccountingServiceManager.sol +4 -6
  364. package/contracts/accounting/IAccountingService.sol +1 -1
  365. package/contracts/authorization/AccessAdmin.sol +47 -42
  366. package/contracts/authorization/AccessAdminLib.sol +32 -12
  367. package/contracts/authorization/AccessManagerCloneable.sol +24 -48
  368. package/contracts/authorization/Authorization.sol +2 -2
  369. package/contracts/authorization/IAccessAdmin.sol +3 -3
  370. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  371. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  372. package/contracts/distribution/BasicDistribution.sol +0 -2
  373. package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
  374. package/contracts/distribution/Distribution.sol +0 -2
  375. package/contracts/distribution/DistributionService.sol +24 -20
  376. package/contracts/distribution/DistributionServiceManager.sol +4 -6
  377. package/contracts/examples/fire/FirePool.sol +0 -4
  378. package/contracts/examples/fire/FireProduct.sol +0 -4
  379. package/contracts/examples/flight/FlightLib.sol +300 -0
  380. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  381. package/contracts/examples/flight/FlightOracle.sol +167 -0
  382. package/contracts/examples/flight/FlightOracleAuthorization.sol +53 -0
  383. package/contracts/examples/flight/FlightPool.sol +85 -0
  384. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  385. package/contracts/examples/flight/FlightProduct.sol +681 -0
  386. package/contracts/examples/flight/FlightProductAuthorization.sol +69 -0
  387. package/contracts/examples/flight/FlightUSD.sol +28 -0
  388. package/contracts/examples/flight/originalV1.sol +396 -0
  389. package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
  390. package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
  391. package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
  392. package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
  393. package/contracts/instance/IInstance.sol +1 -1
  394. package/contracts/instance/Instance.sol +8 -12
  395. package/contracts/instance/InstanceAdmin.sol +10 -18
  396. package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
  397. package/contracts/instance/InstanceReader.sol +46 -18
  398. package/contracts/instance/InstanceService.sol +18 -20
  399. package/contracts/instance/InstanceServiceManager.sol +4 -6
  400. package/contracts/instance/base/Cloneable.sol +4 -10
  401. package/contracts/instance/base/ObjectSet.sol +2 -2
  402. package/contracts/oracle/BasicOracle.sol +0 -2
  403. package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
  404. package/contracts/oracle/IOracleService.sol +12 -16
  405. package/contracts/oracle/Oracle.sol +3 -4
  406. package/contracts/oracle/OracleService.sol +37 -67
  407. package/contracts/oracle/OracleServiceManager.sol +4 -6
  408. package/contracts/pool/BasicPool.sol +2 -4
  409. package/contracts/pool/BasicPoolAuthorization.sol +5 -4
  410. package/contracts/pool/BundleService.sol +25 -19
  411. package/contracts/pool/BundleServiceManager.sol +5 -7
  412. package/contracts/pool/IPoolService.sol +5 -6
  413. package/contracts/pool/Pool.sol +1 -3
  414. package/contracts/pool/PoolLib.sol +5 -102
  415. package/contracts/pool/PoolService.sol +67 -101
  416. package/contracts/pool/PoolServiceManager.sol +4 -6
  417. package/contracts/product/ApplicationService.sol +13 -34
  418. package/contracts/product/ApplicationServiceManager.sol +4 -6
  419. package/contracts/product/BasicProduct.sol +0 -2
  420. package/contracts/product/BasicProductAuthorization.sol +8 -6
  421. package/contracts/product/ClaimService.sol +10 -34
  422. package/contracts/product/ClaimServiceManager.sol +5 -7
  423. package/contracts/product/IPolicyService.sol +0 -1
  424. package/contracts/product/PolicyService.sol +44 -57
  425. package/contracts/product/PolicyServiceManager.sol +4 -6
  426. package/contracts/product/PricingService.sol +7 -8
  427. package/contracts/product/PricingServiceManager.sol +4 -6
  428. package/contracts/product/Product.sol +0 -2
  429. package/contracts/product/RiskService.sol +8 -40
  430. package/contracts/product/RiskServiceManager.sol +4 -6
  431. package/contracts/registry/IRegistry.sol +20 -14
  432. package/contracts/registry/IRegistryService.sol +10 -14
  433. package/contracts/registry/IRelease.sol +0 -3
  434. package/contracts/registry/Registry.sol +124 -78
  435. package/contracts/registry/RegistryAdmin.sol +18 -22
  436. package/contracts/registry/RegistryAuthorization.sol +4 -3
  437. package/contracts/registry/RegistryService.sol +99 -82
  438. package/contracts/registry/RegistryServiceManager.sol +4 -11
  439. package/contracts/registry/ReleaseAdmin.sol +16 -16
  440. package/contracts/registry/ReleaseRegistry.sol +64 -74
  441. package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
  442. package/contracts/registry/TokenRegistry.sol +6 -15
  443. package/contracts/shared/Component.sol +27 -22
  444. package/contracts/shared/ComponentService.sol +45 -130
  445. package/contracts/shared/ComponentServiceManager.sol +5 -7
  446. package/contracts/shared/ContractLib.sol +359 -93
  447. package/contracts/shared/EcdsaChecker.sol +5 -0
  448. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  449. package/contracts/shared/IComponent.sol +5 -3
  450. package/contracts/shared/IComponentService.sol +0 -14
  451. package/contracts/shared/IInstanceLinkedComponent.sol +5 -12
  452. package/contracts/shared/INftOwnable.sol +0 -2
  453. package/contracts/shared/IRegisterable.sol +14 -3
  454. package/contracts/shared/IRegistryLinked.sol +1 -3
  455. package/contracts/shared/IService.sol +2 -2
  456. package/contracts/shared/IVersionable.sol +19 -0
  457. package/contracts/shared/InstanceLinkedComponent.sol +84 -78
  458. package/contracts/shared/NftOwnable.sol +9 -22
  459. package/contracts/shared/PolicyHolder.sol +2 -4
  460. package/contracts/shared/Registerable.sol +37 -20
  461. package/contracts/shared/RegistryLinked.sol +4 -23
  462. package/contracts/shared/Service.sol +8 -9
  463. package/contracts/shared/TokenHandler.sol +4 -1
  464. package/contracts/shared/Versionable.sol +47 -0
  465. package/contracts/staking/IStaking.sol +2 -2
  466. package/contracts/staking/Staking.sol +28 -33
  467. package/contracts/staking/StakingLib.sol +3 -1
  468. package/contracts/staking/StakingManager.sol +3 -6
  469. package/contracts/staking/StakingReader.sol +9 -17
  470. package/contracts/staking/StakingService.sol +16 -13
  471. package/contracts/staking/StakingServiceManager.sol +4 -8
  472. package/contracts/staking/StakingStore.sol +8 -8
  473. package/contracts/staking/TargetHandler.sol +4 -5
  474. package/contracts/type/ObjectType.sol +2 -31
  475. package/contracts/type/Referral.sol +6 -0
  476. package/contracts/type/RequestIdSet.sol +62 -0
  477. package/contracts/type/Seconds.sol +4 -0
  478. package/contracts/type/String.sol +30 -0
  479. package/contracts/type/Timestamp.sol +10 -1
  480. package/contracts/type/Version.sol +15 -16
  481. package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
  482. package/contracts/upgradeability/ProxyManager.sol +46 -54
  483. package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
  484. package/package.json +2 -1
  485. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
  486. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
  487. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
  488. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
  489. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
  490. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
@@ -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,
@@ -7,20 +7,20 @@ import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet
7
7
  import {IAccess} from "./IAccess.sol";
8
8
  import {IAccessAdmin} from "./IAccessAdmin.sol";
9
9
  import {IAuthorization} from "./IAuthorization.sol";
10
- import {IRegistry} from "../registry/IRegistry.sol";
11
10
  import {IServiceAuthorization} from "./IServiceAuthorization.sol";
12
11
 
13
12
  import {AccessAdminLib} from "./AccessAdminLib.sol";
14
13
  import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
15
14
  import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
16
15
  import {ContractLib} from "../shared/ContractLib.sol";
17
- import {NftId, NftIdLib} from "../type/NftId.sol";
16
+ import {NftId} from "../type/NftId.sol";
18
17
  import {ObjectType} from "../type/ObjectType.sol";
19
18
  import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
19
+ import {RegistryLinked} from "../shared/RegistryLinked.sol";
20
20
  import {Selector, SelectorSetLib} from "../type/Selector.sol";
21
21
  import {Str, StrLib} from "../type/String.sol";
22
22
  import {TimestampLib} from "../type/Timestamp.sol";
23
- import {VersionPart} from "../type/Version.sol";
23
+ import {VersionPartLib, VersionPart} from "../type/Version.sol";
24
24
 
25
25
 
26
26
  /**
@@ -30,6 +30,7 @@ import {VersionPart} from "../type/Version.sol";
30
30
  */
31
31
  contract AccessAdmin is
32
32
  AccessManagedUpgradeable,
33
+ RegistryLinked,
33
34
  IAccessAdmin
34
35
  {
35
36
  using EnumerableSet for EnumerableSet.AddressSet;
@@ -91,12 +92,16 @@ contract AccessAdmin is
91
92
  /// Internally initializes access manager with this admin and creates basic role setup.
92
93
  function initialize(
93
94
  address authority,
94
- string memory adminName
95
+ string memory adminName,
96
+ VersionPart release
95
97
  )
96
98
  public
97
- initializer()
98
99
  {
99
- __AccessAdmin_init(authority, adminName);
100
+ if(_getInitializedVersion() != 0) {
101
+ revert InvalidInitialization();
102
+ }
103
+
104
+ __AccessAdmin_init(authority, adminName, release);
100
105
  }
101
106
 
102
107
 
@@ -106,14 +111,16 @@ contract AccessAdmin is
106
111
  /// - this function as well as any completeSetup functions MUST be called in the same tx.
107
112
  function __AccessAdmin_init(
108
113
  address authority,
109
- string memory adminName
114
+ string memory adminName,
115
+ VersionPart release
110
116
  )
111
117
  internal
112
- onlyInitializing()
118
+ reinitializer(release.toInt())
113
119
  {
114
120
  AccessAdminLib.checkInitParameters(authority, adminName);
121
+
115
122
  _authority = AccessManagerCloneable(authority);
116
- _authority.initialize(address(this));
123
+ _authority.initialize(address(this), release);
117
124
 
118
125
  // delayed additional check for authority after its initialization
119
126
  if (!ContractLib.isAuthority(authority)) {
@@ -121,7 +128,7 @@ contract AccessAdmin is
121
128
  }
122
129
 
123
130
  // effects
124
- // set and initialize this access manager contract as
131
+ // set and initialize this contract as
125
132
  // the admin (ADMIN_ROLE) of the provided authority
126
133
  __AccessManaged_init(authority);
127
134
 
@@ -129,7 +136,7 @@ contract AccessAdmin is
129
136
  _adminName = adminName;
130
137
 
131
138
  // set initial linked NFT ID to zero
132
- _linkedNftId = NftIdLib.zero();
139
+ //_linkedNftId = NftIdLib.zero();
133
140
 
134
141
  // setup admin role
135
142
  _createRoleUnchecked(
@@ -149,12 +156,7 @@ contract AccessAdmin is
149
156
  //--- view functions for access admin ---------------------------------------//
150
157
 
151
158
  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();
159
+ return VersionPartLib.toVersionPart(uint8(_getInitializedVersion()));
158
160
  }
159
161
 
160
162
 
@@ -279,10 +281,11 @@ contract AccessAdmin is
279
281
  {
280
282
  Selector selector = SelectorSetLib.at(_targetFunctions[target], idx);
281
283
  func = _functionInfo[target][selector];
282
- roleId = RoleIdLib.toRoleId(
283
- _authority.getTargetFunctionRole(
284
- target,
285
- selector.toBytes4()));
284
+ roleId = AccessAdminLib.getFunctionRoleId(_authority, target, selector);
285
+ // roleId = RoleIdLib.toRoleId(
286
+ // _authority.getTargetFunctionRole(
287
+ // target,
288
+ // selector.toBytes4()));
286
289
  }
287
290
 
288
291
 
@@ -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
 
@@ -318,7 +322,7 @@ contract AccessAdmin is
318
322
  (RoleId roleId, bool exists) = getRoleForName(roleInfo.name.toString());
319
323
 
320
324
  if (!exists) {
321
- if (!AccessAdminLib.isDynamicRoleId(authzRoleId)) {
325
+ if (!AccessAdminLib.isDynamicRoleId(authzRoleId) || roleInfo.targetType == TargetType.Custom) {
322
326
  roleId = authzRoleId;
323
327
  }
324
328
 
@@ -658,22 +662,23 @@ contract AccessAdmin is
658
662
  }
659
663
 
660
664
 
661
- function _checkAuthorization(
662
- address authorization,
663
- ObjectType expectedDomain,
664
- VersionPart expectedRelease,
665
- bool expectServiceAuthorization,
666
- bool checkAlreadyInitialized
667
- )
668
- internal
669
- view
670
- {
671
- AccessAdminLib.checkAuthorization(
672
- address(_authorization),
673
- authorization,
674
- expectedDomain,
675
- expectedRelease,
676
- expectServiceAuthorization,
677
- checkAlreadyInitialized);
678
- }
665
+ // TODO cleanup
666
+ // function _checkAuthorization(
667
+ // address authorization,
668
+ // ObjectType expectedDomain,
669
+ // VersionPart expectedRelease,
670
+ // bool expectServiceAuthorization,
671
+ // bool checkAlreadyInitialized
672
+ // )
673
+ // internal
674
+ // view
675
+ // {
676
+ // AccessAdminLib.checkAuthorization(
677
+ // _authorization,
678
+ // authorization,
679
+ // expectedDomain,
680
+ // expectedRelease,
681
+ // expectServiceAuthorization,
682
+ // checkAlreadyInitialized);
683
+ // }
679
684
  }
@@ -7,16 +7,17 @@ import {IAccess} from "./IAccess.sol";
7
7
  import {IAccessAdmin} from "./IAccessAdmin.sol";
8
8
  import {IAuthorization} from "./IAuthorization.sol";
9
9
  import {IComponent} from "../shared/IComponent.sol";
10
- import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
10
+ import {IAuthorizedComponent} from "../shared/IAuthorizedComponent.sol";
11
11
  import {IRegistry} from "../registry/IRegistry.sol";
12
12
  import {IService} from "../shared/IService.sol";
13
13
  import {IServiceAuthorization} from "./IServiceAuthorization.sol";
14
14
 
15
+ import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
15
16
  import {BlocknumberLib} from "../type/Blocknumber.sol";
16
17
  import {ContractLib} from "../shared/ContractLib.sol";
17
18
  import {ObjectType} from "../type/ObjectType.sol";
18
19
  import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
19
- import {SelectorLib} from "../type/Selector.sol";
20
+ import {Selector, SelectorLib} from "../type/Selector.sol";
20
21
  import {Str, StrLib} from "../type/String.sol";
21
22
  import {TimestampLib} from "../type/Timestamp.sol";
22
23
  import {VersionPart, VersionPartLib} from "../type/Version.sol";
@@ -335,10 +336,10 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
335
336
  view
336
337
  returns (IAuthorization componentAuthorization)
337
338
  {
338
- checkIsRegistered(address(accessAdmin.getRegistry()), componentAddress, expectedType);
339
-
340
339
  VersionPart expecteRelease = accessAdmin.getRelease();
341
- IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
340
+ checkIsRegistered(componentAddress, expectedType, expecteRelease);
341
+
342
+ IAuthorizedComponent component = IAuthorizedComponent(componentAddress);
342
343
  componentAuthorization = component.getAuthorization();
343
344
 
344
345
  checkAuthorization(
@@ -435,22 +436,25 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
435
436
 
436
437
 
437
438
  function checkIsRegistered(
438
- address registry,
439
439
  address target,
440
- ObjectType expectedType
440
+ ObjectType expectedType,
441
+ VersionPart expectedRelease
441
442
  )
442
443
  public
443
444
  view
444
445
  {
445
- checkRegistry(registry);
446
+ IRegistry.ObjectInfo memory info = ContractLib.getRegistry().getObjectInfo(target);
446
447
 
447
- ObjectType tagetType = IRegistry(registry).getObjectInfo(target).objectType;
448
- if (tagetType.eqz()) {
448
+ if (info.objectType.eqz()) {
449
449
  revert IAccessAdmin.ErrorAccessAdminNotRegistered(target);
450
450
  }
451
451
 
452
- if (tagetType != expectedType) {
453
- revert IAccessAdmin.ErrorAccessAdminTargetTypeMismatch(target, expectedType, tagetType);
452
+ if (info.objectType != expectedType) {
453
+ revert IAccessAdmin.ErrorAccessAdminTargetTypeMismatch(target, expectedType, info.objectType);
454
+ }
455
+
456
+ if (info.release != expectedRelease) {
457
+ revert IAccessAdmin.ErrorAccessAdminTargetReleaseMismatch(target, expectedRelease, info.release);
454
458
  }
455
459
  }
456
460
 
@@ -481,6 +485,22 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
481
485
  }
482
486
 
483
487
 
488
+ function getFunctionRoleId(
489
+ AccessManagerCloneable authority,
490
+ address target,
491
+ Selector selector
492
+ )
493
+ public
494
+ view
495
+ returns (RoleId functionRoleId)
496
+ {
497
+ return RoleIdLib.toRoleId(
498
+ authority.getTargetFunctionRole(
499
+ target,
500
+ selector.toBytes4()));
501
+ }
502
+
503
+
484
504
  function getServiceRoleId(
485
505
  address serviceAddress,
486
506
  IAccess.TargetType serviceTargetType
@@ -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/IComponent.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(),