@etherisc/gif-next 0.0.2-a67250d-285 → 0.0.2-a6a9eeb-432

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 (580) hide show
  1. package/README.md +91 -8
  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/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → accounting/IAccountingService.sol/IAccountingService.json} +408 -104
  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 +196 -441
  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 +115 -325
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +615 -318
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +219 -127
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +102 -160
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +429 -77
  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/FlightLib.sol/FlightLib.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +415 -0
  53. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1208 -0
  55. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +805 -0
  57. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1476 -0
  59. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2254 -0
  63. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +805 -0
  65. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
  67. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  69. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +291 -410
  71. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  72. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +167 -314
  75. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +356 -373
  77. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  78. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  79. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +967 -507
  81. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  82. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  83. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  84. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +332 -0
  85. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  86. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  87. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  88. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  89. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  90. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +578 -65
  91. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  92. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +395 -60
  93. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  94. package/artifacts/contracts/instance/Instance.sol/Instance.json +616 -183
  95. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1021 -363
  97. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +328 -92
  99. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1719 -829
  101. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +409 -231
  103. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
  105. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +738 -947
  107. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  108. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +1539 -0
  109. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  110. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  111. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  112. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  113. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  114. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  115. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  116. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  117. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  118. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  119. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  120. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  121. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  122. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  123. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  124. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  125. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  126. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  127. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  129. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +148 -317
  130. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  131. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +424 -37
  132. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  134. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +116 -109
  135. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  136. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  137. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  138. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +124 -269
  139. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  140. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  141. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
  143. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  144. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +171 -324
  145. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  146. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  147. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  148. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +352 -388
  149. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +172 -128
  151. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  152. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +247 -121
  153. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  154. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +152 -156
  155. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  156. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +478 -227
  157. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  158. package/artifacts/contracts/pool/Pool.sol/Pool.json +150 -306
  159. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  160. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  161. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  162. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +729 -477
  163. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +227 -107
  165. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  166. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +358 -166
  167. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  168. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +166 -94
  169. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  170. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +283 -367
  171. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  172. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  173. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  174. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +364 -265
  175. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +184 -124
  177. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  178. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +296 -9
  179. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  180. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +242 -24
  181. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  182. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +299 -48
  183. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  184. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +140 -37
  185. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  186. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -202
  187. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +286 -21
  189. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  190. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +449 -261
  191. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  192. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  193. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  194. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +203 -115
  195. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  196. package/artifacts/contracts/product/PricingService.sol/PricingService.json +198 -238
  197. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +157 -109
  199. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  200. package/artifacts/contracts/product/Product.sol/Product.json +275 -359
  201. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  202. package/artifacts/contracts/product/RiskService.sol/RiskService.json +364 -186
  203. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +166 -94
  205. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  207. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +358 -47
  209. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  210. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  211. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  212. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  213. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  214. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  215. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  216. package/artifacts/contracts/registry/Registry.sol/Registry.json +564 -108
  217. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  218. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +791 -377
  219. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  220. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  221. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  222. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  223. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  224. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
  225. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  226. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  227. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  228. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  229. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  230. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  231. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  232. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  233. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  234. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  235. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  236. package/artifacts/contracts/shared/Component.sol/Component.json +100 -227
  237. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +496 -625
  239. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  240. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +188 -130
  241. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  242. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  243. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  244. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  245. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  246. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  247. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  248. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  249. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  250. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +93 -68
  251. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  252. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +432 -290
  253. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  254. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -109
  255. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  256. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +79 -6
  257. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  259. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  260. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  261. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  262. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  263. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  264. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  265. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  266. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  267. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  268. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  269. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  270. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  271. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +123 -268
  272. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  273. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +85 -7
  274. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  275. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  276. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  277. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  278. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  279. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  280. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  281. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  282. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  283. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  284. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  285. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  286. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  287. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  288. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  289. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
  290. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  291. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  292. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  293. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
  294. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  295. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1492 -173
  296. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  297. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  298. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  299. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  300. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  301. package/artifacts/contracts/staking/Staking.sol/Staking.json +1638 -428
  302. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  303. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  304. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  305. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +192 -110
  306. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  307. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  308. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  309. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  310. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  311. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  312. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  313. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1645 -790
  314. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  315. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  316. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  317. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +160 -88
  318. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  319. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  321. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  323. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  324. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  325. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  327. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  329. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  331. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  333. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  334. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  335. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  337. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  338. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  339. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +49 -50
  341. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  343. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  345. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  347. package/artifacts/contracts/type/RequestIdSet.sol/RequestIdSet.dbg.json +4 -0
  348. package/artifacts/contracts/type/RequestIdSet.sol/RequestIdSet.json +33 -0
  349. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  350. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  351. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  352. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  353. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  354. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
  355. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  356. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  357. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  358. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  359. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  360. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  361. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  362. package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
  363. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  364. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
  365. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  366. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  367. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  368. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  369. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  370. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  371. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  372. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  373. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  374. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +118 -79
  375. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  376. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  377. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  378. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  379. package/contracts/accounting/AccountingService.sol +274 -0
  380. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  381. package/contracts/accounting/IAccountingService.sol +47 -0
  382. package/contracts/authorization/AccessAdmin.sol +458 -269
  383. package/contracts/authorization/AccessAdminLib.sol +396 -0
  384. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  385. package/contracts/authorization/Authorization.sol +159 -207
  386. package/contracts/authorization/IAccess.sol +25 -6
  387. package/contracts/authorization/IAccessAdmin.sol +87 -79
  388. package/contracts/authorization/IAuthorization.sol +9 -37
  389. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  390. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  391. package/contracts/distribution/BasicDistribution.sol +20 -17
  392. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  393. package/contracts/distribution/Distribution.sol +44 -92
  394. package/contracts/distribution/DistributionService.sol +226 -114
  395. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  396. package/contracts/distribution/IDistributionComponent.sol +4 -11
  397. package/contracts/distribution/IDistributionService.sol +38 -24
  398. package/contracts/examples/fire/DamageLevel.sol +59 -0
  399. package/contracts/examples/fire/FirePool.sol +86 -0
  400. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  401. package/contracts/examples/fire/FireProduct.sol +433 -0
  402. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  403. package/contracts/examples/fire/FireUSD.sol +26 -0
  404. package/contracts/examples/flight/FlightLib.sol +266 -0
  405. package/contracts/examples/flight/FlightOracle.sol +167 -0
  406. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  407. package/contracts/examples/flight/FlightPool.sol +89 -0
  408. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  409. package/contracts/examples/flight/FlightProduct.sol +491 -0
  410. package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
  411. package/contracts/examples/flight/FlightUSD.sol +26 -0
  412. package/contracts/examples/flight/originalV1.sol +396 -0
  413. package/contracts/examples/unpermissioned/SimpleDistribution.sol +43 -12
  414. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  415. package/contracts/examples/unpermissioned/SimpleOracle.sol +8 -12
  416. package/contracts/examples/unpermissioned/SimplePool.sol +36 -10
  417. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  418. package/contracts/examples/unpermissioned/SimpleProduct.sol +134 -48
  419. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  420. package/contracts/instance/BaseStore.sol +93 -0
  421. package/contracts/instance/BundleSet.sol +42 -38
  422. package/contracts/instance/IBaseStore.sol +37 -0
  423. package/contracts/instance/IInstance.sol +111 -18
  424. package/contracts/instance/IInstanceService.sol +61 -34
  425. package/contracts/instance/Instance.sol +197 -75
  426. package/contracts/instance/InstanceAdmin.sol +276 -182
  427. package/contracts/instance/InstanceAuthorizationV3.sol +140 -69
  428. package/contracts/instance/InstanceReader.sol +496 -270
  429. package/contracts/instance/InstanceService.sol +316 -269
  430. package/contracts/instance/InstanceServiceManager.sol +6 -7
  431. package/contracts/instance/InstanceStore.sol +21 -40
  432. package/contracts/instance/ProductStore.sol +119 -0
  433. package/contracts/instance/RiskSet.sol +126 -0
  434. package/contracts/instance/TargetNames.sol +10 -0
  435. package/contracts/instance/base/BalanceStore.sol +4 -6
  436. package/contracts/instance/base/ObjectCounter.sol +1 -2
  437. package/contracts/instance/base/ObjectLifecycle.sol +6 -8
  438. package/contracts/instance/base/ObjectSet.sol +31 -33
  439. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  440. package/contracts/instance/module/IBundle.sol +6 -5
  441. package/contracts/instance/module/IComponents.sol +29 -13
  442. package/contracts/instance/module/IDistribution.sol +21 -8
  443. package/contracts/instance/module/IPolicy.sol +30 -9
  444. package/contracts/instance/module/IRisk.sol +5 -0
  445. package/contracts/oracle/BasicOracle.sol +2 -5
  446. package/contracts/oracle/BasicOracleAuthorization.sol +14 -8
  447. package/contracts/oracle/IOracle.sol +9 -4
  448. package/contracts/oracle/IOracleService.sol +14 -13
  449. package/contracts/oracle/Oracle.sol +8 -21
  450. package/contracts/oracle/OracleService.sol +119 -88
  451. package/contracts/oracle/OracleServiceManager.sol +6 -6
  452. package/contracts/pool/BasicPool.sol +34 -38
  453. package/contracts/pool/BasicPoolAuthorization.sol +34 -11
  454. package/contracts/pool/BundleService.sol +117 -169
  455. package/contracts/pool/BundleServiceManager.sol +6 -6
  456. package/contracts/pool/IBundleService.sol +28 -46
  457. package/contracts/pool/IPoolComponent.sol +19 -15
  458. package/contracts/pool/IPoolService.sol +77 -67
  459. package/contracts/pool/Pool.sol +141 -134
  460. package/contracts/pool/PoolLib.sol +341 -0
  461. package/contracts/pool/PoolService.sol +357 -252
  462. package/contracts/pool/PoolServiceManager.sol +4 -4
  463. package/contracts/product/ApplicationService.sol +111 -32
  464. package/contracts/product/ApplicationServiceManager.sol +4 -4
  465. package/contracts/product/BasicProduct.sol +10 -14
  466. package/contracts/product/BasicProductAuthorization.sol +33 -12
  467. package/contracts/product/ClaimService.sol +329 -190
  468. package/contracts/product/ClaimServiceManager.sol +4 -4
  469. package/contracts/product/IApplicationService.sol +28 -3
  470. package/contracts/product/IClaimService.sol +21 -7
  471. package/contracts/product/IPolicyService.sol +41 -12
  472. package/contracts/product/IPricingService.sol +10 -9
  473. package/contracts/product/IProductComponent.sol +27 -4
  474. package/contracts/product/IRiskService.sol +25 -10
  475. package/contracts/product/PolicyService.sol +356 -284
  476. package/contracts/product/PolicyServiceLib.sol +139 -0
  477. package/contracts/product/PolicyServiceManager.sol +4 -4
  478. package/contracts/product/PricingService.sol +59 -54
  479. package/contracts/product/PricingServiceManager.sol +4 -4
  480. package/contracts/product/Product.sol +154 -86
  481. package/contracts/product/RiskService.sol +130 -37
  482. package/contracts/product/RiskServiceManager.sol +4 -4
  483. package/contracts/registry/ChainNft.sol +72 -40
  484. package/contracts/registry/IRegistry.sol +69 -31
  485. package/contracts/registry/IRegistryService.sol +5 -12
  486. package/contracts/registry/IRelease.sol +29 -0
  487. package/contracts/registry/ITransferInterceptor.sol +1 -2
  488. package/contracts/registry/Registry.sol +366 -206
  489. package/contracts/registry/RegistryAdmin.sol +114 -297
  490. package/contracts/registry/RegistryAuthorization.sol +336 -0
  491. package/contracts/registry/RegistryService.sol +38 -49
  492. package/contracts/registry/RegistryServiceManager.sol +3 -3
  493. package/contracts/registry/ReleaseAdmin.sol +195 -0
  494. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  495. package/contracts/registry/ReleaseRegistry.sol +279 -239
  496. package/contracts/registry/ServiceAuthorizationV3.sol +204 -61
  497. package/contracts/registry/TokenRegistry.sol +61 -59
  498. package/contracts/shared/Component.sol +68 -122
  499. package/contracts/shared/ComponentService.sol +423 -377
  500. package/contracts/shared/ComponentServiceManager.sol +8 -5
  501. package/contracts/shared/ContractLib.sol +312 -0
  502. package/contracts/shared/IComponent.sol +6 -18
  503. package/contracts/shared/IComponentService.sol +43 -40
  504. package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
  505. package/contracts/shared/IKeyValueStore.sol +9 -1
  506. package/contracts/shared/ILifecycle.sol +3 -1
  507. package/contracts/shared/INftOwnable.sol +4 -0
  508. package/contracts/shared/IPolicyHolder.sol +12 -22
  509. package/contracts/shared/IRegisterable.sol +22 -1
  510. package/contracts/shared/IService.sol +3 -5
  511. package/contracts/shared/InitializableERC165.sol +10 -2
  512. package/contracts/shared/InstanceLinkedComponent.sol +115 -53
  513. package/contracts/shared/KeyValueStore.sol +4 -4
  514. package/contracts/shared/Lifecycle.sol +15 -4
  515. package/contracts/shared/NftOwnable.sol +30 -8
  516. package/contracts/shared/PolicyHolder.sol +18 -54
  517. package/contracts/shared/Registerable.sol +52 -21
  518. package/contracts/shared/RegistryLinked.sol +9 -14
  519. package/contracts/shared/Service.sol +20 -35
  520. package/contracts/shared/TokenHandler.sol +275 -72
  521. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  522. package/contracts/staking/IStaking.sol +271 -72
  523. package/contracts/staking/IStakingService.sol +45 -78
  524. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  525. package/contracts/staking/Staking.sol +523 -223
  526. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
  527. package/contracts/staking/StakingManager.sol +12 -9
  528. package/contracts/staking/StakingReader.sol +70 -82
  529. package/contracts/staking/StakingService.sol +63 -149
  530. package/contracts/staking/StakingServiceManager.sol +7 -5
  531. package/contracts/staking/StakingStore.sol +1093 -330
  532. package/contracts/staking/TargetHandler.sol +132 -0
  533. package/contracts/staking/TargetManagerLib.sol +69 -46
  534. package/contracts/type/Amount.sol +19 -0
  535. package/contracts/type/Blocknumber.sol +15 -15
  536. package/contracts/type/ChainId.sol +101 -0
  537. package/contracts/type/ClaimId.sol +6 -1
  538. package/contracts/type/Fee.sol +8 -8
  539. package/contracts/type/Key32.sol +2 -2
  540. package/contracts/type/Key32Set.sol +62 -0
  541. package/contracts/type/NftId.sol +7 -0
  542. package/contracts/type/ObjectType.sol +71 -68
  543. package/contracts/type/PayoutId.sol +10 -10
  544. package/contracts/type/Referral.sol +6 -0
  545. package/contracts/type/RequestIdSet.sol +62 -0
  546. package/contracts/type/RiskId.sol +38 -6
  547. package/contracts/type/RoleId.sol +61 -55
  548. package/contracts/type/Seconds.sol +23 -0
  549. package/contracts/type/Selector.sol +5 -0
  550. package/contracts/type/StateId.sol +14 -1
  551. package/contracts/type/String.sol +42 -0
  552. package/contracts/type/Timestamp.sol +14 -8
  553. package/contracts/type/UFixed.sol +38 -126
  554. package/contracts/type/Version.sol +54 -5
  555. package/contracts/upgradeability/IVersionable.sol +3 -0
  556. package/contracts/upgradeability/ProxyManager.sol +93 -45
  557. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  558. package/contracts/upgradeability/Versionable.sol +8 -5
  559. package/package.json +5 -4
  560. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  561. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  562. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  563. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  564. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  565. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  566. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  567. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  568. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  569. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  570. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
  571. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  572. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -164
  573. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  574. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  575. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  576. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  577. package/contracts/instance/module/IAccess.sol +0 -46
  578. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  579. package/contracts/shared/InitializableCustom.sol +0 -177
  580. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -3,13 +3,12 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
