@etherisc/gif-next 0.0.2-c0457ac-280 → 0.0.2-c0923b6-664

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 (612) hide show
  1. package/README.md +186 -330
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +810 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1735 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +817 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +567 -356
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +465 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +407 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +652 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1234 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +844 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +139 -616
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +754 -323
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +246 -122
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +145 -282
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +535 -78
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1474 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +844 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2043 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +844 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
  66. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  67. package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +59 -195
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  71. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  72. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +590 -80
  74. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  75. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +408 -75
  76. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  77. package/artifacts/contracts/instance/Instance.sol/Instance.json +600 -218
  78. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1998 -306
  80. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +872 -0
  82. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1675 -850
  84. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +402 -274
  86. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +158 -124
  88. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  89. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1298 -1857
  90. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  92. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  93. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  94. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  96. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  98. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  99. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  100. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  101. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  102. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  103. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  104. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  105. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  107. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  108. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  109. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  110. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  111. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  112. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
  114. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +849 -0
  116. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  118. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +142 -139
  120. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  122. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +140 -423
  124. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  125. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  126. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +195 -95
  128. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1232 -0
  130. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +844 -0
  132. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +569 -265
  134. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  135. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +234 -102
  136. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  137. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +383 -53
  138. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  139. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +147 -406
  140. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  141. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +711 -340
  142. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  143. package/artifacts/contracts/pool/Pool.sol/Pool.json +144 -694
  144. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  146. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  147. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +925 -545
  148. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +246 -102
  150. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  151. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
  152. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  153. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +177 -97
  154. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  155. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1149 -0
  156. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  157. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +844 -0
  158. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  159. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +466 -245
  160. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  161. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +204 -120
  162. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
  164. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  165. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +350 -18
  166. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  167. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +417 -101
  168. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  169. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  170. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  171. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +282 -271
  172. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  173. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
  174. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  175. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +532 -311
  176. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  177. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  178. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +213 -105
  180. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  181. package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -329
  182. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  183. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +177 -129
  184. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  185. package/artifacts/contracts/product/Product.sol/Product.json +316 -606
  186. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  187. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  188. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  189. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
  190. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  191. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  192. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +384 -69
  194. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  195. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +97 -148
  196. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  197. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  198. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  199. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  200. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  201. package/artifacts/contracts/registry/Registry.sol/Registry.json +617 -133
  202. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +892 -538
  204. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  205. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
  206. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  207. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  208. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  209. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +159 -87
  210. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
  212. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  214. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  215. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
  216. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  217. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +545 -27
  218. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  219. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  220. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  221. package/artifacts/contracts/shared/Component.sol/Component.json +86 -287
  222. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +609 -569
  224. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  225. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +210 -124
  226. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  233. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  234. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -103
  236. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +535 -240
  238. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +131 -139
  240. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  241. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  242. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  243. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  244. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  246. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  248. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  250. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  251. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  252. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  253. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  254. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +125 -376
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  256. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  258. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  260. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  262. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  264. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  266. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  267. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  268. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  274. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  276. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1513 -204
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  278. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  279. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  280. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  281. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  282. package/artifacts/contracts/staking/Staking.sol/Staking.json +1635 -465
  283. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  284. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  286. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +211 -105
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +162 -94
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1637 -801
  295. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  296. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  298. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +184 -76
  299. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  300. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  301. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  303. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
  305. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  306. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  307. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  309. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  311. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  313. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  314. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  315. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  316. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  317. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  319. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  320. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  321. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +59 -4
  323. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  325. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  327. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  329. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  331. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -91
  333. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +93 -2
  335. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  337. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  339. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  341. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  343. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +24 -5
  345. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +126 -33
  347. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  349. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  350. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  351. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  352. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  353. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  354. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
  355. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  356. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  357. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  358. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  359. package/contracts/accounting/AccountingService.sol +274 -0
  360. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  361. package/contracts/accounting/IAccountingService.sol +47 -0
  362. package/contracts/authorization/AccessAdmin.sol +679 -0
  363. package/contracts/authorization/AccessAdminLib.sol +678 -0
  364. package/contracts/authorization/AccessManagerCloneable.sol +140 -0
  365. package/contracts/authorization/Authorization.sol +190 -0
  366. package/contracts/authorization/IAccess.sol +66 -0
  367. package/contracts/authorization/IAccessAdmin.sol +142 -0
  368. package/contracts/authorization/IAuthorization.sol +26 -0
  369. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  370. package/contracts/authorization/ServiceAuthorization.sol +300 -0
  371. package/contracts/distribution/BasicDistribution.sol +140 -0
  372. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  373. package/contracts/distribution/Distribution.sol +125 -141
  374. package/contracts/distribution/DistributionService.sol +284 -133
  375. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  376. package/contracts/distribution/IDistributionComponent.sol +21 -42
  377. package/contracts/distribution/IDistributionService.sol +60 -26
  378. package/contracts/examples/fire/DamageLevel.sol +59 -0
  379. package/contracts/examples/fire/FirePool.sol +86 -0
  380. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  381. package/contracts/examples/fire/FireProduct.sol +433 -0
  382. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  383. package/contracts/examples/fire/FireUSD.sol +26 -0
  384. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  385. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  386. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  387. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  388. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  389. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  390. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  391. package/contracts/instance/BaseStore.sol +93 -0
  392. package/contracts/instance/BundleSet.sol +130 -0
  393. package/contracts/instance/IBaseStore.sol +37 -0
  394. package/contracts/instance/IInstance.sol +118 -49
  395. package/contracts/instance/IInstanceService.sol +68 -46
  396. package/contracts/instance/Instance.sol +221 -133
  397. package/contracts/instance/InstanceAdmin.sol +234 -258
  398. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  399. package/contracts/instance/InstanceReader.sol +470 -256
  400. package/contracts/instance/InstanceService.sol +340 -265
  401. package/contracts/instance/InstanceServiceManager.sol +8 -13
  402. package/contracts/instance/InstanceStore.sol +163 -109
  403. package/contracts/instance/ProductStore.sol +290 -0
  404. package/contracts/instance/RiskSet.sol +126 -0
  405. package/contracts/instance/TargetNames.sol +10 -0
  406. package/contracts/instance/base/BalanceStore.sol +4 -6
  407. package/contracts/instance/base/ObjectCounter.sol +1 -2
  408. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  409. package/contracts/instance/base/ObjectSet.sol +77 -0
  410. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  411. package/contracts/instance/module/IBundle.sol +6 -5
  412. package/contracts/instance/module/IComponents.sol +29 -21
  413. package/contracts/instance/module/IDistribution.sol +21 -9
  414. package/contracts/instance/module/IPolicy.sol +50 -29
  415. package/contracts/instance/module/IRisk.sol +5 -0
  416. package/contracts/mock/Dip.sol +1 -1
  417. package/contracts/oracle/BasicOracle.sol +44 -0
  418. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  419. package/contracts/oracle/IOracle.sol +25 -4
  420. package/contracts/oracle/IOracleComponent.sol +2 -1
  421. package/contracts/oracle/IOracleService.sol +2 -1
  422. package/contracts/oracle/Oracle.sol +60 -53
  423. package/contracts/oracle/OracleService.sol +119 -87
  424. package/contracts/oracle/OracleServiceManager.sol +8 -11
  425. package/contracts/pool/BasicPool.sol +161 -0
  426. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  427. package/contracts/pool/BundleService.sol +222 -132
  428. package/contracts/pool/BundleServiceManager.sol +8 -11
  429. package/contracts/pool/IBundleService.sol +43 -33
  430. package/contracts/pool/IPoolComponent.sol +20 -70
  431. package/contracts/pool/IPoolService.sol +97 -77
  432. package/contracts/pool/Pool.sol +196 -164
  433. package/contracts/pool/PoolLib.sol +341 -0
  434. package/contracts/pool/PoolService.sol +419 -257
  435. package/contracts/pool/PoolServiceManager.sol +6 -9
  436. package/contracts/product/ApplicationService.sol +154 -81
  437. package/contracts/product/ApplicationServiceManager.sol +6 -6
  438. package/contracts/product/BasicProduct.sol +48 -0
  439. package/contracts/product/BasicProductAuthorization.sol +63 -0
  440. package/contracts/product/ClaimService.sol +391 -207
  441. package/contracts/product/ClaimServiceManager.sol +6 -6
  442. package/contracts/product/IApplicationService.sol +29 -3
  443. package/contracts/product/IClaimService.sol +48 -11
  444. package/contracts/product/IPolicyService.sol +61 -37
  445. package/contracts/product/IPricingService.sol +11 -10
  446. package/contracts/product/IProductComponent.sol +29 -9
  447. package/contracts/product/IRiskService.sol +48 -0
  448. package/contracts/product/PolicyService.sol +445 -275
  449. package/contracts/product/PolicyServiceLib.sol +139 -0
  450. package/contracts/product/PolicyServiceManager.sol +6 -9
  451. package/contracts/product/PricingService.sol +90 -84
  452. package/contracts/product/PricingServiceManager.sol +6 -9
  453. package/contracts/product/Product.sol +261 -147
  454. package/contracts/product/RiskService.sol +189 -0
  455. package/contracts/product/RiskServiceManager.sol +39 -0
  456. package/contracts/registry/ChainNft.sol +72 -40
  457. package/contracts/registry/IRegistry.sol +84 -36
  458. package/contracts/registry/IRegistryService.sol +3 -10
  459. package/contracts/registry/IRelease.sol +29 -0
  460. package/contracts/registry/ITransferInterceptor.sol +1 -2
  461. package/contracts/registry/Registry.sol +378 -224
  462. package/contracts/registry/RegistryAdmin.sol +105 -265
  463. package/contracts/registry/RegistryAuthorization.sol +337 -0
  464. package/contracts/registry/RegistryService.sol +42 -67
  465. package/contracts/registry/RegistryServiceManager.sol +5 -5
  466. package/contracts/registry/ReleaseAdmin.sol +199 -0
  467. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  468. package/contracts/registry/ReleaseRegistry.sol +525 -0
  469. package/contracts/registry/ServiceAuthorizationV3.sol +213 -71
  470. package/contracts/registry/TokenRegistry.sol +61 -59
  471. package/contracts/shared/Component.sol +71 -142
  472. package/contracts/shared/ComponentService.sol +459 -385
  473. package/contracts/shared/ComponentServiceManager.sol +10 -7
  474. package/contracts/shared/ContractLib.sol +312 -0
  475. package/contracts/shared/IComponent.sol +6 -18
  476. package/contracts/shared/IComponentService.sol +50 -41
  477. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  478. package/contracts/shared/ILifecycle.sol +3 -2
  479. package/contracts/shared/INftOwnable.sol +4 -0
  480. package/contracts/shared/IPolicyHolder.sol +12 -22
  481. package/contracts/shared/IRegisterable.sol +22 -1
  482. package/contracts/shared/IService.sol +4 -6
  483. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  484. package/contracts/shared/InstanceLinkedComponent.sol +96 -48
  485. package/contracts/shared/Lifecycle.sol +30 -72
  486. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  487. package/contracts/shared/NftOwnable.sol +33 -11
  488. package/contracts/shared/PolicyHolder.sol +20 -59
  489. package/contracts/shared/Registerable.sol +52 -21
  490. package/contracts/shared/RegistryLinked.sol +9 -14
  491. package/contracts/shared/Service.sol +22 -38
  492. package/contracts/shared/TokenHandler.sol +310 -26
  493. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  494. package/contracts/staking/IStaking.sol +271 -73
  495. package/contracts/staking/IStakingService.sol +48 -74
  496. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  497. package/contracts/staking/Staking.sol +534 -250
  498. package/contracts/staking/StakingLib.sol +195 -0
  499. package/contracts/staking/StakingManager.sol +14 -15
  500. package/contracts/staking/StakingReader.sol +72 -88
  501. package/contracts/staking/StakingService.sol +62 -152
  502. package/contracts/staking/StakingServiceManager.sol +9 -7
  503. package/contracts/staking/StakingStore.sol +1096 -341
  504. package/contracts/staking/TargetHandler.sol +132 -0
  505. package/contracts/staking/TargetManagerLib.sol +73 -46
  506. package/contracts/type/Amount.sol +31 -5
  507. package/contracts/type/Blocknumber.sol +24 -23
  508. package/contracts/type/ChainId.sol +101 -0
  509. package/contracts/type/ClaimId.sol +6 -1
  510. package/contracts/type/Fee.sol +8 -8
  511. package/contracts/type/Key32.sol +2 -2
  512. package/contracts/type/Key32Set.sol +62 -0
  513. package/contracts/type/NftId.sol +7 -0
  514. package/contracts/type/ObjectType.sol +94 -28
  515. package/contracts/type/PayoutId.sol +10 -10
  516. package/contracts/type/Referral.sol +1 -0
  517. package/contracts/type/RiskId.sol +38 -6
  518. package/contracts/type/RoleId.sol +93 -114
  519. package/contracts/type/Seconds.sol +40 -1
  520. package/contracts/type/Selector.sol +5 -0
  521. package/contracts/type/StateId.sol +15 -1
  522. package/contracts/type/String.sol +12 -0
  523. package/contracts/type/Timestamp.sol +14 -7
  524. package/contracts/type/UFixed.sol +62 -125
  525. package/contracts/type/Version.sol +57 -6
  526. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  527. package/contracts/{shared → upgradeability}/ProxyManager.sol +97 -50
  528. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  529. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  530. package/package.json +10 -6
  531. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  532. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
  533. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  534. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  535. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
  537. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  538. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  539. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  540. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  541. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  542. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  543. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  544. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  545. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  546. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +0 -129
  547. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  548. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1218
  549. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  550. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -171
  551. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  552. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  553. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  554. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  555. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  556. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  557. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  558. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  559. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  560. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  561. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  562. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  563. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  564. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  565. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  566. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  567. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  568. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  569. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  570. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  571. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  572. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  573. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  574. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  575. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  576. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -571
  577. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  578. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  579. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  580. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  581. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  582. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  583. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  584. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  585. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  586. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  587. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  588. package/contracts/instance/BundleManager.sol +0 -126
  589. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  590. package/contracts/instance/base/ObjectManager.sol +0 -80
  591. package/contracts/instance/module/IAccess.sol +0 -46
  592. package/contracts/product/IProductService.sol +0 -33
  593. package/contracts/product/ProductService.sol +0 -124
  594. package/contracts/product/ProductServiceManager.sol +0 -42
  595. package/contracts/registry/IServiceAuthorization.sol +0 -35
  596. package/contracts/registry/ReleaseManager.sol +0 -527
  597. package/contracts/registry/ServiceAuthorization.sol +0 -86
  598. package/contracts/shared/AccessAdmin.sol +0 -759
  599. package/contracts/shared/AccessManagerCustom.sol +0 -741
  600. package/contracts/shared/AccessManagerExtended.sol +0 -481
  601. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  602. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  603. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  604. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  605. package/contracts/shared/IAccessAdmin.sol +0 -168
  606. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  607. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  608. package/contracts/shared/IKeyValueStore.sol +0 -53
  609. package/contracts/shared/InitializableCustom.sol +0 -177
  610. package/contracts/shared/KeyValueStore.sol +0 -127
  611. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  612. package/contracts/staking/StakeManagerLib.sol +0 -231
