@etherisc/gif-next 0.0.2-85cbb88-630 → 0.0.2-85e1eb3-876

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 (555) hide show
  1. package/README.md +103 -9
  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 +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  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 +456 -24
  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 +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +212 -473
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +139 -381
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +814 -399
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +228 -124
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +135 -187
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +582 -141
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1484 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +567 -67
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +385 -60
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +573 -165
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1685 -774
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +399 -231
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +983 -782
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  104. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +152 -350
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  109. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +129 -129
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +128 -318
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +198 -433
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +574 -270
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +216 -104
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +383 -53
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +158 -212
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +711 -340
  134. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  135. package/artifacts/contracts/pool/Pool.sol/Pool.json +148 -392
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +925 -545
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +230 -106
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +159 -99
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +287 -427
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +466 -245
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +187 -123
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +350 -18
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +417 -101
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +272 -222
  164. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  165. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +532 -311
  168. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +196 -108
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -329
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +165 -137
  176. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  177. package/artifacts/contracts/product/Product.sol/Product.json +279 -419
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +394 -35
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +97 -148
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  192. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/Registry.sol/Registry.json +620 -92
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +795 -394
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1061 -0
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  212. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  213. package/artifacts/contracts/shared/Component.sol/Component.json +86 -277
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +624 -560
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +198 -120
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  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 +92 -93
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +535 -240
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +118 -129
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +42 -6
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  235. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  242. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  246. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  248. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -318
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  250. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +48 -7
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  252. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  254. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  256. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  258. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  260. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  262. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  263. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  264. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  270. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  272. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1087 -160
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  274. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  275. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  276. package/artifacts/contracts/staking/Staking.sol/Staking.json +1273 -405
  277. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  278. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +424 -0
  279. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  280. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  282. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +225 -104
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  284. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +175 -223
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  286. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +962 -729
  291. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  292. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +135 -49
  293. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  294. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  296. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  298. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +174 -0
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  332. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  334. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +24 -5
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +109 -35
  340. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  344. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  345. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  346. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  347. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  348. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  349. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  350. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  351. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  352. package/contracts/accounting/AccountingService.sol +274 -0
  353. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  354. package/contracts/accounting/IAccountingService.sol +47 -0
  355. package/contracts/authorization/AccessAdmin.sol +458 -269
  356. package/contracts/authorization/AccessAdminLib.sol +396 -0
  357. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  358. package/contracts/authorization/Authorization.sol +159 -208
  359. package/contracts/authorization/IAccess.sol +25 -6
  360. package/contracts/authorization/IAccessAdmin.sol +87 -79
  361. package/contracts/authorization/IAuthorization.sol +9 -36
  362. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  363. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  364. package/contracts/distribution/BasicDistribution.sol +21 -29
  365. package/contracts/distribution/BasicDistributionAuthorization.sol +34 -10
  366. package/contracts/distribution/Distribution.sol +48 -84
  367. package/contracts/distribution/DistributionService.sol +276 -130
  368. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  369. package/contracts/distribution/IDistributionComponent.sol +11 -14
  370. package/contracts/distribution/IDistributionService.sol +56 -26
  371. package/contracts/examples/fire/DamageLevel.sol +59 -0
  372. package/contracts/examples/fire/FirePool.sol +86 -0
  373. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  374. package/contracts/examples/fire/FireProduct.sol +433 -0
  375. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  376. package/contracts/examples/fire/FireUSD.sol +26 -0
  377. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  378. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  379. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  380. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  381. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  382. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  383. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  384. package/contracts/instance/BundleSet.sol +42 -38
  385. package/contracts/instance/IInstance.sol +102 -43
  386. package/contracts/instance/IInstanceService.sol +59 -34
  387. package/contracts/instance/Instance.sol +193 -100
  388. package/contracts/instance/InstanceAdmin.sol +275 -158
  389. package/contracts/instance/InstanceAuthorizationV3.sol +120 -56
  390. package/contracts/instance/InstanceReader.sol +478 -251
  391. package/contracts/instance/InstanceService.sol +293 -236
  392. package/contracts/instance/InstanceServiceManager.sol +8 -13
  393. package/contracts/instance/InstanceStore.sol +24 -2
  394. package/contracts/instance/RiskSet.sol +126 -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 +13 -10
  398. package/contracts/instance/base/ObjectSet.sol +31 -33
  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 +30 -20
  402. package/contracts/instance/module/IDistribution.sol +21 -9
  403. package/contracts/instance/module/IPolicy.sol +50 -29
  404. package/contracts/instance/module/IRisk.sol +5 -0
  405. package/contracts/mock/Dip.sol +1 -1
  406. package/contracts/oracle/BasicOracle.sol +2 -5
  407. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  408. package/contracts/oracle/IOracle.sol +9 -4
  409. package/contracts/oracle/IOracleComponent.sol +2 -1
  410. package/contracts/oracle/IOracleService.sol +2 -1
  411. package/contracts/oracle/Oracle.sol +23 -26
  412. package/contracts/oracle/OracleService.sol +119 -87
  413. package/contracts/oracle/OracleServiceManager.sol +8 -11
  414. package/contracts/pool/BasicPool.sol +39 -41
  415. package/contracts/pool/BasicPoolAuthorization.sol +43 -11
  416. package/contracts/pool/BundleService.sol +218 -128
  417. package/contracts/pool/BundleServiceManager.sol +8 -11
  418. package/contracts/pool/IBundleService.sol +43 -33
  419. package/contracts/pool/IPoolComponent.sol +20 -10
  420. package/contracts/pool/IPoolService.sol +97 -77
  421. package/contracts/pool/Pool.sol +146 -124
  422. package/contracts/pool/PoolLib.sol +341 -0
  423. package/contracts/pool/PoolService.sol +419 -256
  424. package/contracts/pool/PoolServiceManager.sol +6 -9
  425. package/contracts/product/ApplicationService.sol +153 -80
  426. package/contracts/product/ApplicationServiceManager.sol +6 -6
  427. package/contracts/product/BasicProduct.sol +13 -46
  428. package/contracts/product/BasicProductAuthorization.sol +33 -10
  429. package/contracts/product/ClaimService.sol +382 -194
  430. package/contracts/product/ClaimServiceManager.sol +6 -6
  431. package/contracts/product/IApplicationService.sol +29 -3
  432. package/contracts/product/IClaimService.sol +48 -11
  433. package/contracts/product/IPolicyService.sol +61 -37
  434. package/contracts/product/IPricingService.sol +11 -10
  435. package/contracts/product/IProductComponent.sol +28 -5
  436. package/contracts/product/IRiskService.sol +48 -0
  437. package/contracts/product/PolicyService.sol +443 -273
  438. package/contracts/product/PolicyServiceLib.sol +139 -0
  439. package/contracts/product/PolicyServiceManager.sol +6 -9
  440. package/contracts/product/PricingService.sol +90 -84
  441. package/contracts/product/PricingServiceManager.sol +6 -9
  442. package/contracts/product/Product.sol +201 -100
  443. package/contracts/product/RiskService.sol +190 -0
  444. package/contracts/product/RiskServiceManager.sol +39 -0
  445. package/contracts/registry/ChainNft.sol +72 -40
  446. package/contracts/registry/IRegistry.sol +83 -32
  447. package/contracts/registry/IRegistryService.sol +3 -10
  448. package/contracts/registry/IRelease.sol +29 -0
  449. package/contracts/registry/ITransferInterceptor.sol +1 -2
  450. package/contracts/registry/Registry.sol +370 -212
  451. package/contracts/registry/RegistryAdmin.sol +110 -287
  452. package/contracts/registry/RegistryAuthorization.sol +308 -0
  453. package/contracts/registry/RegistryService.sol +42 -67
  454. package/contracts/registry/RegistryServiceManager.sol +5 -5
  455. package/contracts/registry/ReleaseAdmin.sol +195 -0
  456. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  457. package/contracts/registry/ReleaseRegistry.sol +279 -241
  458. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  459. package/contracts/registry/TokenRegistry.sol +61 -59
  460. package/contracts/shared/Component.sol +70 -137
  461. package/contracts/shared/ComponentService.sol +452 -346
  462. package/contracts/shared/ComponentServiceManager.sol +10 -7
  463. package/contracts/shared/ContractLib.sol +312 -0
  464. package/contracts/shared/IComponent.sol +6 -18
  465. package/contracts/shared/IComponentService.sol +50 -41
  466. package/contracts/shared/IInstanceLinkedComponent.sol +7 -27
  467. package/contracts/shared/IKeyValueStore.sol +1 -1
  468. package/contracts/shared/ILifecycle.sol +3 -1
  469. package/contracts/shared/INftOwnable.sol +4 -0
  470. package/contracts/shared/IPolicyHolder.sol +12 -22
  471. package/contracts/shared/IRegisterable.sol +22 -1
  472. package/contracts/shared/IService.sol +4 -6
  473. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  474. package/contracts/shared/InstanceLinkedComponent.sol +83 -40
  475. package/contracts/shared/KeyValueStore.sol +4 -4
  476. package/contracts/shared/Lifecycle.sol +15 -4
  477. package/contracts/shared/NftOwnable.sol +33 -11
  478. package/contracts/shared/PolicyHolder.sol +20 -59
  479. package/contracts/shared/Registerable.sol +52 -21
  480. package/contracts/shared/RegistryLinked.sol +9 -14
  481. package/contracts/shared/Service.sol +22 -38
  482. package/contracts/shared/TokenHandler.sol +310 -26
  483. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  484. package/contracts/staking/IStaking.sol +164 -66
  485. package/contracts/staking/IStakingService.sol +45 -78
  486. package/contracts/staking/Staking.sol +639 -228
  487. package/contracts/staking/StakingLib.sol +168 -0
  488. package/contracts/staking/StakingManager.sol +11 -13
  489. package/contracts/staking/StakingReader.sol +55 -90
  490. package/contracts/staking/StakingService.sol +62 -152
  491. package/contracts/staking/StakingServiceManager.sol +9 -7
  492. package/contracts/staking/StakingStore.sol +640 -361
  493. package/contracts/staking/TargetManagerLib.sol +8 -4
  494. package/contracts/type/Amount.sol +31 -5
  495. package/contracts/type/Blocknumber.sol +22 -16
  496. package/contracts/type/ChainId.sol +92 -0
  497. package/contracts/type/ClaimId.sol +6 -1
  498. package/contracts/type/Fee.sol +8 -8
  499. package/contracts/type/Key32.sol +2 -2
  500. package/contracts/type/Key32Set.sol +62 -0
  501. package/contracts/type/NftId.sol +7 -0
  502. package/contracts/type/ObjectType.sol +76 -44
  503. package/contracts/type/PayoutId.sol +10 -10
  504. package/contracts/type/Referral.sol +1 -0
  505. package/contracts/type/RiskId.sol +38 -6
  506. package/contracts/type/RoleId.sol +61 -55
  507. package/contracts/type/Seconds.sol +26 -1
  508. package/contracts/type/Selector.sol +5 -0
  509. package/contracts/type/StateId.sol +15 -1
  510. package/contracts/type/String.sol +12 -0
  511. package/contracts/type/Timestamp.sol +14 -7
  512. package/contracts/type/UFixed.sol +57 -126
  513. package/contracts/type/Version.sol +57 -6
  514. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  515. package/contracts/{shared → upgradeability}/ProxyManager.sol +96 -49
  516. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  517. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  518. package/package.json +5 -4
  519. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  520. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  521. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  522. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  523. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  524. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  525. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  526. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  527. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  528. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  529. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  530. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  531. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  532. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  533. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  534. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  535. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  536. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  537. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  538. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  539. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  540. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  541. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  542. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  543. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  544. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  545. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  546. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  547. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  548. package/contracts/instance/module/IAccess.sol +0 -46
  549. package/contracts/product/IProductService.sol +0 -33
  550. package/contracts/product/ProductService.sol +0 -124
  551. package/contracts/product/ProductServiceManager.sol +0 -42
  552. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  553. package/contracts/shared/InitializableCustom.sol +0 -177
  554. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  555. package/contracts/staking/StakeManagerLib.sol +0 -231