5
 
6
- import {Amount} from "../type/Amount.sol";
7
6
  import {IService} from "../shared/IService.sol";
8
7
  import {IStaking} from "./IStaking.sol";
8
+
9
+ import {Amount} from "../type/Amount.sol";
9
10
  import {NftId} from "../type/NftId.sol";
10
- import {ObjectType} from "../type/ObjectType.sol";
11
11
  import {Seconds} from "../type/Seconds.sol";
12
- import {Timestamp} from "../type/Timestamp.sol";
13
12
  import {TokenHandler} from "../shared/TokenHandler.sol";
14
13
  import {UFixed} from "../type/UFixed.sol";
15
14
 
@@ -25,34 +24,32 @@ interface IStakingService is IService
25
24
  event LogStakingServiceRewardReservesIncreased(NftId targetNftId, address rewardProvider, Amount dipAmount, Amount newBalance);
26
25
  event LogStakingServiceRewardReservesDecreased(NftId targetNftId, address targetOwner, Amount dipAmount, Amount newBalance);
27
26
 
27
+ event LogStakingServiceStakeObjectCreated(NftId stakeNftId, NftId targetNftId, address stakeOwner);
28
28
  event LogStakingServiceStakeCreated(NftId stakeNftId, NftId targetNftId, address owner, Amount stakedAmount);
