@etherisc/gif-next 0.0.2-9620cae-586 → 0.0.2-9628b30-648

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 (589) hide show
  1. package/README.md +103 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +212 -473
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +139 -381
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +814 -399
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +228 -124
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +135 -187
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +582 -141
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1484 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1208 -0
  53. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1476 -0
  57. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +805 -0
  59. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2572 -0
  61. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +805 -0
  63. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
  65. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  68. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  69. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  70. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  71. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  72. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  74. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  76. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  77. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  78. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  79. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  80. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  81. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  82. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  83. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  84. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +567 -67
  85. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  86. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +385 -60
  87. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  88. package/artifacts/contracts/instance/Instance.sol/Instance.json +573 -165
  89. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  90. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
  91. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  92. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  93. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  94. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1798 -793
  95. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +399 -231
  97. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
  99. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +983 -782
  101. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  102. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  103. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  104. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  105. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  106. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  107. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  108. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  109. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  110. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  111. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  112. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  113. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  114. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  115. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  116. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  117. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  118. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  119. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  120. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  121. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  122. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +152 -350
  123. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +424 -37
  125. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  126. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  127. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +129 -129
  128. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  129. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  130. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  131. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +128 -318
  132. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  134. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
  136. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  137. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +198 -433
  138. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  139. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  140. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  141. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +574 -270
  142. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  143. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +216 -104
  144. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  145. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +383 -53
  146. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  147. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +158 -212
  148. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  149. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +711 -340
  150. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  151. package/artifacts/contracts/pool/Pool.sol/Pool.json +148 -392
  152. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  153. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  154. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  155. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +925 -545
  156. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +230 -106
  158. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  159. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
  160. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  161. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +159 -99
  162. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  163. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +287 -427
  164. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  165. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  166. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  167. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +466 -245
  168. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  169. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +187 -123
  170. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  171. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
  172. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  173. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +350 -18
  174. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  175. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +417 -101
  176. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  177. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  178. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  179. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +272 -222
  180. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  181. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
  182. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  183. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +532 -311
  184. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  185. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  186. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  187. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +196 -108
  188. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  189. package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -329
  190. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  191. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +165 -137
  192. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  193. package/artifacts/contracts/product/Product.sol/Product.json +279 -419
  194. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  195. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  196. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  197. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  198. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  199. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  200. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  201. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -48
  202. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  203. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  204. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  205. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  206. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  208. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  209. package/artifacts/contracts/registry/Registry.sol/Registry.json +565 -109
  210. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  211. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +791 -377
  212. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  213. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  214. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  215. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  216. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
  218. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  219. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  220. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  221. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  222. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  223. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  224. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  225. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  226. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  227. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  228. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  229. package/artifacts/contracts/shared/Component.sol/Component.json +86 -277
  230. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  231. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +624 -560
  232. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  233. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +198 -120
  234. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  235. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  236. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  237. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  238. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  239. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  240. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  241. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  242. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -93
  244. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +535 -240
  246. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +118 -129
  248. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +42 -6
  250. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  251. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  252. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  254. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  256. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  257. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  258. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  259. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  260. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  261. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  262. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  263. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  264. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -318
  265. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  266. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +48 -7
  267. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  268. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  269. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  270. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  271. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  272. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  273. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  274. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  275. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  276. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  277. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  278. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  279. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  280. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  281. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  282. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  283. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  284. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  285. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  286. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  287. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  288. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1510 -191
  289. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  290. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  291. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  292. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  293. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  294. package/artifacts/contracts/staking/Staking.sol/Staking.json +1635 -455
  295. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  296. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  297. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  298. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +191 -105
  299. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  300. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  301. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  302. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  303. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  304. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  305. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  306. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1643 -783
  307. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  308. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  309. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  310. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +184 -76
  311. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  312. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  314. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  316. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  318. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  320. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  322. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  324. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  326. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  327. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  328. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  330. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  331. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  332. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  334. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  336. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  338. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  340. package/artifacts/contracts/type/RequestIdSet.sol/RequestIdSet.dbg.json +4 -0
  341. package/artifacts/contracts/type/RequestIdSet.sol/RequestIdSet.json +33 -0
  342. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  344. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  346. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +112 -2
  348. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  350. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  352. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  354. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  356. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +56 -5
  358. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +109 -35
  360. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  362. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  364. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  365. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  366. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  367. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  368. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  369. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  370. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  371. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  372. package/contracts/accounting/AccountingService.sol +274 -0
  373. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  374. package/contracts/accounting/IAccountingService.sol +47 -0
  375. package/contracts/authorization/AccessAdmin.sol +458 -269
  376. package/contracts/authorization/AccessAdminLib.sol +396 -0
  377. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  378. package/contracts/authorization/Authorization.sol +159 -208
  379. package/contracts/authorization/IAccess.sol +25 -6
  380. package/contracts/authorization/IAccessAdmin.sol +87 -79
  381. package/contracts/authorization/IAuthorization.sol +9 -37
  382. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  383. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  384. package/contracts/distribution/BasicDistribution.sol +22 -30
  385. package/contracts/distribution/BasicDistributionAuthorization.sol +34 -10
  386. package/contracts/distribution/Distribution.sol +48 -84
  387. package/contracts/distribution/DistributionService.sol +276 -130
  388. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  389. package/contracts/distribution/IDistributionComponent.sol +11 -14
  390. package/contracts/distribution/IDistributionService.sol +56 -26
  391. package/contracts/examples/fire/DamageLevel.sol +59 -0
  392. package/contracts/examples/fire/FirePool.sol +86 -0
  393. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  394. package/contracts/examples/fire/FireProduct.sol +433 -0
  395. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  396. package/contracts/examples/fire/FireUSD.sol +26 -0
  397. package/contracts/examples/flight/FlightOracle.sol +160 -0
  398. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  399. package/contracts/examples/flight/FlightPool.sol +89 -0
  400. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  401. package/contracts/examples/flight/FlightProduct.sol +661 -0
  402. package/contracts/examples/flight/FlightProductAuthorization.sol +42 -0
  403. package/contracts/examples/flight/FlightUSD.sol +26 -0
  404. package/contracts/examples/flight/originalV1.sol +396 -0
  405. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  406. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  407. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  408. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  409. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  410. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  411. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  412. package/contracts/instance/BundleSet.sol +42 -38
  413. package/contracts/instance/IInstance.sol +102 -43
  414. package/contracts/instance/IInstanceService.sol +59 -34
  415. package/contracts/instance/Instance.sol +193 -100
  416. package/contracts/instance/InstanceAdmin.sol +275 -158
  417. package/contracts/instance/InstanceAuthorizationV3.sol +120 -56
  418. package/contracts/instance/InstanceReader.sol +500 -251
  419. package/contracts/instance/InstanceService.sol +293 -236
  420. package/contracts/instance/InstanceServiceManager.sol +8 -13
  421. package/contracts/instance/InstanceStore.sol +24 -2
  422. package/contracts/instance/RiskSet.sol +126 -0
  423. package/contracts/instance/base/BalanceStore.sol +4 -6
  424. package/contracts/instance/base/ObjectCounter.sol +1 -2
  425. package/contracts/instance/base/ObjectLifecycle.sol +13 -10
  426. package/contracts/instance/base/ObjectSet.sol +31 -33
  427. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  428. package/contracts/instance/module/IBundle.sol +6 -5
  429. package/contracts/instance/module/IComponents.sol +30 -20
  430. package/contracts/instance/module/IDistribution.sol +21 -9
  431. package/contracts/instance/module/IPolicy.sol +50 -29
  432. package/contracts/instance/module/IRisk.sol +5 -0
  433. package/contracts/mock/Dip.sol +1 -1
  434. package/contracts/oracle/BasicOracle.sol +2 -5
  435. package/contracts/oracle/BasicOracleAuthorization.sol +14 -8
  436. package/contracts/oracle/IOracle.sol +9 -4
  437. package/contracts/oracle/IOracleComponent.sol +2 -1
  438. package/contracts/oracle/IOracleService.sol +14 -13
  439. package/contracts/oracle/Oracle.sol +23 -26
  440. package/contracts/oracle/OracleService.sol +119 -87
  441. package/contracts/oracle/OracleServiceManager.sol +8 -11
  442. package/contracts/pool/BasicPool.sol +39 -41
  443. package/contracts/pool/BasicPoolAuthorization.sol +43 -11
  444. package/contracts/pool/BundleService.sol +218 -128
  445. package/contracts/pool/BundleServiceManager.sol +8 -11
  446. package/contracts/pool/IBundleService.sol +43 -33
  447. package/contracts/pool/IPoolComponent.sol +20 -10
  448. package/contracts/pool/IPoolService.sol +97 -77
  449. package/contracts/pool/Pool.sol +146 -124
  450. package/contracts/pool/PoolLib.sol +341 -0
  451. package/contracts/pool/PoolService.sol +419 -256
  452. package/contracts/pool/PoolServiceManager.sol +6 -9
  453. package/contracts/product/ApplicationService.sol +153 -80
  454. package/contracts/product/ApplicationServiceManager.sol +6 -6
  455. package/contracts/product/BasicProduct.sol +13 -46
  456. package/contracts/product/BasicProductAuthorization.sol +33 -10
  457. package/contracts/product/ClaimService.sol +382 -194
  458. package/contracts/product/ClaimServiceManager.sol +6 -6
  459. package/contracts/product/IApplicationService.sol +29 -3
  460. package/contracts/product/IClaimService.sol +48 -11
  461. package/contracts/product/IPolicyService.sol +61 -37
  462. package/contracts/product/IPricingService.sol +11 -10
  463. package/contracts/product/IProductComponent.sol +28 -5
  464. package/contracts/product/IRiskService.sol +48 -0
  465. package/contracts/product/PolicyService.sol +443 -273
  466. package/contracts/product/PolicyServiceLib.sol +139 -0
  467. package/contracts/product/PolicyServiceManager.sol +6 -9
  468. package/contracts/product/PricingService.sol +90 -84
  469. package/contracts/product/PricingServiceManager.sol +6 -9
  470. package/contracts/product/Product.sol +201 -100
  471. package/contracts/product/RiskService.sol +190 -0
  472. package/contracts/product/RiskServiceManager.sol +39 -0
  473. package/contracts/registry/ChainNft.sol +72 -40
  474. package/contracts/registry/IRegistry.sol +70 -32
  475. package/contracts/registry/IRegistryService.sol +5 -12
  476. package/contracts/registry/IRelease.sol +29 -0
  477. package/contracts/registry/ITransferInterceptor.sol +1 -2
  478. package/contracts/registry/Registry.sol +367 -207
  479. package/contracts/registry/RegistryAdmin.sol +114 -288
  480. package/contracts/registry/RegistryAuthorization.sol +336 -0
  481. package/contracts/registry/RegistryService.sol +42 -67
  482. package/contracts/registry/RegistryServiceManager.sol +5 -5
  483. package/contracts/registry/ReleaseAdmin.sol +195 -0
  484. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  485. package/contracts/registry/ReleaseRegistry.sol +279 -241
  486. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  487. package/contracts/registry/TokenRegistry.sol +61 -59
  488. package/contracts/shared/Component.sol +70 -137
  489. package/contracts/shared/ComponentService.sol +452 -346
  490. package/contracts/shared/ComponentServiceManager.sol +10 -7
  491. package/contracts/shared/ContractLib.sol +312 -0
  492. package/contracts/shared/IComponent.sol +6 -18
  493. package/contracts/shared/IComponentService.sol +50 -41
  494. package/contracts/shared/IInstanceLinkedComponent.sol +7 -27
  495. package/contracts/shared/IKeyValueStore.sol +1 -1
  496. package/contracts/shared/ILifecycle.sol +3 -1
  497. package/contracts/shared/INftOwnable.sol +4 -0
  498. package/contracts/shared/IPolicyHolder.sol +12 -22
  499. package/contracts/shared/IRegisterable.sol +22 -1
  500. package/contracts/shared/IService.sol +4 -6
  501. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  502. package/contracts/shared/InstanceLinkedComponent.sol +132 -49
  503. package/contracts/shared/KeyValueStore.sol +4 -4
  504. package/contracts/shared/Lifecycle.sol +15 -4
  505. package/contracts/shared/NftOwnable.sol +33 -11
  506. package/contracts/shared/PolicyHolder.sol +20 -59
  507. package/contracts/shared/Registerable.sol +52 -21
  508. package/contracts/shared/RegistryLinked.sol +9 -14
  509. package/contracts/shared/Service.sol +22 -38
  510. package/contracts/shared/TokenHandler.sol +310 -26
  511. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  512. package/contracts/staking/IStaking.sol +272 -72
  513. package/contracts/staking/IStakingService.sol +45 -78
  514. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  515. package/contracts/staking/Staking.sol +533 -246
  516. package/contracts/staking/StakingLib.sol +195 -0
  517. package/contracts/staking/StakingManager.sol +14 -14
  518. package/contracts/staking/StakingReader.sol +72 -87
  519. package/contracts/staking/StakingService.sol +62 -152
  520. package/contracts/staking/StakingServiceManager.sol +9 -7
  521. package/contracts/staking/StakingStore.sol +1094 -341
  522. package/contracts/staking/TargetHandler.sol +132 -0
  523. package/contracts/staking/TargetManagerLib.sol +73 -46
  524. package/contracts/type/Amount.sol +31 -5
  525. package/contracts/type/Blocknumber.sol +22 -16
  526. package/contracts/type/ChainId.sol +101 -0
  527. package/contracts/type/ClaimId.sol +6 -1
  528. package/contracts/type/Fee.sol +8 -8
  529. package/contracts/type/Key32.sol +2 -2
  530. package/contracts/type/Key32Set.sol +62 -0
  531. package/contracts/type/NftId.sol +7 -0
  532. package/contracts/type/ObjectType.sol +73 -37
  533. package/contracts/type/PayoutId.sol +10 -10
  534. package/contracts/type/Referral.sol +7 -0
  535. package/contracts/type/RequestIdSet.sol +62 -0
  536. package/contracts/type/RiskId.sol +38 -6
  537. package/contracts/type/RoleId.sol +61 -55
  538. package/contracts/type/Seconds.sol +44 -1
  539. package/contracts/type/Selector.sol +5 -0
  540. package/contracts/type/StateId.sol +15 -1
  541. package/contracts/type/String.sol +12 -0
  542. package/contracts/type/Timestamp.sol +24 -8
  543. package/contracts/type/UFixed.sol +57 -126
  544. package/contracts/type/Version.sol +54 -5
  545. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  546. package/contracts/{shared → upgradeability}/ProxyManager.sol +96 -49
  547. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  548. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  549. package/package.json +5 -4
  550. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  551. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  552. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  553. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  554. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  555. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  556. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  557. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  558. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  559. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  560. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  561. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  562. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  563. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  564. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  565. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  566. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  567. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  568. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  569. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  570. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  571. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  572. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  573. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  574. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  575. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  576. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -164
  577. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  578. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  579. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  580. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  581. package/contracts/instance/module/IAccess.sol +0 -46
  582. package/contracts/product/IProductService.sol +0 -33
  583. package/contracts/product/ProductService.sol +0 -124
  584. package/contracts/product/ProductServiceManager.sol +0 -42
  585. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  586. package/contracts/shared/InitializableCustom.sol +0 -177
  587. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  588. package/contracts/staking/StakeManagerLib.sol +0 -231
  589. 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,16 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
5
- import {TransparentUpgradeableProxy, ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
6
-
7
- import {IVersionable} from "./IVersionable.sol";
8
-
9
- contract UpgradableProxyWithAdmin is TransparentUpgradeableProxy {
10
-
11
- constructor(address implementation, address initialProxyAdminOwner, bytes memory data)
12
- TransparentUpgradeableProxy(implementation, initialProxyAdminOwner, data)
13
- {}
14
-
15
- function getProxyAdmin() external returns (ProxyAdmin) { return ProxyAdmin(_proxyAdmin()); }
16
- }
@@ -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
- }