@etherisc/gif-next 0.0.2-9d962ff-943 → 0.0.2-9daf7a4-699

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 (530) hide show
  1. package/README.md +87 -8
  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 +496 -255
  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/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +277 -20
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +395 -203
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +143 -19
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +151 -490
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +265 -31
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +82 -386
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +382 -359
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -129
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -198
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +252 -126
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +236 -39
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +144 -93
  73. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  74. package/artifacts/contracts/instance/Instance.sol/Instance.json +256 -123
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +737 -327
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +209 -94
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1080 -352
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +172 -278
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +859 -712
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +108 -355
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +247 -33
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +91 -140
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +84 -323
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +132 -98
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +132 -421
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +265 -31
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +281 -320
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +132 -118
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +178 -103
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +120 -236
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +460 -308
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +110 -416
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +673 -552
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +173 -107
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -100
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +261 -439
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +265 -31
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +415 -234
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +150 -124
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +354 -106
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +245 -233
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  166. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +445 -308
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +151 -109
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -336
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +119 -141
  177. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  178. package/artifacts/contracts/product/Product.sol/Product.json +253 -431
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  192. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  193. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +640 -368
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +431 -253
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  213. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  214. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +511 -651
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +142 -138
  219. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  229. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +463 -300
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +91 -140
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  245. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +83 -322
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  266. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +196 -143
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +280 -397
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +136 -105
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +205 -168
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +113 -95
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +90 -49
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  332. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  334. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  339. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  343. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  344. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
  346. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  348. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  349. package/contracts/accounting/AccountingService.sol +262 -0
  350. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  351. package/contracts/accounting/IAccountingService.sol +45 -0
  352. package/contracts/authorization/AccessAdmin.sol +338 -225
  353. package/contracts/authorization/AccessAdminLib.sol +183 -0
  354. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  355. package/contracts/authorization/Authorization.sol +350 -203
  356. package/contracts/authorization/IAccess.sol +13 -4
  357. package/contracts/authorization/IAccessAdmin.sol +69 -35
  358. package/contracts/authorization/IAuthorization.sol +33 -7
  359. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  360. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  361. package/contracts/distribution/BasicDistribution.sol +20 -17
  362. package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
  363. package/contracts/distribution/Distribution.sol +37 -88
  364. package/contracts/distribution/DistributionService.sol +167 -119
  365. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  366. package/contracts/distribution/IDistributionComponent.sol +1 -10
  367. package/contracts/distribution/IDistributionService.sol +31 -25
  368. package/contracts/examples/fire/DamageLevel.sol +59 -0
  369. package/contracts/examples/fire/FirePool.sol +86 -0
  370. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  371. package/contracts/examples/fire/FireProduct.sol +433 -0
  372. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  373. package/contracts/examples/fire/FireUSD.sol +26 -0
  374. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  375. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  376. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  377. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  378. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  379. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  380. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  381. package/contracts/instance/BundleSet.sol +42 -38
  382. package/contracts/instance/IInstance.sol +64 -44
  383. package/contracts/instance/IInstanceService.sol +27 -31
  384. package/contracts/instance/Instance.sol +120 -70
  385. package/contracts/instance/InstanceAdmin.sol +287 -103
  386. package/contracts/instance/InstanceAuthorizationV3.sol +92 -61
  387. package/contracts/instance/InstanceReader.sol +288 -43
  388. package/contracts/instance/InstanceService.sol +207 -191
  389. package/contracts/instance/InstanceServiceManager.sol +6 -7
  390. package/contracts/instance/InstanceStore.sol +23 -2
  391. package/contracts/instance/RiskSet.sol +118 -0
  392. package/contracts/instance/base/ObjectCounter.sol +1 -2
  393. package/contracts/instance/base/ObjectLifecycle.sol +11 -4
  394. package/contracts/instance/base/ObjectSet.sol +31 -33
  395. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  396. package/contracts/instance/module/IBundle.sol +6 -5
  397. package/contracts/instance/module/IComponents.sol +30 -19
  398. package/contracts/instance/module/IDistribution.sol +21 -8
  399. package/contracts/instance/module/IPolicy.sol +50 -29
  400. package/contracts/instance/module/IRisk.sol +5 -0
  401. package/contracts/oracle/BasicOracle.sol +1 -4
  402. package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
  403. package/contracts/oracle/IOracle.sol +9 -4
  404. package/contracts/oracle/IOracleService.sol +2 -1
  405. package/contracts/oracle/Oracle.sol +7 -19
  406. package/contracts/oracle/OracleService.sol +113 -81
  407. package/contracts/oracle/OracleServiceManager.sol +6 -6
  408. package/contracts/pool/BasicPool.sol +37 -28
  409. package/contracts/pool/BasicPoolAuthorization.sol +32 -11
  410. package/contracts/pool/BundleService.sol +179 -125
  411. package/contracts/pool/BundleServiceManager.sol +6 -6
  412. package/contracts/pool/IBundleService.sol +29 -34
  413. package/contracts/pool/IPoolComponent.sol +19 -15
  414. package/contracts/pool/IPoolService.sol +90 -75
  415. package/contracts/pool/Pool.sol +145 -130
  416. package/contracts/pool/PoolLib.sol +216 -0
  417. package/contracts/pool/PoolService.sol +538 -217
  418. package/contracts/pool/PoolServiceManager.sol +4 -4
  419. package/contracts/product/ApplicationService.sol +87 -43
  420. package/contracts/product/ApplicationServiceManager.sol +4 -4
  421. package/contracts/product/BasicProduct.sol +10 -13
  422. package/contracts/product/BasicProductAuthorization.sol +24 -11
  423. package/contracts/product/ClaimService.sol +368 -153
  424. package/contracts/product/ClaimServiceManager.sol +4 -4
  425. package/contracts/product/IApplicationService.sol +9 -2
  426. package/contracts/product/IClaimService.sol +44 -8
  427. package/contracts/product/IPolicyService.sol +53 -38
  428. package/contracts/product/IPricingService.sol +11 -10
  429. package/contracts/product/IProductComponent.sol +27 -5
  430. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  431. package/contracts/product/PolicyService.sol +446 -281
  432. package/contracts/product/PolicyServiceLib.sol +65 -0
  433. package/contracts/product/PolicyServiceManager.sol +4 -4
  434. package/contracts/product/PricingService.sol +69 -60
  435. package/contracts/product/PricingServiceManager.sol +4 -4
  436. package/contracts/product/Product.sol +161 -95
  437. package/contracts/product/RiskService.sol +154 -0
  438. package/contracts/product/RiskServiceManager.sol +39 -0
  439. package/contracts/registry/ChainNft.sol +72 -40
  440. package/contracts/registry/IRegistry.sol +64 -28
  441. package/contracts/registry/IRegistryService.sol +5 -12
  442. package/contracts/registry/IRelease.sol +29 -0
  443. package/contracts/registry/ITransferInterceptor.sol +1 -2
  444. package/contracts/registry/Registry.sol +357 -203
  445. package/contracts/registry/RegistryAdmin.sol +162 -269
  446. package/contracts/registry/RegistryAuthorization.sol +267 -0
  447. package/contracts/registry/RegistryService.sol +37 -48
  448. package/contracts/registry/RegistryServiceManager.sol +3 -3
  449. package/contracts/registry/ReleaseAdmin.sol +253 -0
  450. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  451. package/contracts/registry/ReleaseRegistry.sol +272 -240
  452. package/contracts/registry/ServiceAuthorizationV3.sol +183 -52
  453. package/contracts/registry/TokenRegistry.sol +10 -9
  454. package/contracts/shared/Component.sol +65 -135
  455. package/contracts/shared/ComponentService.sol +435 -378
  456. package/contracts/shared/ComponentServiceManager.sol +8 -5
  457. package/contracts/shared/ComponentVerifyingService.sol +28 -17
  458. package/contracts/shared/ContractLib.sol +281 -0
  459. package/contracts/shared/IComponent.sol +5 -17
  460. package/contracts/shared/IComponentService.sol +44 -40
  461. package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
  462. package/contracts/shared/ILifecycle.sol +3 -1
  463. package/contracts/shared/INftOwnable.sol +2 -0
  464. package/contracts/shared/IPolicyHolder.sol +12 -22
  465. package/contracts/shared/IRegisterable.sol +23 -1
  466. package/contracts/shared/IService.sol +3 -5
  467. package/contracts/shared/InitializableERC165.sol +10 -2
  468. package/contracts/shared/InstanceLinkedComponent.sol +73 -50
  469. package/contracts/shared/KeyValueStore.sol +1 -1
  470. package/contracts/shared/Lifecycle.sol +15 -4
  471. package/contracts/shared/NftOwnable.sol +29 -9
  472. package/contracts/shared/PolicyHolder.sol +15 -52
  473. package/contracts/shared/Registerable.sol +52 -21
  474. package/contracts/shared/RegistryLinked.sol +9 -14
  475. package/contracts/shared/Service.sol +15 -32
  476. package/contracts/shared/TokenHandler.sol +310 -26
  477. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  478. package/contracts/staking/IStaking.sol +25 -13
  479. package/contracts/staking/IStakingService.sol +16 -4
  480. package/contracts/staking/Staking.sol +103 -73
  481. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  482. package/contracts/staking/StakingManager.sol +8 -6
  483. package/contracts/staking/StakingReader.sol +18 -21
  484. package/contracts/staking/StakingService.sol +90 -37
  485. package/contracts/staking/StakingServiceManager.sol +6 -5
  486. package/contracts/staking/StakingStore.sol +2 -1
  487. package/contracts/staking/TargetManagerLib.sol +7 -3
  488. package/contracts/type/Amount.sol +15 -0
  489. package/contracts/type/ClaimId.sol +6 -1
  490. package/contracts/type/Fee.sol +8 -8
  491. package/contracts/type/Key32.sol +2 -2
  492. package/contracts/type/Key32Set.sol +62 -0
  493. package/contracts/type/NftId.sol +7 -0
  494. package/contracts/type/ObjectType.sol +57 -34
  495. package/contracts/type/PayoutId.sol +10 -10
  496. package/contracts/type/RiskId.sol +38 -6
  497. package/contracts/type/RoleId.sol +23 -15
  498. package/contracts/type/Seconds.sol +21 -1
  499. package/contracts/type/Selector.sol +5 -0
  500. package/contracts/type/StateId.sol +15 -1
  501. package/contracts/type/Timestamp.sol +4 -5
  502. package/contracts/type/UFixed.sol +37 -126
  503. package/contracts/type/Version.sol +54 -5
  504. package/contracts/upgradeability/ProxyManager.sol +79 -43
  505. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
  506. package/contracts/upgradeability/Versionable.sol +2 -2
  507. package/package.json +5 -4
  508. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  509. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  510. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  511. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  512. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  513. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  514. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  515. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  516. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  517. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  518. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  519. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  520. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  521. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  522. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  523. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  524. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  525. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  526. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  527. package/contracts/instance/module/IAccess.sol +0 -46
  528. package/contracts/product/ProductService.sol +0 -99
  529. package/contracts/product/ProductServiceManager.sol +0 -39
  530. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,23 +1,30 @@
