@etherisc/gif-next 0.0.2-d87995e-298 → 0.0.2-d8ddca8-422

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 (551) hide show
  1. package/README.md +92 -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 -773
  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 +976 -765
  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 +127 -355
  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 +103 -133
  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 +103 -323
  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 +160 -438
  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 +502 -364
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +194 -114
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +340 -112
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +139 -236
  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 +129 -416
  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 +272 -431
  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 +405 -102
  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 +257 -226
  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 +511 -303
  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 +247 -332
  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 +264 -423
  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 +359 -48
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  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 +565 -109
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +791 -377
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -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 +493 -638
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +183 -133
  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 +432 -290
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +103 -133
  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 +1 -1
  246. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  248. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +102 -322
  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 +1510 -191
  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/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  276. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  277. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  278. package/artifacts/contracts/staking/Staking.sol/Staking.json +1651 -455
  279. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  282. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +199 -105
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  284. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  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 +1588 -765
  291. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  292. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  293. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +180 -77
  295. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  296. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  298. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  300. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  302. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  304. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  306. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  308. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  310. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  311. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  312. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  314. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  315. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  316. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  318. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  320. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  322. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  324. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  326. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  328. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +93 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  332. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  334. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  336. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  338. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +24 -5
  340. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  342. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  344. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  346. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  348. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  349. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +118 -79
  350. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  351. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  352. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  353. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  354. package/contracts/accounting/AccountingService.sol +274 -0
  355. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  356. package/contracts/accounting/IAccountingService.sol +47 -0
  357. package/contracts/authorization/AccessAdmin.sol +458 -269
  358. package/contracts/authorization/AccessAdminLib.sol +396 -0
  359. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  360. package/contracts/authorization/Authorization.sol +159 -208
  361. package/contracts/authorization/IAccess.sol +25 -6
  362. package/contracts/authorization/IAccessAdmin.sol +87 -79
  363. package/contracts/authorization/IAuthorization.sol +9 -37
  364. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  365. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  366. package/contracts/distribution/BasicDistribution.sol +20 -17
  367. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  368. package/contracts/distribution/Distribution.sol +44 -92
  369. package/contracts/distribution/DistributionService.sol +243 -132
  370. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  371. package/contracts/distribution/IDistributionComponent.sol +4 -11
  372. package/contracts/distribution/IDistributionService.sol +47 -29
  373. package/contracts/examples/fire/DamageLevel.sol +59 -0
  374. package/contracts/examples/fire/FirePool.sol +86 -0
  375. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  376. package/contracts/examples/fire/FireProduct.sol +433 -0
  377. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  378. package/contracts/examples/fire/FireUSD.sol +26 -0
  379. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  380. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  381. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  382. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  383. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  384. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  385. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  386. package/contracts/instance/BundleSet.sol +42 -38
  387. package/contracts/instance/IInstance.sol +102 -43
  388. package/contracts/instance/IInstanceService.sol +59 -34
  389. package/contracts/instance/Instance.sol +193 -100
  390. package/contracts/instance/InstanceAdmin.sol +275 -158
  391. package/contracts/instance/InstanceAuthorizationV3.sol +120 -58
  392. package/contracts/instance/InstanceReader.sol +478 -251
  393. package/contracts/instance/InstanceService.sol +293 -236
  394. package/contracts/instance/InstanceServiceManager.sol +6 -7
  395. package/contracts/instance/InstanceStore.sol +23 -2
  396. package/contracts/instance/RiskSet.sol +126 -0
  397. package/contracts/instance/base/BalanceStore.sol +4 -6
  398. package/contracts/instance/base/ObjectCounter.sol +1 -2
  399. package/contracts/instance/base/ObjectLifecycle.sol +13 -10
  400. package/contracts/instance/base/ObjectSet.sol +31 -33
  401. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  402. package/contracts/instance/module/IBundle.sol +6 -5
  403. package/contracts/instance/module/IComponents.sol +30 -19
  404. package/contracts/instance/module/IDistribution.sol +21 -8
  405. package/contracts/instance/module/IPolicy.sol +50 -29
  406. package/contracts/instance/module/IRisk.sol +5 -0
  407. package/contracts/mock/Dip.sol +1 -1
  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 +39 -41
  416. package/contracts/pool/BasicPoolAuthorization.sol +39 -13
  417. package/contracts/pool/BundleService.sol +200 -155
  418. package/contracts/pool/BundleServiceManager.sol +6 -6
  419. package/contracts/pool/IBundleService.sol +42 -46
  420. package/contracts/pool/IPoolComponent.sol +19 -15
  421. package/contracts/pool/IPoolService.sol +97 -77
  422. package/contracts/pool/Pool.sol +143 -138
  423. package/contracts/pool/PoolLib.sol +341 -0
  424. package/contracts/pool/PoolService.sol +413 -233
  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 -39
  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 +431 -285
  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 +196 -104
  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 +336 -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 +271 -71
  486. package/contracts/staking/IStakingService.sol +45 -78
  487. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  488. package/contracts/staking/Staking.sol +524 -243
  489. package/contracts/staking/StakingLib.sol +195 -0
  490. package/contracts/staking/StakingManager.sol +12 -9
  491. package/contracts/staking/StakingReader.sol +70 -82
  492. package/contracts/staking/StakingService.sol +62 -152
  493. package/contracts/staking/StakingServiceManager.sol +7 -5
  494. package/contracts/staking/StakingStore.sol +1089 -330
  495. package/contracts/staking/TargetHandler.sol +132 -0
  496. package/contracts/staking/TargetManagerLib.sol +73 -46
  497. package/contracts/type/Amount.sol +19 -0
  498. package/contracts/type/Blocknumber.sol +22 -16
  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 +40 -1
  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 +14 -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/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  539. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -164
  540. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  541. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  542. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  543. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  544. package/contracts/instance/module/IAccess.sol +0 -46
  545. package/contracts/product/IProductService.sol +0 -33
  546. package/contracts/product/ProductService.sol +0 -99
  547. package/contracts/product/ProductServiceManager.sol +0 -39
  548. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  549. package/contracts/shared/InitializableCustom.sol +0 -177
  550. package/contracts/staking/StakeManagerLib.sol +0 -231
  551. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -1,177 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
