@etherisc/gif-next 0.0.2-e769e2e-077 → 0.0.2-e7a5428-226

Sign up to get free protection for your applications and to get access to all the features.
Files changed (577) hide show
  1. package/README.md +133 -10
  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 +790 -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 +1664 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -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 +790 -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/authorization/IAccessAdmin.sol/IAccessAdmin.json +1372 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +646 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1244 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +805 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +146 -607
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +767 -301
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +288 -118
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +152 -273
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +553 -77
  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 +1484 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -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 +1439 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +595 -96
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +497 -75
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +617 -250
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2349 -0
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +902 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1789 -713
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +509 -220
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +204 -96
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1109 -817
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  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 +4 -0
  106. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +957 -0
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +810 -0
  111. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +873 -0
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +810 -0
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1242 -0
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +582 -235
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +278 -96
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +398 -49
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +151 -394
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +770 -365
  137. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  138. package/artifacts/contracts/pool/Pool.sol/Pool.json +148 -682
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +940 -518
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +283 -97
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +382 -166
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +222 -92
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1159 -0
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +502 -230
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +251 -113
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +320 -9
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +369 -18
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +436 -101
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +202 -80
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +291 -264
  167. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  168. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +295 -150
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +564 -292
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +259 -97
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.json +262 -299
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +220 -122
  179. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  180. package/artifacts/contracts/product/Product.sol/Product.json +322 -596
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  185. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  187. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +454 -42
  189. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +275 -193
  191. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  193. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  195. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  196. package/artifacts/contracts/registry/Registry.sol/Registry.json +806 -97
  197. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2147 -0
  199. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1061 -0
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +320 -312
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +206 -94
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  208. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  210. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  212. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +257 -147
  215. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  216. package/artifacts/contracts/shared/Component.sol/Component.json +92 -277
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +632 -542
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +241 -115
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -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 +99 -94
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +549 -228
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +138 -130
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +51 -19
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +42 -1
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -30
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +173 -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 +103 -2
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +131 -366
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +61 -104
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +45 -55
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +20 -124
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +148 -98
  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 +96 -102
  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 +1388 -635
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +705 -103
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +1703 -957
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +274 -92
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +544 -0
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +751 -212
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +215 -85
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2637 -0
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +657 -0
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Amount.sol/AmountLib.json +122 -5
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +81 -17
  302. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  304. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  306. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  308. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  310. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  312. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  314. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
  316. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  318. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +153 -4
  320. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  322. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  324. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  326. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  328. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +121 -23
  330. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +167 -2
  332. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  334. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  336. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  338. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  340. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
  342. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +126 -33
  344. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  349. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  354. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  355. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  356. package/contracts/accounting/AccountingService.sol +274 -0
  357. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  358. package/contracts/accounting/IAccountingService.sol +47 -0
  359. package/contracts/authorization/AccessAdmin.sol +780 -0
  360. package/contracts/authorization/AccessAdminLib.sol +396 -0
  361. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  362. package/contracts/authorization/Authorization.sol +169 -0
  363. package/contracts/authorization/IAccess.sol +67 -0
  364. package/contracts/authorization/IAccessAdmin.sol +144 -0
  365. package/contracts/authorization/IAuthorization.sol +26 -0
  366. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  367. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  368. package/contracts/distribution/BasicDistribution.sol +141 -0
  369. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  370. package/contracts/distribution/Distribution.sol +126 -142
  371. package/contracts/distribution/DistributionService.sol +288 -137
  372. package/contracts/distribution/DistributionServiceManager.sol +13 -25
  373. package/contracts/distribution/IDistributionComponent.sol +22 -43
  374. package/contracts/distribution/IDistributionService.sol +61 -27
  375. package/contracts/examples/fire/DamageLevel.sol +59 -0
  376. package/contracts/examples/fire/FirePool.sol +86 -0
  377. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  378. package/contracts/examples/fire/FireProduct.sol +433 -0
  379. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  380. package/contracts/examples/fire/FireUSD.sol +26 -0
  381. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  382. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  383. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  384. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  385. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  386. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  387. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  388. package/contracts/instance/BundleSet.sol +130 -0
  389. package/contracts/instance/IInstance.sol +117 -49
  390. package/contracts/instance/IInstanceService.sol +80 -46
  391. package/contracts/instance/Instance.sol +252 -133
  392. package/contracts/instance/InstanceAdmin.sol +383 -0
  393. package/contracts/instance/InstanceAuthorizationV3.sol +266 -0
  394. package/contracts/instance/InstanceReader.sol +499 -233
  395. package/contracts/instance/InstanceService.sol +370 -218
  396. package/contracts/instance/InstanceServiceManager.sol +14 -29
  397. package/contracts/instance/InstanceStore.sol +94 -55
  398. package/contracts/instance/RiskSet.sol +126 -0
  399. package/contracts/instance/base/BalanceStore.sol +16 -13
  400. package/contracts/instance/base/Cloneable.sol +2 -25
  401. package/contracts/instance/base/ObjectCounter.sol +20 -0
  402. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  403. package/contracts/instance/base/ObjectSet.sol +77 -0
  404. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  405. package/contracts/instance/module/IBundle.sol +6 -5
  406. package/contracts/instance/module/IComponents.sol +30 -20
  407. package/contracts/instance/module/IDistribution.sol +21 -9
  408. package/contracts/instance/module/IPolicy.sol +50 -29
  409. package/contracts/instance/module/IRisk.sol +5 -0
  410. package/contracts/mock/Dip.sol +26 -0
  411. package/contracts/oracle/BasicOracle.sol +45 -0
  412. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  413. package/contracts/oracle/IOracle.sol +41 -0
  414. package/contracts/oracle/IOracleComponent.sol +33 -0
  415. package/contracts/oracle/IOracleService.sol +66 -0
  416. package/contracts/oracle/Oracle.sol +154 -0
  417. package/contracts/oracle/OracleService.sol +310 -0
  418. package/contracts/oracle/OracleServiceManager.sol +39 -0
  419. package/contracts/pool/BasicPool.sol +162 -0
  420. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  421. package/contracts/pool/BundleService.sol +225 -152
  422. package/contracts/pool/BundleServiceManager.sol +13 -25
  423. package/contracts/pool/IBundleService.sol +44 -34
  424. package/contracts/pool/IPoolComponent.sol +20 -70
  425. package/contracts/pool/IPoolService.sol +99 -76
  426. package/contracts/pool/Pool.sol +198 -164
  427. package/contracts/pool/PoolLib.sol +341 -0
  428. package/contracts/pool/PoolService.sol +448 -255
  429. package/contracts/pool/PoolServiceManager.sol +12 -24
  430. package/contracts/product/ApplicationService.sol +160 -86
  431. package/contracts/product/ApplicationServiceManager.sol +12 -9
  432. package/contracts/product/BasicProduct.sol +49 -0
  433. package/contracts/product/BasicProductAuthorization.sol +63 -0
  434. package/contracts/product/ClaimService.sol +389 -195
  435. package/contracts/product/ClaimServiceManager.sol +12 -9
  436. package/contracts/product/IApplicationService.sol +30 -4
  437. package/contracts/product/IClaimService.sol +52 -9
  438. package/contracts/product/IPolicyService.sol +62 -38
  439. package/contracts/product/IPricingService.sol +12 -11
  440. package/contracts/product/IProductComponent.sol +29 -9
  441. package/contracts/product/IRiskService.sol +48 -0
  442. package/contracts/product/PolicyService.sol +450 -276
  443. package/contracts/product/PolicyServiceLib.sol +139 -0
  444. package/contracts/product/PolicyServiceManager.sol +12 -27
  445. package/contracts/product/PricingService.sol +97 -91
  446. package/contracts/product/PricingServiceManager.sol +12 -24
  447. package/contracts/product/Product.sol +263 -147
  448. package/contracts/product/RiskService.sol +190 -0
  449. package/contracts/product/RiskServiceManager.sol +39 -0
  450. package/contracts/registry/ChainNft.sol +72 -39
  451. package/contracts/registry/IRegistry.sol +99 -38
  452. package/contracts/registry/IRegistryService.sol +26 -43
  453. package/contracts/registry/IRelease.sol +29 -0
  454. package/contracts/registry/ITransferInterceptor.sol +1 -2
  455. package/contracts/registry/Registry.sol +439 -232
  456. package/contracts/registry/RegistryAdmin.sol +188 -0
  457. package/contracts/registry/RegistryAuthorization.sol +309 -0
  458. package/contracts/registry/RegistryService.sol +66 -152
  459. package/contracts/registry/RegistryServiceManager.sol +23 -30
  460. package/contracts/registry/ReleaseAdmin.sol +195 -0
  461. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  462. package/contracts/registry/ReleaseRegistry.sol +525 -0
  463. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  464. package/contracts/registry/TokenRegistry.sol +211 -81
  465. package/contracts/shared/Component.sol +71 -143
  466. package/contracts/shared/ComponentService.sol +460 -369
  467. package/contracts/shared/ComponentServiceManager.sol +10 -7
  468. package/contracts/shared/ContractLib.sol +312 -0
  469. package/contracts/shared/IComponent.sol +7 -23
  470. package/contracts/shared/IComponentService.sol +51 -31
  471. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  472. package/contracts/shared/IKeyValueStore.sol +3 -2
  473. package/contracts/shared/ILifecycle.sol +3 -2
  474. package/contracts/shared/INftOwnable.sol +5 -1
  475. package/contracts/shared/IPolicyHolder.sol +12 -17
  476. package/contracts/shared/IRegisterable.sol +22 -1
  477. package/contracts/shared/IService.sol +11 -6
  478. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +12 -4
  479. package/contracts/shared/InstanceLinkedComponent.sol +95 -46
  480. package/contracts/shared/KeyValueStore.sol +32 -70
  481. package/contracts/shared/Lifecycle.sol +30 -63
  482. package/contracts/shared/NftIdSet.sol +65 -0
  483. package/contracts/shared/NftOwnable.sol +35 -24
  484. package/contracts/shared/PolicyHolder.sol +19 -50
  485. package/contracts/shared/Registerable.sol +52 -21
  486. package/contracts/shared/RegistryLinked.sol +9 -14
  487. package/contracts/shared/Service.sol +32 -42
  488. package/contracts/shared/TokenHandler.sol +310 -26
  489. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  490. package/contracts/staking/IStaking.sol +229 -42
  491. package/contracts/staking/IStakingService.sol +98 -76
  492. package/contracts/staking/Staking.sol +633 -99
  493. package/contracts/staking/StakingLib.sol +195 -0
  494. package/contracts/staking/StakingLifecycle.sol +23 -0
  495. package/contracts/staking/StakingManager.sol +25 -20
  496. package/contracts/staking/StakingReader.sol +151 -0
  497. package/contracts/staking/StakingService.sol +174 -53
  498. package/contracts/staking/StakingServiceManager.sol +13 -8
  499. package/contracts/staking/StakingStore.sol +973 -0
  500. package/contracts/staking/TargetManagerLib.sol +211 -0
  501. package/contracts/type/AddressSet.sol +1 -1
  502. package/contracts/type/Amount.sol +43 -3
  503. package/contracts/type/Blocknumber.sol +34 -16
  504. package/contracts/type/ChainId.sol +101 -0
  505. package/contracts/type/ClaimId.sol +6 -1
  506. package/contracts/type/Fee.sol +9 -9
  507. package/contracts/type/Key32.sol +2 -2
  508. package/contracts/type/Key32Set.sol +62 -0
  509. package/contracts/type/NftId.sol +16 -4
  510. package/contracts/type/NftIdSet.sol +1 -1
  511. package/contracts/type/ObjectType.sol +204 -62
  512. package/contracts/type/PayoutId.sol +10 -10
  513. package/contracts/type/Referral.sol +2 -1
  514. package/contracts/type/RequestId.sol +75 -0
  515. package/contracts/type/RiskId.sol +39 -7
  516. package/contracts/type/RoleId.sol +122 -80
  517. package/contracts/type/Seconds.sol +62 -1
  518. package/contracts/type/Selector.sol +107 -0
  519. package/contracts/type/StateId.sol +41 -2
  520. package/contracts/type/String.sol +65 -0
  521. package/contracts/type/Timestamp.sol +20 -9
  522. package/contracts/type/UFixed.sol +62 -125
  523. package/contracts/type/Version.sol +58 -7
  524. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  525. package/contracts/{shared → upgradeability}/ProxyManager.sol +115 -38
  526. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  527. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  528. package/package.json +12 -8
  529. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  530. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  531. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  532. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
  533. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  534. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -132
  535. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  537. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  538. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -237
  539. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  540. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -381
  541. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  542. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -673
  543. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  544. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -636
  545. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  546. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -308
  547. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  548. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -688
  549. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  550. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  551. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  552. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  553. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  554. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  555. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  556. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  557. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  558. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -569
  559. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  560. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  561. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  562. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  563. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  564. package/contracts/instance/BundleManager.sol +0 -126
  565. package/contracts/instance/InstanceAccessManager.sol +0 -543
  566. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -336
  567. package/contracts/instance/base/ObjectManager.sol +0 -82
  568. package/contracts/instance/module/IAccess.sol +0 -54
  569. package/contracts/product/IProductService.sol +0 -33
  570. package/contracts/product/ProductService.sol +0 -122
  571. package/contracts/product/ProductServiceManager.sol +0 -54
  572. package/contracts/registry/RegistryAccessManager.sol +0 -213
  573. package/contracts/registry/ReleaseManager.sol +0 -375
  574. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  575. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
  576. package/contracts/shared/ComponentVerifyingService.sol +0 -111
  577. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
