@etherisc/gif-next 0.0.2-7f35518-483 → 0.0.2-7fbee0d-269

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 (797) hide show
  1. package/README.md +157 -281
  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 +810 -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 +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1735 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +817 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1400 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +465 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +407 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +652 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1234 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +844 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +939 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1809 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +950 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +838 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1284 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1474 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +844 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2043 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +844 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  53. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +383 -0
  54. package/artifacts/contracts/examples/flight/FlightMessageVerfier.sol/FlightMessageVerifier.dbg.json +4 -0
  55. package/artifacts/contracts/examples/flight/FlightMessageVerfier.sol/FlightMessageVerifier.json +253 -0
  56. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1198 -0
  58. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  59. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +849 -0
  60. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  62. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  64. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2180 -0
  66. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +844 -0
  68. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  69. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
  70. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  71. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  72. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
  74. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
  76. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  77. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
  78. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  79. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
  80. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  81. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
  82. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  83. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
  84. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
  86. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  87. package/artifacts/contracts/instance/{base/IKeyValueStore.sol/IKeyValueStore.json → BaseStore.sol/BaseStore.json} +87 -184
  88. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  90. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  92. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  93. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +957 -535
  94. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  95. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +760 -138
  96. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  97. package/artifacts/contracts/instance/Instance.sol/Instance.json +614 -2806
  98. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  99. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2400 -0
  100. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  101. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +872 -0
  102. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  103. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1919 -679
  104. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  105. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +780 -323
  106. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  107. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +404 -104
  108. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  109. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3039 -0
  110. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  111. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  112. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  113. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  114. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  115. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  116. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  117. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +38 -2
  118. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  119. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  120. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  121. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  122. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  123. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  124. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  125. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  126. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  127. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  128. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  129. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  131. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  132. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  133. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  134. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  135. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
  136. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  137. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +849 -0
  138. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  139. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  140. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  141. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
  142. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  143. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  144. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  145. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +863 -0
  146. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  147. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  148. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +830 -0
  150. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  151. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1232 -0
  152. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  153. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +844 -0
  154. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  155. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
  156. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +886 -0
  158. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  159. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
  160. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  161. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +895 -0
  162. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  163. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  164. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  165. package/artifacts/contracts/pool/Pool.sol/Pool.json +1015 -0
  166. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  167. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  168. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  169. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  170. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +886 -0
  172. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  173. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  174. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  175. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +810 -0
  176. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  177. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1149 -0
  178. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  179. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +844 -0
  180. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  181. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1536 -0
  182. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  183. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +906 -0
  184. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  185. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +404 -351
  186. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  187. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  188. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  189. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  190. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  191. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +652 -0
  192. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  193. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1006 -0
  194. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  195. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IRiskService.sol/IRiskService.json} +353 -249
  196. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  197. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  198. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  199. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  200. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +874 -0
  202. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  203. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  204. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  205. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +834 -0
  206. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  207. package/artifacts/contracts/product/Product.sol/Product.json +1107 -0
  208. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  209. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  210. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  211. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
  212. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  213. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  214. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +641 -173
  216. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  217. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +419 -200
  218. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  219. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  220. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  221. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  222. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  223. package/artifacts/contracts/registry/Registry.sol/Registry.json +969 -202
  224. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  225. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2255 -0
  226. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  227. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
  228. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  229. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +370 -309
  230. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  231. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +389 -121
  232. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  233. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
  234. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  235. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  236. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  237. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
  238. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  239. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +705 -0
  240. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  241. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +391 -80
  242. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  243. package/artifacts/contracts/shared/Component.sol/Component.json +695 -0
  244. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  245. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1551 -0
  246. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  247. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +882 -0
  248. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  249. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  250. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  251. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  252. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  253. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  254. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  255. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  256. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  257. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +286 -176
  258. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  259. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  260. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  261. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
  262. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  263. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  264. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +61 -22
  266. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  267. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  268. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +162 -15
  270. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  271. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  272. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IService.sol/IService.json +161 -154
  274. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  275. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  276. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  277. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +785 -0
  278. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  279. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  280. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  281. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  282. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  283. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +98 -28
  284. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  285. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  286. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  287. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +178 -55
  288. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  289. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  290. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  291. package/artifacts/contracts/shared/Service.sol/Service.json +177 -163
  292. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  293. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  294. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  295. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  296. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  297. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  298. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  299. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2747 -0
  300. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  301. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
  302. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  303. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  304. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  305. package/artifacts/contracts/staking/Staking.sol/Staking.json +3175 -0
  306. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  307. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  308. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  309. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +867 -0
  310. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  311. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  312. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  313. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
  314. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  315. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +786 -0
  316. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  317. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
  318. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  319. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  320. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  321. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  322. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  323. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  324. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  326. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +270 -0
  328. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  330. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  332. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  334. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  336. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  338. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  339. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  340. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  342. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  343. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  344. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +238 -0
  346. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  348. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +161 -0
  350. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  352. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  353. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  354. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  355. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  356. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  357. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  358. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  359. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +308 -0
  360. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  361. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  362. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  363. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  364. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  365. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  366. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  367. package/artifacts/contracts/type/String.sol/StrLib.json +199 -0
  368. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  369. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +344 -0
  370. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  371. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  372. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  373. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  374. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  375. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  376. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  377. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  378. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  379. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
  380. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  381. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  382. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  383. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  384. package/contracts/accounting/AccountingService.sol +274 -0
  385. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  386. package/contracts/accounting/IAccountingService.sol +47 -0
  387. package/contracts/authorization/AccessAdmin.sol +679 -0
  388. package/contracts/authorization/AccessAdminLib.sol +678 -0
  389. package/contracts/authorization/AccessManagerCloneable.sol +140 -0
  390. package/contracts/authorization/Authorization.sol +190 -0
  391. package/contracts/authorization/IAccess.sol +66 -0
  392. package/contracts/authorization/IAccessAdmin.sol +142 -0
  393. package/contracts/authorization/IAuthorization.sol +26 -0
  394. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  395. package/contracts/authorization/ServiceAuthorization.sol +300 -0
  396. package/contracts/distribution/BasicDistribution.sol +140 -0
  397. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  398. package/contracts/distribution/Distribution.sol +245 -0
  399. package/contracts/distribution/DistributionService.sol +448 -0
  400. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  401. package/contracts/distribution/IDistributionComponent.sol +45 -0
  402. package/contracts/distribution/IDistributionService.sol +115 -0
  403. package/contracts/examples/fire/DamageLevel.sol +59 -0
  404. package/contracts/examples/fire/FirePool.sol +86 -0
  405. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  406. package/contracts/examples/fire/FireProduct.sol +433 -0
  407. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  408. package/contracts/examples/fire/FireUSD.sol +26 -0
  409. package/contracts/examples/flight/FlightLib.sol +273 -0
  410. package/contracts/examples/flight/FlightMessageVerfier.sol +129 -0
  411. package/contracts/examples/flight/FlightOracle.sol +167 -0
  412. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  413. package/contracts/examples/flight/FlightPool.sol +89 -0
  414. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  415. package/contracts/examples/flight/FlightProduct.sol +464 -0
  416. package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
  417. package/contracts/examples/flight/FlightUSD.sol +26 -0
  418. package/contracts/examples/flight/originalV1.sol +396 -0
  419. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  420. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  421. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  422. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  423. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  424. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  425. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  426. package/contracts/instance/BaseStore.sol +93 -0
  427. package/contracts/instance/BundleSet.sol +130 -0
  428. package/contracts/instance/IBaseStore.sol +37 -0
  429. package/contracts/instance/IInstance.sol +141 -24
  430. package/contracts/instance/IInstanceService.sol +106 -17
  431. package/contracts/instance/Instance.sol +249 -341
  432. package/contracts/instance/InstanceAdmin.sol +307 -0
  433. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  434. package/contracts/instance/InstanceReader.sol +524 -202
  435. package/contracts/instance/InstanceService.sol +462 -130
  436. package/contracts/instance/InstanceServiceManager.sol +14 -31
  437. package/contracts/instance/InstanceStore.sol +323 -0
  438. package/contracts/instance/ProductStore.sol +290 -0
  439. package/contracts/instance/RiskSet.sol +126 -0
  440. package/contracts/instance/TargetNames.sol +10 -0
  441. package/contracts/instance/base/BalanceStore.sol +121 -0
  442. package/contracts/instance/base/Cloneable.sol +28 -0
  443. package/contracts/instance/base/ObjectCounter.sol +20 -0
  444. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  445. package/contracts/instance/base/ObjectSet.sol +77 -0
  446. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  447. package/contracts/instance/module/IBundle.sol +10 -9
  448. package/contracts/instance/module/IComponents.sol +60 -0
  449. package/contracts/instance/module/IDistribution.sol +25 -10
  450. package/contracts/instance/module/IPolicy.sol +81 -21
  451. package/contracts/instance/module/IRisk.sol +6 -1
  452. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  453. package/contracts/oracle/BasicOracle.sol +44 -0
  454. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  455. package/contracts/oracle/IOracle.sol +41 -0
  456. package/contracts/oracle/IOracleComponent.sol +33 -0
  457. package/contracts/oracle/IOracleService.sol +66 -0
  458. package/contracts/oracle/Oracle.sol +152 -0
  459. package/contracts/oracle/OracleService.sol +310 -0
  460. package/contracts/oracle/OracleServiceManager.sol +39 -0
  461. package/contracts/pool/BasicPool.sol +161 -0
  462. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  463. package/contracts/pool/BundleService.sol +386 -0
  464. package/contracts/pool/BundleServiceManager.sol +39 -0
  465. package/contracts/pool/IBundleService.sol +116 -0
  466. package/contracts/pool/IPoolComponent.sol +62 -0
  467. package/contracts/pool/IPoolService.sol +170 -0
  468. package/contracts/pool/Pool.sol +331 -0
  469. package/contracts/pool/PoolLib.sol +341 -0
  470. package/contracts/pool/PoolService.sol +614 -0
  471. package/contracts/pool/PoolServiceManager.sol +39 -0
  472. package/contracts/product/ApplicationService.sol +327 -0
  473. package/contracts/product/ApplicationServiceManager.sol +38 -0
  474. package/contracts/product/BasicProduct.sol +48 -0
  475. package/contracts/product/BasicProductAuthorization.sol +64 -0
  476. package/contracts/product/ClaimService.sol +626 -0
  477. package/contracts/product/ClaimServiceManager.sol +38 -0
  478. package/contracts/product/IApplicationService.sol +88 -0
  479. package/contracts/product/IClaimService.sol +136 -0
  480. package/contracts/product/IPolicyService.sol +102 -0
  481. package/contracts/product/IPricingService.sol +40 -0
  482. package/contracts/product/IProductComponent.sol +62 -0
  483. package/contracts/product/IRiskService.sol +48 -0
  484. package/contracts/product/PolicyService.sol +645 -0
  485. package/contracts/product/PolicyServiceLib.sol +139 -0
  486. package/contracts/product/PolicyServiceManager.sol +39 -0
  487. package/contracts/product/PricingService.sol +306 -0
  488. package/contracts/product/PricingServiceManager.sol +39 -0
  489. package/contracts/product/Product.sol +491 -0
  490. package/contracts/product/RiskService.sol +189 -0
  491. package/contracts/product/RiskServiceManager.sol +39 -0
  492. package/contracts/registry/ChainNft.sol +82 -35
  493. package/contracts/registry/IRegistry.sol +128 -50
  494. package/contracts/registry/IRegistryService.sol +45 -16
  495. package/contracts/registry/IRelease.sol +29 -0
  496. package/contracts/registry/ITransferInterceptor.sol +1 -1
  497. package/contracts/registry/Registry.sol +551 -304
  498. package/contracts/registry/RegistryAdmin.sol +173 -0
  499. package/contracts/registry/RegistryAuthorization.sol +337 -0
  500. package/contracts/registry/RegistryService.sol +126 -284
  501. package/contracts/registry/RegistryServiceManager.sol +26 -53
  502. package/contracts/registry/ReleaseAdmin.sol +199 -0
  503. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  504. package/contracts/registry/ReleaseRegistry.sol +525 -0
  505. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  506. package/contracts/registry/TokenRegistry.sol +265 -59
  507. package/contracts/shared/Component.sol +210 -0
  508. package/contracts/shared/ComponentService.sol +691 -0
  509. package/contracts/shared/ComponentServiceManager.sol +38 -0
  510. package/contracts/shared/ContractLib.sol +312 -0
  511. package/contracts/shared/EcdsaChecker.sol +5 -0
  512. package/contracts/shared/IComponent.sol +58 -0
  513. package/contracts/shared/IComponentService.sol +111 -0
  514. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  515. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  516. package/contracts/shared/INftOwnable.sol +17 -12
  517. package/contracts/shared/IPolicyHolder.sol +35 -0
  518. package/contracts/shared/IRegisterable.sol +24 -5
  519. package/contracts/shared/IRegistryLinked.sol +11 -0
  520. package/contracts/shared/IService.sol +13 -5
  521. package/contracts/shared/InitializableERC165.sol +35 -0
  522. package/contracts/shared/InstanceLinkedComponent.sol +232 -0
  523. package/contracts/shared/Lifecycle.sol +88 -0
  524. package/contracts/shared/NftIdSet.sol +65 -0
  525. package/contracts/shared/NftOwnable.sol +77 -84
  526. package/contracts/shared/PolicyHolder.sol +63 -0
  527. package/contracts/shared/Registerable.sol +54 -38
  528. package/contracts/shared/RegistryLinked.sol +38 -0
  529. package/contracts/shared/Service.sol +46 -33
  530. package/contracts/shared/TokenHandler.sol +327 -12
  531. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  532. package/contracts/staking/IStaking.sol +366 -0
  533. package/contracts/staking/IStakingService.sol +127 -0
  534. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  535. package/contracts/staking/Staking.sol +797 -0
  536. package/contracts/staking/StakingLib.sol +195 -0
  537. package/contracts/staking/StakingManager.sol +53 -0
  538. package/contracts/staking/StakingReader.sol +171 -0
  539. package/contracts/staking/StakingService.sol +321 -0
  540. package/contracts/staking/StakingServiceManager.sol +46 -0
  541. package/contracts/staking/StakingStore.sol +1368 -0
  542. package/contracts/staking/TargetHandler.sol +132 -0
  543. package/contracts/staking/TargetManagerLib.sol +234 -0
  544. package/contracts/{types → type}/AddressSet.sol +1 -1
  545. package/contracts/type/Amount.sol +154 -0
  546. package/contracts/{types → type}/Blocknumber.sol +38 -19
  547. package/contracts/type/ChainId.sol +101 -0
  548. package/contracts/type/ClaimId.sol +80 -0
  549. package/contracts/{types → type}/DistributorType.sol +2 -2
  550. package/contracts/type/Fee.sol +66 -0
  551. package/contracts/{types → type}/Key32.sol +2 -2
  552. package/contracts/type/Key32Set.sol +62 -0
  553. package/contracts/{types → type}/NftId.sol +28 -15
  554. package/contracts/type/NftIdSet.sol +62 -0
  555. package/contracts/type/ObjectType.sol +278 -0
  556. package/contracts/type/PayoutId.sol +82 -0
  557. package/contracts/{types → type}/Referral.sol +12 -1
  558. package/contracts/type/RequestId.sol +75 -0
  559. package/contracts/type/RequestIdSet.sol +62 -0
  560. package/contracts/type/RiskId.sol +75 -0
  561. package/contracts/type/RoleId.sol +180 -0
  562. package/contracts/type/Seconds.sol +124 -0
  563. package/contracts/type/Selector.sol +107 -0
  564. package/contracts/{types → type}/StateId.sol +48 -4
  565. package/contracts/type/String.sol +95 -0
  566. package/contracts/{types → type}/Timestamp.sol +45 -20
  567. package/contracts/type/UFixed.sol +263 -0
  568. package/contracts/{types → type}/Version.sol +59 -7
  569. package/contracts/{shared → upgradeability}/IVersionable.sol +7 -47
  570. package/contracts/upgradeability/ProxyManager.sol +246 -0
  571. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  572. package/contracts/upgradeability/Versionable.sol +62 -0
  573. package/package.json +13 -8
  574. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  575. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  576. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  577. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -670
  578. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  579. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  580. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  581. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -204
  582. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  583. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  584. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  585. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  586. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  587. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -873
  588. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  589. package/artifacts/contracts/components/Product.sol/Product.json +0 -775
  590. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  591. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  592. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  593. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  594. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  595. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  596. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  597. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  598. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  599. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  600. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  601. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  602. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  603. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  604. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  605. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  606. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  607. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  608. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  609. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  610. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  611. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  612. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  613. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  614. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  615. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  616. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  617. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  618. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  619. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  620. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  621. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  622. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  623. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  624. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  625. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  626. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  627. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  628. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  629. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  630. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  631. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  632. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  633. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  634. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  635. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  636. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  637. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  638. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  639. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  640. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  641. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  642. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  643. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  644. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  645. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  646. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -211
  647. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  648. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  649. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  650. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  651. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  652. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -681
  653. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  654. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -436
  655. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  656. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  657. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  658. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  659. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  660. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  661. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  662. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -820
  663. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  664. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -448
  665. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  666. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  667. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  668. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  669. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  670. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  671. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  672. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  673. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  674. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  675. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  676. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  677. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  678. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  679. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  680. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  681. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  682. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  683. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  684. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  685. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  686. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  687. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  688. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  689. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  690. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  691. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  692. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  693. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  694. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  695. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  696. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  697. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  698. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  699. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  700. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  701. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  702. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  703. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  704. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  705. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  706. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  707. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  708. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  709. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  710. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  711. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  712. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  713. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  714. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  715. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  716. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  717. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  718. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  719. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  720. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  721. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  722. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  723. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  724. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  725. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  726. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  727. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  728. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  729. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  730. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  731. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  732. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  733. package/contracts/components/BaseComponent.sol +0 -91
  734. package/contracts/components/Distribution.sol +0 -166
  735. package/contracts/components/IBaseComponent.sol +0 -25
  736. package/contracts/components/IDistributionComponent.sol +0 -46
  737. package/contracts/components/IPoolComponent.sol +0 -62
  738. package/contracts/components/IProductComponent.sol +0 -35
  739. package/contracts/components/Pool.sol +0 -247
  740. package/contracts/components/Product.sol +0 -297
  741. package/contracts/experiment/cloning/Cloner.sol +0 -47
  742. package/contracts/experiment/errors/Require.sol +0 -38
  743. package/contracts/experiment/errors/Revert.sol +0 -44
  744. package/contracts/experiment/inheritance/A.sol +0 -53
  745. package/contracts/experiment/inheritance/B.sol +0 -28
  746. package/contracts/experiment/inheritance/C.sol +0 -34
  747. package/contracts/experiment/inheritance/IA.sol +0 -13
  748. package/contracts/experiment/inheritance/IB.sol +0 -10
  749. package/contracts/experiment/inheritance/IC.sol +0 -12
  750. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  751. package/contracts/experiment/statemachine/ISM.sol +0 -25
  752. package/contracts/experiment/statemachine/SM.sol +0 -57
  753. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  754. package/contracts/experiment/types/TypeA.sol +0 -47
  755. package/contracts/experiment/types/TypeB.sol +0 -29
  756. package/contracts/instance/AccessManagedSimple.sol +0 -115
  757. package/contracts/instance/AccessManagerSimple.sol +0 -692
  758. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  759. package/contracts/instance/InstanceAccessManager.sol +0 -288
  760. package/contracts/instance/base/ComponentServiceBase.sol +0 -60
  761. package/contracts/instance/base/IInstanceBase.sol +0 -23
  762. package/contracts/instance/base/IKeyValueStore.sol +0 -49
  763. package/contracts/instance/base/KeyValueStore.sol +0 -172
  764. package/contracts/instance/base/Lifecycle.sol +0 -100
  765. package/contracts/instance/module/IAccess.sol +0 -38
  766. package/contracts/instance/module/ISetup.sol +0 -44
  767. package/contracts/instance/module/ITreasury.sol +0 -23
  768. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  769. package/contracts/instance/service/DistributionService.sol +0 -99
  770. package/contracts/instance/service/DistributionServiceManager.sol +0 -53
  771. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  772. package/contracts/instance/service/IDistributionService.sol +0 -12
  773. package/contracts/instance/service/IPoolService.sol +0 -37
  774. package/contracts/instance/service/IProductService.sol +0 -107
  775. package/contracts/instance/service/PoolService.sol +0 -205
  776. package/contracts/instance/service/PoolServiceManager.sol +0 -53
  777. package/contracts/shared/ContractDeployerLib.sol +0 -72
  778. package/contracts/shared/ERC165.sol +0 -25
  779. package/contracts/shared/ProxyManager.sol +0 -94
  780. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  781. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  782. package/contracts/shared/Versionable.sol +0 -147
  783. package/contracts/test/TestFee.sol +0 -25
  784. package/contracts/test/TestRegisterable.sol +0 -18
  785. package/contracts/test/TestRoleId.sol +0 -14
  786. package/contracts/test/TestService.sol +0 -24
  787. package/contracts/test/TestToken.sol +0 -26
  788. package/contracts/test/TestVersion.sol +0 -44
  789. package/contracts/test/TestVersionable.sol +0 -17
  790. package/contracts/types/ChainId.sol +0 -38
  791. package/contracts/types/Fee.sol +0 -56
  792. package/contracts/types/NftIdSet.sol +0 -60
  793. package/contracts/types/NumberId.sol +0 -52
  794. package/contracts/types/ObjectType.sol +0 -152
  795. package/contracts/types/RiskId.sol +0 -43
  796. package/contracts/types/RoleId.sol +0 -89
  797. package/contracts/types/UFixed.sol +0 -325