-
3
- pragma solidity ^0.8.20;
4
-
5
- /**
6
- * @dev This is copy of OpenZeppelin's Contracts (last updated v5.0.0) (proxy/utils/Initializable.sol)
7
- * Changes:
8
- * 1. name is InitializableCustom
9
- * 2. no longer abstract
10
- * 3. have $._initializeOwner
11
- * 4. have constructor where sets _initializeOwner
12
- * 5. initializer() in addition checks for _initializeOwner
13
- * 6. reinitializer() is deleted
14
- */
15
- abstract contract InitializableCustom {
16
- /**
17
- * @dev Storage of the initializable contract.
18
- *
19
- * It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions
20
- * when using with upgradeable contracts.
21
- *
22
- * @custom:storage-location erc7201:openzeppelin.storage.Initializable
23
- */
24
- struct InitializableCustomStorage {
25
- /**
26
- * @dev Indicates that the contract has been initialized.
27
- */
28
- uint64 _initialized;
29
- /**
30
- * @dev Indicates that the contract is in the process of being initialized.
31
- */
32
- bool _initializing;
33
- /**
34
- * @dev Indicates address that can call function with initializer() modifier.
35
- */
36
- address _initializeOwner;
37
- }
38
-
39
- // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.InitializableCustom")) - 1)) & ~bytes32(uint256(0xff))
40
- bytes32 private constant INITIALIZABLE_CUSTOM_STORAGE = 0x46cd1d813423aaf613c34c7f348d15b2b5e71215e9145b09467e257ea2805a00;
41
-
42
- /**
43
- * @dev The contract is already initialized.
44
- */
45
- error InvalidInitialization();
46
-
47
- /**
48
- * @dev The contract initialization function caller is not authorized.
49
- */
50
- error InvalidInitializationCaller();
51
-
52
- /**
53
- * @dev The contract is not initializing.
54
- */
55
- error NotInitializing();
56
-
57
- /**
58
- * @dev Triggered when the contract has been initialized or reinitialized.
59
- */
60
- event Initialized(uint64 version);
61
-
62
- /**
63
- * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,
64
- * `onlyInitializing` functions can be used to initialize parent contracts.
65
- *
66
- * Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any
67
- * number of times. This behavior in the constructor can be useful during testing and is not expected to be used in
68
- * production.
69
- *
70
- * Emits an {Initialized} event.
71
- */
72
- modifier initializer() virtual {
73
- // solhint-disable-next-line var-name-mixedcase
74
- InitializableCustomStorage storage $ = _getInitializableCustomStorage();
75
-
76
- if($._initializeOwner != msg.sender) {
77
- revert InvalidInitializationCaller();
78
- }
79
-
80
- // Cache values to avoid duplicated sloads
81
- bool isTopLevelCall = !$._initializing;
82
- uint64 initialized = $._initialized;
83
-
84
- // Allowed calls:
85
- // - initialSetup: the contract is not in the initializing state and no previous version was
86
- // initialized
87
- // - construction: the contract is initialized at version 1 (no reininitialization) and the
88
- // current contract is just being deployed
89
- bool initialSetup = initialized == 0 && isTopLevelCall;
90
- bool construction = initialized == 1 && address(this).code.length == 0;
91
-
92
- if (!initialSetup && !construction) {
93
- revert InvalidInitialization();
94
- }
95
- $._initialized = 1;
96
- if (isTopLevelCall) {
97
- $._initializing = true;
98
- }
99
- _;
100
- if (isTopLevelCall) {
101
- $._initializing = false;
102
- emit Initialized(1);
103
- }
104
- }
105
-
106
- /**
107
- * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the
108
- * {initializer} and {reinitializer} modifiers, directly or indirectly.
109
- */
110
- modifier onlyInitializing() {
111
- _checkInitializing();
112
- _;
113
- }
114
-
115
- /**
116
- * @dev Constructor sets the caller of protected initializer function.
117
- */
118
- constructor() {
119
- // solhint-disable-previous-line var-name-mixedcase
120
- InitializableCustomStorage storage $ = _getInitializableCustomStorage();
121
- $._initializeOwner = msg.sender;
122
- }
123
-
124
- /**
125
- * @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}.
126
- */
127
- function _checkInitializing() internal view virtual {
128
- if (!_isInitializing()) {
129
- revert NotInitializing();
130
- }
131
- }
132
-
133
- /**
134
- * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.
135
- * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized
136
- * to any version. It is recommended to use this to lock implementation contracts that are designed to be called
137
- * through proxies.
138
- *
139
- * Emits an {Initialized} event the first time it is successfully executed.
140
- */
141
- function _disableInitializers() internal virtual {
142
- // solhint-disable-next-line var-name-mixedcase
143
- InitializableCustomStorage storage $ = _getInitializableCustomStorage();
144
-
145
- if ($._initializing) {
146
- revert InvalidInitialization();
147
- }
148
- if ($._initialized != type(uint64).max) {
149
- $._initialized = type(uint64).max;
150
- emit Initialized(type(uint64).max);
151
- }
152
- }
153
-
154
- /**
155
- * @dev Returns the highest version that has been initialized. See {reinitializer}.
156
- */
157
- function _getInitializedVersion() internal view returns (uint64) {
158
- return _getInitializableCustomStorage()._initialized;
159
- }
160
-
161
- /**
162
- * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}.
163
- */
164
- function _isInitializing() internal view returns (bool) {
165
- return _getInitializableCustomStorage()._initializing;
166
- }
167
-
168
- /**
169
- * @dev Returns a pointer to the storage namespace.
170
- */
171
- // solhint-disable-next-line var-name-mixedcase
172
- function _getInitializableCustomStorage() private pure returns (InitializableCustomStorage storage $) {
173
- assembly {
174
- $.slot := INITIALIZABLE_CUSTOM_STORAGE
175
- }
176
- }
177
- }
@@ -1,231 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Amount, AmountLib} from "../type/Amount.sol";
7
- import {Component} from "../shared/Component.sol";
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
- import {IRegistryService} from "../registry/IRegistryService.sol";
10
- import {IStaking} from "./IStaking.sol";
11
- import {Key32} from "../type/Key32.sol";
12
- import {NftId} from "../type/NftId.sol";
13
- import {ObjectType, INSTANCE, PROTOCOL, TARGET} from "../type/ObjectType.sol";
14
- import {Seconds, SecondsLib} from "../type/Seconds.sol";
15
- import {StakingReader} from "./StakingReader.sol";
16
- import {StakingStore} from "./StakingStore.sol";
17
- import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
18
- import {UFixed, UFixedLib} from "../type/UFixed.sol";
19
-
20
-
21
- library StakeManagerLib {
22
-
23
- function stake(
24
- IRegistry registry,
25
- StakingReader stakingReader,
26
- StakingStore stakingStore,
27
- NftId stakeNftId,
28
- Amount stakeAmount
29
- )
30
- external
31
- returns (Amount stakeBalance)
32
- {
33
- // check that target is active for staking
34
- (
35
- UFixed rewardRate,
36
- Seconds lockingPeriod
37
- ) = checkStakeParameters(
38
- stakingReader,
39
- stakeNftId);
40
-
41
- // calculate new rewards (if any)
42
- (
43
- Amount rewardIncrementAmount,
44
- Amount currentTotalDipAmount
45
- ) = calculateRewardIncrease(
46
- stakingReader,
47
- stakeNftId,
48
- rewardRate);
49
-
50
- stakeBalance = currentTotalDipAmount + stakeAmount;
51
-
52
- // TODO check that additional dip, rewards and rewards increment
53
- // are still ok with max target staking amount
54
- NftId targetNftId = registry.getObjectInfo(stakeNftId).parentNftId;
55
-
56
- stakingStore.restakeRewards(
57
- stakeNftId,
58
- targetNftId,
59
- rewardIncrementAmount);
60
-
61
- stakingStore.increaseStake(
62
- stakeNftId,
63
- targetNftId,
64
- stakeAmount);
65
-
66
- // update locked until with target locking period
67
- stakingStore.update(
68
- stakeNftId,
69
- IStaking.StakeInfo({
70
- lockedUntil: TimestampLib.blockTimestamp().addSeconds(
71
- lockingPeriod)}));
72
-
73
- }
74
-
75
- function checkCreateParameters(
76
- StakingReader stakingReader,
77
- NftId targetNftId,
78
- Amount dipAmount
79
- )
80
- external
81
- view
82
- returns (
83
- Timestamp lockedUntil
84
- )
85
- {
86
- Seconds lockingPeriod = checkTarget(stakingReader, targetNftId);
87
- checkDipAmount(stakingReader, targetNftId, dipAmount);
88
-
89
- Timestamp currentTime = TimestampLib.blockTimestamp();
90
- lockedUntil = currentTime.addSeconds(lockingPeriod);
91
- }
92
-
93
-
94
- function checkStakeParameters(
95
- StakingReader stakingReader,
96
- NftId stakeNftId
97
- )
98
- public
99
- view
100
- returns (
101
- UFixed rewardRate,
102
- Seconds lockingPeriod
103
- )
104
- {
105
- NftId targetNftId = stakingReader.getTargetNftId(stakeNftId);
106
-
107
- // only accept stakes for active targets
108
- if (!stakingReader.isActive(targetNftId)) {
109
- revert IStaking.ErrorStakingTargetNotActive(targetNftId);
110
- }
111
-
112
- IStaking.TargetInfo memory info = stakingReader.getTargetInfo(targetNftId);
113
- rewardRate = info.rewardRate;
114
- lockingPeriod = info.lockingPeriod;
115
- }
116
-
117
-
118
- function checkTarget(
119
- StakingReader stakingReader,
120
- NftId targetNftId
121
- )
122
- public
123
- view
124
- returns (Seconds lockingPeriod)
125
- {
126
- // target nft id must be registered
127
- if (!stakingReader.isTarget(targetNftId)) {
128
- revert IStaking.ErrorStakingNotTarget(targetNftId);
129
- }
130
-
131
- // only accept stakes for active targets
132
- if (!stakingReader.isActive(targetNftId)) {
133
- revert IStaking.ErrorStakingTargetNotActive(targetNftId);
134
- }
135
-
136
- lockingPeriod = stakingReader.getTargetInfo(targetNftId).lockingPeriod;
137
- }
138
-
139
-
140
- function checkDipAmount(
141
- StakingReader stakingReader,
142
- NftId targetNftId,
143
- Amount dipAmount
144
- )
145
- public
146
- pure
147
- {
148
- // check stake amount > 0
149
- if (dipAmount.eqz()) {
150
- revert IStaking.ErrorStakingStakeAmountZero(targetNftId);
151
- }
152
-
153
- // TODO add check for target specific max dip amount (min stake + tvl * stake rate + buffer)
154
- }
155
-
156
-
157
- function checkDipBalanceAndAllowance(
158
- IERC20Metadata dip,
159
- address owner,
160
- address tokenHandlerAddress,
161
- Amount dipAmount
162
- )
163
- public
164
- view
165
- {
166
- // check balance
167
- uint256 amount = dipAmount.toInt();
168
- uint256 dipBalance = dip.balanceOf(owner);
169
- if (dipBalance < amount) {
170
- revert IStaking.ErrorStakingDipBalanceInsufficient(owner, amount, dipBalance);
171
- }
172
-
173
- // check allowance
174
- uint256 dipAllowance = dip.allowance(owner, tokenHandlerAddress);
175
- if (dipAllowance < amount) {
176
- revert IStaking.ErrorStakingDipAllowanceInsufficient(owner, tokenHandlerAddress, amount, dipAllowance);
177
- }
178
- }
179
-
180
-
181
- function calculateRewardIncrease(
182
- StakingReader stakingReader,
183
- NftId stakeNftId,
184
- UFixed rewardRate
185
- )
186
- public
187
- view
188
- returns (
189
- Amount rewardIncreaseAmount,
190
- Amount totalDipAmount
191
- )
192
- {
193
- (
194
- Amount stakeAmount,
195
- Amount rewardAmount,
196
- Timestamp lastUpdatedAt
197
- ) = stakingReader.getStakeBalances(stakeNftId);
198
-
199
- Seconds duration = SecondsLib.toSeconds(
200
- block.timestamp - lastUpdatedAt.toInt());
201
-
202
- rewardIncreaseAmount = calculateRewardAmount(
203
- rewardRate,
204
- duration,
205
- stakeAmount);
206
-
207
- totalDipAmount = stakeAmount + rewardAmount + rewardIncreaseAmount;
208
- }
209
-
210
-
211
- function calculateRewardAmount(
212
- UFixed rewardRate,
213
- Seconds duration,
214
- Amount stakeAmount
215
- )
216
- public
217
- pure
218
- returns(
219
- Amount rewardAmount
220
- )
221
- {
222
- UFixed rewardRateFraction = getYearFraction(duration) * rewardRate;
223
- rewardAmount = stakeAmount.multiplyWith(rewardRateFraction);
224
- }
225
-
226
-
227
- function getYearFraction(Seconds duration) public pure returns (UFixed yearFraction) {
228
- return UFixedLib.toUFixed(duration.toInt()) / UFixedLib.toUFixed(SecondsLib.oneYear().toInt());
229
- }
230
-
231
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {TARGET, COMPONENT, STAKE} from "../type/ObjectType.sol";
5
- import {INITIAL} from "../type/StateId.sol";
6
- import {Lifecycle} from "../shared/Lifecycle.sol";
7
-
8
- contract StakingLifecycle is
9
- Lifecycle
10
- {
11
- constructor() {
12
- _setupLifecycle();
13
- }
14
-
15
- function _setupLifecycle()
16
- internal
17
- override
18
- {
19
- setInitialState(TARGET(), INITIAL());
20
- setInitialState(COMPONENT(), INITIAL());
21
- setInitialState(STAKE(), INITIAL());
22
- }
23
- }