@etherisc/gif-next 0.0.2-b312c9a-831 → 0.0.2-b37fa8b-169

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