@@ -41,6 +41,17 @@
41
41
  "name": "AccessManagedUnauthorized",
42
42
  "type": "error"
43
43
  },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "address",
48
+ "name": "authority",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "ErrorAuthorityInvalid",
53
+ "type": "error"
54
+ },
44
55
  {
45
56
  "inputs": [],
46
57
  "name": "ErrorComponentNameLengthZero",
@@ -59,7 +70,12 @@
59
70
  },
60
71
  {
61
72
  "inputs": [],
62
- "name": "ErrorComponentTokenAddressZero",
73
+ "name": "ErrorComponentProductNftIdNonzero",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "ErrorComponentProductNftIdZero",
63
79
  "type": "error"
64
80
  },
65
81
  {
@@ -72,183 +88,1134 @@
72
88
  "name": "ErrorComponentWalletAddressZero",
73
89
  "type": "error"
74
90
  },
91
+ {
92
+ "inputs": [],
93
+ "name": "ErrorComponentWalletNotComponent",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [
98
+ {
99
+ "internalType": "NftId",
100
+ "name": "nftId",
101
+ "type": "uint96"
102
+ }
103
+ ],
104
+ "name": "ErrorNftOwnableAlreadyLinked",
105
+ "type": "error"
106
+ },
75
107
  {
76
108
  "inputs": [
77
109
  {
78
110
  "internalType": "address",
79
- "name": "oldWallet",
111
+ "name": "contractAddress",
80
112
  "type": "address"
113
+ }
114
+ ],
115
+ "name": "ErrorNftOwnableContractNotRegistered",
116
+ "type": "error"
117
+ },
118
+ {
119
+ "inputs": [],
120
+ "name": "ErrorNftOwnableInitialOwnerZero",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [
125
+ {
126
+ "internalType": "NftId",
127
+ "name": "nftId",
128
+ "type": "uint96"
81
129
  },
130
+ {
131
+ "internalType": "ObjectType",
132
+ "name": "expectedObjectType",
133
+ "type": "uint8"
134
+ }
135
+ ],
136
+ "name": "ErrorNftOwnableInvalidType",
137
+ "type": "error"
138
+ },
139
+ {
140
+ "inputs": [
82
141
  {
83
142
  "internalType": "address",
84
- "name": "newWallet",
143
+ "name": "account",
144
+ "type": "address"
145
+ }
146
+ ],
147
+ "name": "ErrorNftOwnableNotOwner",
148
+ "type": "error"
149
+ },
150
+ {
151
+ "inputs": [
152
+ {
153
+ "internalType": "address",
154
+ "name": "registryAddress",
155
+ "type": "address"
156
+ }
157
+ ],
158
+ "name": "ErrorNotRegistry",
159
+ "type": "error"
160
+ },
161
+ {
162
+ "inputs": [],
163
+ "name": "ErrorRegisterableNotActive",
164
+ "type": "error"
165
+ },
166
+ {
167
+ "inputs": [
168
+ {
169
+ "internalType": "address",
170
+ "name": "owner",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "internalType": "address",
175
+ "name": "tokenHandler",
85
176
  "type": "address"
86
177
  },
87
178
  {
88
179
  "internalType": "uint256",
89
- "name": "allowance",
180
+ "name": "amount",
90
181
  "type": "uint256"
91
182
  },
92
183
  {
93
184
  "internalType": "uint256",
94
- "name": "balance",
185
+ "name": "dipAllowance",
95
186
  "type": "uint256"
96
187
  }
97
188
  ],
98
- "name": "ErrorComponentWalletAllowanceTooSmall",
189
+ "name": "ErrorStakingDipAllowanceInsufficient",
99
190
  "type": "error"
100
191
  },
101
192
  {
102
- "inputs": [],
103
- "name": "ErrorComponentWalletNotComponent",
193
+ "inputs": [
194
+ {
195
+ "internalType": "address",
196
+ "name": "owner",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "internalType": "uint256",
201
+ "name": "amount",
202
+ "type": "uint256"
203
+ },
204
+ {
205
+ "internalType": "uint256",
206
+ "name": "dipBalance",
207
+ "type": "uint256"
208
+ }
209
+ ],
210
+ "name": "ErrorStakingDipBalanceInsufficient",
104
211
  "type": "error"
105
212
  },
106
213
  {
107
214
  "inputs": [
108
215
  {
109
- "internalType": "ObjectType",
110
- "name": "objectType",
111
- "type": "uint8"
216
+ "internalType": "NftId",
217
+ "name": "targetNftId",
218
+ "type": "uint96"
112
219
  },
113
220
  {
114
- "internalType": "StateId",
115
- "name": "fromStateId",
116
- "type": "uint8"
221
+ "internalType": "Seconds",
222
+ "name": "maxLockingPeriod",
223
+ "type": "uint40"
117
224
  },
118
225
  {
119
- "internalType": "StateId",
120
- "name": "toStateId",
121
- "type": "uint8"
226
+ "internalType": "Seconds",
227
+ "name": "lockingPeriod",
228
+ "type": "uint40"
122
229
  }
123
230
  ],
124
- "name": "ErrorInvalidStateTransition",
231
+ "name": "ErrorStakingLockingPeriodTooLong",
125
232
  "type": "error"
126
233
  },
127
234
  {
128
235
  "inputs": [
129
236
  {
130
- "internalType": "Key32",
131
- "name": "key",
132
- "type": "bytes32"
237
+ "internalType": "NftId",
238
+ "name": "targetNftId",
239
+ "type": "uint96"
240
+ },
241
+ {
242
+ "internalType": "Seconds",
243
+ "name": "minLockingPeriod",
244
+ "type": "uint40"
133
245
  },
134
246
  {
135
- "internalType": "ObjectType",
136
- "name": "objectType",
137
- "type": "uint8"
247
+ "internalType": "Seconds",
248
+ "name": "lockingPeriod",
249
+ "type": "uint40"
250
+ }
251
+ ],
252
+ "name": "ErrorStakingLockingPeriodTooShort",
253
+ "type": "error"
254
+ },
255
+ {
256
+ "inputs": [
257
+ {
258
+ "internalType": "NftId",
259
+ "name": "nftId",
260
+ "type": "uint96"
138
261
  }
139
262
  ],
140
- "name": "ErrorKeyValueStoreAlreadyCreated",
263
+ "name": "ErrorStakingNotNftOwner",
141
264
  "type": "error"
142
265
  },
143
266
  {
144
267
  "inputs": [
145
268
  {
146
- "internalType": "Key32",
147
- "name": "key",
148
- "type": "bytes32"
269
+ "internalType": "NftId",
270
+ "name": "stakeNftId",
271
+ "type": "uint96"
272
+ },
273
+ {
274
+ "internalType": "address",
275
+ "name": "expectedOwner",
276
+ "type": "address"
277
+ },
278
+ {
279
+ "internalType": "address",
280
+ "name": "actualOwner",
281
+ "type": "address"
149
282
  }
150
283
  ],
151
- "name": "ErrorKeyValueStoreNotExisting",
284
+ "name": "ErrorStakingNotOwner",
152
285
  "type": "error"
153
286
  },
154
287
  {
155
288
  "inputs": [
156
289
  {
157
- "internalType": "Key32",
158
- "name": "key",
159
- "type": "bytes32"
290
+ "internalType": "address",
291
+ "name": "registry",
292
+ "type": "address"
160
293
  }
161
294
  ],
162
- "name": "ErrorKeyValueStoreStateZero",
295
+ "name": "ErrorStakingNotRegistry",
163
296
  "type": "error"
164
297
  },
165
298
  {
166
299
  "inputs": [
167
300
  {
168
- "internalType": "ObjectType",
169
- "name": "objectType",
301
+ "internalType": "NftId",
302
+ "name": "stakeNftId",
303
+ "type": "uint96"
304
+ }
305
+ ],
306
+ "name": "ErrorStakingNotStake",
307
+ "type": "error"
308
+ },
309
+ {
310
+ "inputs": [],
311
+ "name": "ErrorStakingNotStakingOwner",
312
+ "type": "error"
313
+ },
314
+ {
315
+ "inputs": [
316
+ {
317
+ "internalType": "NftId",
318
+ "name": "targetNftId",
319
+ "type": "uint96"
320
+ }
321
+ ],
322
+ "name": "ErrorStakingNotTarget",
323
+ "type": "error"
324
+ },
325
+ {
326
+ "inputs": [
327
+ {
328
+ "internalType": "VersionPart",
329
+ "name": "release",
170
330
  "type": "uint8"
171
331
  }
172
332
  ],
173
- "name": "ErrorKeyValueStoreTypeUndefined",
333
+ "name": "ErrorStakingReleaseNotActive",
174
334
  "type": "error"
175
335
  },
