@etherisc/gif-next 0.0.2-f9b0591-801 → 0.0.2-fa35bce-363

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