@@ -0,0 +1,168 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IRegistry} from "../registry/IRegistry.sol";
5
+ import {IStaking} from "./IStaking.sol";
6
+
7
+ import {Amount, AmountLib} from "../type/Amount.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {Seconds, SecondsLib} from "../type/Seconds.sol";
10
+ import {StakingReader} from "./StakingReader.sol";
11
+ import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
12
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
13
+
14
+
15
+ library StakingLib {
16
+
17
+ function checkCreateParameters(
18
+ StakingReader stakingReader,
19
+ NftId targetNftId,
20
+ Amount dipAmount
21
+ )
22
+ external
23
+ view
24
+ returns (
25
+ Timestamp lockedUntil
26
+ )
27
+ {
28
+ return _checkCreateParameters(stakingReader, targetNftId, dipAmount);
29
+ }
30
+
31
+ function _checkCreateParameters(
32
+ StakingReader stakingReader,
33
+ NftId targetNftId,
34
+ Amount dipAmount
35
+ )
36
+ internal view
37
+ returns (
38
+ Timestamp lockedUntil
39
+ )
40
+ {
41
+ Seconds lockingPeriod = checkTarget(stakingReader, targetNftId);
42
+ checkDipAmount(stakingReader, targetNftId, dipAmount);
43
+
44
+ Timestamp currentTime = TimestampLib.current();
45
+ lockedUntil = currentTime.addSeconds(lockingPeriod);
46
+ }
47
+
48
+
49
+ function checkStakeParameters(
50
+ StakingReader stakingReader,
51
+ NftId stakeNftId
52
+ )
53
+ public
54
+ view
55
+ returns (
56
+ UFixed rewardRate,
57
+ Seconds lockingPeriod
58
+ )
59
+ {
60
+ NftId targetNftId = stakingReader.getTargetNftId(stakeNftId);
61
+
62
+ // target nft id must be registered
63
+ if (!stakingReader.isTarget(targetNftId)) {
64
+ revert IStaking.ErrorStakingNotTarget(targetNftId);
65
+ }
66
+
67
+ IStaking.TargetInfo memory info = stakingReader.getTargetInfo(targetNftId);
68
+ rewardRate = info.rewardRate;
69
+ lockingPeriod = info.lockingPeriod;
70
+ }
71
+
72
+ function checkUnstakeParameters(
73
+ StakingReader stakingReader,
74
+ NftId stakeNftId
75
+ )
76
+ public
77
+ view
78
+ returns (
79
+ Seconds lockingPeriod
80
+ )
81
+ {
82
+ IStaking.StakeInfo memory stakeInfo = stakingReader.getStakeInfo(stakeNftId);
83
+
84
+ if (stakeInfo.lockedUntil > TimestampLib.current()) {
85
+ revert IStaking.ErrorStakingStakeLocked(stakeNftId, stakeInfo.lockedUntil);
86
+ }
87
+ }
88
+
89
+
90
+ function checkTarget(
91
+ StakingReader stakingReader,
92
+ NftId targetNftId
93
+ )
94
+ public
95
+ view
96
+ returns (Seconds lockingPeriod)
97
+ {
98
+ // target nft id must be registered
99
+ if (!stakingReader.isTarget(targetNftId)) {
100
+ revert IStaking.ErrorStakingNotTarget(targetNftId);
101
+ }
102
+
103
+ lockingPeriod = stakingReader.getTargetInfo(targetNftId).lockingPeriod;
104
+ }
105
+
106
+
107
+ function checkDipAmount(
108
+ StakingReader stakingReader,
109
+ NftId targetNftId,
110
+ Amount dipAmount
111
+ )
112
+ public
113
+ view
114
+ {
115
+ // check stake amount > 0
116
+ if (dipAmount.eqz()) {
117
+ revert IStaking.ErrorStakingStakeAmountZero(targetNftId);
118
+ }
119
+
120
+ Amount maxStakedAmount = stakingReader.getTargetMaxStakedAmount(targetNftId);
121
+ if (dipAmount > maxStakedAmount) {
122
+ revert IStaking.ErrorStakingTargetMaxStakedAmountExceeded(targetNftId, maxStakedAmount, dipAmount);
123
+ }
124
+ }
125
+
126
+ function calculateRewardIncrease(
127
+ StakingReader stakingReader,
128
+ NftId stakeNftId,
129
+ UFixed rewardRate
130
+ )
131
+ public
132
+ view
133
+ returns (
134
+ Amount rewardIncreaseAmount
135
+ )
136
+ {
137
+ IStaking.StakeInfo memory stakeInfo = stakingReader.getStakeInfo(stakeNftId);
138
+
139
+ Seconds duration = SecondsLib.toSeconds(
140
+ block.timestamp - stakeInfo.lastUpdateAt.toInt());
141
+
142
+ rewardIncreaseAmount = calculateRewardAmount(
143
+ rewardRate,
144
+ duration,
145
+ stakeInfo.stakedAmount);
146
+ }
147
+
148
+ function calculateRewardAmount(
149
+ UFixed rewardRate,
150
+ Seconds duration,
151
+ Amount stakeAmount
152
+ )
153
+ public
154
+ pure
155
+ returns(
156
+ Amount rewardAmount
157
+ )
158
+ {
159
+ UFixed rewardRateFraction = getYearFraction(duration) * rewardRate;
160
+ rewardAmount = stakeAmount.multiplyWith(rewardRateFraction);
161
+ }
162
+
163
+
164
+ function getYearFraction(Seconds duration) public pure returns (UFixed yearFraction) {
165
+ return UFixedLib.toUFixed(duration.toInt()) / UFixedLib.toUFixed(SecondsLib.oneYear().toInt());
166
+ }
167
+
168
+ }
@@ -1,13 +1,10 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../shared/IVersionable.sol";
5
- import {ProxyManager} from "../shared/ProxyManager.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {Staking} from "./Staking.sol";
7
- import {StakingReader} from "./StakingReader.sol";
8
- import {StakingStore} from "./StakingStore.sol";
9
7
 