176
336
  {
177
337
  "inputs": [
178
338
  {
179
339
  "internalType": "NftId",
180
- "name": "nftId",
340
+ "name": "targetNftId",
181
341
  "type": "uint96"
342
+ },
343
+ {
344
+ "internalType": "UFixed",
345
+ "name": "maxRewardRate",
346
+ "type": "uint160"
347
+ },
348
+ {
349
+ "internalType": "UFixed",
350
+ "name": "rewardRate",
351
+ "type": "uint160"
182
352
  }
183
353
  ],
184
- "name": "ErrorNftOwnableAlreadyLinked",
354
+ "name": "ErrorStakingRewardRateTooHigh",
355
+ "type": "error"
356
+ },
357
+ {
358
+ "inputs": [
359
+ {
360
+ "internalType": "VersionPart",
361
+ "name": "release",
362
+ "type": "uint8"
363
+ }
364
+ ],
365
+ "name": "ErrorStakingServiceNotFound",
366
+ "type": "error"
367
+ },
368
+ {
369
+ "inputs": [
370
+ {
371
+ "internalType": "NftId",
372
+ "name": "targetNftId",
373
+ "type": "uint96"
374
+ }
375
+ ],
376
+ "name": "ErrorStakingStakeAmountZero",
377
+ "type": "error"
378
+ },
379
+ {
380
+ "inputs": [
381
+ {
382
+ "internalType": "NftId",
383
+ "name": "stakeNftId",
384
+ "type": "uint96"
385
+ },
386
+ {
387
+ "internalType": "Timestamp",
388
+ "name": "lockedUntil",
389
+ "type": "uint40"
390
+ }
391
+ ],
392
+ "name": "ErrorStakingStakeLocked",
185
393
  "type": "error"
186
394
  },
187
395
  {
188
396
  "inputs": [
189
397
  {
190
398
  "internalType": "address",
191
- "name": "contractAddress",
399
+ "name": "stakingByStakingReader",
192
400
  "type": "address"
193
401
  }
194
402
  ],
195
- "name": "ErrorNftOwnableContractNotRegistered",
403
+ "name": "ErrorStakingStakingReaderStakingMismatch",
404
+ "type": "error"
405
+ },
406
+ {
407
+ "inputs": [
408
+ {
409
+ "internalType": "NftId",
410
+ "name": "targetNftId",
411
+ "type": "uint96"
412
+ }
413
+ ],
414
+ "name": "ErrorStakingTargetAlreadyRegistered",
415
+ "type": "error"
416
+ },
417
+ {
418
+ "inputs": [
419
+ {
420
+ "internalType": "NftId",
421
+ "name": "targetNftId",
422
+ "type": "uint96"
423
+ },
424
+ {
425
+ "internalType": "Amount",
426
+ "name": "maxStakedAmount",
427
+ "type": "uint96"
428
+ },
429
+ {
430
+ "internalType": "Amount",
431
+ "name": "stakedAmount",
432
+ "type": "uint96"
433
+ }
434
+ ],
435
+ "name": "ErrorStakingTargetMaxStakedAmountExceeded",
196
436
  "type": "error"
197
437
  },
198
438
  {
199
439
  "inputs": [],
200
- "name": "ErrorNftOwnableInitialOwnerZero",
440
+ "name": "ErrorStakingTargetNftIdZero",
201
441
  "type": "error"
202
442
  },