1
1
  // SPDX-License-Identifier: UNLICENSED
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {AccessAdmin} from "../authorization/AccessAdmin.sol";
5
- import {IAccess} from "../authorization/IAccess.sol";
4
+ import {IAuthorization} from "../authorization/IAuthorization.sol";
5
+ import {IComponent} from "../shared/IComponent.sol";
6
6
  import {IRegistry} from "./IRegistry.sol";
7
7
  import {IService} from "../shared/IService.sol";
8
- import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
9
8
  import {IStaking} from "../staking/IStaking.sol";
10
- import {ObjectType, ObjectTypeLib, ALL, POOL, RELEASE} from "../type/ObjectType.sol";
9
+
10
+ import {AccessAdmin} from "../authorization/AccessAdmin.sol";
11
+ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
12
+ import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
13
+ import {ContractLib} from "../shared/ContractLib.sol";
14
+ import {ObjectType, REGISTRY, STAKING, POOL, RELEASE} from "../type/ObjectType.sol";
11
15
  import {ReleaseRegistry} from "./ReleaseRegistry.sol";
12
16
  import {RoleId, RoleIdLib, ADMIN_ROLE, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
17
+ import {Staking} from "../staking/Staking.sol";
18
+ import {Str, StrLib} from "../type/String.sol";
13
19
  import {StakingStore} from "../staking/StakingStore.sol";
14
- import {STAKING} from "../type/ObjectType.sol";
20
+ import {TokenHandler} from "../shared/TokenHandler.sol";
15
21
  import {TokenRegistry} from "./TokenRegistry.sol";
16
- import {VersionPart} from "../type/Version.sol";
22
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
17
23
 
18
24
  /*
19
25
  1) GIF_MANAGER_ROLE
20
26
  - can have arbitrary number of members
27
+ - responsible for release preparation
21
28
  - responsible for services registrations
22
29
  - responsible for token registration and activation
23
30
 
@@ -25,85 +32,105 @@ import {VersionPart} from "../type/Version.sol";
25
32
  - admin of GIF_MANAGER_ROLE
26
33
  - MUST have 1 member at any time
27
34
  - granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
28
- - responsible for creation and activation of releases
29
-
30
- createServiceTarget(type, release)
31
- createServiceRole(type,release)
32
- getServiceRole(type, release)
35
+ - responsible for creation, activation and locking/unlocking of releases
33
36
  */
37
+
38
+ /// @dev The RegistryAdmin contract implements the central authorization for the GIF core contracts.
39
+ /// These are the release independent registry and staking contracts and their respective helper contracts.
40
+ /// The RegistryAdmin also manages the access from service contracts to the GIF core contracts
34
41
  contract RegistryAdmin is
35
42
  AccessAdmin
36
43
  {
37
- error ErrorRegistryAdminIsAlreadySetUp();
38
-
44
+ /// @dev gif core roles
39
45
  string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
40
46
  string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
41
- string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
42
47
  string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
43
- string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
44
48
  string public constant STAKING_ROLE_NAME = "StakingRole";
45
49
 
50
+ /// @dev gif roles for external contracts
51
+ string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
52
+ string public constant COMPONENT_SERVICE_ROLE_NAME = "ComponentServiceRole";
53
+ string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
54
+ string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
55
+
56
+ /// @dev gif core targets
57
+ string public constant REGISTRY_ADMIN_TARGET_NAME = "RegistryAdmin";
58
+ string public constant REGISTRY_TARGET_NAME = "Registry";
46
59
  string public constant RELEASE_REGISTRY_TARGET_NAME = "ReleaseRegistry";
47
- string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
48
60
  string public constant STAKING_TARGET_NAME = "Staking";
61
+ string public constant STAKING_TH_TARGET_NAME = "StakingTH";
49
62
  string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
63
+ string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
64
+ string public constant TOKEN_HANDLER_TARGET_NAME = "TokenHandler";
50
65
 
51
- uint8 public constant MAX_NUM_RELEASES = 99;
52
-
53
- mapping(address service => VersionPart majorVersion) private _ServiceRelease;
66
+ // completeSetup
67
+ error ErrorRegistryAdminNotRegistry(address registry);
54
68
 
69
+ address internal _registry;
55
70
  address private _releaseRegistry;
56
71
  address private _tokenRegistry;
57
72
  address private _staking;
58
73
  address private _stakingStore;
59
- bool private _setupCompleted;
60
74
 
61
- constructor() AccessAdmin() { }
75
+ constructor() {
76
+ initialize(
77
+ address(new AccessManagerCloneable()),
78
+ "RegistryAdmin");
79
+ }
80
+
62
81
 
63
82
  function completeSetup(
64
- IRegistry registry,
83
+ address registry,
84
+ address authorization,
65
85
  address gifAdmin,
66
86
  address gifManager
67
87
  )
68
- external
88
+ public
89
+ virtual
90
+ reinitializer(type(uint8).max)
69
91
  onlyDeployer()
70
92
  {
71
- if (_setupCompleted) { revert ErrorRegistryAdminIsAlreadySetUp(); }
72
- else { _setupCompleted = true; }
93
+ // checks
94
+ _checkRegistry(registry);
95
+
96
+ VersionPart release = VersionPartLib.toVersionPart(3);
97
+ AccessManagerCloneable(
98
+ authority()).completeSetup(
99
+ registry,
100
+ release);
101
+
102
+ _checkAuthorization(authorization, REGISTRY(), release, true);
103
+
104
+ _registry = registry;
105
+ _authorization = IAuthorization(authorization);
73
106
 
74
- _releaseRegistry = registry.getReleaseRegistryAddress();
75
- _tokenRegistry = registry.getTokenRegistryAddress();
76
- _staking = registry.getStakingAddress();
107
+ IRegistry registryContract = IRegistry(registry);
108
+ _releaseRegistry = registryContract.getReleaseRegistryAddress();
109
+ _tokenRegistry = registryContract.getTokenRegistryAddress();
110
+ _staking = registryContract.getStakingAddress();
77
111
  _stakingStore = address(
78
112
  IStaking(_staking).getStakingStore());
79
113
 
80
- // at this moment all registry contracts are deployed and fully intialized
81
- _createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
82
-
83
- _setupGifAdminRole(gifAdmin);
84
- _setupGifManagerRole(gifManager);
114
+ // link nft ownability to registry
115
+ _linkToNftOwnable(_registry);
85
116
 
86
- _setupReleaseRegistry();
87
- _setupStaking();
88
- }
117
+ _setupRegistry(_registry);
89
118
 
119
+ // setup authorization for registry and supporting contracts
120
+ _createRoles(_authorization);
121
+ _grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
122
+ _grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
90
123
 
91
- /// @dev Sets up authorizaion for specified service.
92
- /// For all authorized services its authorized functions are enabled.
93
- /// Permissioned function: Access is restricted to release manager.
94
- function authorizeService(
95
- IServiceAuthorization serviceAuthorization,
96
- IService service
97
- )
98
- external
99
- restricted()
100
- {
101
- _createServiceTargetAndRole(service);
102
- _authorizeServiceFunctions(serviceAuthorization, service);
124
+ _createTargets(_authorization);
125
+ _createTargetAuthorizations(_authorization);
103
126
  }
104
127
 
105
128
 
106
- function grantServiceRoleForAllVersions(IService service, ObjectType domain)
129
+
130
+ function grantServiceRoleForAllVersions(
131
+ IService service,
132
+ ObjectType domain
133
+ )
107
134
  external
108
135
  restricted()
109
136
  {
@@ -112,254 +139,120 @@ contract RegistryAdmin is
112
139
  address(service));
113
140
  }
114
141
 
142
+ //--- view functions ----------------------------------------------------//
115
143
 
116
- function _createServiceTargetAndRole(IService service)
117
- private
118
- {
119
- ObjectType serviceDomain = service.getDomain();
120
- string memory baseName = ObjectTypeLib.toName(serviceDomain);
121
- VersionPart version = service.getVersion().toMajorPart();
122
- uint256 versionInt = version.toInt();
144
+ function getGifAdminRole() external view returns (RoleId) {
145
+ return GIF_ADMIN_ROLE();
146
+ }
123
147
 
124
- // create service target
125
- string memory serviceTargetName = ObjectTypeLib.toVersionedName(
126
- baseName, "Service", versionInt);
148
+ function getGifManagerRole() external view returns (RoleId) {
149
+ return GIF_MANAGER_ROLE();
150
+ }
127
151
 
128
- _createTarget(
129
- address(service),
130
- serviceTargetName,
131
- true,
132
- false);
152
+ //--- private initialization functions -------------------------------------------//
133
153
 
134
- // create service role
135
- RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
136
- serviceDomain,
137
- version);
154
+ // create registry role and target
155
+ function _setupRegistry(address registry) internal {
156
+
157
+ // create registry role
158
+ RoleId roleId = _authorization.getTargetRole(
159
+ _authorization.getMainTarget());
138
160
 
139
161
  _createRole(
140
- serviceRoleId,
141
- toRole({
142
- adminRoleId: ADMIN_ROLE(),
143
- roleType: RoleType.Contract,
144
- maxMemberCount: 1,
145
- name: ObjectTypeLib.toVersionedName(
146
- baseName,
147
- "ServiceRole",
148
- versionInt)}));
162
+ roleId,
163
+ _authorization.getRoleInfo(roleId));
149
164
 
150
- _grantRoleToAccount(
151
- serviceRoleId,
152
- address(service));
165
+ // create registry target
166
+ _createTarget(
167
+ registry,
168
+ _authorization.getMainTargetName(),
169
+ true, // checkAuthority
170
+ false); // custom
171
+
172
+ // assign registry role to registry
173
+ _grantRoleToAccount(
174
+ roleId,
175
+ registry);
153
176
  }