10
- import {RegistryAdmin} from "../registry/RegistryAdmin.sol";
11
8
 
12
9
  contract StakingManager is
13
10
  ProxyManager
@@ -21,9 +18,9 @@ contract StakingManager is
21
18
  address registry,
22
19
  address tokenRegistry,
23
20
  address stakingStore,
24
- address initialOwner
21
+ address initialOwner,
22
+ bytes32 salt
25
23
  )
26
- ProxyManager(registry)
27
24
  {
28
25
  Staking stakingImplementation = new Staking();
29
26
 
@@ -31,12 +28,13 @@ contract StakingManager is
31
28
  _initializationData = abi.encode(
32
29
  registry,
33
30
  tokenRegistry,
34
- stakingStore,
35
- initialOwner);
36
-
37
- IVersionable versionable = deploy(
38
- _initialImplementation,
39
- _initializationData);
31
+ stakingStore);
32
+
33
+ IVersionable versionable = initialize(
34
+ registry,
35
+ _initialImplementation,
36
+ _initializationData,
37
+ salt);
40
38
 
41
39
  _staking = Staking(address(versionable));
42
40
  }
@@ -1,34 +1,37 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Amount} from "../type/Amount.sol";
5
- import {Blocknumber} from "../type/Blocknumber.sol";
6
- import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
7
- import {IComponent} from "../shared/IComponent.sol";
8
- import {InitializableCustom} from "../shared/InitializableCustom.sol";
4
+ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
+
9
6
  import {IRegistry} from "../registry/IRegistry.sol";