203
443
  {
204
444
  "inputs": [
205
445
  {
206
- "internalType": "address",
207
- "name": "account",
208
- "type": "address"
446
+ "internalType": "NftId",
447
+ "name": "targetNftId",
448
+ "type": "uint96"
449
+ }
450
+ ],
451
+ "name": "ErrorStakingTargetNotFound",
452
+ "type": "error"
453
+ },
454
+ {
455
+ "inputs": [
456
+ {
457
+ "internalType": "NftId",
458
+ "name": "targetNftId",
459
+ "type": "uint96"
460
+ },
461
+ {
462
+ "internalType": "ChainId",
463
+ "name": "chainId",
464
+ "type": "uint96"
465
+ },
466
+ {
467
+ "internalType": "address",
468
+ "name": "token",
469
+ "type": "address"
470
+ }
471
+ ],
472
+ "name": "ErrorStakingTargetTokenNotFound",
473
+ "type": "error"
474
+ },
475
+ {
476
+ "inputs": [
477
+ {
478
+ "internalType": "NftId",
479
+ "name": "targetNftId",
480
+ "type": "uint96"
481
+ },
482
+ {
483
+ "internalType": "ObjectType",
484
+ "name": "objectType",
485
+ "type": "uint8"
486
+ }
487
+ ],
488
+ "name": "ErrorStakingTargetTypeNotSupported",
489
+ "type": "error"
490
+ },
491
+ {
492
+ "inputs": [
493
+ {
494
+ "internalType": "NftId",
495
+ "name": "targetNftId",
496
+ "type": "uint96"
497
+ },
498
+ {
499
+ "internalType": "ObjectType",
500
+ "name": "expectedObjectType",
501
+ "type": "uint8"
502
+ },
503
+ {
504
+ "internalType": "ObjectType",
505
+ "name": "actualObjectType",
506
+ "type": "uint8"
507
+ }
508
+ ],
509
+ "name": "ErrorStakingTargetUnexpectedObjectType",
510
+ "type": "error"
511
+ },
512
+ {
513
+ "inputs": [
514
+ {
515
+ "internalType": "ChainId",
516
+ "name": "chainId",
517
+ "type": "uint96"
518
+ },
519
+ {
520
+ "internalType": "address",
521
+ "name": "token",
522
+ "type": "address"
523
+ }
524
+ ],
525
+ "name": "ErrorStakingTokenNotRegistered",
526
+ "type": "error"
527
+ },
528
+ {
529
+ "inputs": [],
530
+ "name": "ErrorVersionableInitializeNotImplemented",
531
+ "type": "error"
532
+ },
533
+ {
534
+ "inputs": [],
535
+ "name": "ErrorVersionableUpgradeNotImplemented",
536
+ "type": "error"
537
+ },
538
+ {
539
+ "anonymous": false,
540
+ "inputs": [
541
+ {
542
+ "indexed": false,
543
+ "internalType": "address",
544
+ "name": "authority",
545
+ "type": "address"
546
+ }
547
+ ],
548
+ "name": "AuthorityUpdated",
549
+ "type": "event"
550
+ },
551
+ {
552
+ "anonymous": false,
553
+ "inputs": [
554
+ {
555
+ "indexed": false,
556
+ "internalType": "address",
557
+ "name": "tokenHandler",
558
+ "type": "address"
559
+ },
560
+ {
561
+ "indexed": false,
562
+ "internalType": "address",
563
+ "name": "token",
564
+ "type": "address"
565
+ },
566
+ {
567
+ "indexed": false,
568
+ "internalType": "Amount",
569
+ "name": "limit",
570
+ "type": "uint96"
571
+ },
572
+ {
573
+ "indexed": false,
574
+ "internalType": "bool",
575
+ "name": "isMaxAmount",
576
+ "type": "bool"
577
+ }
578
+ ],
579
+ "name": "LogComponentTokenHandlerApproved",
580
+ "type": "event"
581
+ },
582
+ {
583
+ "anonymous": false,
584
+ "inputs": [
585
+ {
586
+ "indexed": false,
587
+ "internalType": "address",
588
+ "name": "oldWallet",
589
+ "type": "address"
590
+ },
591
+ {
592
+ "indexed": false,
593
+ "internalType": "address",
594
+ "name": "newWallet",
595
+ "type": "address"
596
+ }
597
+ ],
598
+ "name": "LogComponentWalletAddressChanged",
599
+ "type": "event"
600
+ },
601
+ {
602
+ "anonymous": false,
603
+ "inputs": [
604
+ {
605
+ "indexed": false,
606
+ "internalType": "address",
607
+ "name": "from",
608
+ "type": "address"
609
+ },
610
+ {
611
+ "indexed": false,
612
+ "internalType": "address",
613
+ "name": "to",
614
+ "type": "address"
615
+ },
616
+ {
617
+ "indexed": false,
618
+ "internalType": "uint256",
619
+ "name": "amount",
620
+ "type": "uint256"
621
+ }
622
+ ],
623
+ "name": "LogComponentWalletTokensTransferred",
624
+ "type": "event"
625
+ },
626
+ {
627
+ "anonymous": false,
628
+ "inputs": [
629
+ {
630
+ "indexed": false,
631
+ "internalType": "NftId",
632
+ "name": "nftId",
633
+ "type": "uint96"
634
+ },
635
+ {
636
+ "indexed": false,
637
+ "internalType": "address",
638
+ "name": "owner",
639
+ "type": "address"
640
+ }
641
+ ],
642
+ "name": "LogNftOwnableNftLinkedToAddress",
643
+ "type": "event"
644
+ },
645
+ {
646
+ "anonymous": false,
647
+ "inputs": [
648
+ {
649
+ "indexed": false,
650
+ "internalType": "NftId",
651
+ "name": "targetNftId",
652
+ "type": "uint96"
653
+ },
654
+ {
655
+ "indexed": false,
656
+ "internalType": "Seconds",
657
+ "name": "newLockingPeriod",
658
+ "type": "uint40"
659
+ },
660
+ {
661
+ "indexed": false,
662
+ "internalType": "Seconds",
663
+ "name": "oldLockingPeriod",
664
+ "type": "uint40"
665
+ },
666
+ {
667
+ "indexed": false,
668
+ "internalType": "Blocknumber",
669
+ "name": "lastUpdatedIn",
670
+ "type": "uint40"
671
+ }
672
+ ],
673
+ "name": "LogStakingProtocolLockingPeriodSet",
674
+ "type": "event"
675
+ },
676
+ {
677
+ "anonymous": false,
678
+ "inputs": [
679
+ {
680
+ "indexed": false,
681
+ "internalType": "NftId",
682
+ "name": "targetNftId",
683
+ "type": "uint96"
684
+ },
685
+ {
686
+ "indexed": false,
687
+ "internalType": "UFixed",
688
+ "name": "newRewardRate",
689
+ "type": "uint160"
690
+ },
691
+ {
692
+ "indexed": false,
693
+ "internalType": "UFixed",
694
+ "name": "oldRewardRate",
695
+ "type": "uint160"
696
+ },
697
+ {
698
+ "indexed": false,
699
+ "internalType": "Blocknumber",
700
+ "name": "lastUpdatedIn",
701
+ "type": "uint40"
702
+ }
703
+ ],
704
+ "name": "LogStakingProtocolRewardRateSet",
705
+ "type": "event"
706
+ },
707
+ {
708
+ "anonymous": false,
709
+ "inputs": [
710
+ {
711
+ "indexed": false,
712
+ "internalType": "NftId",
713
+ "name": "targetNftId",
714
+ "type": "uint96"
715
+ },
716
+ {
717
+ "indexed": false,
718
+ "internalType": "Amount",
719
+ "name": "dipAmount",
720
+ "type": "uint96"
721
+ },
722
+ {
723
+ "indexed": false,
724
+ "internalType": "address",
725
+ "name": "targetOwner",
726
+ "type": "address"
727
+ },
728
+ {
729
+ "indexed": false,
730
+ "internalType": "Amount",
731
+ "name": "reserveBalance",
732
+ "type": "uint96"
733
+ },
734
+ {
735
+ "indexed": false,
736
+ "internalType": "Blocknumber",
737
+ "name": "lastUpdateIn",
738
+ "type": "uint40"
739
+ }
740
+ ],
741
+ "name": "LogStakingRewardReservesRefilled",
742
+ "type": "event"
743
+ },
744
+ {
745
+ "anonymous": false,
746
+ "inputs": [
747
+ {
748
+ "indexed": false,
749
+ "internalType": "NftId",
750
+ "name": "targetNftId",
751
+ "type": "uint96"
752
+ },
753
+ {
754
+ "indexed": false,
755
+ "internalType": "Amount",
756
+ "name": "dipAmount",
757
+ "type": "uint96"
758
+ },
759
+ {
760
+ "indexed": false,
761
+ "internalType": "Amount",
762
+ "name": "reserveBalance",
763
+ "type": "uint96"
764
+ },
765
+ {
766
+ "indexed": false,
767
+ "internalType": "Blocknumber",
768
+ "name": "lastUpdateIn",
769
+ "type": "uint40"
770
+ }
771
+ ],
772
+ "name": "LogStakingRewardReservesSpent",
773
+ "type": "event"
774
+ },
775
+ {
776
+ "anonymous": false,
777
+ "inputs": [
778
+ {
779
+ "indexed": false,
780
+ "internalType": "NftId",
781
+ "name": "targetNftId",
782
+ "type": "uint96"
783
+ },
784
+ {
785
+ "indexed": false,
786
+ "internalType": "Amount",
787
+ "name": "dipAmount",
788
+ "type": "uint96"
789
+ },
790
+ {
791
+ "indexed": false,
792
+ "internalType": "address",
793
+ "name": "targetOwner",
794
+ "type": "address"
795
+ },
796
+ {
797
+ "indexed": false,
798
+ "internalType": "Amount",
799
+ "name": "reserveBalance",
800
+ "type": "uint96"
801
+ },
802
+ {
803
+ "indexed": false,
804
+ "internalType": "Blocknumber",
805
+ "name": "lastUpdateIn",
806
+ "type": "uint40"
807
+ }
808
+ ],
809
+ "name": "LogStakingRewardReservesWithdrawn",
810
+ "type": "event"
811
+ },
812
+ {
813
+ "anonymous": false,
814
+ "inputs": [
815
+ {
816
+ "indexed": false,
817
+ "internalType": "NftId",
818
+ "name": "stakeNftId",
819
+ "type": "uint96"
820
+ },
821
+ {
822
+ "indexed": false,
823
+ "internalType": "Amount",
824
+ "name": "claimedAmount",
825
+ "type": "uint96"
826
+ },
827
+ {
828
+ "indexed": false,
829
+ "internalType": "Amount",
830
+ "name": "stakeBalance",
831
+ "type": "uint96"
832
+ },
833
+ {
834
+ "indexed": false,
835
+ "internalType": "Amount",
836
+ "name": "rewardBalance",
837
+ "type": "uint96"
838
+ },
839
+ {
840
+ "indexed": false,
841
+ "internalType": "Timestamp",
842
+ "name": "lockedUntil",
843
+ "type": "uint40"
844
+ }
845
+ ],
846
+ "name": "LogStakingRewardsClaimed",
847
+ "type": "event"
848
+ },
849
+ {
850
+ "anonymous": false,
851
+ "inputs": [
852
+ {
853
+ "indexed": false,
854
+ "internalType": "NftId",
855
+ "name": "stakeNftId",
856
+ "type": "uint96"
857
+ },
858
+ {
859
+ "indexed": false,
860
+ "internalType": "Amount",
861
+ "name": "restakedAmount",
862
+ "type": "uint96"
863
+ },
864
+ {
865
+ "indexed": false,
866
+ "internalType": "Amount",
867
+ "name": "stakeBalance",
868
+ "type": "uint96"
869
+ },
870
+ {
871
+ "indexed": false,
872
+ "internalType": "Amount",
873
+ "name": "rewardBalance",
874
+ "type": "uint96"
875
+ },
876
+ {
877
+ "indexed": false,
878
+ "internalType": "Timestamp",
879
+ "name": "lockedUntil",
880
+ "type": "uint40"
881
+ }
882
+ ],
883
+ "name": "LogStakingRewardsRestaked",
884
+ "type": "event"
885
+ },
886
+ {
887
+ "anonymous": false,
888
+ "inputs": [
889
+ {
890
+ "indexed": false,
891
+ "internalType": "NftId",
892
+ "name": "stakeNftId",
893
+ "type": "uint96"
894
+ },
895
+ {
896
+ "indexed": false,
897
+ "internalType": "NftId",
898
+ "name": "targetNftId",
899
+ "type": "uint96"
900
+ },
901
+ {
902
+ "indexed": false,
903
+ "internalType": "Amount",
904
+ "name": "stakeAmount",
905
+ "type": "uint96"
906
+ },
907
+ {
908
+ "indexed": false,
909
+ "internalType": "Timestamp",
910
+ "name": "lockedUntil",
911
+ "type": "uint40"
912
+ },
913
+ {
914
+ "indexed": false,
915
+ "internalType": "address",
916
+ "name": "stakeOwner",
917
+ "type": "address"
918
+ }
919
+ ],
920
+ "name": "LogStakingStakeCreated",
921
+ "type": "event"
922
+ },
923
+ {
924
+ "anonymous": false,
925
+ "inputs": [
926
+ {
927
+ "indexed": false,
928
+ "internalType": "NftId",
929
+ "name": "stakeNftId",
930
+ "type": "uint96"
931
+ },
932
+ {
933
+ "indexed": false,
934
+ "internalType": "NftId",
935
+ "name": "targetNftId",
936
+ "type": "uint96"
937
+ },
938
+ {
939
+ "indexed": false,
940
+ "internalType": "Amount",
941
+ "name": "stakeAmount",
942
+ "type": "uint96"
943
+ },
944
+ {
945
+ "indexed": false,
946
+ "internalType": "address",
947
+ "name": "owner",
948
+ "type": "address"
949
+ },
950
+ {
951
+ "indexed": false,
952
+ "internalType": "NftId",
953
+ "name": "oldStakeNftId",
954
+ "type": "uint96"
955
+ }
956
+ ],
957
+ "name": "LogStakingStakeRestaked",
958
+ "type": "event"
959
+ },
960
+ {
961
+ "anonymous": false,
962
+ "inputs": [
963
+ {
964
+ "indexed": false,
965
+ "internalType": "NftId",
966
+ "name": "stakeNftId",
967
+ "type": "uint96"
968
+ },
969
+ {
970
+ "indexed": false,
971
+ "internalType": "Amount",
972
+ "name": "rewardIncrementAmount",
973
+ "type": "uint96"
974
+ },
975
+ {
976
+ "indexed": false,
977
+ "internalType": "Amount",
978
+ "name": "stakeBalance",
979
+ "type": "uint96"
980
+ },
981
+ {
982
+ "indexed": false,
983
+ "internalType": "Amount",
984
+ "name": "rewardBalance",
985
+ "type": "uint96"
986
+ },
987
+ {
988
+ "indexed": false,
989
+ "internalType": "Timestamp",
990
+ "name": "lockedUntil",
991
+ "type": "uint40"
992
+ }
993
+ ],
994
+ "name": "LogStakingStakeRewardsUpdated",
995
+ "type": "event"
996
+ },
997
+ {
998
+ "anonymous": false,
999
+ "inputs": [
1000
+ {
1001
+ "indexed": false,
1002
+ "internalType": "NftId",
1003
+ "name": "stakeNftId",
1004
+ "type": "uint96"
1005
+ },
1006
+ {
1007
+ "indexed": false,
1008
+ "internalType": "Amount",
1009
+ "name": "stakedAmount",
1010
+ "type": "uint96"
1011
+ },
1012
+ {
1013
+ "indexed": false,
1014
+ "internalType": "Amount",
1015
+ "name": "stakeBalance",
1016
+ "type": "uint96"
1017
+ },
1018
+ {
1019
+ "indexed": false,
1020
+ "internalType": "Amount",
1021
+ "name": "rewardBalance",
1022
+ "type": "uint96"
1023
+ },
1024
+ {
1025
+ "indexed": false,
1026
+ "internalType": "Timestamp",
1027
+ "name": "lockedUntil",
1028
+ "type": "uint40"
1029
+ }
1030
+ ],
1031
+ "name": "LogStakingStaked",
1032
+ "type": "event"
1033
+ },
1034
+ {
1035
+ "anonymous": false,
1036
+ "inputs": [
1037
+ {
1038
+ "indexed": false,
1039
+ "internalType": "ChainId",
1040
+ "name": "chainId",
1041
+ "type": "uint96"
1042
+ },
1043
+ {
1044
+ "indexed": false,
1045
+ "internalType": "address",
1046
+ "name": "token",
1047
+ "type": "address"
1048
+ },
1049
+ {
1050
+ "indexed": false,
1051
+ "internalType": "UFixed",
1052
+ "name": "newStakingRate",
1053
+ "type": "uint160"
1054
+ },
1055
+ {
1056
+ "indexed": false,
1057
+ "internalType": "UFixed",
1058
+ "name": "oldStakingRate",
1059
+ "type": "uint160"
1060
+ },
1061
+ {
1062
+ "indexed": false,
1063
+ "internalType": "Blocknumber",
1064
+ "name": "lastUpdatedIn",
1065
+ "type": "uint40"
1066
+ }
1067
+ ],
1068
+ "name": "LogStakingStakingRateSet",
1069
+ "type": "event"
1070
+ },
1071
+ {
1072
+ "anonymous": false,
1073
+ "inputs": [
1074
+ {
1075
+ "indexed": false,
1076
+ "internalType": "address",
1077
+ "name": "stakingReader",
1078
+ "type": "address"
1079
+ },
1080
+ {
1081
+ "indexed": false,
1082
+ "internalType": "address",
1083
+ "name": "oldStakingReader",
1084
+ "type": "address"
1085
+ }
1086
+ ],
1087
+ "name": "LogStakingStakingReaderSet",
1088
+ "type": "event"
1089
+ },
1090
+ {
1091
+ "anonymous": false,
1092
+ "inputs": [
1093
+ {
1094
+ "indexed": false,
1095
+ "internalType": "address",
1096
+ "name": "stakingService",
1097
+ "type": "address"
1098
+ },
1099
+ {
1100
+ "indexed": false,
1101
+ "internalType": "VersionPart",
1102
+ "name": "release",
1103
+ "type": "uint8"
1104
+ },
1105
+ {
1106
+ "indexed": false,
1107
+ "internalType": "address",
1108
+ "name": "oldStakingService",
1109
+ "type": "address"
1110
+ }
1111
+ ],
1112
+ "name": "LogStakingStakingServiceSet",
1113
+ "type": "event"
1114
+ },
1115
+ {
1116
+ "anonymous": false,
1117
+ "inputs": [
1118
+ {
1119
+ "indexed": false,
1120
+ "internalType": "NftId",
1121
+ "name": "targetNftId",
1122
+ "type": "uint96"
1123
+ },
1124
+ {
1125
+ "indexed": false,
1126
+ "internalType": "ObjectType",
1127
+ "name": "objectType",
1128
+ "type": "uint8"
1129
+ },
1130
+ {
1131
+ "indexed": false,
1132
+ "internalType": "Seconds",
1133
+ "name": "lockingPeriod",
1134
+ "type": "uint40"
1135
+ },
1136
+ {
1137
+ "indexed": false,
1138
+ "internalType": "UFixed",
1139
+ "name": "rewardRate",
1140
+ "type": "uint160"
1141
+ },
1142
+ {
1143
+ "indexed": false,
1144
+ "internalType": "Amount",
1145
+ "name": "maxStakedAmount",
1146
+ "type": "uint96"
209
1147
  }
210
1148
  ],
211
- "name": "ErrorNftOwnableNotOwner",
212
- "type": "error"
1149
+ "name": "LogStakingTargetCreated",
1150
+ "type": "event"
213
1151
  },