29
29
  event LogStakingServiceStakeIncreased(NftId stakeNftId, address owner, Amount stakedAmount, Amount stakeBalance);
30
30
  event LogStakingServiceUnstaked(NftId stakeNftId, address stakeOwner, Amount totalAmount);
31
+ event LogStakingServiceStakeRestaked(address stakeOwner, NftId indexed stakeNftId, NftId newStakeNftId, NftId indexed newTargetNftId, Amount indexed newStakeBalance);
31
32
 
32
33
  event LogStakingServiceRewardsUpdated(NftId stakeNftId);
33
34
  event LogStakingServiceRewardsClaimed(NftId stakeNftId, address stakeOwner, Amount rewardsClaimedAmount);
34
35
 
35
36
  // modifiers
36
- error ErrorStakingServiceNotNftOwner(NftId nftId, address expectedOwner, address owner);
37
+ error ErrorStakingServiceNotStakingOwner(address account);
37
38
  error ErrorStakingServiceNotStaking(address stakingAddress);
38
39
  error ErrorStakingServiceNotSupportingIStaking(address stakingAddress);
39
40
 
40
41
  // create
42
+ error ErrorStakingServiceTargetUnknown(NftId targetNftId);
41
43
  error ErrorStakingServiceZeroTargetNftId();
