@etherisc/gif-next 0.0.2-743affe-003 → 0.0.2-754ba48-078

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 (812) hide show
  1. package/README.md +252 -21
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1494 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/{shared/IOwnable.sol/IOwnable.json → authorization/AccessAdmin.sol/IAccessManagedChecker.json} +4 -4
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +615 -0
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  19. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1224 -0
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +382 -0
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  27. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +644 -0
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1016 -0
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1580 -0
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +868 -0
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +915 -0
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1071 -0
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2032 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  53. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1523 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2432 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +380 -1721
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +802 -0
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +454 -2019
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2036 -0
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +716 -0
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2463 -0
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1048 -0
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +734 -0
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3738 -0
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  93. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  102. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  103. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  104. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  105. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  106. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  107. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  108. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  109. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  110. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  111. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  112. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  113. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  114. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
  116. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
  118. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  120. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +774 -0
  122. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
  124. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +875 -0
  126. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  127. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  128. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  129. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
  130. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  132. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  133. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
  134. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1261 -0
  136. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +800 -0
  138. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  139. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +880 -0
  140. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  141. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +907 -0
  142. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  143. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
  144. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  145. package/artifacts/contracts/pool/Pool.sol/Pool.json +1027 -0
  146. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  147. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  148. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  149. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1574 -0
  150. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +808 -0
  152. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  153. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +879 -0
  154. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +740 -0
  156. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  157. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
  158. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  159. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
  160. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  161. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1496 -0
  162. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  163. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +848 -0
  164. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +295 -330
  166. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  167. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
  168. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  169. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
  170. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  171. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +623 -0
  172. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  173. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1018 -0
  174. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  175. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → product/IRiskService.sol/IRiskService.json} +246 -146
  176. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  177. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1333 -0
  178. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  179. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  180. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +808 -0
  182. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  183. package/artifacts/contracts/product/PricingService.sol/PricingService.json +951 -0
  184. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +784 -0
  186. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  187. package/artifacts/contracts/product/Product.sol/Product.json +1119 -0
  188. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  189. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  190. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  191. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  192. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  193. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +103 -2
  194. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  195. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +810 -171
  196. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  197. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +561 -186
  198. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  199. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  200. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  201. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  202. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  203. package/artifacts/contracts/registry/Registry.sol/Registry.json +1016 -148
  204. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2018 -0
  206. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  207. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  208. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  209. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +625 -217
  210. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  211. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +735 -0
  212. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  214. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  215. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  216. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  217. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
  218. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  219. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  220. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  221. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  222. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  223. package/artifacts/contracts/shared/Component.sol/Component.json +707 -0
  224. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1532 -0
  226. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
  228. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  229. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +253 -161
  230. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  233. package/artifacts/contracts/{instance/IInstanceLinked.sol/IInstanceLinked.json → shared/ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  234. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  235. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  236. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  237. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  238. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +632 -0
  240. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  241. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1180 -0
  242. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  243. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +709 -0
  244. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  245. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +122 -172
  246. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  247. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  248. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  249. package/artifacts/contracts/{instance/module/component/ComponentModule.sol/ComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +82 -52
  250. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  251. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  252. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +213 -8
  254. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  255. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  256. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  257. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +189 -179
  258. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  259. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  260. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  261. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +797 -0
  262. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  263. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  264. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  265. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  266. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  267. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  268. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  269. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +209 -0
  270. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  271. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  272. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  273. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +226 -8
  274. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  275. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  276. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  277. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +196 -199
  278. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  279. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +723 -0
  280. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  281. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  282. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  283. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  284. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  285. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1512 -0
  286. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  287. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1167 -0
  288. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  289. package/artifacts/contracts/staking/Staking.sol/Staking.json +1917 -0
  290. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  292. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  294. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +796 -0
  296. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +560 -0
  298. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  299. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1380 -0
  300. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  301. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +736 -0
  302. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  303. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2297 -0
  304. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  305. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +617 -0
  306. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  307. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  308. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  310. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  312. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  314. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  316. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  318. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  320. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  321. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  322. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  324. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  325. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  326. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  328. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  330. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  332. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  334. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  336. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +433 -0
  338. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  340. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  342. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  344. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  346. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  348. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  350. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  352. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  353. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  354. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  355. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  356. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  357. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  358. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  359. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  360. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  361. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  362. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  363. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  364. package/contracts/accounting/AccountingService.sol +262 -0
  365. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  366. package/contracts/accounting/IAccountingService.sol +45 -0
  367. package/contracts/authorization/AccessAdmin.sol +704 -0
  368. package/contracts/authorization/AccessAdminLib.sol +183 -0
  369. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  370. package/contracts/authorization/Authorization.sol +365 -0
  371. package/contracts/authorization/IAccess.sol +49 -0
  372. package/contracts/authorization/IAccessAdmin.sol +170 -0
  373. package/contracts/authorization/IAuthorization.sol +80 -0
  374. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  375. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  376. package/contracts/distribution/BasicDistribution.sol +141 -0
  377. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  378. package/contracts/distribution/Distribution.sol +289 -0
  379. package/contracts/distribution/DistributionService.sol +385 -0
  380. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  381. package/contracts/distribution/IDistributionComponent.sol +52 -0
  382. package/contracts/distribution/IDistributionService.sol +103 -0
  383. package/contracts/examples/fire/DamageLevel.sol +59 -0
  384. package/contracts/examples/fire/FirePool.sol +90 -0
  385. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  386. package/contracts/examples/fire/FireProduct.sol +437 -0
  387. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  388. package/contracts/examples/fire/FireUSD.sol +26 -0
  389. package/contracts/examples/unpermissioned/SimpleDistribution.sol +85 -0
  390. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  391. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  392. package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
  393. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  394. package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
  395. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  396. package/contracts/instance/BundleSet.sol +130 -0
  397. package/contracts/instance/IInstance.sol +98 -47
  398. package/contracts/instance/IInstanceService.sol +84 -0
  399. package/contracts/instance/Instance.sol +283 -72
  400. package/contracts/instance/InstanceAdmin.sol +450 -0
  401. package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
  402. package/contracts/instance/InstanceReader.sol +650 -0
  403. package/contracts/instance/InstanceService.sol +462 -0
  404. package/contracts/instance/InstanceServiceManager.sol +39 -0
  405. package/contracts/instance/InstanceStore.sol +298 -0
  406. package/contracts/instance/RiskSet.sol +118 -0
  407. package/contracts/instance/base/BalanceStore.sol +123 -0
  408. package/contracts/instance/base/Cloneable.sol +28 -0
  409. package/contracts/instance/base/ObjectCounter.sol +20 -0
  410. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  411. package/contracts/instance/base/ObjectSet.sol +77 -0
  412. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  413. package/contracts/instance/module/IBundle.sol +20 -0
  414. package/contracts/instance/module/IComponents.sol +51 -0
  415. package/contracts/instance/module/IDistribution.sol +44 -0
  416. package/contracts/instance/module/IPolicy.sol +85 -0
  417. package/contracts/instance/module/IRisk.sol +14 -0
  418. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  419. package/contracts/oracle/BasicOracle.sol +47 -0
  420. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  421. package/contracts/oracle/IOracle.sol +36 -0
  422. package/contracts/oracle/IOracleComponent.sol +33 -0
  423. package/contracts/oracle/IOracleService.sol +66 -0
  424. package/contracts/oracle/Oracle.sol +156 -0
  425. package/contracts/oracle/OracleService.sol +310 -0
  426. package/contracts/oracle/OracleServiceManager.sol +39 -0
  427. package/contracts/pool/BasicPool.sol +175 -0
  428. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  429. package/contracts/pool/BundleService.sol +395 -0
  430. package/contracts/pool/BundleServiceManager.sol +39 -0
  431. package/contracts/pool/IBundleService.sol +115 -0
  432. package/contracts/pool/IPoolComponent.sol +62 -0
  433. package/contracts/pool/IPoolService.sol +165 -0
  434. package/contracts/pool/Pool.sol +345 -0
  435. package/contracts/pool/PoolLib.sol +216 -0
  436. package/contracts/pool/PoolService.sol +757 -0
  437. package/contracts/pool/PoolServiceManager.sol +39 -0
  438. package/contracts/product/ApplicationService.sol +274 -0
  439. package/contracts/product/ApplicationServiceManager.sol +38 -0
  440. package/contracts/product/BasicProduct.sol +51 -0
  441. package/contracts/product/BasicProductAuthorization.sol +56 -0
  442. package/contracts/product/ClaimService.sol +632 -0
  443. package/contracts/product/ClaimServiceManager.sol +38 -0
  444. package/contracts/product/IApplicationService.sol +69 -0
  445. package/contracts/product/IClaimService.sol +135 -0
  446. package/contracts/product/IPolicyService.sol +95 -0
  447. package/contracts/product/IPricingService.sol +40 -0
  448. package/contracts/product/IProductComponent.sol +62 -0
  449. package/contracts/product/IRiskService.sol +33 -0
  450. package/contracts/product/PolicyService.sol +664 -0
  451. package/contracts/product/PolicyServiceLib.sol +65 -0
  452. package/contracts/product/PolicyServiceManager.sol +39 -0
  453. package/contracts/product/PricingService.sol +309 -0
  454. package/contracts/product/PricingServiceManager.sol +39 -0
  455. package/contracts/product/Product.sol +469 -0
  456. package/contracts/product/RiskService.sol +154 -0
  457. package/contracts/product/RiskServiceManager.sol +39 -0
  458. package/contracts/registry/ChainNft.sol +99 -37
  459. package/contracts/registry/IRegistry.sol +131 -40
  460. package/contracts/registry/IRegistryService.sol +49 -16
  461. package/contracts/registry/IRelease.sol +26 -0
  462. package/contracts/registry/ITransferInterceptor.sol +1 -1
  463. package/contracts/registry/Registry.sol +569 -344
  464. package/contracts/registry/RegistryAdmin.sol +258 -0
  465. package/contracts/registry/RegistryAuthorization.sol +267 -0
  466. package/contracts/registry/RegistryService.sol +147 -289
  467. package/contracts/registry/RegistryServiceManager.sol +53 -0
  468. package/contracts/registry/ReleaseAdmin.sol +253 -0
  469. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  470. package/contracts/registry/ReleaseRegistry.sol +517 -0
  471. package/contracts/registry/ServiceAuthorizationV3.sol +331 -0
  472. package/contracts/registry/TokenRegistry.sol +313 -0
  473. package/contracts/shared/Component.sol +227 -0
  474. package/contracts/shared/ComponentService.sol +689 -0
  475. package/contracts/shared/ComponentServiceManager.sol +38 -0
  476. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  477. package/contracts/shared/ContractLib.sol +281 -0
  478. package/contracts/shared/IComponent.sol +61 -0
  479. package/contracts/shared/IComponentService.sol +110 -0
  480. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  481. package/contracts/shared/IKeyValueStore.sol +54 -0
  482. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  483. package/contracts/shared/INftOwnable.sol +25 -0
  484. package/contracts/shared/IPolicyHolder.sol +35 -0
  485. package/contracts/shared/IRegisterable.sol +24 -9
  486. package/contracts/shared/IRegistryLinked.sol +11 -0
  487. package/contracts/shared/IService.sol +23 -0
  488. package/contracts/shared/InitializableERC165.sol +35 -0
  489. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  490. package/contracts/shared/KeyValueStore.sol +131 -0
  491. package/contracts/shared/Lifecycle.sol +88 -0
  492. package/contracts/shared/NftIdSet.sol +65 -0
  493. package/contracts/shared/NftOwnable.sol +127 -0
  494. package/contracts/shared/PolicyHolder.sol +62 -0
  495. package/contracts/shared/Registerable.sol +51 -62
  496. package/contracts/shared/RegistryLinked.sol +38 -0
  497. package/contracts/shared/Service.sol +65 -0
  498. package/contracts/shared/TokenHandler.sol +342 -0
  499. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  500. package/contracts/staking/IStaking.sol +175 -0
  501. package/contracts/staking/IStakingService.sol +172 -0
  502. package/contracts/staking/Staking.sol +546 -0
  503. package/contracts/staking/StakingLib.sol +281 -0
  504. package/contracts/staking/StakingLifecycle.sol +23 -0
  505. package/contracts/staking/StakingManager.sol +52 -0
  506. package/contracts/staking/StakingReader.sol +180 -0
  507. package/contracts/staking/StakingService.sol +464 -0
  508. package/contracts/staking/StakingServiceManager.sol +45 -0
  509. package/contracts/staking/StakingStore.sol +606 -0
  510. package/contracts/staking/TargetManagerLib.sol +211 -0
  511. package/contracts/{types → type}/AddressSet.sol +1 -1
  512. package/contracts/type/Amount.sol +150 -0
  513. package/contracts/{types → type}/Blocknumber.sol +27 -3
  514. package/contracts/type/ClaimId.sol +80 -0
  515. package/contracts/type/DistributorType.sol +55 -0
  516. package/contracts/type/Fee.sol +66 -0
  517. package/contracts/{types → type}/Key32.sol +10 -5
  518. package/contracts/type/Key32Set.sol +62 -0
  519. package/contracts/{types → type}/NftId.sol +28 -15
  520. package/contracts/type/NftIdSet.sol +62 -0
  521. package/contracts/type/ObjectType.sol +294 -0
  522. package/contracts/type/PayoutId.sol +82 -0
  523. package/contracts/type/Referral.sol +90 -0
  524. package/contracts/type/RequestId.sol +75 -0
  525. package/contracts/type/RiskId.sol +75 -0
  526. package/contracts/type/RoleId.sol +182 -0
  527. package/contracts/type/Seconds.sol +101 -0
  528. package/contracts/type/Selector.sol +107 -0
  529. package/contracts/{types → type}/StateId.sol +53 -5
  530. package/contracts/type/String.sol +53 -0
  531. package/contracts/{types → type}/Timestamp.sol +37 -19
  532. package/contracts/{types → type}/UFixed.sol +48 -12
  533. package/contracts/{types → type}/Version.sol +61 -6
  534. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  535. package/contracts/upgradeability/ProxyManager.sol +232 -0
  536. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +2 -4
  537. package/contracts/upgradeability/Versionable.sol +59 -0
  538. package/package.json +13 -8
  539. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  540. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -213
  541. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  542. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -445
  543. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  544. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -177
  545. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  546. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -343
  547. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  548. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -474
  549. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  550. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -373
  551. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  552. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -602
  553. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  554. package/artifacts/contracts/components/Product.sol/Product.json +0 -502
  555. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  556. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  557. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  558. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  559. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  560. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  561. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  562. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  563. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  564. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  565. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  566. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  567. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  568. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  569. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  570. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  571. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  572. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  573. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  574. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  575. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  576. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  577. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  578. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  579. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  580. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  581. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  582. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  583. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  584. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  585. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  586. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  587. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  588. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  589. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  590. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  591. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  592. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  593. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  594. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  595. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  596. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -344
  597. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  598. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  599. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  600. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  601. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  602. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  603. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  604. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  605. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  606. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  607. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  608. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  609. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  610. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  611. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  612. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  613. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  614. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  615. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  616. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  617. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  618. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  619. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  620. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  621. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  622. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  623. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  624. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  625. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  626. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  627. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  628. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  629. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  630. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  631. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  632. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  633. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  634. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  635. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  636. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  637. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  638. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  639. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  640. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  641. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  642. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  643. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  644. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  645. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  646. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  647. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  648. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  649. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -690
  650. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  651. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -526
  652. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  653. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  654. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -369
  655. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  656. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -484
  657. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  658. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  659. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -649
  660. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  661. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -964
  662. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  663. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  664. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  665. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.dbg.json +0 -4
  666. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.json +0 -344
  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/IOwnable.sol/IOwnable.dbg.json +0 -4
  670. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  671. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  672. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  673. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -310
  674. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  675. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  676. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  677. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  678. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  679. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  680. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  681. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  682. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  683. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  684. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  685. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  686. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  687. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -191
  688. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  689. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  690. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  691. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -472
  692. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  693. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  694. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  695. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  696. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  697. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  698. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  699. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  700. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  701. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  702. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  703. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  704. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  705. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  706. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  707. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  708. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  709. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  710. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  711. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  712. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  713. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  714. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  715. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  716. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  717. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  718. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  719. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  720. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  721. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  722. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  723. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  724. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  725. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  726. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  727. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  728. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  729. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  730. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  731. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  732. package/contracts/components/BaseComponent.sol +0 -79
  733. package/contracts/components/Distribution.sol +0 -155
  734. package/contracts/components/IBaseComponent.sol +0 -19
  735. package/contracts/components/IDistributionComponent.sol +0 -47
  736. package/contracts/components/IPoolComponent.sol +0 -65
  737. package/contracts/components/IProductComponent.sol +0 -39
  738. package/contracts/components/Pool.sol +0 -246
  739. package/contracts/components/Product.sol +0 -299
  740. package/contracts/experiment/errors/Require.sol +0 -38
  741. package/contracts/experiment/errors/Revert.sol +0 -44
  742. package/contracts/experiment/inheritance/A.sol +0 -53
  743. package/contracts/experiment/inheritance/B.sol +0 -28
  744. package/contracts/experiment/inheritance/C.sol +0 -34
  745. package/contracts/experiment/inheritance/IA.sol +0 -13
  746. package/contracts/experiment/inheritance/IB.sol +0 -10
  747. package/contracts/experiment/inheritance/IC.sol +0 -12
  748. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  749. package/contracts/experiment/statemachine/ISM.sol +0 -25
  750. package/contracts/experiment/statemachine/SM.sol +0 -57
  751. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  752. package/contracts/experiment/types/TypeA.sol +0 -47
  753. package/contracts/experiment/types/TypeB.sol +0 -29
  754. package/contracts/instance/IInstanceLinked.sol +0 -8
  755. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  756. package/contracts/instance/base/IInstanceBase.sol +0 -23
  757. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  758. package/contracts/instance/base/IService.sol +0 -15
  759. package/contracts/instance/base/InstanceBase.sol +0 -89
  760. package/contracts/instance/base/KeyValueStore.sol +0 -161
  761. package/contracts/instance/base/Lifecycle.sol +0 -100
  762. package/contracts/instance/base/ModuleBase.sol +0 -57
  763. package/contracts/instance/base/ServiceBase.sol +0 -43
  764. package/contracts/instance/module/access/Access.sol +0 -149
  765. package/contracts/instance/module/access/IAccess.sol +0 -53
  766. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  767. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  768. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  769. package/contracts/instance/module/component/IComponent.sol +0 -28
  770. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  771. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  772. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  773. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  774. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  775. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  776. package/contracts/instance/module/risk/IRisk.sol +0 -26
  777. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  778. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  779. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  780. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  781. package/contracts/instance/service/ComponentOwnerService.sol +0 -272
  782. package/contracts/instance/service/DistributionService.sol +0 -54
  783. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  784. package/contracts/instance/service/IDistributionService.sol +0 -12
  785. package/contracts/instance/service/IPoolService.sol +0 -37
  786. package/contracts/instance/service/IProductService.sol +0 -107
  787. package/contracts/instance/service/PoolService.sol +0 -149
  788. package/contracts/instance/service/ProductService.sol +0 -509
  789. package/contracts/registry/IChainNft.sol +0 -22
  790. package/contracts/registry/IRegistryLinked.sol +0 -8
  791. package/contracts/registry/RegistryInstaller.sol +0 -100
  792. package/contracts/shared/ERC165.sol +0 -21
  793. package/contracts/shared/IOwnable.sol +0 -6
  794. package/contracts/shared/ProxyManager.sol +0 -115
  795. package/contracts/shared/Versionable.sol +0 -147
  796. package/contracts/test/TestDistribution.sol +0 -22
  797. package/contracts/test/TestFee.sol +0 -25
  798. package/contracts/test/TestPool.sol +0 -27
  799. package/contracts/test/TestProduct.sol +0 -74
  800. package/contracts/test/TestRegisterable.sol +0 -18
  801. package/contracts/test/TestRoleId.sol +0 -14
  802. package/contracts/test/TestService.sol +0 -26
  803. package/contracts/test/TestVersion.sol +0 -44
  804. package/contracts/test/TestVersionable.sol +0 -17
  805. package/contracts/test/Usdc.sol +0 -26
  806. package/contracts/types/ChainId.sol +0 -38
  807. package/contracts/types/Fee.sol +0 -56
  808. package/contracts/types/NftIdSet.sol +0 -60
  809. package/contracts/types/ObjectType.sol +0 -131
  810. package/contracts/types/ReferralId.sol +0 -48
  811. package/contracts/types/RiskId.sol +0 -43
  812. package/contracts/types/RoleId.sol +0 -38
@@ -1,30 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "VersionPartLib",
4
- "sourceName": "contracts/types/Version.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "VersionPart",
10
- "name": "x",
11
- "type": "uint8"
12
- }
13
- ],
14
- "name": "toInt",
15
- "outputs": [
16
- {
17
- "internalType": "uint256",
18
- "name": "",
19
- "type": "uint256"
20
- }
21
- ],
22
- "stateMutability": "pure",
23
- "type": "function"
24
- }
25
- ],
26
- "bytecode": "0x60b9610039600b82828239805160001a60731461002c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063ac43d834146038575b600080fd5b60496043366004605b565b60ff1690565b60405190815260200160405180910390f35b600060208284031215606c57600080fd5b813560ff81168114607c57600080fd5b939250505056fea264697066735822122028c6578af7cf354c26921be53c7bafd817914c3fa380a53d5f0e3935a1b47c8b64736f6c63430008140033",
27
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063ac43d834146038575b600080fd5b60496043366004605b565b60ff1690565b60405190815260200160405180910390f35b600060208284031215606c57600080fd5b813560ff81168114607c57600080fd5b939250505056fea264697066735822122028c6578af7cf354c26921be53c7bafd817914c3fa380a53d5f0e3935a1b47c8b64736f6c63430008140033",
28
- "linkReferences": {},
29
- "deployedLinkReferences": {}
30
- }
@@ -1,79 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin5/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Registerable} from "../shared/Registerable.sol";
7
-
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
- import {IInstance} from "../instance/IInstance.sol";
10
-
11
- import {IInstance} from "../instance/IInstance.sol";
12
- import {IComponentOwnerService} from "../instance/service/IComponentOwnerService.sol";
13
- import {IBaseComponent} from "./IBaseComponent.sol";
14
- import {NftId} from "../types/NftId.sol";
15
- import {ObjectType} from "../types/ObjectType.sol";
16
-
17
- abstract contract BaseComponent is
18
- Registerable,
19
- IBaseComponent
20
- {
21
- IComponentOwnerService internal _componentOwnerService;
22
-
23
- address internal _deployer;
24
- address internal _wallet;
25
- IERC20Metadata internal _token;
26
- IInstance internal _instance;
27
-
28
- constructor(
29
- address registry,
30
- NftId instanceNftId,
31
- address token,
32
- ObjectType componentType,
33
- bool isInterceptor,
34
- address initialOwner
35
- )
36
- {
37
- bytes memory data = "";
38
- _initializeRegisterable(registry, instanceNftId, componentType, isInterceptor, initialOwner, data);
39
-
40
- IRegistry.ObjectInfo memory instanceInfo = getRegistry().getObjectInfo(instanceNftId);
41
- _instance = IInstance(instanceInfo.objectAddress);
42
- require(
43
- _instance.supportsInterface(type(IInstance).interfaceId),
44
- ""
45
- );
46
-
47
- _componentOwnerService = _instance.getComponentOwnerService();
48
- _wallet = address(this);
49
- _token = IERC20Metadata(token);
50
-
51
- _registerInterface(type(IBaseComponent).interfaceId);
52
- }
53
-
54
- // from component contract
55
- function lock() external onlyOwner override {
56
- _componentOwnerService.lock(this);
57
- }
58
-
59
- function unlock() external onlyOwner override {
60
- _componentOwnerService.unlock(this);
61
- }
62
-
63
- function getWallet()
64
- external
65
- view
66
- override
67
- returns (address walletAddress)
68
- {
69
- return _wallet;
70
- }
71
-
72
- function getToken() external view override returns (IERC20Metadata token) {
73
- return _token;
74
- }
75
-
76
- function getInstance() external view override returns (IInstance instance) {
77
- return _instance;
78
- }
79
- }
@@ -1,155 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {DISTRIBUTION} from "../types/ObjectType.sol";
5
- import {IDistributionService} from "../instance/service/IDistributionService.sol";
6
- import {IProductService} from "../instance/service/IProductService.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {ReferralId} from "../types/ReferralId.sol";
9
- import {Fee, FeeLib} from "../types/Fee.sol";
10
- import {BaseComponent} from "./BaseComponent.sol";
11
- import {IDistributionComponent} from "./IDistributionComponent.sol";
12
- import {IRegistry} from "../registry/IRegistry.sol";
13
- import {IRegisterable} from "../shared/IRegisterable.sol";
14
- import {Registerable} from "../shared/Registerable.sol";
15
-
16
- contract Distribution is
17
- BaseComponent,
18
- IDistributionComponent
19
- {
20
-
21
- Fee internal _initialDistributionFee;
22
- bool internal _isVerifying;
23
-
24
- IDistributionService private _distributionService;
25
- IProductService private _productService;
26
-
27
- modifier onlyProductService() {
28
- require(
29
- msg.sender == address(_productService),
30
- "ERROR:POL-002:NOT_PRODUCT_SERVICE");
31
- _;
32
- }
33
-
34
- constructor(
35
- address registry,
36
- NftId instanceNftId,
37
- // TODO refactor into tokenNftId
38
- address token,
39
- bool verifying,
40
- Fee memory distributionFee,
41
- address initialOwner
42
- )
43
- BaseComponent(registry, instanceNftId, token, DISTRIBUTION(), true, initialOwner)
44
- {
45
- _isVerifying = verifying;
46
- _initialDistributionFee = distributionFee;
47
-
48
- _distributionService = _instance.getDistributionService();
49
- _productService = _instance.getProductService();
50
-
51
- _registerInterface(type(IDistributionComponent).interfaceId);
52
- }
53
-
54
-
55
- function setFees(
56
- Fee memory distributionFee
57
- )
58
- external
59
- override
60
- {
61
- _distributionService.setFees(distributionFee);
62
- }
63
-
64
- function calculateFeeAmount(
65
- ReferralId referralId,
66
- uint256 netPremiumAmount
67
- )
68
- external
69
- view
70
- virtual override
71
- returns (uint256 feeAmount)
72
- {
73
- Fee memory fee = getDistributionFee();
74
- (feeAmount,) = FeeLib.calculateFee(fee, netPremiumAmount);
75
- }
76
-
77
-
78
- function calculateRenewalFeeAmount(
79
- ReferralId referralId,
80
- uint256 netPremiumAmount
81
- )
82
- external
83
- view
84
- virtual override
85
- returns (uint256 feeAmount)
86
- {
87
- // default is no fees
88
- return 0 * netPremiumAmount;
89
- }
90
-
91
- function processSale(
92
- ReferralId referralId,
93
- uint256 feeAmount
94
- )
95
- external
96
- onlyProductService
97
- virtual override
98
- {
99
- // default is no action
100
- }
101
-
102
- function processRenewal(
103
- ReferralId referralId,
104
- uint256 feeAmount
105
- )
106
- external
107
- onlyProductService
108
- virtual override
109
- {
110
- // default is no action
111
- }
112
-
113
- function referralIsValid(ReferralId referralId) external view returns (bool isValid) {
114
- // default is invalid
115
- return false;
116
- }
117
-
118
- /// @dev default distribution fee, ie when not using any valid referralId
119
- function getDistributionFee() public view returns (Fee memory distributionFee) {
120
- NftId productNftId = _instance.getProductNftId(getNftId());
121
- if (_instance.hasTreasuryInfo(productNftId)) {
122
- return _instance.getTreasuryInfo(productNftId).distributionFee;
123
- } else {
124
- return _initialDistributionFee;
125
- }
126
- }
127
-
128
-
129
- /// @dev returns true iff the component needs to be called when selling/renewing policis
130
- function isVerifying() external view returns (bool verifying) {
131
- return _isVerifying;
132
- }
133
-
134
- // from IRegisterable
135
-
136
- function getInitialInfo()
137
- public
138
- view
139
- override (IRegisterable, Registerable)
140
- returns(IRegistry.ObjectInfo memory, bytes memory)
141
- {
142
- (
143
- IRegistry.ObjectInfo memory info,
144
- bytes memory data
145
- ) = super.getInitialInfo();
146
-
147
- return (
148
- info,
149
- abi.encode(
150
- _initialDistributionFee,
151
- _isVerifying
152
- )
153
- );
154
- }
155
- }
@@ -1,19 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin5/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {IRegisterable} from "../shared/IRegisterable.sol";
7
- import {IInstanceLinked} from "../instance/IInstanceLinked.sol";
8
-
9
- interface IBaseComponent is IRegisterable, IInstanceLinked {
10
-
11
- function lock() external;
12
-
13
- function unlock() external;
14
-
15
- function getToken() external view returns (IERC20Metadata token);
16
-
17
- function getWallet() external view returns (address walletAddress);
18
-
19
- }
@@ -1,47 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Fee} from "../types/Fee.sol";
5
- import {ReferralId} from "../types/ReferralId.sol";
6
- import {NftId} from "../types/NftId.sol";
7
- import {IBaseComponent} from "./IBaseComponent.sol";
8
-
9
- interface IDistributionComponent is IBaseComponent {
10
-
11
- function setFees(
12
- Fee memory distributionFee
13
- ) external;
14
-
15
- function calculateFeeAmount(
16
- ReferralId referralId,
17
- uint256 netPremiumAmount
18
- ) external view returns (uint256 feeAmount);
19
-
20
- function calculateRenewalFeeAmount(
21
- ReferralId referralId,
22
- uint256 netPremiumAmount
23
- ) external view returns (uint256 feeAmount);
24
-
25
- /// @dev callback from product service when selling a policy for a specific referralId
26
- /// the used referral id and the collected fee are provided as parameters
27
- /// the component implementation can then process this information accordingly
28
- function processSale(
29
- ReferralId referralId,
30
- uint256 feeAmount
31
- ) external;
32
-
33
- /// @dev callback from product service when a policy is renews for a specific referralId
34
- function processRenewal(
35
- ReferralId referralId,
36
- uint256 feeAmount
37
- ) external;
38
-
39
- /// @dev returns true iff the referral id is valid
40
- function referralIsValid(ReferralId referralId) external view returns (bool isValid);
41
-
42
- /// @dev default distribution fee, ie when not using any valid referralId
43
- function getDistributionFee() external view returns (Fee memory distributionFee);
44
-
45
- /// @dev returns true iff the component needs to be called when selling/renewing policis
46
- function isVerifying() external view returns (bool verifying);
47
- }
@@ -1,65 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {NftId} from "../types/NftId.sol";
5
- import {Fee} from "../types/Fee.sol";
6
- import {UFixed} from "../types/UFixed.sol";
7
- import {IBaseComponent} from "./IBaseComponent.sol";
8
-
9
- interface IPoolComponent is IBaseComponent {
10
-
11
- event LogUnderwrittenByPool(NftId policyNftId, uint256 collateralizationAmount, address pool);
12
-
13
- function setFees(
14
- Fee memory poolFee,
15
- Fee memory stakingFee,
16
- Fee memory performanceFee
17
- ) external;
18
-
19
- /**
20
- * @dev creates a new bundle for this pool.
21
- */
22
- function createBundle(
23
- Fee memory fee,
24
- uint256 initialAmount,
25
- uint256 lifetime,
26
- bytes memory filter
27
- ) external returns(NftId bundleNftId);
28
-
29
- function setBundleFee(
30
- NftId policyNftId,
31
- Fee memory fee
32
- ) external;
33
-
34
- /**
35
- * @dev this is a callback function that is called by the product service when underwriting a policy.
36
- * the pool has the option to check the details and object to underwriting by reverting.
37
- * the function is only called for "active" pools that ask to be involved/notified
38
- * by product related state changes.
39
- */
40
- function underwrite(
41
- NftId policyNftId,
42
- bytes memory policyData,
43
- bytes memory bundleFilter,
44
- uint256 collateralizationAmount
45
- ) external;
46
-
47
- /**
48
- * @dev returns true iff the policy application data in policyData matches
49
- * with the bundle filter criteria encoded in bundleFilter.
50
- */
51
- function policyMatchesBundle(
52
- bytes memory policyData,
53
- bytes memory bundleFilter
54
- )
55
- external
56
- view
57
- returns (bool isMatching);
58
-
59
- function isVerifying() external view returns (bool verifying);
60
-
61
- function getCollateralizationLevel() external view returns (UFixed collateralizationLevel);
62
-
63
- function getFees() external view returns (Fee memory poolFee, Fee memory stakingFee, Fee memory performanceFee);
64
-
65
- }
@@ -1,39 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Fee} from "../types/Fee.sol";
5
- import {NftId} from "../types/NftId.sol";
6
- import {ReferralId} from "../types/ReferralId.sol";
7
- import {RiskId} from "../types/RiskId.sol";
8
-
9
- import {IBaseComponent} from "./IBaseComponent.sol";
10
-
11
- interface IProductComponent is IBaseComponent {
12
-
13
- function setFees(
14
- Fee memory productFee,
15
- Fee memory processingFee
16
- ) external;
17
-
18
- function calculatePremium(
19
- uint256 sumInsuredAmount,
20
- RiskId riskId,
21
- uint256 lifetime,
22
- bytes memory applicationData,
23
- ReferralId referralId,
24
- NftId bundleNftId
25
- ) external view returns (uint256 premiumAmount);
26
-
27
- function calculateNetPremium(
28
- uint256 sumInsuredAmount,
29
- RiskId riskId,
30
- uint256 lifetime,
31
- bytes memory applicationData
32
- ) external view returns (uint256 netPremiumAmount);
33
-
34
- function getProductFee() external view returns (Fee memory productFee);
35
- function getProcessingFee() external view returns (Fee memory processingFee);
36
-
37
- function getPoolNftId() external view returns (NftId poolNftId);
38
- function getDistributionNftId() external view returns (NftId distributionNftId);
39
- }
@@ -1,246 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ObjectType, POOL} from "../types/ObjectType.sol";
5
- import {IProductService} from "../instance/service/IProductService.sol";
6
- import {IPoolService} from "../instance/service/IPoolService.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {Fee} from "../types/Fee.sol";
9
- import {UFixed} from "../types/UFixed.sol";
10
- import {IPoolComponent} from "./IPoolComponent.sol";
11
- import {BaseComponent} from "./BaseComponent.sol";
12
-
13
- import {IRegistry} from "../registry/IRegistry.sol";
14
- import {IPool} from "../instance/module/pool/IPoolModule.sol";
15
- import {ITreasury} from "../instance/module/treasury/ITreasury.sol";
16
-
17
- import {IRegisterable} from "../shared/IRegisterable.sol";
18
- import {Registerable} from "../shared/Registerable.sol";
19
-
20
- contract Pool is BaseComponent, IPoolComponent {
21
-
22
- bool internal _isVerifying;
23
- UFixed internal _collateralizationLevel;
24
-
25
- Fee internal _initialPoolFee;
26
- Fee internal _initialStakingFee;
27
- Fee internal _initialPerformanceFee;
28
-
29
- // may be used to interact with instance by derived contracts
30
- IPoolService internal _poolService;
31
-
32
- // only relevant to protect callback functions for "active" pools
33
- IProductService private _productService;
34
-
35
- modifier onlyPoolService() {
36
- require(
37
- msg.sender == address(_poolService),
38
- "ERROR:POL-001:NOT_POOL_SERVICE");
39
- _;
40
- }
41
-
42
- modifier onlyProductService() {
43
- require(
44
- msg.sender == address(_productService),
45
- "ERROR:POL-002:NOT_PRODUCT_SERVICE");
46
- _;
47
- }
48
-
49
- constructor(
50
- address registry,
51
- NftId instanceNftId,
52
- // TODO refactor into tokenNftId
53
- address token,
54
- bool isInterceptor,
55
- bool verifying,
56
- UFixed collateralizationLevel,
57
- Fee memory poolFee,
58
- Fee memory stakingFee,
59
- Fee memory performanceFee,
60
- address initialOwner
61
- )
62
- BaseComponent(registry, instanceNftId, token, POOL(), isInterceptor, initialOwner)
63
- {
64
- _isVerifying = verifying;
65
- // TODO add validation
66
- _collateralizationLevel = collateralizationLevel;
67
- _initialPoolFee = poolFee;
68
- _initialStakingFee = stakingFee;
69
- _initialPerformanceFee = performanceFee;
70
-
71
- _poolService = _instance.getPoolService();
72
- _productService = _instance.getProductService();
73
-
74
- _registerInterface(type(IPoolComponent).interfaceId);
75
- }
76
-
77
- function createBundle(
78
- Fee memory fee,
79
- uint256 initialAmount,
80
- uint256 lifetime,
81
- bytes memory filter
82
- )
83
- external
84
- virtual override
85
- returns(NftId bundleNftId)
86
- {
87
- address owner = msg.sender;
88
- bundleNftId = _poolService.createBundle(
89
- owner,
90
- fee,
91
- initialAmount,
92
- lifetime,
93
- filter
94
- );
95
-
96
- // TODO add logging
97
- }
98
-
99
- /**
100
- * @dev see {IPool.underwrite}.
101
- * Default implementation that only writes a {LogUnderwrittenByPool} entry.
102
- */
103
- function underwrite(
104
- NftId policyNftId,
105
- bytes memory policyData,
106
- bytes memory bundleFilter,
107
- uint256 collateralizationAmount
108
- )
109
- external
110
- onlyProductService
111
- virtual override
112
- {
113
- _underwrite(policyNftId, policyData, bundleFilter, collateralizationAmount);
114
- }
115
-
116
- /**
117
- * @dev see {IPoolComponent.policyMatchesBundle}.
118
- * Default implementation always returns true
119
- */
120
- function policyMatchesBundle(
121
- bytes memory, // policyData
122
- bytes memory // bundleFilter
123
- )
124
- public
125
- view
126
- virtual override
127
- returns (bool isMatching)
128
- {
129
- return true;
130
- }
131
-
132
-
133
- function isVerifying() external view override returns (bool verifying) {
134
- return _isVerifying;
135
- }
136
-
137
- function getCollateralizationLevel() external view override returns (UFixed collateralizationLevel) {
138
- return _collateralizationLevel;
139
- }
140
-
141
- function setFees(
142
- Fee memory poolFee,
143
- Fee memory stakingFee,
144
- Fee memory performanceFee
145
- )
146
- external
147
- onlyOwner
148
- override
149
- {
150
- _poolService.setFees(poolFee, stakingFee, performanceFee);
151
- }
152
-
153
- function setBundleFee(
154
- NftId bundleNftId,
155
- Fee memory fee
156
- )
157
- external
158
- override
159
- // TODO add onlyBundleOwner
160
- {
161
- _poolService.setBundleFee(bundleNftId, fee);
162
- }
163
- // TODO delete, call instance instead
164
- function getFees()
165
- external
166
- view
167
- override
168
- returns (Fee memory, Fee memory, Fee memory)
169
- {
170
- NftId productNftId = _instance.getProductNftId(getNftId());
171
- //if (_instance.hasTreasuryInfo(productNftId)) {
172
- ITreasury.TreasuryInfo memory info = _instance.getTreasuryInfo(productNftId);
173
- return (info.poolFee, info.stakingFee, info.performanceFee);
174
- //} else {
175
- // return (_initialPoolFee, _initialStakingFee, _initialPerformanceFee);
176
- //}
177
- }
178
-
179
- // from IRegisterable
180
-
181
- // TODO used only once, occupies space
182
- // TODO do not use super
183
- function getInitialInfo()
184
- public
185
- view
186
- override (IRegisterable, Registerable)
187
- returns (IRegistry.ObjectInfo memory, bytes memory)
188
- {
189
- (
190
- IRegistry.ObjectInfo memory info,
191
- bytes memory data
192
- ) = super.getInitialInfo();
193
-
194
- return (
195
- info,
196
- abi.encode(
197
- IPool.PoolInfo(
198
- _isVerifying,
199
- _collateralizationLevel
200
- ),
201
- _wallet,
202
- _token,
203
- _initialPoolFee,
204
- _initialStakingFee,
205
- _initialPerformanceFee
206
- )
207
- );
208
- }
209
-
210
- // Internals
211
-
212
- function _underwrite(
213
- NftId policyNftId,
214
- bytes memory policyData,
215
- bytes memory bundleFilter,
216
- uint256 collateralizationAmount
217
- )
218
- internal
219
- {
220
- require(
221
- policyMatchesBundle(policyData, bundleFilter),
222
- "ERROR:POL-020:POLICY_BUNDLE_MISMATCH"
223
- );
224
-
225
- emit LogUnderwrittenByPool(policyNftId, collateralizationAmount, address(this));
226
- }
227
-
228
- function _createBundle(
229
- address bundleOwner,
230
- Fee memory fee,
231
- uint256 amount,
232
- uint256 lifetime,
233
- bytes calldata filter
234
- )
235
- internal
236
- returns(NftId bundleNftId)
237
- {
238
- bundleNftId = _poolService.createBundle(
239
- bundleOwner,
240
- fee,
241
- amount,
242
- lifetime,
243
- filter
244
- );
245
- }
246
- }