214
1152
  {
1153
+ "anonymous": false,
215
1154
  "inputs": [
216
1155
  {
1156
+ "indexed": false,
217
1157
  "internalType": "NftId",
218
- "name": "nftId",
1158
+ "name": "targetNftId",
219
1159
  "type": "uint96"
220
1160
  },
221
1161
  {
222
- "internalType": "ObjectType",
223
- "name": "objectType",
224
- "type": "uint8"
1162
+ "indexed": false,
1163
+ "internalType": "Seconds",
1164
+ "name": "oldLockingPeriod",
1165
+ "type": "uint40"
1166
+ },
1167
+ {
1168
+ "indexed": false,
1169
+ "internalType": "Seconds",
1170
+ "name": "lockingPeriod",
1171
+ "type": "uint40"
225
1172
  }
226
1173
  ],
227
- "name": "ErrorNoLifecycle",
228
- "type": "error"
1174
+ "name": "LogStakingTargetLockingPeriodSet",
1175
+ "type": "event"
229
1176
  },
230
1177
  {
1178
+ "anonymous": false,
231
1179
  "inputs": [
232
1180
  {
233
- "internalType": "address",
234
- "name": "registryAddress",
235
- "type": "address"
1181
+ "indexed": false,
1182
+ "internalType": "NftId",
1183
+ "name": "targetNftId",
1184
+ "type": "uint96"
1185
+ },
1186
+ {
1187
+ "indexed": false,
1188
+ "internalType": "Amount",
1189
+ "name": "maxStakedAmount",
1190
+ "type": "uint96"
236
1191
  }
237
1192
  ],
238
- "name": "ErrorNotRegistry",
239
- "type": "error"
1193
+ "name": "LogStakingTargetMaxStakedAmountSet",
1194
+ "type": "event"
240
1195
  },
241
1196
  {
242
1197
  "anonymous": false,
243
1198
  "inputs": [
244
1199
  {
245
1200
  "indexed": false,
246
- "internalType": "address",
247
- "name": "authority",
248
- "type": "address"
1201
+ "internalType": "NftId",
1202
+ "name": "targetNftId",
1203
+ "type": "uint96"
1204
+ },
1205
+ {
1206
+ "indexed": false,
1207
+ "internalType": "UFixed",
1208
+ "name": "rewardRate",
1209
+ "type": "uint160"
1210
+ },
1211
+ {
1212
+ "indexed": false,
1213
+ "internalType": "UFixed",
1214
+ "name": "oldRewardRate",
1215
+ "type": "uint160"
249
1216
  }
250
1217
  ],
251
- "name": "AuthorityUpdated",
1218
+ "name": "LogStakingTargetRewardRateSet",
252
1219
  "type": "event"
253
1220
  },
254
1221
  {
@@ -256,18 +1223,24 @@
256
1223
  "inputs": [
257
1224
  {
258
1225
  "indexed": false,
259
- "internalType": "address",
260
- "name": "token",
261
- "type": "address"
1226
+ "internalType": "NftId",
1227
+ "name": "targetNftId",
1228
+ "type": "uint96"
262
1229
  },
263
1230
  {
264
1231
  "indexed": false,
265
- "internalType": "uint256",
266
- "name": "limit",
267
- "type": "uint256"
1232
+ "internalType": "ChainId",
1233
+ "name": "chainId",
1234
+ "type": "uint96"
1235
+ },
1236
+ {
1237
+ "indexed": false,
1238
+ "internalType": "address",
1239
+ "name": "token",
1240
+ "type": "address"
268
1241
  }
269
1242
  ],
270
- "name": "LogComponentTokenHandlerApproved",
1243
+ "name": "LogStakingTargetTokenAdded",
271
1244
  "type": "event"
272
1245
  },
273
1246
  {
@@ -275,18 +1248,18 @@
275
1248
  "inputs": [
276
1249
  {
277
1250
  "indexed": false,
278
- "internalType": "address",
279
- "name": "oldWallet",
280
- "type": "address"
1251
+ "internalType": "ChainId",
1252
+ "name": "chainId",
1253
+ "type": "uint96"
281
1254
  },
282
1255
  {
283
1256
  "indexed": false,
284
1257
  "internalType": "address",
285
- "name": "newWallet",
1258
+ "name": "token",
286
1259
  "type": "address"
287
1260
  }
288
1261
  ],
289
- "name": "LogComponentWalletAddressChanged",
1262
+ "name": "LogStakingTokenAdded",
290
1263
  "type": "event"
291
1264
  },
292
1265
  {
@@ -295,23 +1268,23 @@
295
1268
  {
296
1269
  "indexed": false,
297
1270
  "internalType": "address",
298
- "name": "from",
1271
+ "name": "token",
299
1272
  "type": "address"
300
1273
  },
301
1274
  {
302
1275
  "indexed": false,
303
- "internalType": "address",
304
- "name": "to",
305
- "type": "address"
1276
+ "internalType": "Amount",
1277
+ "name": "approvalAmount",
1278
+ "type": "uint96"
306
1279
  },
307
1280
  {
308
1281
  "indexed": false,
309
- "internalType": "uint256",
310
- "name": "amount",
311
- "type": "uint256"
1282
+ "internalType": "Amount",
1283
+ "name": "oldApprovalAmount",
1284
+ "type": "uint96"
312
1285
  }
313
1286
  ],
314
- "name": "LogComponentWalletTokensTransferred",
1287
+ "name": "LogStakingTokenHandlerApproved",
315
1288
  "type": "event"
316
1289
  },
317
1290
  {
@@ -319,36 +1292,30 @@
319
1292
  "inputs": [
320
1293
  {
321
1294
  "indexed": false,
322
- "internalType": "ObjectType",
323
- "name": "objectType",
324
- "type": "uint8"
325
- },
326
- {
327
- "indexed": false,
328
- "internalType": "KeyId",
329
- "name": "keyId",
330
- "type": "bytes31"
1295
+ "internalType": "NftId",
1296
+ "name": "targetNftId",
1297
+ "type": "uint96"
331
1298
  },
332
1299
  {
333
1300
  "indexed": false,
334
- "internalType": "StateId",
335
- "name": "state",
336
- "type": "uint8"
1301
+ "internalType": "address",
1302
+ "name": "token",
1303
+ "type": "address"
337
1304
  },
338
1305
  {
339
1306
  "indexed": false,
340
- "internalType": "address",
341
- "name": "createdBy",
342
- "type": "address"
1307
+ "internalType": "Amount",
1308
+ "name": "amount",
1309
+ "type": "uint96"
343
1310
  },
344
1311
  {
345
1312
  "indexed": false,
346
- "internalType": "address",
347
- "name": "txOrigin",
348
- "type": "address"
1313
+ "internalType": "Amount",
1314
+ "name": "newBalance",
1315
+ "type": "uint96"
349
1316
  }
350
1317
  ],
351
- "name": "LogInfoCreated",
1318
+ "name": "LogStakingTotalValueLockedDecreased",
352
1319
  "type": "event"
353
1320
  },
354
1321
  {
@@ -356,42 +1323,30 @@
356
1323
  "inputs": [
357
1324
  {
358
1325
  "indexed": false,
359
- "internalType": "ObjectType",
360
- "name": "objectType",
361
- "type": "uint8"
362
- },
363
- {
364
- "indexed": false,
365
- "internalType": "KeyId",
366
- "name": "keyId",
367
- "type": "bytes31"
368
- },
369
- {
370
- "indexed": false,
371
- "internalType": "StateId",
372
- "name": "state",
373
- "type": "uint8"
1326
+ "internalType": "NftId",
1327
+ "name": "targetNftId",
1328
+ "type": "uint96"
374
1329
  },
375
1330
  {
376
1331
  "indexed": false,
377
1332
  "internalType": "address",
378
- "name": "updatedBy",
1333
+ "name": "token",
379
1334
  "type": "address"
380
1335
  },
381
1336
  {
382
1337
  "indexed": false,
383
- "internalType": "address",
384
- "name": "txOrigin",
385
- "type": "address"
1338
+ "internalType": "Amount",
1339
+ "name": "amount",
1340
+ "type": "uint96"
386
1341
  },
387
1342
  {
388
1343
  "indexed": false,
389
- "internalType": "Blocknumber",
390
- "name": "lastUpdatedIn",
391
- "type": "uint32"
1344
+ "internalType": "Amount",
1345
+ "name": "newBalance",
1346
+ "type": "uint96"
392
1347
  }
393
1348
  ],
394
- "name": "LogInfoUpdated",
1349
+ "name": "LogStakingTotalValueLockedIncreased",
395
1350
  "type": "event"
396
1351
  },
