@etherisc/gif-next 0.0.2-d437d8d-974 → 0.0.2-d43ca2d-657

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 (484) hide show
  1. package/README.md +27 -6
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +166 -59
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
  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 +97 -18
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +192 -212
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +132 -128
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +196 -95
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +142 -69
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +119 -110
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +78 -2
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2025 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +232 -164
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +175 -151
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +321 -183
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +632 -231
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +147 -42
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +130 -61
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -103
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +182 -85
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +312 -135
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +58 -85
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +525 -84
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +134 -157
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +110 -49
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +207 -116
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  96. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  97. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  98. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  102. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +151 -171
  105. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
  107. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +113 -104
  110. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  112. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +127 -123
  114. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +156 -81
  116. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +130 -45
  118. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +146 -142
  120. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  121. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +114 -22
  122. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +161 -156
  124. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -75
  126. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +74 -35
  128. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +133 -135
  130. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +298 -187
  132. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  133. package/artifacts/contracts/pool/Pool.sol/Pool.json +146 -153
  134. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  135. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +421 -264
  136. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +146 -49
  138. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  139. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +135 -54
  140. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +106 -45
  142. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  143. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +186 -136
  144. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  145. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
  146. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  147. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +328 -131
  148. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +146 -69
  150. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  151. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +89 -9
  152. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  153. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +206 -10
  154. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  155. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +154 -21
  156. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +105 -52
  158. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  159. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +172 -117
  160. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +55 -2
  162. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  163. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +264 -130
  164. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +140 -63
  166. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  167. package/artifacts/contracts/product/PricingService.sol/PricingService.json +185 -115
  168. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  169. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +123 -54
  170. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  171. package/artifacts/contracts/product/Product.sol/Product.json +182 -132
  172. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  173. package/artifacts/contracts/product/RiskService.sol/RiskService.json +117 -63
  174. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +115 -42
  176. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  177. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  178. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  179. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +98 -17
  180. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  181. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  182. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  183. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  184. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  185. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  186. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  187. package/artifacts/contracts/registry/Registry.sol/Registry.json +142 -53
  188. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  189. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +257 -254
  190. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +112 -183
  192. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  193. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +102 -37
  194. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  195. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  196. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  197. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  198. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  199. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +406 -250
  200. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  201. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  202. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  203. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +3 -3
  204. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  205. package/artifacts/contracts/shared/Component.sol/Component.json +105 -83
  206. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  207. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +493 -480
  208. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +139 -76
  210. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  211. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +60 -2
  212. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  213. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +454 -5
  214. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  215. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  216. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  217. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  220. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -65
  222. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +448 -260
  224. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +113 -104
  226. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  228. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  229. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  230. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  231. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  232. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -1
  234. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  236. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  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 +126 -122
  242. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  243. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  244. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  246. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  247. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  248. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  249. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +18 -2
  250. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  251. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -3
  252. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +152 -38
  254. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  255. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  256. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  257. package/artifacts/contracts/shared/Service.sol/Service.json +60 -2
  258. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  259. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +388 -35
  260. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  261. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  262. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  263. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
  264. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  265. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +110 -101
  266. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  267. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -23
  268. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  269. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +3 -3
  270. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/Staking.sol/Staking.json +192 -171
  272. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  273. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  274. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  275. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +127 -53
  276. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  277. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -12
  278. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +103 -62
  280. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +106 -41
  282. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +145 -104
  284. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  285. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +3 -3
  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/Amount.sol/AmountLib.json +33 -9
  289. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  292. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  294. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
  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 +4 -0
  299. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  300. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  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 +2 -2
  306. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  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 +118 -5
  314. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +3 -3
  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/StateId.sol/StateIdLib.json +15 -2
  321. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  324. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +16 -3
  326. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  328. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
  330. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  331. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  332. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +79 -27
  333. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  334. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  335. package/contracts/accounting/AccountingService.sol +262 -0
  336. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  337. package/contracts/accounting/IAccountingService.sol +45 -0
  338. package/contracts/authorization/AccessAdmin.sol +195 -128
  339. package/contracts/authorization/AccessManagerCloneable.sol +136 -3
  340. package/contracts/authorization/Authorization.sol +111 -39
  341. package/contracts/authorization/IAccess.sol +1 -0
  342. package/contracts/authorization/IAccessAdmin.sol +10 -5
  343. package/contracts/authorization/IAuthorization.sol +13 -7
  344. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  345. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  346. package/contracts/distribution/BasicDistribution.sol +8 -7
  347. package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
  348. package/contracts/distribution/Distribution.sol +32 -40
  349. package/contracts/distribution/DistributionService.sol +86 -65
  350. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  351. package/contracts/distribution/IDistributionComponent.sol +1 -1
  352. package/contracts/distribution/IDistributionService.sol +5 -6
  353. package/contracts/examples/fire/DamageLevel.sol +59 -0
  354. package/contracts/examples/fire/FirePool.sol +90 -0
  355. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  356. package/contracts/examples/fire/FireProduct.sol +436 -0
  357. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  358. package/contracts/examples/fire/FireUSD.sol +26 -0
  359. package/contracts/examples/unpermissioned/SimpleDistribution.sol +11 -4
  360. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  361. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -4
  362. package/contracts/examples/unpermissioned/SimplePool.sol +37 -6
  363. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  364. package/contracts/examples/unpermissioned/SimpleProduct.sol +38 -23
  365. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  366. package/contracts/instance/BundleSet.sol +38 -34
  367. package/contracts/instance/IInstance.sol +12 -9
  368. package/contracts/instance/IInstanceService.sol +9 -29
  369. package/contracts/instance/Instance.sol +40 -34
  370. package/contracts/instance/InstanceAdmin.sol +114 -73
  371. package/contracts/instance/InstanceAuthorizationV3.sol +51 -32
  372. package/contracts/instance/InstanceReader.sol +171 -20
  373. package/contracts/instance/InstanceService.sol +86 -149
  374. package/contracts/instance/InstanceServiceManager.sol +6 -7
  375. package/contracts/instance/RiskSet.sol +117 -0
  376. package/contracts/instance/base/ObjectCounter.sol +1 -2
  377. package/contracts/instance/base/ObjectLifecycle.sol +2 -1
  378. package/contracts/instance/base/ObjectSet.sol +24 -25
  379. package/contracts/instance/module/IComponents.sol +10 -6
  380. package/contracts/instance/module/IPolicy.sol +4 -3
  381. package/contracts/instance/module/IRisk.sol +3 -0
  382. package/contracts/oracle/BasicOracle.sol +0 -1
  383. package/contracts/oracle/IOracleService.sol +2 -1
  384. package/contracts/oracle/Oracle.sol +5 -16
  385. package/contracts/oracle/OracleService.sol +110 -80
  386. package/contracts/oracle/OracleServiceManager.sol +6 -6
  387. package/contracts/pool/BasicPool.sol +33 -24
  388. package/contracts/pool/BasicPoolAuthorization.sol +12 -2
  389. package/contracts/pool/BundleService.sol +74 -87
  390. package/contracts/pool/BundleServiceManager.sol +6 -6
  391. package/contracts/pool/IBundleService.sol +2 -15
  392. package/contracts/pool/IPoolComponent.sol +19 -15
  393. package/contracts/pool/IPoolService.sol +30 -37
  394. package/contracts/pool/Pool.sol +141 -122
  395. package/contracts/pool/PoolService.sol +265 -159
  396. package/contracts/pool/PoolServiceManager.sol +4 -4
  397. package/contracts/product/ApplicationService.sol +32 -21
  398. package/contracts/product/ApplicationServiceManager.sol +4 -4
  399. package/contracts/product/BasicProduct.sol +8 -12
  400. package/contracts/product/BasicProductAuthorization.sol +1 -3
  401. package/contracts/product/ClaimService.sol +298 -127
  402. package/contracts/product/ClaimServiceManager.sol +4 -4
  403. package/contracts/product/IApplicationService.sol +5 -2
  404. package/contracts/product/IClaimService.sol +16 -2
  405. package/contracts/product/IPolicyService.sol +25 -10
  406. package/contracts/product/IPricingService.sol +9 -9
  407. package/contracts/product/IProductComponent.sol +23 -3
  408. package/contracts/product/PolicyService.sol +296 -198
  409. package/contracts/product/PolicyServiceManager.sol +4 -4
  410. package/contracts/product/PricingService.sol +14 -14
  411. package/contracts/product/PricingServiceManager.sol +4 -4
  412. package/contracts/product/Product.sol +100 -74
  413. package/contracts/product/RiskService.sol +79 -25
  414. package/contracts/product/RiskServiceManager.sol +4 -4
  415. package/contracts/registry/ChainNft.sol +10 -11
  416. package/contracts/registry/IRegistry.sol +14 -18
  417. package/contracts/registry/IRegistryService.sol +5 -12
  418. package/contracts/registry/IRelease.sol +26 -0
  419. package/contracts/registry/ITransferInterceptor.sol +1 -2
  420. package/contracts/registry/Registry.sol +32 -8
  421. package/contracts/registry/RegistryAdmin.sol +121 -241
  422. package/contracts/registry/RegistryService.sol +36 -47
  423. package/contracts/registry/RegistryServiceManager.sol +3 -3
  424. package/contracts/registry/ReleaseAdmin.sol +245 -0
  425. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  426. package/contracts/registry/ReleaseRegistry.sol +257 -237
  427. package/contracts/registry/ServiceAuthorizationV3.sol +93 -50
  428. package/contracts/registry/TokenRegistry.sol +5 -7
  429. package/contracts/shared/Component.sol +67 -109
  430. package/contracts/shared/ComponentService.sol +381 -332
  431. package/contracts/shared/ComponentServiceManager.sol +8 -5
  432. package/contracts/shared/ComponentVerifyingService.sol +27 -16
  433. package/contracts/shared/ContractLib.sol +223 -9
  434. package/contracts/shared/IComponent.sol +8 -17
  435. package/contracts/shared/IComponentService.sol +45 -37
  436. package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
  437. package/contracts/shared/ILifecycle.sol +3 -1
  438. package/contracts/shared/INftOwnable.sol +2 -0
  439. package/contracts/shared/IRegisterable.sol +23 -1
  440. package/contracts/shared/IService.sol +3 -5
  441. package/contracts/shared/InstanceLinkedComponent.sol +68 -43
  442. package/contracts/shared/KeyValueStore.sol +1 -1
  443. package/contracts/shared/Lifecycle.sol +15 -4
  444. package/contracts/shared/NftOwnable.sol +26 -6
  445. package/contracts/shared/PolicyHolder.sol +5 -1
  446. package/contracts/shared/Registerable.sol +53 -19
  447. package/contracts/shared/RegistryLinked.sol +7 -13
  448. package/contracts/shared/Service.sol +13 -30
  449. package/contracts/shared/TokenHandler.sol +316 -66
  450. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  451. package/contracts/staking/IStaking.sol +9 -4
  452. package/contracts/staking/IStakingService.sol +0 -3
  453. package/contracts/staking/Staking.sol +64 -36
  454. package/contracts/staking/StakingManager.sol +8 -6
  455. package/contracts/staking/StakingReader.sol +12 -5
  456. package/contracts/staking/StakingService.sol +56 -24
  457. package/contracts/staking/StakingServiceManager.sol +2 -2
  458. package/contracts/type/Amount.sol +15 -0
  459. package/contracts/type/ClaimId.sol +6 -1
  460. package/contracts/type/Key32.sol +2 -2
  461. package/contracts/type/Key32Set.sol +62 -0
  462. package/contracts/type/NftId.sol +7 -0
  463. package/contracts/type/ObjectType.sol +11 -0
  464. package/contracts/type/PayoutId.sol +10 -10
  465. package/contracts/type/RiskId.sol +35 -4
  466. package/contracts/type/RoleId.sol +4 -13
  467. package/contracts/type/StateId.sol +14 -1
  468. package/contracts/type/Timestamp.sol +0 -5
  469. package/contracts/type/UFixed.sol +13 -119
  470. package/contracts/type/Version.sol +15 -5
  471. package/contracts/upgradeability/ProxyManager.sol +68 -34
  472. package/contracts/upgradeability/Versionable.sol +2 -2
  473. package/package.json +4 -3
  474. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  475. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  476. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  477. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  478. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  479. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  480. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  481. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  482. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  483. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  484. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -2,15 +2,148 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