@@ -3,22 +3,17 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
5
 
6
- import {Amount} from "../type/Amount.sol";
7
- import {ChainNft} from "../registry/ChainNft.sol";
8
- import {IPoolService} from "../pool/IPoolService.sol";
9
6
  import {IRegisterable} from "../shared/IRegisterable.sol";
10
7
  import {IRegistry} from "../registry/IRegistry.sol";
11
- import {RegistryService} from "../registry/RegistryService.sol";
12
8
  import {IStaking} from "./IStaking.sol";
13
9
  import {IStakingService} from "./IStakingService.sol";
10
+
11
+ import {Amount} from "../type/Amount.sol";
12
+ import {RegistryService} from "../registry/RegistryService.sol";
14
13
  import {NftId, NftIdLib} from "../type/NftId.sol";
15
- import {ObjectType, INSTANCE, PROTOCOL, REGISTRY, STAKE, STAKING} from "../type/ObjectType.sol";
14
+ import {ObjectType, INSTANCE, REGISTRY, STAKE, STAKING} from "../type/ObjectType.sol";
16
15
  import {Seconds} from "../type/Seconds.sol";
17
16
  import {Service} from "../shared/Service.sol";
18
- import {StakeManagerLib} from "./StakeManagerLib.sol";
19
- import {StakingReader} from "./StakingReader.sol";
20
- import {TargetManagerLib} from "./TargetManagerLib.sol";
21
- import {Timestamp} from "../type/Timestamp.sol";
22
17
  import {TokenHandler} from "../shared/TokenHandler.sol";