397
1352
  {
@@ -399,56 +1354,85 @@
399
1354
  "inputs": [
400
1355
  {
401
1356
  "indexed": false,
402
- "internalType": "ObjectType",
403
- "name": "objectType",
404
- "type": "uint8"
1357
+ "internalType": "NftId",
1358
+ "name": "stakeNftId",
1359
+ "type": "uint96"
405
1360
  },
406
1361
  {
407
1362
  "indexed": false,
408
- "internalType": "KeyId",
409
- "name": "keyId",
410
- "type": "bytes31"
1363
+ "internalType": "Amount",
1364
+ "name": "unstakedAmount",
1365
+ "type": "uint96"
411
1366
  },
412
1367
  {
413
1368
  "indexed": false,
414
- "internalType": "StateId",
415
- "name": "stateOld",
416
- "type": "uint8"
1369
+ "internalType": "Amount",
1370
+ "name": "stakeBalance",
1371
+ "type": "uint96"
417
1372
  },
418
1373
  {
419
1374
  "indexed": false,
420
- "internalType": "StateId",
421
- "name": "stateNew",
422
- "type": "uint8"
1375
+ "internalType": "Amount",
1376
+ "name": "rewardBalance",
1377
+ "type": "uint96"
423
1378
  },
424
1379
  {
425
1380
  "indexed": false,
426
- "internalType": "address",
427
- "name": "updatedBy",
428
- "type": "address"
1381
+ "internalType": "Timestamp",
1382
+ "name": "lockedUntil",
1383
+ "type": "uint40"
1384
+ }
1385
+ ],
1386
+ "name": "LogStakingUnstaked",
1387
+ "type": "event"
1388
+ },
1389
+ {
1390
+ "inputs": [
1391
+ {
1392
+ "internalType": "NftId",
1393
+ "name": "targetNftId",
1394
+ "type": "uint96"
429
1395
  },
430
1396
  {
431
- "indexed": false,
432
1397
  "internalType": "address",
433
- "name": "txOrigin",
1398
+ "name": "token",
434
1399
  "type": "address"
1400
+ }
1401
+ ],
1402
+ "name": "addTargetToken",
1403
+ "outputs": [],
1404
+ "stateMutability": "nonpayable",
1405
+ "type": "function"
1406
+ },
1407
+ {
1408
+ "inputs": [
1409
+ {
1410
+ "internalType": "ChainId",
1411
+ "name": "chainId",
1412
+ "type": "uint96"
435
1413
  },
436
1414
  {
437
- "indexed": false,
438
- "internalType": "Blocknumber",
439
- "name": "lastUpdatedIn",
440
- "type": "uint32"
1415
+ "internalType": "address",
1416
+ "name": "token",
1417
+ "type": "address"
441
1418
  }
442
1419
  ],
443
- "name": "LogStateUpdated",
444
- "type": "event"
1420
+ "name": "addToken",
1421
+ "outputs": [],
1422
+ "stateMutability": "nonpayable",
1423
+ "type": "function"
445
1424
  },
446
1425
  {
447
1426
  "inputs": [
448
1427
  {
449
- "internalType": "uint256",
450
- "name": "spendingLimitAmount",
451
- "type": "uint256"
1428
+ "internalType": "contract IERC20Metadata",
1429
+ "name": "token",
1430
+ "type": "address"
1431
+ },
1432
+ {
1433
+ "internalType": "Amount",
1434
+ "name": "amount",
1435
+ "type": "uint96"
452
1436
  }
453
1437
  ],
454
1438
  "name": "approveTokenHandler",
@@ -473,36 +1457,18 @@
473
1457
  "inputs": [
474
1458
  {
475
1459
  "internalType": "NftId",
476
- "name": "targetNftId",
1460
+ "name": "stakeNftId",
477
1461
  "type": "uint96"
478
- },
479
- {
480
- "internalType": "Timestamp",
481
- "name": "rewardsLastUpdatedAt",
482
- "type": "uint40"
483
1462
  }
484
1463
  ],
485
- "name": "calculateRewardIncrementAmount",
1464
+ "name": "claimRewards",
486
1465
  "outputs": [
487
1466
  {
488
1467
  "internalType": "Amount",
489
- "name": "rewardIncrementAmount",
1468
+ "name": "rewardsClaimedAmount",
490
1469
  "type": "uint96"
491
1470
  }
492
1471
  ],
493
- "stateMutability": "view",
494
- "type": "function"
495
- },
496
- {
497
- "inputs": [
498
- {
499
- "internalType": "NftId",
500
- "name": "stakeNftId",
501
- "type": "uint96"
502
- }
503
- ],
504
- "name": "claimRewards",
505
- "outputs": [],
506
1472
  "stateMutability": "nonpayable",
507
1473
  "type": "function"
508
1474
  },
@@ -517,6 +1483,11 @@
517
1483
  "internalType": "Amount",
518
1484
  "name": "dipAmount",
519
1485
  "type": "uint96"
1486
+ },
1487
+ {
1488
+ "internalType": "address",
1489
+ "name": "stakeOwner",
1490
+ "type": "address"
520
1491
  }
521
1492
  ],
522
1493
  "name": "createStake",
@@ -538,96 +1509,25 @@
538
1509
  "type": "uint96"
539
1510
  },
540
1511
  {
541
- "internalType": "address",
542
- "name": "token",
543
- "type": "address"
544
- },
545
- {
546
- "internalType": "Amount",
547
- "name": "amount",
548
- "type": "uint96"
549
- }
550
- ],
551
- "name": "decreaseTvl",
552
- "outputs": [],
553
- "stateMutability": "nonpayable",
554
- "type": "function"
555
- },
556
- {
557
- "inputs": [
558
- {
559
- "internalType": "Key32",
560
- "name": "key",
561
- "type": "bytes32"
562
- }
563
- ],
564
- "name": "exists",
565
- "outputs": [
566
- {
567
- "internalType": "bool",
568
- "name": "",
569
- "type": "bool"
570
- }
571
- ],
572
- "stateMutability": "view",
573
- "type": "function"
574
- },
575
- {
576
- "inputs": [
1512
+ "internalType": "address",
1513
+ "name": "token",
1514
+ "type": "address"
1515
+ },
577
1516
  {
578
- "internalType": "Key32",
579
- "name": "key",
580
- "type": "bytes32"
1517
+ "internalType": "Amount",
1518
+ "name": "amount",
1519
+ "type": "uint96"
581
1520
  }
582
1521
  ],
583
- "name": "get",
1522
+ "name": "decreaseTotalValueLocked",
584
1523
  "outputs": [
585
1524
  {
586
- "components": [
587
- {
588
- "components": [
589
- {
590
- "internalType": "ObjectType",
591
- "name": "objectType",
592
- "type": "uint8"
593
- },
594
- {
595
- "internalType": "StateId",
596
- "name": "state",
597
- "type": "uint8"
598
- },
599
- {
600
- "internalType": "address",
601
- "name": "updatedBy",
602
- "type": "address"
603
- },
604
- {
605
- "internalType": "Blocknumber",
606
- "name": "updatedIn",
607
- "type": "uint32"
608
- },
609
- {
610
- "internalType": "Blocknumber",
611
- "name": "createdIn",
612
- "type": "uint32"
613
- }
614
- ],
615
- "internalType": "struct IKeyValueStore.Metadata",
616
- "name": "metadata",
617
- "type": "tuple"
618
- },
619
- {
620
- "internalType": "bytes",
621
- "name": "data",
622
- "type": "bytes"
623
- }
624
- ],
625
- "internalType": "struct IKeyValueStore.Value",
626
- "name": "value",
627
- "type": "tuple"
1525
+ "internalType": "Amount",
1526
+ "name": "newBalance",
1527
+ "type": "uint96"
628
1528
  }
629
1529
  ],
630
- "stateMutability": "view",
1530
+ "stateMutability": "nonpayable",
631
1531
  "type": "function"
632
1532
  },
633
1533
  {
@@ -641,26 +1541,11 @@
641
1541
  "name": "name",
642
1542
  "type": "string"
643
1543
  },
644
- {
645
- "internalType": "NftId",
646
- "name": "productNftId",
647
- "type": "uint96"
648
- },
649
- {
650
- "internalType": "contract IERC20Metadata",
651
- "name": "token",
652
- "type": "address"
653
- },
654
1544
  {
655
1545
  "internalType": "contract TokenHandler",
656
1546
  "name": "tokenHandler",
657
1547
  "type": "address"
658
1548
  },
659
- {
660
- "internalType": "address",
661
- "name": "wallet",
662
- "type": "address"
663
- },
664
1549
  {
665
1550
  "internalType": "bytes",
666
1551
  "name": "data",
@@ -675,25 +1560,6 @@
675
1560
  "stateMutability": "view",
676
1561
  "type": "function"
677
1562
  },
678
- {
679
- "inputs": [
680
- {
681
- "internalType": "Key32",
682
- "name": "key",
683
- "type": "bytes32"
684
- }
685
- ],
686
- "name": "getData",
687
- "outputs": [
688
- {
689
- "internalType": "bytes",
690
- "name": "data",
691
- "type": "bytes"
692
- }
693
- ],
694
- "stateMutability": "view",
695
- "type": "function"
696
- },
697
1563
  {
698
1564
  "inputs": [],
699
1565
  "name": "getInitialComponentInfo",
@@ -705,26 +1571,11 @@
705
1571
  "name": "name",
706
1572
  "type": "string"
707
1573
  },
708
- {
709
- "internalType": "NftId",
710
- "name": "productNftId",
711
- "type": "uint96"
712
- },
713
- {
714
- "internalType": "contract IERC20Metadata",
715
- "name": "token",
716
- "type": "address"
717
- },
718
1574
  {
719
1575
  "internalType": "contract TokenHandler",
720
1576
  "name": "tokenHandler",
721
1577
  "type": "address"
722
1578
  },
723
- {
724
- "internalType": "address",
725
- "name": "wallet",
726
- "type": "address"
727
- },
728
1579
  {
729
1580
  "internalType": "bytes",
730
1581
  "name": "data",
@@ -789,71 +1640,6 @@
789
1640
  "stateMutability": "view",
790
1641
  "type": "function"
791
1642
  },
792
- {
793
- "inputs": [
794
- {
795
- "internalType": "ObjectType",
796
- "name": "objectType",
797
- "type": "uint8"
798
- }
799
- ],
800
- "name": "getInitialState",
801
- "outputs": [
802
- {
803
- "internalType": "StateId",
804
- "name": "",
805
- "type": "uint8"
806
- }
807
- ],
808
- "stateMutability": "view",
809
- "type": "function"
810
- },
811
- {
812
- "inputs": [
813
- {
814
- "internalType": "Key32",
815
- "name": "key",
816
- "type": "bytes32"
817
- }
818
- ],
819
- "name": "getMetadata",
820
- "outputs": [
821
- {
822
- "components": [
823
- {
824
- "internalType": "ObjectType",
825
- "name": "objectType",
826
- "type": "uint8"
827
- },
828
- {
829
- "internalType": "StateId",
830
- "name": "state",
831
- "type": "uint8"
832
- },
833
- {
834
- "internalType": "address",
835
- "name": "updatedBy",
836
- "type": "address"
837
- },
838
- {
839
- "internalType": "Blocknumber",
840
- "name": "updatedIn",
841
- "type": "uint32"
842
- },
843
- {
844
- "internalType": "Blocknumber",
845
- "name": "createdIn",
846
- "type": "uint32"
847
- }
848
- ],
849
- "internalType": "struct IKeyValueStore.Metadata",
850
- "name": "metadata",
851
- "type": "tuple"
852
- }
853
- ],
854
- "stateMutability": "view",
855
- "type": "function"
856
- },
857
1643
  {
858
1644
  "inputs": [],
859
1645
  "name": "getName",
@@ -906,127 +1692,40 @@
906
1692
  "stateMutability": "view",
907
1693
  "type": "function"
908
1694
  },