5
+ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
6
+ import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
5
7
 
8
+ import {InitializableERC165} from "../shared/InitializableERC165.sol";
9
+ import {RegistryLinked} from "../shared/RegistryLinked.sol";
10
+ import {VersionPart, VersionLib} from "../type/Version.sol";
11
+
12
+
13
+ /// @dev An AccessManager based on OpenZeppelin that is cloneable and has a central lock property.
14
+ /// The lock property allows to lock all services of a release in a central place.
15
+ /// Cloned by upon release preparation and instance cloning.
6
16
  contract AccessManagerCloneable is
7
- AccessManagerUpgradeable
17
+ AccessManagerUpgradeable,
18
+ InitializableERC165,
19
+ RegistryLinked
8
20
  {
21
+ error ErrorAccessManagerCallerNotAdmin(address caller);
22
+ error ErrorAccessManagerRegistryAlreadySet(address registry);
23
+ error ErrorAccessManagerInvalidRelease(VersionPart release);
24
+
25
+ error ErrorAccessManagerTargetAdminLocked(address target);
26
+ error ErrorAccessManagerCallerAdminLocked(address caller);
9
27
 
10
- function initialize(address initialAdmin)
28
+ VersionPart private _release;
29
+ bool private _isLocked;
30
+
31
+ modifier onlyAdminRole() {
32
+ (bool isMember, ) = hasRole(ADMIN_ROLE, msg.sender);
33
+ if(!isMember) {
34
+ revert ErrorAccessManagerCallerNotAdmin(msg.sender);
35
+ }
36
+ _;
37
+ }
38
+
39
+ function initialize(address admin)
11
40
  external
12
41
  initializer()
13
42
  {
14
- __AccessManager_init(initialAdmin);
43
+ __AccessManager_init(admin);
44
+ _initializeERC165();
45
+ _registerInterface(type(IAccessManager).interfaceId);
46
+ }
47
+
48
+
49
+ /// @dev Completes the setup of the access manager.
50
+ /// Links the access manager to the registry and sets the release version.
51
+ function completeSetup(
52
+ address registry,
53
+ VersionPart release
54
+ )
55
+ external
56
+ onlyAdminRole
57
+ reinitializer(uint64(release.toInt()))
58
+ {
59
+ _completeSetup(registry, release, true);
60
+ }
61
+
62
+ /// @dev Completes the setup of the access manager.
63
+ /// Links the access manager to the registry and sets the release version.
64
+ function completeSetup(
65
+ address registry,
66
+ VersionPart release,
67
+ bool verifyRelease
68
+ )
69
+ public
70
+ onlyAdminRole
71
+ reinitializer(uint64(release.toInt()))
72
+ {
73
+ _completeSetup(registry, release, verifyRelease);
74
+ }
75
+
76
+ /// @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.
77
+ /// Feturn values as in OpenZeppelin AccessManager.
78
+ /// For a locked manager the function reverts with ErrorAccessManagerTargetAdminLocked.
79
+ function canCall(
80
+ address caller,
81
+ address target,
82
+ bytes4 selector
83
+ )
84
+ public
85
+ view
86
+ virtual override
87
+ returns (
88
+ bool immediate,
89
+ uint32 delay
90
+ )
91
+ {
92
+ (immediate, delay) = super.canCall(caller, target, selector);
93
+
94
+ // locking of all contracts under control of this access manager
95
+ if (isLocked()) {
96
+ revert ErrorAccessManagerTargetAdminLocked(target);
97
+ }
98
+ }
99
+
100
+
101
+ /// @dev Locks/unlocks all services of this access manager.
102
+ /// Only the corresponding access admin can lock/unlock the services.
103
+ function setLocked(bool locked)
104
+ external
105
+ onlyAdminRole()
106
+ {
107
+ _isLocked = locked;
108
+ }
109
+
110
+
111
+ /// @dev Returns the release version of this access manager.
112
+ /// For the registry admin release 3 is returned.
113
+ /// For the release admin and the instance admin the actual release version is returned.
114
+ function getRelease() external view returns (VersionPart release) {
115
+ return _release;
116
+ }
117
+
118
+
119
+ /// @dev Returns true iff all contracts of this access manager are locked.
120
+ function isLocked()
121
+ public
122
+ view
123
+ returns (bool)
124
+ {
125
+ return _isLocked;
126
+ }
127
+
128
+
129
+ function _completeSetup(
130
+ address registry,
131
+ VersionPart release,
132
+ bool verifyRelease
133
+ )
134
+ internal
135
+ {
136
+ // checks
137
+ if(address(getRegistry()) != address(0)) {
138
+ revert ErrorAccessManagerRegistryAlreadySet(address(getRegistry()) );
139
+ }
140
+
141
+ if (verifyRelease && !release.isValidRelease()) {
142
+ revert ErrorAccessManagerInvalidRelease(release);
143
+ }
144
+
145
+ // effects
146
+ __RegistryLinked_init(registry);
147
+ _release = release;
15
148
  }
16
149
  }