42
44
  error ErrorStakingServiceNotTargetNftId(NftId targetNftId);
43
45
  error ErrorStakingServiceNotActiveTargetNftId(NftId targetNftId);
44
46
  error ErrorStakingServiceDipBalanceInsufficient(NftId targetNftId, uint256 amount, uint256 balance);
45
47
  error ErrorStakingServiceDipAllowanceInsufficient(NftId targetNftId, address tokenHandler, uint256 amount, uint256 allowance);
46
48
 
47
- /// @dev Set the protocol reward rate stake locking period to the specified duration.
48
- /// Permissioned: only staking owner
49
- // TODO implement
50
- // function setProtocolRewardRate(UFixed rewardRate) external;
51
- // function setProtocolLockingPeriod(Seconds lockingPeriod) external;
52
- // TODO also make sure that protocol rewards can be refilled and withdrawn
49
+ //--- functions for instance service -----------------------------------------------//
53
50
 
54
- /// @dev creates/registers an on-chain instance staking target.
55
- /// function granted to instance service
51
+ /// @dev Creates/registers an on-chain instance staking target.
52
+ /// Permissioned: Only instance service
56
53
  function createInstanceTarget(
57
54
  NftId targetNftId,
58
55
  Seconds initialLockingPeriod,
@@ -60,101 +57,71 @@ interface IStakingService is IService
60
57
  ) external;