909
- {
910
- "inputs": [
911
- {
912
- "internalType": "NftId",
913
- "name": "targetNftId",
914
- "type": "uint96"
915
- }
916
- ],
917
- "name": "getRewardRate",
918
- "outputs": [
919
- {
920
- "internalType": "UFixed",
921
- "name": "rewardRate",
922
- "type": "uint256"
923
- }
924
- ],
925
- "stateMutability": "view",
926
- "type": "function"
927
- },
928
- {
929
- "inputs": [
930
- {
931
- "internalType": "NftId",
932
- "name": "targetNftId",
933
- "type": "uint96"
934
- }
935
- ],
936
- "name": "getRewardReserves",
937
- "outputs": [
938
- {
939
- "internalType": "Amount",
940
- "name": "rewardReserveAmount",
941
- "type": "uint96"
942
- }
943
- ],
944
- "stateMutability": "view",
945
- "type": "function"
946
- },
947
1695
  {
948
1696
  "inputs": [],
949
- "name": "getStakeInfo",
1697
+ "name": "getRelease",
950
1698
  "outputs": [
951
1699
  {
952
- "internalType": "NftId",
953
- "name": "stakeNftId",
954
- "type": "uint96"
1700
+ "internalType": "VersionPart",
1701
+ "name": "release",
1702
+ "type": "uint8"
955
1703
  }
956
1704
  ],
957
1705
  "stateMutability": "view",
958
1706
  "type": "function"
959
1707
  },
960
1708
  {
961
- "inputs": [
962
- {
963
- "internalType": "NftId",
964
- "name": "targetNftId",
965
- "type": "uint96"
966
- }
967
- ],
968
- "name": "getStakedAmount",
1709
+ "inputs": [],
1710
+ "name": "getStakingReader",
969
1711
  "outputs": [
970
1712
  {
971
- "internalType": "Amount",
972
- "name": "stakeAmount",
973
- "type": "uint96"
974
- }
975
- ],
976
- "stateMutability": "view",
977
- "type": "function"
978
- },
979
- {
980
- "inputs": [
981
- {
982
- "internalType": "uint256",
983
- "name": "chainId",
984
- "type": "uint256"
985
- },
986
- {
987
- "internalType": "address",
988
- "name": "token",
1713
+ "internalType": "contract StakingReader",
1714
+ "name": "reader",
989
1715
  "type": "address"
990
1716
  }
991
1717
  ],
992
- "name": "getStakingRate",
993
- "outputs": [
994
- {
995
- "internalType": "UFixed",
996
- "name": "stakingRate",
997
- "type": "uint256"
998
- }
999
- ],
1000
- "stateMutability": "view",
1001
- "type": "function"
1002
- },
1003
- {
1004
- "inputs": [
1005
- {
1006
- "internalType": "Key32",
1007
- "name": "key",
1008
- "type": "bytes32"
1009
- }
1010
- ],
1011
- "name": "getState",
1012
- "outputs": [
1013
- {
1014
- "internalType": "StateId",
1015
- "name": "state",
1016
- "type": "uint8"
1017
- }
1018
- ],
1019
1718
  "stateMutability": "view",
1020
1719
  "type": "function"
1021
1720
  },
1022
1721
  {
1023
1722
  "inputs": [],
1024
- "name": "getTargetInfo",
1723
+ "name": "getStakingStore",
1025
1724
  "outputs": [
1026
1725
  {
1027
- "internalType": "NftId",
1028
- "name": "stakeNftId",
1029
- "type": "uint96"
1726
+ "internalType": "contract StakingStore",
1727
+ "name": "stakingStore",
1728
+ "type": "address"
1030
1729
  }
1031
1730
  ],
1032
1731
  "stateMutability": "view",
@@ -1058,30 +1757,6 @@
1058
1757
  "stateMutability": "view",
1059
1758
  "type": "function"
1060
1759
  },
1061
- {
1062
- "inputs": [
1063
- {
1064
- "internalType": "NftId",
1065
- "name": "targetNftId",
1066
- "type": "uint96"
1067
- },
1068
- {
1069
- "internalType": "address",
1070
- "name": "token",
1071
- "type": "address"
1072
- }
1073
- ],
1074
- "name": "getTvlAmount",
1075
- "outputs": [
1076
- {
1077
- "internalType": "Amount",
1078
- "name": "tvlAmount",
1079
- "type": "uint96"
1080
- }
1081
- ],
1082
- "stateMutability": "view",
1083
- "type": "function"
1084
- },
1085
1760
  {
1086
1761
  "inputs": [],
1087
1762
  "name": "getVersion",
@@ -1108,25 +1783,6 @@
1108
1783
  "stateMutability": "view",
1109
1784
  "type": "function"
1110
1785
  },
1111
- {
1112
- "inputs": [
1113
- {
1114
- "internalType": "ObjectType",
1115
- "name": "objectType",
1116
- "type": "uint8"
1117
- }
1118
- ],
1119
- "name": "hasLifecycle",
1120
- "outputs": [
1121
- {
1122
- "internalType": "bool",
1123
- "name": "",
1124
- "type": "bool"
1125
- }
1126
- ],
1127
- "stateMutability": "view",
1128
- "type": "function"
1129
- },
1130
1786
  {
1131
1787
  "inputs": [
1132
1788
  {
@@ -1145,7 +1801,20 @@
1145
1801
  "type": "uint96"
1146
1802
  }
1147
1803
  ],
1148
- "name": "increaseTvl",
1804
+ "name": "increaseTotalValueLocked",
1805
+ "outputs": [
1806
+ {
1807
+ "internalType": "Amount",
1808
+ "name": "newBalance",
1809
+ "type": "uint96"
1810
+ }
1811
+ ],
1812
+ "stateMutability": "nonpayable",
1813
+ "type": "function"
1814
+ },
1815
+ {
1816
+ "inputs": [],
1817
+ "name": "initializeTokenHandler",
1149
1818
  "outputs": [],
1150
1819
  "stateMutability": "nonpayable",
1151
1820
  "type": "function"
@@ -1168,6 +1837,19 @@
1168
1837
  "stateMutability": "nonpayable",
1169
1838
  "type": "function"
1170
1839
  },
1840
+ {
1841
+ "inputs": [],
1842
+ "name": "isActive",
1843
+ "outputs": [
1844
+ {
1845
+ "internalType": "bool",
1846
+ "name": "active",
1847
+ "type": "bool"
1848
+ }
1849
+ ],
1850
+ "stateMutability": "view",
1851
+ "type": "function"
1852
+ },
1171
1853
  {
1172
1854
  "inputs": [],
1173
1855
  "name": "isConsumingScheduledOp",
@@ -1208,43 +1890,25 @@
1208
1890
  "type": "function"
1209
1891
  },
1210
1892
  {
1211
- "inputs": [
1212
- {
1213
- "internalType": "ObjectType",
1214
- "name": "objectType",
1215
- "type": "uint8"
1216
- },
1217
- {
1218
- "internalType": "StateId",
1219
- "name": "fromId",
1220
- "type": "uint8"
1221
- },
1222
- {
1223
- "internalType": "StateId",
1224
- "name": "toId",
1225
- "type": "uint8"
1226
- }
1227
- ],
1228
- "name": "isValidTransition",
1893
+ "inputs": [],
1894
+ "name": "linkToRegisteredNftId",
1229
1895
  "outputs": [
1230
1896
  {
1231
- "internalType": "bool",
1897
+ "internalType": "NftId",
1232
1898
  "name": "",
1233
- "type": "bool"
1899
+ "type": "uint96"
1234
1900
  }
1235
1901
  ],
1236
- "stateMutability": "view",
1237
- "type": "function"
1238
- },
1239
- {
1240
- "inputs": [],
1241
- "name": "linkToRegisteredNftId",
1242
- "outputs": [],
1243
1902
  "stateMutability": "nonpayable",
1244
1903
  "type": "function"
1245
1904
  },
1246
1905
  {
1247
1906
  "inputs": [
1907
+ {
1908
+ "internalType": "address",
1909
+ "name": "from",
1910
+ "type": "address"
1911
+ },
1248
1912
  {
1249
1913
  "internalType": "address",
1250
1914
  "name": "to",
@@ -1254,9 +1918,14 @@
1254
1918
  "internalType": "uint256",
1255
1919
  "name": "tokenId",
1256
1920
  "type": "uint256"
1921
+ },
1922
+ {
1923
+ "internalType": "address",
1924
+ "name": "operator",
1925
+ "type": "address"
1257
1926
  }
1258
1927
  ],
1259
- "name": "nftMint",
1928
+ "name": "nftTransferFrom",
1260
1929
  "outputs": [],
1261
1930
  "stateMutability": "nonpayable",
1262
1931
  "type": "function"
@@ -1264,23 +1933,24 @@
1264
1933
  {
1265
1934
  "inputs": [
1266
1935
  {
1267
- "internalType": "address",
1268
- "name": "from",
1269
- "type": "address"
1936
+ "internalType": "NftId",
1937
+ "name": "targetNftId",
1938
+ "type": "uint96"
1270
1939
  },
1271
1940
  {
1272
- "internalType": "address",
1273
- "name": "to",
1274
- "type": "address"
1275
- },
1941
+ "internalType": "Amount",
1942
+ "name": "dipAmount",
1943
+ "type": "uint96"
1944
+ }
1945
+ ],
1946
+ "name": "refillRewardReserves",
1947
+ "outputs": [
1276
1948
  {
1277
- "internalType": "uint256",
1278
- "name": "tokenId",
1279
- "type": "uint256"
1949
+ "internalType": "Amount",
1950
+ "name": "newBalance",
1951
+ "type": "uint96"
1280
1952
  }
1281
1953
  ],
1282
- "name": "nftTransferFrom",
1283
- "outputs": [],
1284
1954
  "stateMutability": "nonpayable",
1285
1955
  "type": "function"
1286
1956
  },
@@ -1295,10 +1965,21 @@
1295
1965
  "internalType": "Amount",
1296
1966
  "name": "dipAmount",
1297
1967
  "type": "uint96"
1968
+ },
1969
+ {
1970
+ "internalType": "address",
1971
+ "name": "transferFrom",
1972
+ "type": "address"
1973
+ }
1974
+ ],
1975
+ "name": "refillRewardReservesByService",
1976
+ "outputs": [
1977
+ {
1978
+ "internalType": "Amount",
1979
+ "name": "newBalance",
1980
+ "type": "uint96"
1298
1981
  }
1299
1982
  ],
1300
- "name": "refillRewardReserves",
1301
- "outputs": [],
1302
1983
  "stateMutability": "nonpayable",
1303
1984
  "type": "function"
1304
1985
  },
@@ -1310,34 +1991,22 @@
1310
1991
  "type": "uint96"
1311
1992
  },
1312
1993
  {
1313
- "components": [
1314
- {
1315
- "internalType": "NftId",
1316
- "name": "targetNftid",
1317
- "type": "uint96"
1318
- },
1319
- {
1320
- "internalType": "ObjectType",
1321
- "name": "objectType",
1322
- "type": "uint8"
1323
- },
1324
- {
1325
- "internalType": "uint256",
1326
- "name": "chainId",
1327
- "type": "uint256"
1328
- },
1329
- {
1330
- "internalType": "address",
1331
- "name": "token",
1332
- "type": "address"
1333
- }
1334
- ],
1335
- "internalType": "struct IStaking.TargetInfo",
1336
- "name": "targetInfo",
1337
- "type": "tuple"
1994
+ "internalType": "ObjectType",
1995
+ "name": "expectedObjectType",
1996
+ "type": "uint8"
1997
+ },
1998
+ {
1999
+ "internalType": "Seconds",
2000
+ "name": "initialLockingPeriod",
2001
+ "type": "uint40"
2002
+ },
2003
+ {
2004
+ "internalType": "UFixed",
2005
+ "name": "initialRewardRate",
2006
+ "type": "uint160"
1338
2007
  }