10
7
  import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
11
8
  import {IStaking} from "../staking/IStaking.sol";
12
- import {IVersionable} from "../shared/IVersionable.sol";
9
+
10
+ import {Amount, AmountLib} from "../type/Amount.sol";
11
+ import {Blocknumber} from "../type/Blocknumber.sol";
12
+ import {ChainId} from "../type/ChainId.sol";
13
13
  import {NftId} from "../type/NftId.sol";
14
- import {ObjectType, STAKE, TARGET} from "../type/ObjectType.sol";
15
14
  import {Seconds} from "../type/Seconds.sol";
16
15
  import {StakingStore} from "./StakingStore.sol";
16
+ import {STAKE, TARGET} from "../type/ObjectType.sol";
17
17
  import {Timestamp} from "../type/Timestamp.sol";
18
- import {UFixed, UFixedLib} from "../type/UFixed.sol";
18
+ import {UFixed} from "../type/UFixed.sol";
19
+
19
20
 
20
21
  contract StakingReader is
21
22
  IRegistryLinked,
22
- InitializableCustom
23
+ Initializable
23
24
  {
24
25
 
25
- error ErrorStakingReaderDependenciesAlreadySet();
26
+ error ErrorStakingReaderUnauthorizedCaler();
26
27
 
28
+ address private _initializeOwner;
27
29
  IRegistry private _registry;
28
30
  IStaking private _staking;
29
31
  StakingStore private _store;
30
32
 
31
- constructor(IRegistry registry) InitializableCustom() {
33
+ constructor(IRegistry registry) {
34
+ _initializeOwner = msg.sender;
32
35
  _registry = registry;
33
36
  }
34
37
 
@@ -37,8 +40,12 @@ contract StakingReader is
37
40
  address stakingStoreAddress
38
41
  )
39
42
  external
40
- initializer
43
+ initializer()
41
44
  {
45
+ if (msg.sender != _initializeOwner) {
46
+ revert ErrorStakingReaderUnauthorizedCaler();
47
+ }
48
+
42
49
  _staking = IStaking(stakingAddress);
43
50
  _store = StakingStore(stakingStoreAddress);
44
51
  }
@@ -53,134 +60,92 @@ contract StakingReader is
53
60
  return _staking;
54
61
  }