154
177
 
155
178
 
156
- function _authorizeServiceFunctions(
157
- IServiceAuthorization serviceAuthorization,
158
- IService service
159
- )
160
- private
179
+ function _createRoles(IAuthorization authorization)
180
+ internal
161
181
  {
162
- ObjectType serviceDomain = service.getDomain();
163
- ObjectType authorizedDomain;
164
- RoleId authorizedRoleId;
165
-
166
- VersionPart release = service.getVersion().toMajorPart();
167
- ObjectType[] memory authorizedDomains = serviceAuthorization.getAuthorizedDomains(serviceDomain);
168
-
169
- for (uint256 i = 0; i < authorizedDomains.length; i++) {
170
- authorizedDomain = authorizedDomains[i];
171
-
172
- // derive authorized role from authorized domain
173
- if (authorizedDomain == ALL()) {
174
- authorizedRoleId = PUBLIC_ROLE();
175
- } else {
176
- authorizedRoleId = RoleIdLib.roleForTypeAndVersion(
177
- authorizedDomain,
178
- release);
179
- }
180
-
181
- // get authorized functions for authorized domain
182
- IAccess.FunctionInfo[] memory authorizatedFunctions = serviceAuthorization.getAuthorizedFunctions(
183
- serviceDomain,
184
- authorizedDomain);
185
-
186
- _authorizeTargetFunctions(
187
- address(service),
188
- authorizedRoleId,
189
- authorizatedFunctions);
190
- }
191
- }
182
+ RoleId[] memory roles = authorization.getRoles();
183
+ RoleId mainTargetRoleId = authorization.getTargetRole(
184
+ authorization.getMainTarget());
192
185
 