61
58
 
62
59
  /// @dev Set the instance stake locking period to the specified duration.
63
- /// Permissioned: Only owner of the specified target.
60
+ /// Permissioned: Only instance service
64
61
  function setInstanceLockingPeriod(NftId instanceNftId, Seconds lockingPeriod) external;
65
62
 
66
63
  /// @dev Set the instance reward rate to the specified value.
67
- /// Permissioned: Only owner of the specified target.
64
+ /// Permissioned: Only instance service
68
65
  function setInstanceRewardRate(NftId instanceNftId, UFixed rewardRate) external;
69
66
 
67
+ /// @dev Set the instance max staked amount to the specified value.
68
+ /// Permissioned: Only instance service
69
+ function setInstanceMaxStakedAmount(NftId instanceNftId, Amount maxStakingAmount) external;
70
+
70
71
  /// @dev (Re)fills the staking reward reserves for the specified target using the dips provided by the reward provider.
71
- /// unpermissioned: anybody may fill up staking reward reserves
72
+ /// Permissioned: Only instance service
72
73
  function refillInstanceRewardReserves(NftId instanceNftId, address rewardProvider, Amount dipAmount) external returns (Amount newBalance);
73
74
 
74
- /// @dev (Re)fills the staking reward reserves for the specified target using the dips provided by the sender
75
- /// unpermissioned: anybody may fill up staking reward reserves
76
- function refillRewardReservesBySender(NftId targetNftId, Amount dipAmount) external returns (Amount newBalance);
77
-
78
75
  /// @dev Defunds the staking reward reserves for the specified target