23
18
  import {UFixed} from "../type/UFixed.sol";
24
19
 
@@ -38,14 +33,16 @@ contract StakingService is
38
33
  TokenHandler _tokenHandler;
39
34
  }
40
35
 
41
- modifier onlyNftOwner(NftId nftId) {
42
- if(msg.sender != getRegistry().ownerOf(nftId)) {
43
- revert ErrorStakingServiceNotNftOwner(nftId, getRegistry().ownerOf(nftId), msg.sender);
36
+
37
+ modifier onlyStaking() {
38
+ if (msg.sender != address(_getStakingServiceStorage()._staking)) {
39
+ revert ErrorStakingServiceNotStaking(msg.sender);
44
40
  }
45
41
  _;
46
42
  }
47
43
 
48
44
 
45
+ /// @inheritdoc IStakingService
49
46
  function createInstanceTarget(
50
47
  NftId targetNftId,
51
48
  Seconds initialLockingPeriod,
@@ -59,7 +56,6 @@ contract StakingService is
59
56
  _getStakingServiceStorage()._staking.registerTarget(
60
57
  targetNftId,
61
58
  INSTANCE(),
62
- chainId,
63
59
  initialLockingPeriod,
64
60
  initialRewardRate);
65
61
 
@@ -67,88 +63,93 @@ contract StakingService is
67
63
  }
68
64
 
69
65
 
66
+ /// @inheritdoc IStakingService
70
67
  function setInstanceLockingPeriod(NftId instanceNftId, Seconds lockingPeriod)
71
68
  external
72
69
  virtual
73
70
  restricted()
74
71
  {
72
+ _checkNftType(instanceNftId, INSTANCE());
75
73
  _getStakingServiceStorage()._staking.setLockingPeriod(
76
74
  instanceNftId,
77
75
  lockingPeriod);
78
76
  }
79
77
 
80
78
 
79
+ /// @inheritdoc IStakingService
81
80
  function setInstanceRewardRate(NftId instanceNftId, UFixed rewardRate)
82
81
  external
83
82
  virtual
84
83
  restricted()
85
84
  {
85
+ _checkNftType(instanceNftId, INSTANCE());
86
86
  _getStakingServiceStorage()._staking.setRewardRate(
87
87
  instanceNftId,
88
88
  rewardRate);
89
89
  }
90
90
 
91
91
 
92
- function refillInstanceRewardReserves(NftId instanceNftId, address rewardProvider, Amount dipAmount)
92
+ /// @inheritdoc IStakingService
93
+ function setInstanceMaxStakedAmount(NftId instanceNftId, Amount maxStakingAmount)
93
94
  external
94
95
  virtual
95
96
  restricted()
96
- returns (Amount newBalance)
97
97
  {
98
- return _refillRewardReserves(instanceNftId, rewardProvider, dipAmount);
98
+ _checkNftType(instanceNftId, INSTANCE());
99
+ _getStakingServiceStorage()._staking.setMaxStakedAmount(
100
+ instanceNftId,
101
+ maxStakingAmount);
99
102
  }
100
103
 
101
104
 
102
- function refillRewardReservesBySender(NftId targetNftId, Amount dipAmount)
105
+ /// @inheritdoc IStakingService
106
+ function refillInstanceRewardReserves(NftId instanceNftId, address rewardProvider, Amount dipAmount)
103
107
  external
104
108
  virtual
105
109
  restricted()
106
110
  returns (Amount newBalance)
107
111
  {
108
- address rewardProvider = msg.sender;
109
- return _refillRewardReserves(targetNftId, rewardProvider, dipAmount);
112
+ // checks
113
+ _checkNftType(instanceNftId, INSTANCE());
114
+
115
+ // update reward reserve book keeping
116
+ StakingServiceStorage storage $ = _getStakingServiceStorage();
117
+ address instanceOwner = getRegistry().ownerOf(instanceNftId);
118
+ newBalance = $._staking.refillRewardReservesByService(instanceNftId, dipAmount, instanceOwner);
119
+
120
+ emit LogStakingServiceRewardReservesIncreased(instanceNftId, rewardProvider, dipAmount, newBalance);
110
121
  }
111
122
 
112
123
 
124
+ /// @inheritdoc IStakingService
113
125
  function withdrawInstanceRewardReserves(NftId instanceNftId, Amount dipAmount)
114
126
  external
115
127
  virtual
116
128
  restricted()
117
129
  returns (Amount newBalance)
118
130
  {
131
+ _checkNftType(instanceNftId, INSTANCE());
119
132
  // update reward reserve book keeping
120
133
  StakingServiceStorage storage $ = _getStakingServiceStorage();
121
- newBalance = $._staking.withdrawRewardReserves(instanceNftId, dipAmount);
122
-
123
- // transfer withdrawal amount to target owner
124
134
  address instanceOwner = getRegistry().ownerOf(instanceNftId);
125
- $._staking.transferDipAmount(
126
- instanceOwner,
127
- dipAmount);
135
+ newBalance = $._staking.withdrawRewardReservesByService(instanceNftId, dipAmount, instanceOwner);
128
136
 
129
137
  emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
130
138
  }
131
139
 
132
140
 
133
- /// @dev creates a new stake to the specified target nft id with the provided dip amount
134
- /// the target nft id must have been registered as an active staking target prior to this call
135
- /// the sender of this transaction becomes the stake owner via the minted nft.
136
- /// to create the new stake balance and allowance of the staker need to cover the dip amount
137
- /// the allowance needs to be on the token handler of the staking contract (getTokenHandler())
138
- /// this is a permissionless function.
139
- function create(
141
+ /// @inheritdoc IStakingService
142
+ function createStakeObject(
140
143
  NftId targetNftId,
141
- Amount dipAmount
144
+ address stakeOwner
142
145
  )
143
146
  external
144
147
  virtual
145
148
  restricted()
146
- returns (
147
- NftId stakeNftId
148
- )
149
+ onlyStaking()
150
+ returns (NftId stakeNftId)
149
151
  {
150
152
  StakingServiceStorage storage $ = _getStakingServiceStorage();
151
- address stakeOwner = msg.sender;
152
153
 
153
154
  // target nft id checks are performed in $._staking.createStake() below
154
155
  // register new stake object with registry
@@ -163,118 +164,42 @@ contract StakingService is
163
164
  data: ""
164
165
  }));
165
166
 
166
- // create stake info with staking
167
- $._staking.createStake(
168
- stakeNftId,
169
- targetNftId,
170
- dipAmount);
171
-
172
- // collect staked dip by staking
173
- $._staking.collectDipAmount(
174
- stakeOwner,
175
- dipAmount);
176
-
177
- emit LogStakingServiceStakeCreated(stakeNftId, targetNftId, stakeOwner, dipAmount);
178
- }
179
-
180
-
181
- function stake(
182
- NftId stakeNftId,
183
- Amount dipAmount
184
- )
185
- external
186
- virtual
187
- restricted()
188
- onlyNftOwner(stakeNftId)
189
- {
190
- StakingServiceStorage storage $ = _getStakingServiceStorage();
191
- address stakeOwner = msg.sender;
192
-
193
- // add additional staked dips by staking
194
- Amount stakeBalance = $._staking.stake(
195
- stakeNftId,
196
- dipAmount);
197
-
198
- // collect staked dip by staking
199
- if (dipAmount.gtz()) {
200
- $._staking.collectDipAmount(
201
- stakeOwner,
202
- dipAmount);
203
- }
204
-
205
- emit LogStakingServiceStakeIncreased(stakeNftId, stakeOwner, dipAmount, stakeBalance);
167
+ emit LogStakingServiceStakeObjectCreated(stakeNftId, targetNftId, stakeOwner);
206
168
  }