@@ -11,60 +11,74 @@ import {TimestampLib} from "../type/Timestamp.sol";
11
11
  import {VersionPart, VersionPartLib} from "../type/Version.sol";
12
12
 
13
13
  contract Authorization
14
- is IAuthorization
14
+ is IAuthorization
15
15
  {
16
- uint256 public constant GIF_VERSION = 3;
17
- string public constant ROLE_NAME_SUFFIX = "Role";
18
- string public constant SERVICE_ROLE_NAME_SUFFIX = "ServiceRole";
16
+ uint256 public constant GIF_RELEASE = 3;
19
17
 
20
- string internal _mainTargetName = "Component";
21
- Str[] internal _targets;
18
+ string public constant ROLE_NAME_SUFFIX = "Role";
19
+ string public constant SERVICE_ROLE_NAME_SUFFIX = "ServiceRole";
22
20
 
23
- mapping(Str target => RoleId roleid) internal _targetRole;
24
- mapping(Str target => bool exists) internal _targetExists;
21
+ ObjectType[] internal _serviceDomains;
22
+ mapping(ObjectType domain => Str target) internal _serviceTarget;
25
23
 
26
- RoleId[] internal _roles;
27
- mapping(RoleId role => RoleInfo info) internal _roleInfo;
24
+ string internal _mainTargetName = "Component";
25
+ Str[] internal _targets;
28
26
 
29
- mapping(Str target => RoleId[] authorizedRoles) internal _authorizedRoles;
30
- mapping(Str target => mapping(RoleId authorizedRole => IAccess.FunctionInfo[] functions)) internal _authorizedFunctions;
27
+ mapping(Str target => RoleId roleid) internal _targetRole;
28
+ mapping(Str target => bool exists) internal _targetExists;
31
29
 
30
+ RoleId[] internal _roles;
31
+ mapping(RoleId role => RoleInfo info) internal _roleInfo;
32
32
 
33
- constructor(string memory mainTargetName) {
34
- _mainTargetName = mainTargetName;
33
+ mapping(Str target => RoleId[] authorizedRoles) internal _authorizedRoles;
34
+ mapping(Str target => mapping(RoleId authorizedRole => IAccess.FunctionInfo[] functions)) internal _authorizedFunctions;
35
35
 
36
- _setupRoles();
37
- _setupTargets();
38
- _setupTargetAuthorizations();
36
+
37
+ constructor(string memory mainTargetName) {
38
+ _mainTargetName = mainTargetName;
39
+
40
+ _setupServiceTargets();
41
+ _setupRoles();
42
+ _setupTargets();
43
+ _setupTargetAuthorizations();
44
+ }
45
+
46
+ function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
47
+ return _serviceDomains;
48
+ }
49
+
50
+ function getServiceRole(ObjectType serviceDomain) public virtual pure returns (RoleId serviceRoleId) {
51
+ return RoleIdLib.roleForTypeAndVersion(
52
+ serviceDomain,
53
+ getRelease());
39
54
  }
40
55
 
41
- function getRelease() public virtual pure returns(VersionPart release) {
42
- return VersionPartLib.toVersionPart(GIF_VERSION);
56
+ function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget) {
57
+ return _serviceTarget[serviceDomain];
43
58
  }
44
59
 
45
60
  function getRoles() external view returns(RoleId[] memory roles) {
46
61
  return _roles;
47
62
  }
48
63
 
49
- function getServiceRole(ObjectType serviceDomain) public virtual pure returns (RoleId serviceRoleId) {
50
- return RoleIdLib.roleForTypeAndVersion(
51
- serviceDomain, getRelease());
64
+ function roleExists(RoleId roleId) public view returns(bool exists) {
65
+ return _roleInfo[roleId].roleType != RoleType.Undefined;
52
66
  }
53
67
 
54
68
  function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory info) {
55
69
  return _roleInfo[roleId];
56
70
  }
57
71
 
58
- function roleExists(RoleId roleId) public view returns(bool exists) {
59
- return _roleInfo[roleId].roleType != RoleType.Undefined;
72
+ function getTargetName() public virtual view returns (string memory name) {
73
+ return _mainTargetName;
60
74
  }
61
75
 
62
- function getTarget() public view returns(Str) {
63
- if (_targets.length > 0) {
64
- return _targets[0];
65
- }
76
+ function getMainTarget() public view returns(Str) {
77
+ return getTarget(_mainTargetName);
78
+ }
66
79
 
67
- return StrLib.toStr("");
80
+ function getTarget(string memory targetName) public view returns(Str target) {
81
+ return StrLib.toStr(targetName);
68
82
  }
69
83
 
70
84
  function getTargets() external view returns(Str[] memory targets) {
@@ -87,26 +101,60 @@ contract Authorization
87
101
  return _authorizedFunctions[target][roleId];
88
102
  }
89
103
 
90
- function getTargetName() public virtual view returns (string memory name) {
91
- return _mainTargetName;
92
- }
104
+ function getRelease() public virtual pure returns(VersionPart release) {
105
+ return VersionPartLib.toVersionPart(GIF_RELEASE);
106
+ }
107
+
108
+ /// @dev Sets up the relevant service targets for the component.
109
+ /// Overwrite this function for a specific component.
110
+ function _setupServiceTargets() internal virtual { }
93
111
 
94
- /// @dev Overwrite this function for a specific realease.
95
- /// The first target added represents the components/module main target.
112
+ /// @dev Sets up the relevant (non-service) targets for the component.
113
+ /// Overwrite this function for a specific component.
96
114
  function _setupTargets() internal virtual { }
97
115
 
98
- /// @dev Overwrite this function for a specific realease.
116
+ /// @dev Sets up the relevant roles for the component.
117
+ /// Overwrite this function for a specific component.
99
118
  function _setupRoles() internal virtual {}
100
119
 
101
- /// @dev Overwrite this function for a specific realease.
120
+ /// @dev Sets up the relevant target authorizations for the component.
121
+ /// Overwrite this function for a specific realease.
102
122
  function _setupTargetAuthorizations() internal virtual {}
103
123
 
124
+
125
+ /// @dev Add the service target role for the specified service domain
126
+ function _addServiceTargetWithRole(ObjectType serviceDomain) internal {
127
+ // add service domain
128
+ _serviceDomains.push(serviceDomain);
129
+
130
+ // get versioned target name
131
+ string memory serviceTargetName = ObjectTypeLib.toVersionedName(
132
+ ObjectTypeLib.toName(serviceDomain),
133
+ "Service",
134
+ getRelease().toInt());
135
+
136
+ _serviceTarget[serviceDomain] = StrLib.toStr(serviceTargetName);
137
+
138
+ RoleId serviceRoleId = getServiceRole(serviceDomain);
139
+ string memory serviceRoleName = ObjectTypeLib.toVersionedName(
140
+ ObjectTypeLib.toName(serviceDomain),
141
+ "ServiceRole",
142
+ getRelease().toInt());
143
+
144
+ _addTargetWithRole(
145
+ serviceTargetName,
146
+ serviceRoleId,
147
+ serviceRoleName);
148
+ }
149
+
150
+
104
151
  /// @dev Use this method to to add an authorized role.
105
152
  function _addRole(RoleId roleId, RoleInfo memory info) internal {
106
153
  _roles.push(roleId);
107
154
  _roleInfo[roleId] = info;
108
155
  }
109
156
 
157
+
110
158
  /// @dev Add a contract role for the provided role id and name.
111
159
  function _addContractRole(RoleId roleId, string memory name) internal {
112
160
  _addRole(
@@ -118,6 +166,7 @@ contract Authorization
118
166
  name));
119
167
  }
120
168
 
169
+
121
170
  /// @dev Add the versioned service role for the specified service domain
122
171
  function _addServiceRole(ObjectType serviceDomain) internal {
123
172
  _addContractRole(
@@ -128,14 +177,21 @@ contract Authorization
128
177
  getRelease().toInt()));
129
178
  }
130
179
 
180
+
131
181
  function _addComponentTargetWithRole(ObjectType componentType) internal {
182
+ _addComponentTargetWithRole(componentType, 0);
183
+ }
184
+
185
+
186
+ function _addComponentTargetWithRole(ObjectType componentType, uint64 index) internal {
132
187
  _addTargetWithRole(
133
188
  getTargetName(),
134
- RoleIdLib.toComponentRoleId(componentType, 0),
189
+ RoleIdLib.toComponentRoleId(componentType, index),
135
190
  _toTargetRoleName(
136
191
  getTargetName()));
137
192
  }
138
193
 
194
+
139
195
  /// @dev Add a contract role for the provided role id and name.
140
196
  function _addCustomRole(RoleId roleId, RoleId adminRoleId, uint32 maxMemberCount, string memory name) internal {
141
197
  _addRole(
@@ -173,11 +229,13 @@ contract Authorization
173
229
  }
174
230
  }
175
231
 
232
+
176
233
  /// @dev Use this method to to add an authorized target.
177
234
  function _addTarget(string memory name) internal {
178
235
  _addTargetWithRole(name, RoleIdLib.zero(), "");
179
236
  }
180
237
 
238
+
181
239
  /// @dev Use this method to authorize the specified role to access the target.
182
240
  function _authorizeForTarget(string memory target, RoleId authorizedRoleId)
183
241
  internal
@@ -188,6 +246,7 @@ contract Authorization
188
246
  return _authorizedFunctions[targetStr][authorizedRoleId];
189
247
  }