1339
2008
  ],
1340
- "name": "registerRemoteTarget",
2009
+ "name": "registerTarget",
1341
2010
  "outputs": [],
1342
2011
  "stateMutability": "nonpayable",
1343
2012
  "type": "function"
@@ -1346,11 +2015,40 @@
1346
2015
  "inputs": [
1347
2016
  {
1348
2017
  "internalType": "NftId",
1349
- "name": "targetNftId",
2018
+ "name": "stakeNftId",
2019
+ "type": "uint96"
2020
+ },
2021
+ {
2022
+ "internalType": "NftId",
2023
+ "name": "newTargetNftId",
1350
2024
  "type": "uint96"
1351
2025
  }
1352
2026
  ],
1353
- "name": "registerTarget",
2027
+ "name": "restake",
2028
+ "outputs": [
2029
+ {
2030
+ "internalType": "NftId",
2031
+ "name": "newStakeNftId",
2032
+ "type": "uint96"
2033
+ },
2034
+ {
2035
+ "internalType": "Amount",
2036
+ "name": "newStakeBalance",
2037
+ "type": "uint96"
2038
+ }
2039
+ ],
2040
+ "stateMutability": "nonpayable",
2041
+ "type": "function"
2042
+ },
2043
+ {
2044
+ "inputs": [
2045
+ {
2046
+ "internalType": "address",
2047
+ "name": "",
2048
+ "type": "address"
2049
+ }
2050
+ ],
2051
+ "name": "setAuthority",
1354
2052
  "outputs": [],
1355
2053
  "stateMutability": "nonpayable",
1356
2054
  "type": "function"
@@ -1359,11 +2057,16 @@
1359
2057
  "inputs": [
1360
2058
  {
1361
2059
  "internalType": "NftId",
1362
- "name": "stakeNftId",
2060
+ "name": "targetNftId",
1363
2061
  "type": "uint96"
2062
+ },
2063
+ {
2064
+ "internalType": "Seconds",
2065
+ "name": "lockingPeriod",
2066
+ "type": "uint40"
1364
2067
  }
1365
2068
  ],
1366
- "name": "restakeRewards",
2069
+ "name": "setLockingPeriod",
1367
2070
  "outputs": [],
1368
2071
  "stateMutability": "nonpayable",
1369
2072
  "type": "function"
@@ -1372,16 +2075,16 @@
1372
2075
  "inputs": [
1373
2076
  {
1374
2077
  "internalType": "NftId",
1375
- "name": "stakeNftId",
2078
+ "name": "targetNftId",
1376
2079
  "type": "uint96"
1377
2080
  },
1378
2081
  {
1379
- "internalType": "NftId",
1380
- "name": "newTarget",
2082
+ "internalType": "Amount",
2083
+ "name": "maxStakedAmount",
1381
2084
  "type": "uint96"
1382
2085
  }
1383
2086
  ],
1384
- "name": "restakeToNewTarget",
2087
+ "name": "setMaxStakedAmount",
1385
2088
  "outputs": [],
1386
2089
  "stateMutability": "nonpayable",
1387
2090
  "type": "function"
@@ -1389,12 +2092,25 @@
1389
2092
  {
1390
2093
  "inputs": [
1391
2094
  {
1392
- "internalType": "address",
1393
- "name": "",
1394
- "type": "address"
2095
+ "internalType": "Seconds",
2096
+ "name": "lockingPeriod",
2097
+ "type": "uint40"
1395
2098
  }
1396
2099
  ],
1397
- "name": "setAuthority",
2100
+ "name": "setProtocolLockingPeriod",
2101
+ "outputs": [],
2102
+ "stateMutability": "nonpayable",
2103
+ "type": "function"
2104
+ },
2105
+ {
2106
+ "inputs": [
2107
+ {
2108
+ "internalType": "UFixed",
2109
+ "name": "rewardRate",
2110
+ "type": "uint160"
2111
+ }
2112
+ ],
2113
+ "name": "setProtocolRewardRate",
1398
2114
  "outputs": [],
1399
2115
  "stateMutability": "nonpayable",
1400
2116
  "type": "function"
@@ -1409,7 +2125,7 @@
1409
2125
  {
1410
2126
  "internalType": "UFixed",
1411
2127
  "name": "rewardRate",
1412
- "type": "uint256"
2128
+ "type": "uint160"
1413
2129
  }
1414
2130
  ],
1415
2131
  "name": "setRewardRate",
@@ -1420,9 +2136,9 @@
1420
2136
  {
1421
2137
  "inputs": [
1422
2138
  {
1423
- "internalType": "uint256",
2139
+ "internalType": "ChainId",
1424
2140
  "name": "chainId",
1425
- "type": "uint256"
2141
+ "type": "uint96"
1426
2142
  },
1427
2143
  {
1428
2144
  "internalType": "address",
@@ -1432,7 +2148,7 @@
1432
2148
  {
1433
2149
  "internalType": "UFixed",
1434
2150
  "name": "stakingRate",
1435
- "type": "uint256"
2151
+ "type": "uint160"
1436
2152
  }
1437
2153
  ],
1438
2154
  "name": "setStakingRate",
@@ -1443,12 +2159,25 @@
1443
2159
  {
1444
2160
  "inputs": [
1445
2161
  {
1446
- "internalType": "address",
1447
- "name": "walletAddress",
2162
+ "internalType": "contract StakingReader",
2163
+ "name": "stakingReader",
1448
2164
  "type": "address"
1449
2165
  }
1450
2166
  ],
1451
- "name": "setWallet",
2167
+ "name": "setStakingReader",
2168
+ "outputs": [],
2169
+ "stateMutability": "nonpayable",
2170
+ "type": "function"
2171
+ },
2172
+ {
2173
+ "inputs": [
2174
+ {
2175
+ "internalType": "VersionPart",
2176
+ "name": "release",
2177
+ "type": "uint8"
2178
+ }
2179
+ ],
2180
+ "name": "setStakingService",
1452
2181
  "outputs": [],
1453
2182
  "stateMutability": "nonpayable",
1454
2183
  "type": "function"
@@ -1467,7 +2196,13 @@
1467
2196
  }
1468
2197
  ],
1469
2198
  "name": "stake",
1470
- "outputs": [],
2199
+ "outputs": [
2200
+ {
2201
+ "internalType": "Amount",
2202
+ "name": "newStakeBalance",
2203
+ "type": "uint96"
2204
+ }
2205
+ ],
1471
2206
  "stateMutability": "nonpayable",
1472
2207
  "type": "function"
1473
2208
  },
@@ -1493,41 +2228,41 @@
1493
2228
  {
1494
2229
  "inputs": [
1495
2230
  {
1496
- "internalType": "ObjectType",
1497
- "name": "objectType",
1498
- "type": "uint8"
1499
- },
1500
- {
1501
- "internalType": "KeyId",
1502
- "name": "id",
1503
- "type": "bytes31"
2231
+ "internalType": "NftId",
2232
+ "name": "stakeNftId",
2233
+ "type": "uint96"
1504
2234
  }
1505
2235
  ],
1506
- "name": "toKey32",
2236
+ "name": "unstake",
1507
2237
  "outputs": [
1508
2238
  {
1509
- "internalType": "Key32",
1510
- "name": "",
1511
- "type": "bytes32"
2239
+ "internalType": "Amount",
2240
+ "name": "unstakedAmount",
2241
+ "type": "uint96"
1512
2242
  }
1513
2243
  ],
1514
- "stateMutability": "pure",
2244
+ "stateMutability": "nonpayable",
1515
2245
  "type": "function"
1516
2246
  },
1517
2247
  {
1518
2248
  "inputs": [
1519
2249
  {
1520
2250
  "internalType": "NftId",
1521
- "name": "stakeNftId",
2251
+ "name": "targetNftId",
1522
2252
  "type": "uint96"
1523
2253
  },
2254
+ {
2255
+ "internalType": "address",
2256
+ "name": "token",
2257
+ "type": "address"
2258
+ },
1524
2259
  {
1525
2260
  "internalType": "Amount",
1526
- "name": "dipAmount",
2261
+ "name": "amount",
1527
2262
  "type": "uint96"
1528
2263
  }
1529
2264
  ],
1530
- "name": "unstake",
2265
+ "name": "updateRemoteTvl",
1531
2266
  "outputs": [],
1532
2267
  "stateMutability": "nonpayable",
1533
2268
  "type": "function"
@@ -1540,31 +2275,14 @@
1540
2275
  "type": "uint96"
1541
2276
  }
1542
2277
  ],
1543
- "name": "unstake",
1544
- "outputs": [],
1545
- "stateMutability": "nonpayable",
1546
- "type": "function"
1547
- },
1548
- {
1549
- "inputs": [
1550
- {
1551
- "internalType": "NftId",
1552
- "name": "targetNftId",
1553
- "type": "uint96"
1554
- },
1555
- {
1556
- "internalType": "address",
1557
- "name": "token",
1558
- "type": "address"
1559
- },
2278
+ "name": "updateRewards",
2279
+ "outputs": [
1560
2280
  {
1561
2281
  "internalType": "Amount",
1562
- "name": "amount",
2282
+ "name": "newRewardAmount",
1563
2283
  "type": "uint96"
1564
2284
  }
1565
2285
  ],
1566
- "name": "updateRemoteTvl",
1567
- "outputs": [],
1568
2286
  "stateMutability": "nonpayable",
1569
2287
  "type": "function"
1570
2288
  },
@@ -1595,7 +2313,42 @@
1595
2313
  }
1596
2314
  ],
1597
2315
  "name": "withdrawRewardReserves",
1598
- "outputs": [],
2316
+ "outputs": [
2317
+ {
2318
+ "internalType": "Amount",
2319
+ "name": "newBalance",
2320
+ "type": "uint96"
2321
+ }
2322
+ ],
2323
+ "stateMutability": "nonpayable",
2324
+ "type": "function"
2325
+ },
2326
+ {
2327
+ "inputs": [
2328
+ {
2329
+ "internalType": "NftId",
2330
+ "name": "targetNftId",
2331
+ "type": "uint96"
2332
+ },
2333
+ {
2334
+ "internalType": "Amount",
2335
+ "name": "dipAmount",
2336
+ "type": "uint96"
2337
+ },
2338
+ {
2339
+ "internalType": "address",
2340
+ "name": "transferTo",
2341
+ "type": "address"
2342
+ }
2343
+ ],
2344
+ "name": "withdrawRewardReservesByService",
2345
+ "outputs": [
2346
+ {
2347
+ "internalType": "Amount",
2348
+ "name": "newBalance",
2349
+ "type": "uint96"
2350
+ }
2351
+ ],
1599
2352
  "stateMutability": "nonpayable",
1600
2353
  "type": "function"
1601
2354
  }