193
- /*function transferAdmin(address to)
194
- external
195
- restricted // only with GIF_ADMIN_ROLE or nft owner
196
- {
197
- _accessManager.revoke(GIF_ADMIN_ROLE, );
198
- _accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
199
- }*/
186
+ RoleId roleId;
187
+ RoleInfo memory roleInfo;
200
188
 
201
- //--- view functions ----------------------------------------------------//
189
+ for(uint256 i = 0; i < roles.length; i++) {
202
190
 
203
- function getGifAdminRole() external view returns (RoleId) {
204
- return GIF_ADMIN_ROLE();
205
- }
191
+ roleId = roles[i];
206
192
 
207
- function getGifManagerRole() external view returns (RoleId) {
208
- return GIF_MANAGER_ROLE();
193
+ // skip main target role, create role if not exists
194
+ if (roleId != mainTargetRoleId && !roleExists(roleId)) {
195
+ _createRole(
196
+ roleId,
197
+ authorization.getRoleInfo(roleId));
198
+ }
199
+ }
209
200
  }
210
201
 
211
- //--- private functions -------------------------------------------------//
212
202
 
213
- function _setupGifAdminRole(address gifAdmin) private {
214
-
215
- _createRole(
216
- GIF_ADMIN_ROLE(),
217
- toRole({
218
- adminRoleId: ADMIN_ROLE(),
219
- roleType: RoleType.Gif,
220
- maxMemberCount: 2, // TODO decide on max member count
221
- name: GIF_ADMIN_ROLE_NAME}));
222
-
223
- // for ReleaseRegistry
224
- FunctionInfo[] memory functions;
225
- functions = new FunctionInfo[](4);
226
- functions[0] = toFunction(ReleaseRegistry.createNextRelease.selector, "createNextRelease");
227
- functions[1] = toFunction(ReleaseRegistry.activateNextRelease.selector, "activateNextRelease");
228
- functions[2] = toFunction(ReleaseRegistry.pauseRelease.selector, "pauseRelease");
229
- functions[3] = toFunction(ReleaseRegistry.unpauseRelease.selector, "unpauseRelease");
230
- _authorizeTargetFunctions(_releaseRegistry, GIF_ADMIN_ROLE(), functions);
203
+ function _createTargets(IAuthorization authorization)
204
+ internal
205
+ {
206
+ // registry
207
+ _createTargetWithRole(address(this), REGISTRY_ADMIN_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(REGISTRY_ADMIN_TARGET_NAME)));
208
+ _createTargetWithRole(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(RELEASE_REGISTRY_TARGET_NAME)));
209
+ _createTargetWithRole(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(TOKEN_REGISTRY_TARGET_NAME)));
231
210
 