190
248
 
249
+
191
250
  /// @dev Use this method to authorize a specific function authorization
192
251
  function _authorize(IAccess.FunctionInfo[] storage functions, bytes4 selector, string memory name) internal {
193
252
  functions.push(
@@ -197,13 +256,25 @@ contract Authorization
197
256
  createdAt: TimestampLib.blockTimestamp()}));
198
257
  }
199
258
 
200
- function _toTargetRoleName(string memory targetName) internal view returns (string memory) {
259
+
260
+ /// @dev role id for targets registry, staking and instance
261
+ function _toTargetRoleId(ObjectType targetDomain)
262
+ internal
263
+ pure
264
+ returns (RoleId targetRoleId)
265
+ {
266
+ return RoleIdLib.roleForType(targetDomain);
267
+ }
268
+
269
+
270
+ function _toTargetRoleName(string memory targetName) internal pure returns (string memory) {
201
271
  return string(
202
272
  abi.encodePacked(
203
273
  targetName,
204
274
  ROLE_NAME_SUFFIX));
205
275
  }
206
276
 
277
+
207
278
  /// @dev creates a role info object from the provided parameters
208
279
  function _toRoleInfo(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) internal view returns (RoleInfo memory info) {
209
280
  return RoleInfo({
@@ -211,7 +282,8 @@ contract Authorization
211
282
  adminRoleId: adminRoleId,
212
283
  roleType: roleType,
213
284
  maxMemberCount: maxMemberCount,
214
- createdAt: TimestampLib.blockTimestamp()});
285
+ createdAt: TimestampLib.blockTimestamp(),
286
+ pausedAt: TimestampLib.max()});
215
287
  }