55
62
 
56
- function getStakingRate(uint256 chainId, address token) external view returns (UFixed stakingRate) {
57
- return _store.getStakingRate(chainId, token);
63
+ function getProtocolNftId() external view returns (NftId protocolNftId) {
64
+ return _registry.getProtocolNftId();
58
65
  }
59
66
 
60
67
 
61
68
  function isTarget(NftId targetNftId) external view returns (bool) {
62
- return _store.getTargetNftIdSet().exists(targetNftId);
69
+ return _store.getTargetSet().exists(targetNftId);
63
70
  }
64
71
 
65
72
 
66
73
  function targets() external view returns (uint256) {
67
- return _store.getTargetNftIdSet().nftIds();
74
+ return _store.getTargetSet().nftIds();
68
75
  }
69
76
 
70
77
 
71
78
  function getTargetNftId(uint256 idx) external view returns (NftId) {
72
- return _store.getTargetNftIdSet().getNftId(idx);
79
+ return _store.getTargetSet().getNftId(idx);
73
80
  }
74
81
 
75
82
 
76
- function isActive(NftId targetNftId) external view returns (bool) {
77
- return _store.getTargetNftIdSet().isActive(targetNftId);
83
+ function getTargetNftId(NftId stakeNftId) public view returns (NftId targetNftId) {
84
+ return _registry.getParentNftId(stakeNftId);
78
85
  }
79
86
 
80
87
 
81
- function activeTargets() external view returns (uint256) {
82
- return _store.getTargetNftIdSet().activeNftIds();
88
+ function getStakeInfo(NftId stakeNftId) external view returns (IStaking.StakeInfo memory stakeInfo) {
89
+ return _store.getStakeInfo(stakeNftId);
83
90
  }
84
91
 
85
92
 
86
- function getActiveTargetNftId(uint256 idx) external view returns (NftId) {
87
- return _store.getTargetNftIdSet().getActiveNftId(idx);
93
+ function getTargetInfo(NftId targetNftId) public view returns (IStaking.TargetInfo memory info) {
94
+ return _store.getTargetInfo(targetNftId);
88
95
  }
89
96
 
90
97
 
91
- function getTargetNftId(NftId stakeNftId) public view returns (NftId targetNftId) {
92
- return _registry.getObjectInfo(stakeNftId).parentNftId;
98
+ function getTvlInfo(NftId targetNftId, address token) public view returns (IStaking.TvlInfo memory info) {
99
+ return _store.getTvlInfo(targetNftId, token);
93
100
  }
94
101
 
95
102
 
96
- function getTargetInfo(NftId targetNftId) public view returns (IStaking.TargetInfo memory info) {
97
- bytes memory data = _store.getData(targetNftId.toKey32(TARGET()));
98
- if (data.length > 0) {
99
- return abi.decode(data, (IStaking.TargetInfo));
100
- }
103
+ function getTokenInfo(ChainId chainId, address token) public view returns (IStaking.TokenInfo memory info) {
104
+ return _store.getTokenInfo(chainId, token);
101
105
  }
102
106
 
103
107
 
104
- function getStakeInfo(NftId stakeNftId) external view returns (IStaking.StakeInfo memory stakeInfo) {
105
- bytes memory data = _store.getData(stakeNftId.toKey32(STAKE()));
106
- if (data.length > 0) {
107
- return abi.decode(data, (IStaking.StakeInfo));
108
- }
108
+ /// @dev Get the locking period that applies to the specified stake NFT ID.
109
+ function getTargetLockingPeriod(NftId stakeNftId) external view returns (NftId targetNftId, Seconds lockingPeriod) {
110
+ targetNftId = getTargetNftId(stakeNftId);
111
+ lockingPeriod = getTargetInfo(targetNftId).lockingPeriod;
109
112
  }
110
113
 
111
114
 
112
- /// @dev get the reward rate that applies to the specified stake nft id.
115
+ /// @dev Get the reward rate that applies to the specified stake NFT ID.
113
116
  function getTargetRewardRate(NftId stakeNftId) external view returns (NftId targetNftId, UFixed rewardRate) {
114
117
  targetNftId = getTargetNftId(stakeNftId);
115
118
  rewardRate = getTargetInfo(targetNftId).rewardRate;
116
119
  }
117
120
 
118
121
 
119
- /// @dev get the reward rate for the specified target nft id.
120
- function getRewardRate(NftId targetNftId) external view returns (UFixed rewardRate) {
121
- return getTargetInfo(targetNftId).rewardRate;
122
- }
123
-
124
- /// @dev returns the current reward reserve balance for the specified target.
125
- function getReserveBalance(NftId targetNftId) external view returns (Amount rewardReserveBalance) {
126
- return _store.getReserveBalance(targetNftId);
127
- }
128
-
129
- function getStakeBalance(NftId nftId) external view returns (Amount balanceAmount) {
130
- return _store.getStakeBalance(nftId);
122
+ /// @dev Get the max staked amount allowed for the specified target NFT ID.
123
+ function getTargetMaxStakedAmount(NftId targetNftId) external view returns (Amount maxStakedAmount) {
124
+ return getTargetInfo(targetNftId).maxStakedAmount;
131
125
  }
132
126
 
133
- function getRewardBalance(NftId nftId) external view returns (Amount rewardAmount) {
134
- return _store.getRewardBalance(nftId);
135
- }
136
127
 
137
- function getBalanceUpdatedAt(NftId nftId) external view returns (Timestamp updatedAt) {
138
- return _store.getBalanceUpdatedAt(nftId);
128
+ /// @dev Get the reward rate for the specified target NFT ID.
129
+ function getLockingPeriod(NftId targetNftId) external view returns (Seconds lockingPeriod) {
130
+ return getTargetInfo(targetNftId).lockingPeriod;
139
131
  }
140
132
 
141
- function getBalanceUpdatedIn(NftId nftId) external view returns (Blocknumber blocknumber) {
142
- return _store.getBalanceUpdatedIn(nftId);
143
- }
144
133
 
145
- function getTotalValueLocked(NftId nftId, address token) external view returns (Amount totalValueLocked) {
146
- return _store.getTotalValueLocked(nftId, token);
134
+ /// @dev Get the reward rate for the specified target NFT ID.
135
+ function getRewardRate(NftId targetNftId) external view returns (UFixed rewardRate) {
136
+ return getTargetInfo(targetNftId).rewardRate;
147
137
  }
148
138
 
149
- function getRequiredStakeBalance(NftId nftId) external view returns (Amount requiredStakedAmount) {
150
- return _store.getRequiredStakeBalance(nftId);
139
+ /// @dev returns the current reward reserve balance for the specified target.
140
+ function getReserveBalance(NftId targetNftId) external view returns (Amount rewardReserveBalance) {
141
+ return getTargetInfo(targetNftId).reserveAmount;
151
142
  }
152
143
 
153
- function getTargetBalances(NftId stakeNftId)
154
- public
155
- view
156
- returns (
157
- Amount balanceAmount,
158
- Amount stakeAmount,
159
- Amount rewardAmount,
160
- Blocknumber lastUpdatedIn
161
- )
162
- {
163
- (
164
- balanceAmount,
165
- stakeAmount,
166
- rewardAmount,
167
- lastUpdatedIn
168
- ) = _store.getTargetBalances(stakeNftId);
144
+ function getTotalValueLocked(NftId targetNftId, address token) external view returns (Amount totalValueLocked) {
145
+ return getTvlInfo(targetNftId, token).tvlAmount;
169
146
  }
170
147
 
171
- function getStakeBalances(NftId stakeNftId)
172
- external
173
- view
174
- returns (
175
- Amount stakeAmount,
176
- Amount rewardAmount,
177
- Timestamp lastUpdatedAt
178
- )
179
- {
180
- (
181
- stakeAmount,
182
- rewardAmount,
183
- lastUpdatedAt
184
- ) = _store.getStakeBalances(stakeNftId);
148
+ function getRequiredStakeBalance(NftId targetNftId) external view returns (Amount requiredStakedAmount) {
149
+ return _store.getRequiredStakeBalance(targetNftId);
185
150
  }
186
151
  }