232
- _grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
211
+ // staking
212
+ _createTargetWithRole(_staking, STAKING_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(STAKING_TARGET_NAME)));
213
+ _createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
214
+ _createTarget(address(IComponent(_staking).getTokenHandler()), STAKING_TH_TARGET_NAME, true, false);
233
215
  }
234
-
235
- function _setupGifManagerRole(address gifManager) private {
236
216
 
237
- _createRole(
238
- GIF_MANAGER_ROLE(),
239
- toRole({
240
- adminRoleId: ADMIN_ROLE(),
241
- roleType: RoleType.Gif,
242
- maxMemberCount: 1,
243
- name: GIF_MANAGER_ROLE_NAME}));
244
-
245
- // for TokenRegistry
246
- FunctionInfo[] memory functions;
247
- functions = new FunctionInfo[](5);
248
- functions[0] = toFunction(TokenRegistry.registerToken.selector, "registerToken");
249
- functions[1] = toFunction(TokenRegistry.registerRemoteToken.selector, "registerRemoteToken");
250
- functions[2] = toFunction(TokenRegistry.setActive.selector, "setActive");
251
- functions[3] = toFunction(TokenRegistry.setActiveForVersion.selector, "setActiveForVersion");
252
- // TODO find a better way (only needed for testing)
253
- functions[4] = toFunction(TokenRegistry.setActiveWithVersionCheck.selector, "setActiveWithVersionCheck");
254
- _authorizeTargetFunctions(_tokenRegistry, GIF_MANAGER_ROLE(), functions);
255
-
256
- // for ReleaseRegistry
257
- functions = new FunctionInfo[](2);
258
- functions[0] = toFunction(ReleaseRegistry.prepareNextRelease.selector, "prepareNextRelease");
259
- functions[1] = toFunction(ReleaseRegistry.registerService.selector, "registerService");
260
- _authorizeTargetFunctions(_releaseRegistry, GIF_MANAGER_ROLE(), functions);
261
217
 
262
- _grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
218
+ function _createTargetAuthorizations(IAuthorization authorization)
219
+ internal
220
+ {
221
+ Str[] memory targets = authorization.getTargets();
222
+ Str target;
223
+
224
+ for(uint256 i = 0; i < targets.length; i++) {
225
+ target = targets[i];
226
+ RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
227
+ RoleId authorizedRole;
228
+
229
+ for(uint256 j = 0; j < authorizedRoles.length; j++) {
230
+ authorizedRole = authorizedRoles[j];
231
+
232
+ _authorizeTargetFunctions(
233
+ getTargetForName(target),
234
+ authorizedRole,
235
+ authorization.getAuthorizedFunctions(
236
+ target,
237
+ authorizedRole));
238
+ }
239
+ }
263
240
  }
264
241
 
265
242
 
266
- function _setupReleaseRegistry() private {
243
+ function _createTargets(address authorization)
244
+ private
245
+ onlyInitializing()
246
+ {
247
+ IStaking staking = IStaking(_staking);
248
+ address tokenHandler = address(staking.getTokenHandler());
267
249
 
250
+ _createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, false, false);
251
+ _createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
268
252
  _createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, true, false);
269
-
270
- RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
271
- _createRole(
272
- releaseRegistryRoleId,
273
- toRole({
274
- adminRoleId: ADMIN_ROLE(),
275
- roleType: RoleType.Contract,
276
- maxMemberCount: 1,
277
- name: RELEASE_REGISTRY_ROLE_NAME}));
278
-
279
- FunctionInfo[] memory functions;
280
- functions = new FunctionInfo[](2);
281
- functions[0] = toFunction(RegistryAdmin.authorizeService.selector, "authorizeService");
282
- functions[1] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
283
- _authorizeTargetFunctions(address(this), releaseRegistryRoleId, functions);
284
-
285
- _grantRoleToAccount(releaseRegistryRoleId, _releaseRegistry);
286
- }
287
-
288
-
289
- function _setupStaking() private {
290
253
  _createTarget(_staking, STAKING_TARGET_NAME, true, false);
291
254
  _createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
292
-
293
- // staking function authorization for staking service
294
- RoleId stakingServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(STAKING());
295
- _createRole(
296
- stakingServiceRoleId,
297
- toRole({
298
- adminRoleId: ADMIN_ROLE(),
299
- roleType: RoleType.Contract,
300
- maxMemberCount: MAX_NUM_RELEASES,
301
- name: STAKING_SERVICE_ROLE_NAME}));
302
-
303
- FunctionInfo[] memory functions;
304
- functions = new FunctionInfo[](13);
305
- functions[0] = toFunction(IStaking.registerTarget.selector, "registerTarget");
306
- functions[1] = toFunction(IStaking.setLockingPeriod.selector, "setLockingPeriod");
307
- functions[2] = toFunction(IStaking.setRewardRate.selector, "setRewardRate");
308
- functions[3] = toFunction(IStaking.refillRewardReserves.selector, "refillRewardReserves");
309
- functions[4] = toFunction(IStaking.withdrawRewardReserves.selector, "withdrawRewardReserves");
310
- functions[5] = toFunction(IStaking.createStake.selector, "createStake");
311
- functions[6] = toFunction(IStaking.stake.selector, "stake");
312
- functions[7] = toFunction(IStaking.unstake.selector, "unstake");
313
- functions[8] = toFunction(IStaking.restake.selector, "restake");
314
- functions[9] = toFunction(IStaking.updateRewards.selector, "updateRewards");
315
- functions[10] = toFunction(IStaking.claimRewards.selector, "claimRewards");
316
- functions[11] = toFunction(IStaking.collectDipAmount.selector, "collectDipAmount");
317
- functions[12] = toFunction(IStaking.transferDipAmount.selector, "transferDipAmount");
318
- _authorizeTargetFunctions(_staking, stakingServiceRoleId, functions);
319
-
320
- // staking function authorization for pool service
321
- RoleId poolServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(POOL());
322
- _createRole(
323
- poolServiceRoleId,
324
- toRole({
325
- adminRoleId: ADMIN_ROLE(),
326
- roleType: RoleType.Contract,
327
- maxMemberCount: MAX_NUM_RELEASES,
328
- name: POOL_SERVICE_ROLE_NAME}));
329
-
330
- // staking function authorizations
331
- functions = new FunctionInfo[](2);
332
- functions[0] = toFunction(IStaking.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
333
- functions[1] = toFunction(IStaking.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
334
- _authorizeTargetFunctions(_staking, poolServiceRoleId, functions);
335
-
336
- // staking store function authorizations
337
- RoleId stakingRoleId = RoleIdLib.roleForType(STAKING());
338
- _createRole(
339
- stakingRoleId,
340
- toRole({
341
- adminRoleId: ADMIN_ROLE(),
342
- roleType: RoleType.Contract,
343
- maxMemberCount: 1,
344
- name: STAKING_ROLE_NAME}));
345
-
346
- functions = new FunctionInfo[](14);
347
- functions[0] = toFunction(StakingStore.setStakingRate.selector, "setStakingRate");
348
- functions[1] = toFunction(StakingStore.createTarget.selector, "createTarget");
349
- functions[2] = toFunction(StakingStore.updateTarget.selector, "updateTarget");
350
- functions[3] = toFunction(StakingStore.increaseReserves.selector, "increaseReserves");
351
- functions[4] = toFunction(StakingStore.decreaseReserves.selector, "decreaseReserves");
352
- functions[5] = toFunction(StakingStore.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
353
- functions[6] = toFunction(StakingStore.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
354
- functions[7] = toFunction(StakingStore.create.selector, "create");
355
- functions[8] = toFunction(StakingStore.update.selector, "update");
356
- functions[9] = toFunction(StakingStore.increaseStake.selector, "increaseStake");
357
- functions[10] = toFunction(StakingStore.restakeRewards.selector, "restakeRewards");
358
- functions[11] = toFunction(StakingStore.updateRewards.selector, "updateRewards");
359
- functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
360
- functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
361
- _authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
362
-
363
- _grantRoleToAccount(stakingRoleId, _staking);
255
+ _createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
256
+ _createTarget(tokenHandler, TOKEN_HANDLER_TARGET_NAME, true, false);
364
257
  }
365
258
  }