216
288
  }
217
289
 
@@ -21,6 +21,7 @@ interface IAccess {
21
21
  uint32 maxMemberCount;
22
22
  Str name;
23
23
  Timestamp createdAt;
24
+ Timestamp pausedAt;
24
25
  }
25
26
 
26
27
  struct TargetInfo {
@@ -4,14 +4,16 @@ pragma solidity ^0.8.20;
4
4
  import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
5
 
6
6
  import {IAccess} from "./IAccess.sol";
7
+ import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
7
8
  import {RoleId} from "../type/RoleId.sol";
8
9
  import {Selector} from "../type/Selector.sol";
9
10
  import {Str} from "../type/String.sol";
10
- import {Timestamp} from "../type/Timestamp.sol";
11
+ import {VersionPart} from "../type/Version.sol";
11
12
 
12
13
  interface IAccessAdmin is
13
14
  IAccessManaged,
14
- IAccess
15
+ IAccess,
16
+ IRegistryLinked
15
17
  {
16
18
 
17
19
  // roles
@@ -29,7 +31,6 @@ interface IAccessAdmin is
29
31
  error ErrorNotRoleOwner(RoleId roleId);
30
32
 
31
33
  // initialize authority
32
- error ErrorAuthorityAlreadySet();
33
34
  error ErrorAdminRoleMissing();
34
35
 
35
36
  // create role
@@ -41,9 +42,10 @@ interface IAccessAdmin is
41
42
  // grant/revoke/renounce role
42
43
  error ErrorRoleUnknown(RoleId roleId);
43
44
  error ErrorRoleIsLocked(RoleId roleId);
44
- error ErrorRoleIsDisabled(RoleId roleId);
45
+ error ErrorRoleIsPaused(RoleId roleId);
45
46
  error ErrorRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
46
- error ErrorRoleRemovalDisabled(RoleId roleId);
47
+ error ErrorRoleMemberNotContract(RoleId roleId, address notContract);
48
+ error ErrorRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
47
49
 
48
50
  // create target
49
51
  error ErrorTargetAlreadyCreated(address target, string name);
@@ -54,6 +56,7 @@ interface IAccessAdmin is
54
56
 
55
57
  // lock target
56
58
  error ErrorTagetNotLockable();
59
+ error ErrorTargetAlreadyLocked(address target, bool isLocked);
57
60
 
58
61
  // authorize target functions
59
62
  error ErrorAuthorizeForAdminRoleInvalid(address target);
@@ -104,6 +107,8 @@ interface IAccessAdmin is
104
107
 
105
108
  //--- view functions ----------------------------------------------------//
106
109
 
110
+ function getRelease() external view returns (VersionPart release);
111
+
107
112
  function roles() external view returns (uint256 numberOfRoles);
108
113
  function getRoleId(uint256 idx) external view returns (RoleId roleId);
109
114
  function getAdminRole() external view returns (RoleId roleId);
@@ -11,16 +11,18 @@ interface IAuthorization is
11
11
  IAccess
12
12
  {
13
13
 
14
- /// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
15
- /// Matches with the release returned by the linked service authorization.
16
- function getRelease() external view returns(VersionPart release);
17
-
18
- /// @dev Returns the list of involved roles.
19
- function getRoles() external view returns(RoleId[] memory roles);
14
+ /// @dev Returns the list of service targets.
15
+ function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
20
16
 
21
17
  /// @dev Returns the service role for the specified service domain.
22
18
  function getServiceRole(ObjectType serviceDomain) external pure returns (RoleId serviceRoleId);
23
19
 
20
+ /// @dev Returns the service target for the specified domain.
21
+ function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
22
+
23
+ /// @dev Returns the list of involved roles.
24
+ function getRoles() external view returns(RoleId[] memory roles);
25
+
24
26
  /// @dev Returns the name for the provided role id.
25
27
  function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
26
28
 
@@ -33,7 +35,7 @@ interface IAuthorization is
33
35
  function getTargetName() external view returns (string memory name);
34
36
 
35
37
  /// @dev Returns the main target.
36
- function getTarget() external view returns(Str target);
38
+ function getMainTarget() external view returns(Str target);
37
39
 
38
40
  /// @dev Returns the complete list of targets.
39
41
  function getTargets() external view returns(Str[] memory targets);
@@ -50,5 +52,9 @@ interface IAuthorization is
50
52
 
51
53
  /// @dev For the given target and role id the list of authorized functions is returned
52
54
  function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
55
+
56
+ /// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
57
+ /// Matches with the release returned by the linked service authorization.
58
+ function getRelease() external view returns(VersionPart release);
53
59
  }
54
60
 
@@ -1,11 +1,13 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
+
4
6
  import {IAccess} from "../authorization/IAccess.sol";
5
7
  import {ObjectType} from "../type/ObjectType.sol";
6
8
  import {VersionPart} from "../type/Version.sol";
7
9
 
8
- interface IServiceAuthorization {
10
+ interface IServiceAuthorization is IERC165 {
9
11
 
10
12
  /// @dev Returns the commit hash representing the deployed release
11
13
  function getCommitHash()
@@ -1,6 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
+
4
6
  import {IAccess} from "../authorization/IAccess.sol";
5
7
  import {ObjectType} from "../type/ObjectType.sol";
6
8
  import {IServiceAuthorization} from "./IServiceAuthorization.sol";
@@ -10,30 +12,36 @@ import {TimestampLib} from "../type/Timestamp.sol";
10
12
  import {VersionPart, VersionPartLib} from "../type/Version.sol";
11
13
 
12
14
  /// @dev Base contract for release specific service authorization contracts.
13
- contract ServiceAuthorization
14
- is IServiceAuthorization
15
+ contract ServiceAuthorization is
16
+ IServiceAuthorization
15
17
  {
16
- uint256 public constant GIF_VERSION_3 = 3;
18
+ uint256 public constant COMMIT_HASH_LENGTH = 40;
19
+ uint256 public constant GIF_INITIAL_VERSION = 3;
17
20
 
18
- string private _commitHash;
21
+ uint256 public immutable VERSION;
22
+ string public COMMIT_HASH;
19
23
 
20
24
  ObjectType[] internal _serviceDomains;
21
25
  mapping(ObjectType domain => address service) internal _serviceAddress;
22
26
  mapping(ObjectType domain => ObjectType[] authorizedDomains) internal _authorizedDomains;
23
27
  mapping(ObjectType domain => mapping(ObjectType authorizedDomain => IAccess.FunctionInfo[] functions)) internal _authorizedFunctions;
24
28
 
25
- constructor(string memory commitHash) {
26
- _commitHash = commitHash;
29
+ constructor(string memory commitHash, uint256 version) {
30
+ assert(bytes(commitHash).length == COMMIT_HASH_LENGTH);
31
+ assert(version >= GIF_INITIAL_VERSION);
32
+
33
+ COMMIT_HASH = commitHash;
34
+ VERSION = version;
27
35
  _setupDomains();
28
36
  _setupDomainAuthorizations();
29
37
  }
30
38
 
31
39
  function getCommitHash() external view returns(string memory commitHash) {
32
- return _commitHash;
40
+ return COMMIT_HASH;
33
41
  }
34
42
 
35
43
  function getRelease() external view returns(VersionPart release) {
36
- return VersionPartLib.toVersionPart(GIF_VERSION_3);
44
+ return VersionPartLib.toVersionPart(VERSION);
37
45
  }
38
46
 
39
47
  function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
@@ -56,6 +64,15 @@ contract ServiceAuthorization
56
64
  return _authorizedFunctions[serviceDomain][authorizedDomain];
57
65
  }
58
66
 
67
+ // ERC165
68
+ function supportsInterface(bytes4 interfaceId) public pure returns (bool) {
69
+ return (
70
+ interfaceId == type(IServiceAuthorization).interfaceId ||
71
+ interfaceId == type(IERC165).interfaceId
72
+ );
73
+ }
74
+
75
+
59
76
  /// @dev Overwrite this function for a specific realease.
60
77
  function _setupDomains() internal virtual {}
61
78
 
@@ -86,5 +103,4 @@ contract ServiceAuthorization
86
103
  name: StrLib.toStr(name),
87
104
  createdAt: TimestampLib.blockTimestamp()}));
88
105
  }
89
- }
90
-
106
+ }
@@ -2,6 +2,7 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {Distribution} from "./Distribution.sol";
5
+ import {DISTRIBUTOR} from "../type/ObjectType.sol";
5
6
  import {IAuthorization} from "../authorization/IAuthorization.sol";