79
- /// Permissioned: only the target owner may call this function
76
+ /// Permissioned: Only instance service
80
77
  function withdrawInstanceRewardReserves(NftId instanceNftId, Amount dipAmount) external returns (Amount newBalance);
81
78
 
82
- /// @dev create a new stake with amount DIP to the specified target
83
- /// returns the id of the newly minted stake nft
84
- /// permissionless function
85
- function create(
79
+ /// @dev Sets total value locked data for a target contract on a different chain.
80
+ /// this is done via CCIP (cross chain communication)
81
+ function setTotalValueLocked(
86
82
  NftId targetNftId,
83
+ address token,
87
84
  Amount amount
88
- )
89
- external
90
- returns (
91
- NftId stakeNftId
92
- );
93
-
94
-
95
- /// @dev increase an existing stake by amount DIP
96
- /// updates and restakes the staking reward amount
97
- /// function restricted to the current stake owner
98
- function stake(
99
- NftId stakeNftId,
100
- Amount amount
101
- )
102
- external;
103
-
104
-
105
- /// @dev re-stakes the current staked DIP as well as all accumulated rewards to the new stake target.
106
- /// all related stakes and all accumulated reward DIP are transferred to the current stake holder
107
- /// function restricted to the current stake owner
108
- function restakeToNewTarget(
109
- NftId stakeNftId,
110
- NftId newTargetNftId
111
- )
112
- external
113
- returns (
114
- NftId newStakeNftId
115
- );
116
-
117
-
118
- /// @dev updates the reward balance of the stake using the current reward rate.
119
- function updateRewards(
120
- NftId stakeNftId
121
- )
122
- external;
123
-
85
+ ) external;
124
86
 
125
- /// @dev claims all available rewards.
126
- function claimRewards(
127
- NftId stakeNftId
128
- )
129
- external;
87
+ //--- functions for staking component ---------------------------------------------//
130
88
 
89
+ /// @dev Creates a new stake object for the specified target via the registry service.
90
+ /// Permissioned: only the staking component may call this function
91
+ function createStakeObject(
92
+ NftId targetNftId,
93
+ address initialOwner
94
+ ) external returns (NftId stakeNftId);
131
95
 
132
- /// @dev unstakes all dips (stakes and rewards) of an existing stake.
133
- /// function restricted to the current stake owner
134
- function unstake(
135
- NftId stakeNftId
136
- )
137
- external;
96
+ /// @dev Collect DIP token from stake owner.
97
+ /// Permissioned: only the staking component may call this function
98
+ function pullDipToken(Amount dipAmount, address stakeOwner) external;
138
99
 
100
+ /// @dev Transfer DIP token to stake owner.
101
+ /// Permissioned: only the staking component may call this function
102
+ function pushDipToken(Amount dipAmount, address stakeOwner) external;
139
103
 
140
- /// @dev sets total value locked data for a target contract on a different chain.
141
- /// this is done via CCIP (cross chain communication)
142
- function setTotalValueLocked(
143
- NftId targetNftId,
144
- address token,
104
+ /// @dev Approves the staking token handler.
105
+ /// Permissioned: only the staking component may call this function
106
+ function approveTokenHandler(
107
+ IERC20Metadata token,
145
108
  Amount amount
146
- )
147
- external;
109
+ ) external;
110
+
111
+ //--- view functions --------------------------------------------------------------//
148
112
 
149
113
  function getDipToken()
150
114
  external
115
+ view
151
116
  returns (IERC20Metadata dip);
152
117
 
153
118
  function getTokenHandler()
154
119
  external
120
+ view
155
121
  returns (TokenHandler tokenHandler);
156
122
 
157
123
  function getStaking()
158
124
  external
125
+ view
159
126
  returns (IStaking staking);
160
127
  }
@@ -0,0 +1,17 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {NftId} from "../type/NftId.sol";
6
+
7
+ interface ITargetLimitHandler {
8
+
9
+ /// @dev Returns true iff the target limit update is required.
10
+ function isLimitUpdateRequired(
11
+ NftId targetNftId,
12
+ address token,
13
+ uint16 tvlUpdatesCount,
14
+ Amount baselineTvlAmount,
15
+ Amount currentTvlAmount
16
+ ) external view returns (bool updateIsRequired);
17
+ }