@@ -1,317 +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 {IRegistry} from "../../registry/IRegistry.sol";
7
- import {IInstance} from "../IInstance.sol";
8
-
9
- import {ITreasury} from "../module/ITreasury.sol";
10
- // import {TreasuryModule} from "../module/TreasuryModule.sol";
11
- import {ISetup} from "../module/ISetup.sol";
12
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
13
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
14
- import {IKeyValueStore} from "../../instance/base/IKeyValueStore.sol";
15
- import {IVersionable} from "../../shared/IVersionable.sol";
16
- import {Versionable} from "../../shared/Versionable.sol";
17
-
18
- import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../types/RoleId.sol";
19
- import {ObjectType, TOKEN, COMPONENT, PRODUCT, ORACLE, POOL, DISTRIBUTION} from "../../types/ObjectType.sol";
20
- import {StateId, ACTIVE, PAUSED} from "../../types/StateId.sol";
21
- import {Key32} from "../../types/Key32.sol";
22
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
23
- import {Fee} from "../../types/Fee.sol";
24
- import {Version, VersionLib} from "../../types/Version.sol";
25
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
26
-
27
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
28
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
29
- import {IProductComponent} from "../../components/IProductComponent.sol";
30
- import {IService} from "../../shared/IService.sol";
31
- import {IComponentOwnerService} from "./IComponentOwnerService.sol";
32
- import {Service} from "../../shared/Service.sol";
33
- // import {IPool, IPoolModule} from "../module/IPoolModule.sol";
34
-
35
- import {IRegistryService} from "../../registry/IRegistryService.sol";
36
-
37
- contract ComponentOwnerService is
38
- Service,
39
- IComponentOwnerService
40
- {
41
- using NftIdLib for NftId;
42
-
43
- error MissingTypeRole();
44
- error WalletIsZero();
45
- error InvalidToken();
46
- error InvalidPool();
47
- error InvalidDistribution();
48
- error InvalidPoolsInstance();
49
- error InvalidDistributionsInstance();
50
-
51
- error CollateralizationLevelIsZero();
52
-
53
- string public constant NAME = "ComponentOwnerService";
54
-
55
- modifier onlyRegisteredComponent(IBaseComponent component) {
56
- NftId nftId = getRegistry().getNftId(address(component));
57
- require(nftId.gtz(), "ERROR:COS-001:COMPONENT_UNKNOWN");
58
- _;
59
- }
60
-
61
- constructor(
62
- address registry,
63
- NftId registryNftId,
64
- address initialOwner
65
- )
66
- {
67
- _initializeService(registry, initialOwner);
68
- _registerInterface(type(IComponentOwnerService).interfaceId);
69
- }
70
-
71
- function getName() public pure override(IService, Service) returns(string memory name) {
72
- return NAME;
73
- }
74
-
75
- function getRoleForType(
76
- ObjectType cType
77
- ) public pure override returns (RoleId role) {
78
- if (cType == PRODUCT()) {
79
- return PRODUCT_OWNER_ROLE();
80
- }
81
- if (cType == POOL()) {
82
- return POOL_OWNER_ROLE();
83
- }
84
- if (cType == DISTRIBUTION()) {
85
- return DISTRIBUTION_OWNER_ROLE();
86
- }
87
- if (cType == ORACLE()) {
88
- return ORACLE_OWNER_ROLE();
89
- }
90
- }
91
-
92
- function getRegistryService() public view virtual returns (IRegistryService) {
93
- address service = getRegistry().getServiceAddress("RegistryService", getMajorVersion());
94
- return IRegistryService(service);
95
- }
96
-
97
- function registerProduct(
98
- IBaseComponent product
99
- ) external returns (NftId nftId) {
100
-
101
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
102
- (
103
- IRegistry.ObjectInfo memory info,
104
- bytes memory data
105
- ) = getRegistryService().registerProduct(
106
- product,
107
- msg.sender);
108
-
109
- NftId instanceNftId = info.parentNftId;
110
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
111
- IInstance instance = IInstance(instanceAddress);
112
-
113
- RoleId typeRole = getRoleForType(PRODUCT());
114
- // TODO refactor to use access manager infra
115
- // if(instance.hasRole(typeRole, msg.sender) == false) {
116
- // revert MissingTypeRole();
117
- // }
118
-
119
- _registerProduct(
120
- info.nftId,
121
- instanceNftId,
122
- instance,
123
- data
124
- );
125
- }
126
-
127
- function registerPool(
128
- IBaseComponent pool
129
- ) external returns (NftId nftId) {
130
-
131
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
132
- (
133
- IRegistry.ObjectInfo memory info,
134
- bytes memory data
135
- ) = getRegistryService().registerPool(
136
- pool,
137
- msg.sender);
138
-
139
- NftId instanceNftId = info.parentNftId;
140
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
141
- IInstance instance = IInstance(instanceAddress);
142
-
143
- RoleId typeRole = getRoleForType(POOL());
144
- // TODO refactor to use access manager infra
145
- // if(instance.hasRole(typeRole, msg.sender) == false) {
146
- // revert MissingTypeRole();
147
- // }
148
-
149
- _registerPool(
150
- info.nftId,
151
- instanceNftId,
152
- instance,
153
- data
154
- );
155
- }
156
-
157
- function registerDistribution(
158
- IBaseComponent distribution
159
- ) external returns (NftId nftId) {
160
-
161
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
162
- (
163
- IRegistry.ObjectInfo memory info,
164
- bytes memory data
165
- ) = getRegistryService().registerDistribution(
166
- distribution,
167
- msg.sender);
168
-
169
- NftId instanceNftId = info.parentNftId;
170
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
171
- IInstance instance = IInstance(instanceAddress);
172
-
173
- RoleId typeRole = getRoleForType(DISTRIBUTION());
174
- // TODO refactor to use access manager infra
175
- // if(instance.hasRole(typeRole, msg.sender) == false) {
176
- // revert MissingTypeRole();
177
- // }
178
- }
179
-
180
- function lock(
181
- IBaseComponent component
182
- ) external override onlyRegisteredComponent(component) {
183
- // TODO use msg.sender to get component and get instance via registered parent nft id
184
- IInstance instance = component.getInstance();
185
- NftId nftId = component.getNftId();
186
- Key32 key = nftId.toKey32(COMPONENT());
187
- // instance.updateState(key, PAUSED());
188
- }
189
-
190
- function unlock(
191
- IBaseComponent component
192
- ) external override onlyRegisteredComponent(component) {
193
- // TODO use msg.sender to get component and get instance via registered parent nft id
194
- IInstance instance = component.getInstance();
195
- NftId nftId = component.getNftId();
196
- Key32 key = nftId.toKey32(COMPONENT());
197
- // instance.updateState(key, ACTIVE());
198
- }
199
-
200
- // Internals
201
-
202
- function _registerProduct(
203
- NftId nftId,
204
- NftId instanceNftId,
205
- IInstance instance,
206
- bytes memory data
207
- )
208
- internal
209
- {
210
- // TODO change treasury info to product setup info
211
- (ISetup.ProductSetupInfo memory info) = abi.decode(data, (ISetup.ProductSetupInfo));
212
- // (
213
- // ITreasury.TreasuryInfo memory info,
214
- // address wallet
215
- // ) = abi.decode(data, (ITreasury.TreasuryInfo, address));
216
-
217
- // IRegistry _registry = getRegistry();
218
-
219
- // if(wallet == address(0)) {
220
- // revert WalletIsZero();
221
- // }
222
-
223
- // IRegistry.ObjectInfo memory tokenInfo = _registry.getObjectInfo(address(info.token));
224
-
225
- // if(tokenInfo.objectType != TOKEN()) {
226
- // revert InvalidToken();
227
- // }
228
-
229
- // IRegistry.ObjectInfo memory poolInfo = _registry.getObjectInfo(info.poolNftId);
230
-
231
- // if(poolInfo.objectType != POOL()) {
232
- // revert InvalidPool();
233
- // }
234
-
235
- // if(poolInfo.parentNftId != instanceNftId) {
236
- // revert InvalidPoolsInstance();
237
- // }
238
- // // TODO pool have the same token
239
- // //ITreasury.PoolSetup memory poolSetup = instance.getPoolSetup(info.poolNftId);
240
- // //require(tokenInfo.objectAddress == address(poolSetup.token), "ERROR:COS-018:PRODUCT_POOL_TOKEN_MISMATCH");
241
- // // TODO pool is not linked
242
-
243
- // IRegistry.ObjectInfo memory distributionInfo = _registry.getObjectInfo(info.distributionNftId);
244
-
245
- // if(distributionInfo.objectType != DISTRIBUTION()) {
246
- // revert InvalidDistribution();
247
- // }
248
-
249
- // if(distributionInfo.parentNftId != instanceNftId) {
250
- // revert InvalidDistributionsInstance();
251
- // }
252
- // // TODO distribution have the same token
253
- // // TODO distribution is not linked
254
-
255
- // // component module
256
- // instance.registerComponent(
257
- // nftId,
258
- // info.token,
259
- // wallet // TODO move wallet into TreasuryInfo?
260
- // );
261
-
262
- // treasury module
263
- instance.createProductSetup(
264
- nftId,
265
- info
266
- );
267
- }
268
-
269
- function _registerPool(
270
- NftId nftId,
271
- NftId instanceNftId,
272
- IInstance instance,
273
- bytes memory data
274
- )
275
- internal
276
- {
277
- (
278
- ISetup.PoolSetupInfo memory info,
279
- address wallet,
280
- IERC20Metadata token,
281
- /*poolFee*/,
282
- /*stakingFee*/,
283
- /*performanceFee*/
284
- ) = abi.decode(data, (ISetup.PoolSetupInfo, address, IERC20Metadata, Fee, Fee, Fee));
285
-
286
- IRegistry _registry = getRegistry();
287
-
288
- if(wallet == address(0)) {
289
- revert WalletIsZero();
290
- }
291
-
292
- ObjectType tokenType = _registry.getObjectInfo(address(token)).objectType;
293
-
294
- if(tokenType != TOKEN()) {
295
- revert InvalidToken();
296
- }
297
-
298
- if(UFixedLib.eqz(info.collateralizationLevel)) {
299
- revert CollateralizationLevelIsZero();
300
- }
301
-
302
- // TODO add more validations
303
-
304
- // // component module
305
- // instance.registerComponent(
306
- // nftId,
307
- // token,
308
- // wallet
309
- // );
310
-
311
- // pool module
312
- instance.createPoolSetup(
313
- nftId,
314
- info
315
- );
316
- }
317
- }
@@ -1,99 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IRegistryService} from "../../registry/IRegistryService.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {InstanceReader} from "../../instance/InstanceReader.sol";
8
- import {ISetup} from "../../instance/module/ISetup.sol";
9
- import {ITreasury} from "../../instance/module/ITreasury.sol";
10
-
11
- import {NftId, NftIdLib} from "../../types/NftId.sol";
12
- import {Fee} from "../../types/Fee.sol";
13
- import {DISTRIBUTION_OWNER_ROLE} from "../../types/RoleId.sol";
14
- import {KEEP_STATE} from "../../types/StateId.sol";
15
- import {DISTRIBUTION} from "../../types/ObjectType.sol";
16
- import {Version, VersionLib} from "../../types/Version.sol";
17
-
18
- import {IVersionable} from "../../shared/IVersionable.sol";
19
- import {Versionable} from "../../shared/Versionable.sol";
20
-
21
- import {IService} from "../../shared/IService.sol";
22
- import {Service} from "../../shared/Service.sol";
23
- import {ComponentServiceBase} from "../base/ComponentServiceBase.sol";
24
- import {IDistributionService} from "./IDistributionService.sol";
25
- import {Distribution} from "../../components/Distribution.sol";
26
- import {InstanceService} from "../InstanceService.sol";
27
- import {Instance} from "../Instance.sol";
28
- import {INftOwnable} from "../../shared/INftOwnable.sol";
29
-
30
- string constant DISTRIBUTION_SERVICE_NAME = "DistributionService";
31
-
32
- contract DistributionService is
33
- ComponentServiceBase,
34
- IDistributionService
35
- {
36
- using NftIdLib for NftId;
37
-
38
- string public constant NAME = "DistributionService";
39
-
40
- address internal _registryAddress;
41
-
42
- function _initialize(
43
- address owner,
44
- bytes memory data
45
- )
46
- internal
47
- initializer
48
- virtual override
49
- {
50
- address initialOwner = address(0);
51
- (_registryAddress, initialOwner) = abi.decode(data, (address, address));
52
-
53
- _initializeService(_registryAddress, initialOwner);
54
-
55
- _registerInterface(type(IService).interfaceId);
56
- _registerInterface(type(IDistributionService).interfaceId);
57
- }
58
-
59
-
60
- function getName() public pure override(IService, Service) returns(string memory name) {
61
- return NAME;
62
- }
63
-
64
- function register(address distributionComponentAddress)
65
- external
66
- onlyInstanceRole(DISTRIBUTION_OWNER_ROLE(), distributionComponentAddress)
67
- returns (NftId distributionNftId)
68
- {
69
- address componentOwner = msg.sender;
70
- Distribution distribution = Distribution(distributionComponentAddress);
71
- IInstance instance = distribution.getInstance();
72
-
73
- IRegistryService registryService = getRegistryService();
74
- (IRegistry.ObjectInfo memory distributionObjInfo, ) = registryService.registerDistribution(
75
- distribution,
76
- componentOwner
77
- );
78
- distributionNftId = distributionObjInfo.nftId;
79
-
80
- ISetup.DistributionSetupInfo memory initialSetup = distribution.getInitialSetupInfo();
81
- instance.createDistributionSetup(distributionNftId, initialSetup);
82
- }
83
-
84
- function setFees(
85
- Fee memory distributionFee
86
- )
87
- external
88
- override
89
- {
90
- (IRegistry.ObjectInfo memory info , IInstance instance) = _getAndVerifyComponentInfoAndInstance(DISTRIBUTION());
91
- InstanceReader instanceReader = instance.getInstanceReader();
92
- NftId distributionNftId = info.nftId;
93
-
94
- ISetup.DistributionSetupInfo memory distSetupInfo = instanceReader.getDistributionSetupInfo(distributionNftId);
95
- distSetupInfo.distributionFee = distributionFee;
96
-
97
- instance.updateDistributionSetup(distributionNftId, distSetupInfo, KEEP_STATE());
98
- }
99
- }
@@ -1,53 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {DistributionService} from "./DistributionService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {VersionLib} from "../../types/Version.sol";
10
-
11
- contract DistributionServiceManager is ProxyManager {
12
-
13
- DistributionService private _distributionService;
14
-
15
- /// @dev initializes proxy manager with distribution service implementation and deploys instance
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager()
20
- {
21
- DistributionService distSrv = new DistributionService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(distSrv),
25
- data);
26
-
27
- _distributionService = DistributionService(address(versionable));
28
-
29
- Registry registry = Registry(registryAddress);
30
- address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
31
- RegistryService registryService = RegistryService(registryServiceAddress);
32
-
33
- registryService.registerService(_distributionService);
34
-
35
- // link ownership of instance service manager ot nft owner of instance service
36
- _linkToNftOwnable(
37
- address(registryAddress),
38
- address(_distributionService));
39
-
40
- // implies that after this constructor call only upgrade functionality is available
41
- _isDeployed = true;
42
- }
43
-
44
- //--- view functions ----------------------------------------------------//
45
- function getDistributionService()
46
- external
47
- view
48
- returns (DistributionService distributionService)
49
- {
50
- return _distributionService;
51
- }
52
-
53
- }
@@ -1,20 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {ObjectType} from "../../types/ObjectType.sol";
6
- import {RoleId} from "../../types/RoleId.sol";
7
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
8
- import {IService} from "../../shared/IService.sol";
9
-
10
- // TODO rename to registry service
11
- interface IComponentOwnerService is IService {
12
-
13
- // TODO move to product/pool services
14
- function lock(IBaseComponent component) external;
15
-
16
- // TODO move to product/pool services
17
- function unlock(IBaseComponent component) external;
18
-
19
- function getRoleForType(ObjectType cType) external pure returns (RoleId role);
20
- }
@@ -1,12 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {IService} from "../../shared/IService.sol";
7
-
8
- interface IDistributionService is IService {
9
- function setFees(
10
- Fee memory distributionFee
11
- ) external;
12
- }
@@ -1,37 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {IService} from "../../shared/IService.sol";
7
-
8
- interface IPoolService is IService {
9
- function setFees(
10
- Fee memory poolFee,
11
- Fee memory stakingFee,
12
- Fee memory performanceFee
13
- ) external;
14
-
15
- function createBundle(
16
- address owner,
17
- Fee memory fee,
18
- uint256 amount,
19
- uint256 lifetime,
20
- bytes calldata filter
21
- ) external returns(NftId bundleNftId);
22
-
23
- function setBundleFee(
24
- NftId bundleNftId,
25
- Fee memory fee
26
- ) external;
27
-
28
- // function fundBundle(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
29
-
30
- // function defundBundle(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
31
-
32
- // function lockBundle(NftId bundleNftId) external;
33
-
34
- // function unlockBundle(NftId bundleNftId) external;
35
-
36
- // function closeBundle(NftId bundleNftId) external;
37
- }
@@ -1,107 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "../../shared/IService.sol";
6
-
7
- import {NftId} from "../../types/NftId.sol";
8
- import {ReferralId} from "../../types/Referral.sol";
9
- import {RiskId} from "../../types/RiskId.sol";
10
- import {StateId} from "../../types/StateId.sol";
11
- import {Timestamp} from "../../types/Timestamp.sol";
12
- import {UFixed} from "../../types/UFixed.sol";
13
- import {Fee} from "../../types/Fee.sol";
14
-
15
- interface IProductService is IService {
16
- function setFees(
17
- Fee memory productFee,
18
- Fee memory processingFee
19
- ) external;
20
-
21
- function createRisk(
22
- RiskId riskId,
23
- bytes memory data
24
- ) external;
25
-
26
-
27
- function setRiskInfo(
28
- RiskId riskId,
29
- IRisk.RiskInfo memory data
30
- ) external;
31
-
32
-
33
- function updateRiskState(
34
- RiskId riskId,
35
- StateId state
36
- ) external;
37
-
38
-
39
- function calculatePremium(
40
- RiskId riskId,
41
- uint256 sumInsuredAmount,
42
- uint256 lifetime,
43
- bytes memory applicationData,
44
- NftId bundleNftId,
45
- ReferralId referralId
46
- )
47
- external
48
- view
49
- returns (
50
- uint256 premiumAmount,
51
- uint256 productFeeAmount,
52
- uint256 poolFeeAmount,
53
- uint256 bundleFeeAmount,
54
- uint256 distributionFeeAmount
55
- );
56
-
57
-
58
- function createApplication(
59
- address applicationOwner,
60
- RiskId riskId,
61
- uint256 sumInsuredAmount,
62
- uint256 lifetime,
63
- bytes memory applicationData,
64
- NftId bundleNftId,
65
- ReferralId referralId
66
- ) external returns (NftId nftId);
67
-
68
- /**
69
- * @dev revokes the application represented by {policyNftId}.
70
- * an application can only be revoked in applied state.
71
- * only the application holder may revoke an application.
72
- */
73
- function revoke(NftId policyNftId) external;
74
-
75
- /**
76
- * @dev underwrites the policy represented by {policyNftId}.
77
- * optionally collects premiums and activates the policy.
78
- * - premium payment is only attempted if requirePremiumPayment is set to true
79
- * - activation is only done if activateAt is a non-zero timestamp
80
- */
81
- function underwrite(
82
- NftId policyNftId,
83
- bool requirePremiumPayment,
84
- Timestamp activateAt
85
- ) external;
86
-
87
- // function decline(uint256 nftId) external;
88
- // function expire(uint256 nftId) external;
89
-
90
- function collectPremium(NftId policyNftId, Timestamp activateAt) external;
91
-
92
- function activate(NftId policyNftId, Timestamp activateAt) external;
93
-
94
-
95
- function close(NftId nftId) external;
96
-
97
- // function createClaim(uint256 nftId, uint256 claimAmount) external;
98
- // function confirmClaim(uint256 nftId, uint256 claimId, uint256 claimAmount) external;
99
- // function declineClaim(uint256 nftId, uint256 claimId) external;
100
- // function closeClaim(uint256 nftId, uint256 claimId) external;
101
-
102
- function calculateRequiredCollateral(
103
- UFixed collateralizationLevel,
104
- uint256 sumInsuredAmount
105
- ) external pure returns(uint256 collateralAmount);
106
-
107
- }