207
169
 
208
170
 
209
- function restakeToNewTarget(
210
- NftId stakeNftId,
211
- NftId newTargetNftId
212
- )
213
- external
214
- virtual
215
- restricted()
216
- onlyNftOwner(stakeNftId)
217
- returns (
218
- NftId newStakeNftId
219
- )
220
- {
221
- StakingServiceStorage storage $ = _getStakingServiceStorage();
222
- // TODO implement
223
- }
224
-
225
-
226
- function updateRewards(
227
- NftId stakeNftId
228
- )
171
+ /// @inheritdoc IStakingService
172
+ function pullDipToken(Amount dipAmount, address stakeOwner)
229
173
  external
230
174
  virtual
231
175
  restricted()
176
+ onlyStaking()
232
177
  {
233
- StakingServiceStorage storage $ = _getStakingServiceStorage();
234
- $._staking.updateRewards(stakeNftId);
235
-
236
- emit LogStakingServiceRewardsUpdated(stakeNftId);
178
+ _getStakingServiceStorage()._tokenHandler.pullToken(stakeOwner, dipAmount);
237
179
  }
238
180
 
239
181
 
240
- function claimRewards(NftId stakeNftId)
182
+ /// @inheritdoc IStakingService
183
+ function pushDipToken(Amount dipAmount, address stakeOwner)
241
184
  external