6
7
  import {NftId} from "../type/NftId.sol";
7
8
  import {ReferralId} from "../type/Referral.sol";
@@ -43,8 +44,8 @@ contract BasicDistribution is
43
44
  )
44
45
  external
45
46
  virtual
46
- onlyOwner()
47
47
  restricted()
48
+ onlyOwner()
48
49
  returns (DistributorType distributorType)
49
50
  {
50
51
  return _createDistributorType(
@@ -66,24 +67,25 @@ contract BasicDistribution is
66
67
  )
67
68
  external
68
69
  virtual
69
- onlyOwner()
70
70
  restricted()
71
+ onlyOwner()
71
72
  returns(NftId distributorNftId)
72
73
  {
73
74
  return _createDistributor(distributor, distributorType, data);
74
75
  }
75
76
 
76
- function updateDistributorType(
77
+ function changeDistributorType(
77
78
  NftId distributorNftId,
78
79
  DistributorType distributorType,
79
80
  bytes memory data
80
81
  )
81
82
  external
82
83
  virtual
83
- onlyOwner()
84
84
  restricted()
85
+ onlyOwner()
86
+ onlyNftOfType(distributorNftId, DISTRIBUTOR())
85
87
  {
86
- _updateDistributorType(distributorNftId, distributorType, data);
88
+ _changeDistributorType(distributorNftId, distributorType, data);
87
89
  }
88
90
 
89
91
  /**
@@ -99,8 +101,8 @@ contract BasicDistribution is
99
101
  )
100
102
  external
101
103
  virtual
102
- onlyDistributor()
103
104
  restricted()
105
+ onlyDistributor()
104
106
  returns (ReferralId referralId)
105
107
  {
106
108
  NftId distributorNftId = getDistributorNftId(msg.sender);
@@ -132,7 +134,6 @@ contract BasicDistribution is
132
134
  initialOwner,
133
135
  name,
134
136
  token,
135
- "", // registry data
136
137
  ""); // component specifc data
137
138
  }
138
139
  }