242
185
  virtual
243
186
  restricted()
244
- onlyNftOwner(stakeNftId)
187
+ onlyStaking()
245
188
  {
246
- StakingServiceStorage storage $ = _getStakingServiceStorage();
247
- address stakeOwner = msg.sender;
248
-
249
- Amount rewardsClaimedAmount = $._staking.claimRewards(stakeNftId);
250
- $._staking.transferDipAmount(
251
- stakeOwner,
252
- rewardsClaimedAmount);
253
-
254
- emit LogStakingServiceRewardsClaimed(stakeNftId, stakeOwner, rewardsClaimedAmount);
189
+ _getStakingServiceStorage()._tokenHandler.pushToken(stakeOwner, dipAmount);
255
190
  }
256
191
 
257
192
 
258
- function unstake(NftId stakeNftId)
193
+ /// @inheritdoc IStakingService
194
+ function approveTokenHandler(
195
+ IERC20Metadata token,
196
+ Amount amount
197
+ )
259
198
  external
260
199
  virtual
261
- restricted()
262
- onlyNftOwner(stakeNftId)
200
+ onlyStaking()
263
201
  {
264
- StakingServiceStorage storage $ = _getStakingServiceStorage();
265
- address stakeOwner = msg.sender;
266
-
267
- (
268
- Amount unstakedAmount,
269
- Amount rewardsClaimedAmount
270
- ) = $._staking.unstake(stakeNftId);
271
-
272
- Amount totalAmount = unstakedAmount + rewardsClaimedAmount;
273
- $._staking.transferDipAmount(
274
- stakeOwner,
275
- totalAmount);
276
-
277
- emit LogStakingServiceUnstaked(stakeNftId, stakeOwner, totalAmount);
202
+ _getStakingServiceStorage()._tokenHandler.approve(token, amount);
278
203
  }
279
204
 
280
205
 
@@ -295,6 +220,7 @@ contract StakingService is
295
220
 
296
221
  function getDipToken()
297
222
  external
223
+ view
298
224
  virtual
299
225
  returns (IERC20Metadata dip)
300
226
  {
@@ -304,6 +230,7 @@ contract StakingService is
304
230
 
305
231
  function getTokenHandler()
306
232
  external
233
+ view
307
234
  virtual
308
235
  returns (TokenHandler tokenHandler)
309
236
  {
@@ -313,6 +240,7 @@ contract StakingService is
313
240
 
314
241
  function getStaking()
315
242
  external
243
+ view
316
244
  virtual
317
245
  returns (IStaking staking)
318
246
  {
@@ -331,19 +259,19 @@ contract StakingService is
331
259
  {
332
260
  (
333
261
  address authority,
334
- address registryAddress,
335
- address stakingAddress
262
+ address registry,
263
+ address staking
336
264
  ) = abi.decode(data, (address, address, address));
337
265
 
338
- initializeService(registryAddress, authority, owner);
266
+ __Service_init(authority, registry, owner);
339
267
 
340
268
  StakingServiceStorage storage $ = _getStakingServiceStorage();
341
269
  $._registryService = RegistryService(_getServiceAddress(REGISTRY()));
342
- $._staking = _registerStaking(stakingAddress);
270
+ $._staking = _registerStaking(staking);
343
271
  $._dip = $._staking.getToken();
344
272
  $._tokenHandler = $._staking.getTokenHandler();
345
273
 
346
- registerInterface(type(IStakingService).interfaceId);
274
+ _registerInterface(type(IStakingService).interfaceId);
347
275
  }
348
276
 
349
277
 
@@ -380,24 +308,6 @@ contract StakingService is
380
308
  }
381
309
 
382
310
 
383
- function _refillRewardReserves(NftId targetNftId, address rewardProvider, Amount dipAmount)
384
- internal
385
- virtual
386
- returns (Amount newBalance)
387
- {
388
- // update reward reserve book keeping
389
- StakingServiceStorage storage $ = _getStakingServiceStorage();
390
- newBalance = $._staking.refillRewardReserves(targetNftId, dipAmount);
391
-
392
- // collect reward dip from provider
393
- $._staking.collectDipAmount(
394
- rewardProvider,
395
- dipAmount);
396
-
397
- emit LogStakingServiceRewardReservesIncreased(targetNftId, rewardProvider, dipAmount, newBalance);
398
- }
399
-
400
-
401
311
  function _getStakingServiceStorage() private pure returns (StakingServiceStorage storage $) {
402
312
  assembly {
403
313
  $.slot := STAKING_SERVICE_LOCATION_V1
@@ -2,8 +2,9 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IRegistry} from "../registry/IRegistry.sol";
5
- import {IVersionable} from "../shared/IVersionable.sol";
6
- import {ProxyManager} from "../shared/ProxyManager.sol";
5
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
6
+
7
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
7
8
  import {StakingService} from "./StakingService.sol";
8
9
 
9
10
  contract StakingServiceManager is
@@ -15,17 +16,18 @@ contract StakingServiceManager is
15
16
  /// @dev initializes proxy manager with service implementation
16
17
  constructor(
17
18
  address authority,
18
- address registryAddress,
19
+ address registry,
19
20
  bytes32 salt
20
21
  )
21
- ProxyManager(registryAddress)
22
22
  {
23
23
  StakingService svc = new StakingService();
24
24
  bytes memory data = abi.encode(
25
25
  authority,
26
- registryAddress,
27
- IRegistry(registryAddress).getStakingAddress());
28
- IVersionable versionable = deployDetermenistic(
26
+ registry,
27
+ IRegistry(registry).getStakingAddress());
28
+
29
+ IVersionable versionable = initialize(
30
+ registry,
29
31
  address(svc),
30
32
  data,
31
33
  salt);