@etherisc/gif-next 0.0.2-d408403-475 → 0.0.2-d43ca2d-657

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 (795) hide show
  1. package/README.md +312 -46
  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 +1341 -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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1092 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1016 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1501 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +860 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +915 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1008 -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 +1475 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2025 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -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/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2379 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +287 -1573
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +759 -0
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +526 -1999
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1800 -0
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2291 -0
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1025 -0
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +744 -0
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3678 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  98. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  99. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  101. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  103. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  104. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  105. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  106. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  107. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  108. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  109. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  110. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  111. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  112. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
  114. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  116. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  118. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +774 -0
  120. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
  122. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +875 -0
  124. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  126. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
  128. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  130. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  132. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  133. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1367 -0
  134. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +820 -0
  136. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +946 -0
  138. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  139. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +907 -0
  140. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  141. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1309 -0
  142. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  143. package/artifacts/contracts/pool/Pool.sol/Pool.json +1027 -0
  144. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1626 -0
  146. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +792 -0
  148. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  149. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +813 -0
  150. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +728 -0
  152. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1146 -0
  154. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  155. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  156. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  157. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1538 -0
  158. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  159. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +860 -0
  160. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  161. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +290 -323
  162. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  163. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1082 -0
  164. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  165. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +968 -0
  166. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  167. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +602 -0
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  169. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1003 -0
  170. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  171. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IRiskService.sol/IRiskService.json} +241 -228
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1320 -0
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +808 -0
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.json +930 -0
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +784 -0
  180. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  181. package/artifacts/contracts/product/Product.sol/Product.json +1104 -0
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1005 -119
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1043 -0
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
  196. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  197. package/artifacts/contracts/registry/Registry.sol/Registry.json +1432 -220
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1269 -0
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +735 -0
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1325 -0
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  214. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  215. package/artifacts/contracts/shared/Component.sol/Component.json +707 -0
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1581 -0
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +816 -0
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +485 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  225. package/artifacts/contracts/{instance/IInstanceLinked.sol/IInstanceLinked.json → shared/ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  231. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +632 -0
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  233. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1221 -0
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  235. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +709 -0
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  237. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +122 -172
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  239. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  241. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +47 -74
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  243. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +229 -21
  246. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  247. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  248. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  249. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +198 -163
  250. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  251. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  252. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  253. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +797 -0
  254. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  255. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  256. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  257. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  258. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  259. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  260. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  261. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +209 -0
  262. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  263. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  264. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +275 -18
  266. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  267. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  268. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  269. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +233 -156
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +822 -0
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  274. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  275. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  276. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  277. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1447 -0
  278. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  279. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1067 -0
  280. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  282. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  283. package/artifacts/contracts/staking/Staking.sol/Staking.json +1849 -0
  284. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  285. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  286. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +788 -0
  288. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  290. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1272 -0
  292. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +732 -0
  294. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  296. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  298. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  299. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  300. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  302. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  304. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  306. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  308. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  310. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  312. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  314. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  316. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  318. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  320. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  322. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  324. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  326. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +199 -0
  328. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  330. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  332. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  334. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  336. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  338. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  340. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  342. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  344. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +113 -0
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  349. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  354. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  356. package/contracts/accounting/AccountingService.sol +262 -0
  357. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  358. package/contracts/accounting/IAccountingService.sol +45 -0
  359. package/contracts/authorization/AccessAdmin.sol +659 -0
  360. package/contracts/authorization/AccessManagerCloneable.sol +149 -0
  361. package/contracts/authorization/Authorization.sol +289 -0
  362. package/contracts/authorization/IAccess.sol +49 -0
  363. package/contracts/authorization/IAccessAdmin.sol +140 -0
  364. package/contracts/authorization/IAuthorization.sol +60 -0
  365. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  366. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  367. package/contracts/distribution/BasicDistribution.sol +139 -0
  368. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  369. package/contracts/distribution/Distribution.sol +287 -0
  370. package/contracts/distribution/DistributionService.sol +357 -0
  371. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  372. package/contracts/distribution/IDistributionComponent.sol +52 -0
  373. package/contracts/distribution/IDistributionService.sol +100 -0
  374. package/contracts/examples/fire/DamageLevel.sol +59 -0
  375. package/contracts/examples/fire/FirePool.sol +90 -0
  376. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  377. package/contracts/examples/fire/FireProduct.sol +436 -0
  378. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  379. package/contracts/examples/fire/FireUSD.sol +26 -0
  380. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  381. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  382. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  383. package/contracts/examples/unpermissioned/SimplePool.sol +107 -0
  384. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  385. package/contracts/examples/unpermissioned/SimpleProduct.sol +366 -0
  386. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  387. package/contracts/instance/BundleSet.sol +130 -0
  388. package/contracts/instance/IInstance.sol +60 -47
  389. package/contracts/instance/IInstanceService.sol +72 -0
  390. package/contracts/instance/Instance.sol +223 -62
  391. package/contracts/instance/InstanceAdmin.sol +326 -0
  392. package/contracts/instance/InstanceAuthorizationV3.sol +223 -0
  393. package/contracts/instance/InstanceReader.sol +581 -0
  394. package/contracts/instance/InstanceService.sol +404 -0
  395. package/contracts/instance/InstanceServiceManager.sol +39 -0
  396. package/contracts/instance/InstanceStore.sol +287 -0
  397. package/contracts/instance/RiskSet.sol +117 -0
  398. package/contracts/instance/base/BalanceStore.sol +123 -0
  399. package/contracts/instance/base/Cloneable.sol +28 -0
  400. package/contracts/instance/base/ObjectCounter.sol +20 -0
  401. package/contracts/instance/base/ObjectLifecycle.sol +112 -0
  402. package/contracts/instance/base/ObjectSet.sol +78 -0
  403. package/contracts/instance/module/IAccess.sol +46 -0
  404. package/contracts/instance/module/IBundle.sol +20 -0
  405. package/contracts/instance/module/IComponents.sol +50 -0
  406. package/contracts/instance/module/IDistribution.sol +41 -0
  407. package/contracts/instance/module/IPolicy.sol +85 -0
  408. package/contracts/instance/module/IRisk.sol +14 -0
  409. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  410. package/contracts/oracle/BasicOracle.sol +47 -0
  411. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  412. package/contracts/oracle/IOracle.sol +36 -0
  413. package/contracts/oracle/IOracleComponent.sol +33 -0
  414. package/contracts/oracle/IOracleService.sol +66 -0
  415. package/contracts/oracle/Oracle.sol +156 -0
  416. package/contracts/oracle/OracleService.sol +309 -0
  417. package/contracts/oracle/OracleServiceManager.sol +39 -0
  418. package/contracts/pool/BasicPool.sol +175 -0
  419. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  420. package/contracts/pool/BundleService.sol +425 -0
  421. package/contracts/pool/BundleServiceManager.sol +39 -0
  422. package/contracts/pool/IBundleService.sol +121 -0
  423. package/contracts/pool/IPoolComponent.sol +62 -0
  424. package/contracts/pool/IPoolService.sol +153 -0
  425. package/contracts/pool/Pool.sol +345 -0
  426. package/contracts/pool/PoolService.sol +615 -0
  427. package/contracts/pool/PoolServiceManager.sol +39 -0
  428. package/contracts/product/ApplicationService.sol +259 -0
  429. package/contracts/product/ApplicationServiceManager.sol +38 -0
  430. package/contracts/product/BasicProduct.sol +49 -0
  431. package/contracts/product/BasicProductAuthorization.sol +41 -0
  432. package/contracts/product/ClaimService.sol +708 -0
  433. package/contracts/product/ClaimServiceManager.sol +38 -0
  434. package/contracts/product/IApplicationService.sol +66 -0
  435. package/contracts/product/IClaimService.sol +136 -0
  436. package/contracts/product/IPolicyService.sol +90 -0
  437. package/contracts/product/IPricingService.sol +39 -0
  438. package/contracts/product/IProductComponent.sol +59 -0
  439. package/contracts/product/IRiskService.sol +33 -0
  440. package/contracts/product/PolicyService.sol +736 -0
  441. package/contracts/product/PolicyServiceManager.sol +39 -0
  442. package/contracts/product/PricingService.sol +301 -0
  443. package/contracts/product/PricingServiceManager.sol +39 -0
  444. package/contracts/product/Product.sol +451 -0
  445. package/contracts/product/RiskService.sol +151 -0
  446. package/contracts/product/RiskServiceManager.sol +39 -0
  447. package/contracts/registry/ChainNft.sol +130 -40
  448. package/contracts/registry/IRegistry.sol +136 -29
  449. package/contracts/registry/IRegistryService.sol +62 -0
  450. package/contracts/registry/IRelease.sol +26 -0
  451. package/contracts/registry/ITransferInterceptor.sol +6 -0
  452. package/contracts/registry/Registry.sol +627 -283
  453. package/contracts/registry/RegistryAdmin.sol +344 -0
  454. package/contracts/registry/RegistryService.sol +241 -0
  455. package/contracts/registry/RegistryServiceManager.sol +53 -0
  456. package/contracts/registry/ReleaseAdmin.sol +245 -0
  457. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  458. package/contracts/registry/ReleaseRegistry.sol +511 -0
  459. package/contracts/registry/ServiceAuthorizationV3.sol +242 -0
  460. package/contracts/registry/TokenRegistry.sol +313 -0
  461. package/contracts/shared/Component.sol +226 -0
  462. package/contracts/shared/ComponentService.sol +690 -0
  463. package/contracts/shared/ComponentServiceManager.sol +38 -0
  464. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  465. package/contracts/shared/ContractLib.sol +252 -0
  466. package/contracts/shared/IComponent.sol +61 -0
  467. package/contracts/shared/IComponentService.sol +116 -0
  468. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  469. package/contracts/shared/IKeyValueStore.sol +54 -0
  470. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  471. package/contracts/shared/INftOwnable.sol +25 -0
  472. package/contracts/shared/IPolicyHolder.sol +35 -0
  473. package/contracts/shared/IRegisterable.sol +33 -20
  474. package/contracts/shared/IRegistryLinked.sol +11 -0
  475. package/contracts/shared/IService.sol +23 -0
  476. package/contracts/shared/InitializableERC165.sol +27 -0
  477. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  478. package/contracts/shared/KeyValueStore.sol +131 -0
  479. package/contracts/shared/Lifecycle.sol +88 -0
  480. package/contracts/shared/NftIdSet.sol +65 -0
  481. package/contracts/shared/NftOwnable.sol +127 -0
  482. package/contracts/shared/PolicyHolder.sol +62 -0
  483. package/contracts/shared/Registerable.sol +83 -60
  484. package/contracts/shared/RegistryLinked.sol +38 -0
  485. package/contracts/shared/Service.sol +65 -0
  486. package/contracts/shared/TokenHandler.sol +389 -0
  487. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  488. package/contracts/staking/IStaking.sol +173 -0
  489. package/contracts/staking/IStakingService.sol +157 -0
  490. package/contracts/staking/StakeManagerLib.sol +224 -0
  491. package/contracts/staking/Staking.sol +526 -0
  492. package/contracts/staking/StakingLifecycle.sol +23 -0
  493. package/contracts/staking/StakingManager.sol +52 -0
  494. package/contracts/staking/StakingReader.sol +190 -0
  495. package/contracts/staking/StakingService.sol +439 -0
  496. package/contracts/staking/StakingServiceManager.sol +44 -0
  497. package/contracts/staking/StakingStore.sol +605 -0
  498. package/contracts/staking/TargetManagerLib.sol +211 -0
  499. package/contracts/{types → type}/AddressSet.sol +1 -1
  500. package/contracts/type/Amount.sol +150 -0
  501. package/contracts/{types → type}/Blocknumber.sol +27 -3
  502. package/contracts/type/ClaimId.sol +80 -0
  503. package/contracts/type/DistributorType.sol +55 -0
  504. package/contracts/type/Fee.sol +66 -0
  505. package/contracts/{types → type}/Key32.sol +10 -5
  506. package/contracts/type/Key32Set.sol +62 -0
  507. package/contracts/{types → type}/NftId.sol +28 -15
  508. package/contracts/type/NftIdSet.sol +62 -0
  509. package/contracts/type/ObjectType.sol +286 -0
  510. package/contracts/type/PayoutId.sol +82 -0
  511. package/contracts/type/Referral.sol +90 -0
  512. package/contracts/type/RequestId.sol +75 -0
  513. package/contracts/type/RiskId.sol +74 -0
  514. package/contracts/type/RoleId.sol +165 -0
  515. package/contracts/type/Seconds.sol +101 -0
  516. package/contracts/type/Selector.sol +102 -0
  517. package/contracts/{types → type}/StateId.sol +53 -5
  518. package/contracts/type/String.sol +53 -0
  519. package/contracts/{types → type}/Timestamp.sol +37 -19
  520. package/contracts/{types → type}/UFixed.sol +48 -12
  521. package/contracts/{types → type}/Version.sol +31 -6
  522. package/contracts/upgradeability/IVersionable.sol +53 -0
  523. package/contracts/upgradeability/ProxyManager.sol +232 -0
  524. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
  525. package/contracts/upgradeability/Versionable.sol +59 -0
  526. package/package.json +12 -7
  527. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  528. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  529. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  530. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -405
  531. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  532. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  533. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -340
  534. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  535. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -487
  536. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  537. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -370
  538. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  539. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -578
  540. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  541. package/artifacts/contracts/components/Product.sol/Product.json +0 -444
  542. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  543. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  544. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  545. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  546. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  547. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  548. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  549. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  550. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  551. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  552. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  553. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  554. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  555. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  556. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  557. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  558. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  559. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  560. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  561. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  562. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  563. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  564. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  565. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  566. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  567. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  568. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  569. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  570. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  571. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  572. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  573. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  574. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  575. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  576. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  577. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  578. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  579. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  580. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  581. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  582. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  583. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  584. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  585. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  586. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  587. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  588. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  589. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  590. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  591. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  592. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  593. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  594. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  595. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  596. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  597. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  598. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  599. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  600. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  601. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  602. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  603. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  604. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  605. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  606. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  607. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  608. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  609. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  610. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  611. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  612. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  613. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  614. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  615. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  616. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  617. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  618. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  619. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  620. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  621. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  622. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
  623. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  624. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
  625. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  626. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  627. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  628. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  629. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  630. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  631. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  632. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  633. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -511
  634. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  635. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  636. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  637. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -511
  638. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  639. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -531
  640. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  641. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -420
  642. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  643. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  644. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -325
  645. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  646. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  647. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  648. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -543
  649. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  650. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -858
  651. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  652. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  653. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  654. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  655. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  656. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  657. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  658. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  659. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  660. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  661. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  662. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -405
  663. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  664. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  665. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  666. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -578
  667. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  668. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -575
  669. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  670. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  671. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  672. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  673. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  674. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  675. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  676. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  677. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  678. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  679. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  680. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  681. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  682. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  683. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  684. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  685. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  686. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  687. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  688. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  689. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  690. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  691. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  692. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  693. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  694. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  695. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  696. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  697. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  698. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  699. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  700. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  701. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  702. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  703. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  704. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  705. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  706. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  707. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  708. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  709. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  710. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  711. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  712. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  713. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  714. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  715. package/contracts/components/BaseComponent.sol +0 -94
  716. package/contracts/components/Distribution.sol +0 -132
  717. package/contracts/components/IBaseComponent.sol +0 -19
  718. package/contracts/components/IDistributionComponent.sol +0 -48
  719. package/contracts/components/IPoolComponent.sol +0 -71
  720. package/contracts/components/IProductComponent.sol +0 -38
  721. package/contracts/components/Pool.sol +0 -235
  722. package/contracts/components/Product.sol +0 -227
  723. package/contracts/experiment/errors/Require.sol +0 -38
  724. package/contracts/experiment/errors/Revert.sol +0 -44
  725. package/contracts/experiment/inheritance/A.sol +0 -53
  726. package/contracts/experiment/inheritance/B.sol +0 -28
  727. package/contracts/experiment/inheritance/C.sol +0 -34
  728. package/contracts/experiment/inheritance/IA.sol +0 -13
  729. package/contracts/experiment/inheritance/IB.sol +0 -10
  730. package/contracts/experiment/inheritance/IC.sol +0 -12
  731. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  732. package/contracts/experiment/statemachine/ISM.sol +0 -25
  733. package/contracts/experiment/statemachine/README.md +0 -112
  734. package/contracts/experiment/statemachine/SM.sol +0 -57
  735. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  736. package/contracts/experiment/types/TypeA.sol +0 -47
  737. package/contracts/experiment/types/TypeB.sol +0 -29
  738. package/contracts/instance/IInstanceLinked.sol +0 -8
  739. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  740. package/contracts/instance/base/IInstanceBase.sol +0 -22
  741. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  742. package/contracts/instance/base/IService.sol +0 -15
  743. package/contracts/instance/base/InstanceBase.sol +0 -91
  744. package/contracts/instance/base/KeyValueStore.sol +0 -161
  745. package/contracts/instance/base/Lifecycle.sol +0 -100
  746. package/contracts/instance/base/ModuleBase.sol +0 -57
  747. package/contracts/instance/base/ServiceBase.sol +0 -37
  748. package/contracts/instance/module/access/Access.sol +0 -149
  749. package/contracts/instance/module/access/IAccess.sol +0 -53
  750. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  751. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  752. package/contracts/instance/module/component/ComponentModule.sol +0 -70
  753. package/contracts/instance/module/component/IComponent.sol +0 -28
  754. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  755. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  756. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  757. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  758. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  759. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  760. package/contracts/instance/module/risk/IRisk.sol +0 -26
  761. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  762. package/contracts/instance/module/treasury/ITreasury.sol +0 -82
  763. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  764. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -138
  765. package/contracts/instance/service/ComponentOwnerService.sol +0 -157
  766. package/contracts/instance/service/DistributionService.sol +0 -59
  767. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  768. package/contracts/instance/service/IDistributionService.sol +0 -12
  769. package/contracts/instance/service/IPoolService.sol +0 -37
  770. package/contracts/instance/service/IProductService.sol +0 -107
  771. package/contracts/instance/service/PoolService.sol +0 -149
  772. package/contracts/instance/service/ProductService.sol +0 -509
  773. package/contracts/registry/IChainNft.sol +0 -21
  774. package/contracts/registry/IRegistryLinked.sol +0 -8
  775. package/contracts/shared/ERC165.sol +0 -21
  776. package/contracts/shared/IOwnable.sol +0 -6
  777. package/contracts/shared/IVersionable.sol +0 -52
  778. package/contracts/shared/Versionable.sol +0 -89
  779. package/contracts/test/TestDistribution.sol +0 -21
  780. package/contracts/test/TestFee.sol +0 -25
  781. package/contracts/test/TestPool.sol +0 -25
  782. package/contracts/test/TestProduct.sol +0 -72
  783. package/contracts/test/TestRegisterable.sol +0 -19
  784. package/contracts/test/TestRoleId.sol +0 -14
  785. package/contracts/test/TestService.sol +0 -32
  786. package/contracts/test/TestToken.sol +0 -26
  787. package/contracts/test/TestVersion.sol +0 -44
  788. package/contracts/test/TestVersionable.sol +0 -17
  789. package/contracts/types/ChainId.sol +0 -38
  790. package/contracts/types/Fee.sol +0 -56
  791. package/contracts/types/NftIdSet.sol +0 -60
  792. package/contracts/types/ObjectType.sol +0 -131
  793. package/contracts/types/ReferralId.sol +0 -48
  794. package/contracts/types/RiskId.sol +0 -43
  795. package/contracts/types/RoleId.sol +0 -38
@@ -0,0 +1,130 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IPolicy} from "../instance/module/IPolicy.sol";
5
+ import {LibNftIdSet} from "../type/NftIdSet.sol";
6
+ import {NftId, NftIdLib} from "../type/NftId.sol";
7
+ import {Key32} from "../type/Key32.sol";
8
+ import {BUNDLE} from "../type/ObjectType.sol";
9
+
10
+ import {ObjectSet} from "./base/ObjectSet.sol";
11
+
12
+ contract BundleSet is
13
+ ObjectSet
14
+ {
15
+ using LibNftIdSet for LibNftIdSet.Set;
16
+
17
+ event LogBundleSetPolicyLinked(NftId bundleNftId, NftId policyNftId);
18
+ event LogBundleSetPolicyUnlinked(NftId bundleNftId, NftId policyNftId);
19
+
20
+ event LogBundleSetBundleAdded(NftId poolNftId, NftId bundleNftId);
21
+ event LogBundleSetBundleUnlocked(NftId poolNftId, NftId bundleNftId);
22
+ event LogBundleSetBundleLocked(NftId poolNftId, NftId bundleNftId);
23
+ event LogBundleSetBundleClosed(NftId poolNftId, NftId bundleNftId);
24
+
25
+ error ErrorBundleSetPolicyAlreadyActivated(NftId policyNftId);
26
+ error ErrorBundleSetBundleLocked(NftId bundleNftId, NftId policyNftId);
27
+ error ErrorBundleSetPolicyWithOpenClaims(NftId policyNftId, uint256 openClaimsCount);
28
+ error ErrorBundleSetPolicyNotCloseable(NftId policyNftId);
29
+ error ErrorBundleSetBundleUnknown(NftId bundleNftId);
30
+ error ErrorBundleSetBundleNotRegistered(NftId bundleNftId);
31
+
32
+ mapping(NftId bundleNftId => LibNftIdSet.Set policies) internal _activePolicies;
33
+
34
+ /// @dev links a policy to its bundle
35
+ function linkPolicy(NftId poolNftId, NftId bundleNftId, NftId policyNftId) external restricted() {
36
+
37
+ // ensure bundle is unlocked (in active set) and registered with this instance
38
+ if (!_isActive(poolNftId, _toBundleKey32(bundleNftId))) {
39
+ revert ErrorBundleSetBundleLocked(bundleNftId, policyNftId);
40
+ }
41
+
42
+ _activePolicies[bundleNftId].add(policyNftId);
43
+ emit LogBundleSetPolicyLinked(bundleNftId, policyNftId);
44
+ }
45
+
46
+
47
+ /// @dev unlinks a policy from its bundle
48
+ function unlinkPolicy(NftId poolNftId, NftId bundleNftId, NftId policyNftId) external restricted() {
49
+
50
+ // ensure bundle is registered with this instance
51
+ if (!_contains(poolNftId, _toBundleKey32(bundleNftId))) {
52
+ revert ErrorBundleSetBundleUnknown(bundleNftId);
53
+ }
54
+
55
+ _activePolicies[bundleNftId].remove(policyNftId);
56
+ emit LogBundleSetPolicyUnlinked(bundleNftId, policyNftId);
57
+ }
58
+
59
+
60
+ /// @dev add a new bundle to a pool registerd with this instance
61
+ // the corresponding pool is fetched via instance reader
62
+ function add(NftId bundleNftId) external restricted() {
63
+ NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
64
+
65
+ // ensure pool is registered with instance
66
+ if(poolNftId.eqz()) {
67
+ revert ErrorBundleSetBundleNotRegistered(bundleNftId);
68
+ }
69
+
70
+ _add(poolNftId, _toBundleKey32(bundleNftId));
71
+ emit LogBundleSetBundleAdded(poolNftId, bundleNftId);
72
+ }
73
+
74
+
75
+ /// @dev unlocked (active) bundles are available to collateralize new policies
76
+ function unlock(NftId bundleNftId) external restricted() {
77
+ NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
78
+ _activate(poolNftId, _toBundleKey32(bundleNftId));
79
+ emit LogBundleSetBundleUnlocked(poolNftId, bundleNftId);
80
+ }
81
+
82
+ /// @dev locked (deactivated) bundles may not collateralize any new policies
83
+ function lock(NftId bundleNftId) external restricted() {
84
+ NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
85
+ _deactivate(poolNftId, _toBundleKey32(bundleNftId));
86
+ emit LogBundleSetBundleLocked(poolNftId, bundleNftId);
87
+ }
88
+
89
+
90
+ function checkBundle(NftId productNftId, NftId bundleId)
91
+ public
92
+ view
93
+ returns (bool exists, bool active)
94
+ {
95
+ Key32 bundleKey32 = bundleId.toKey32(BUNDLE());
96
+ exists = _contains(productNftId, bundleKey32);
97
+
98
+ if (exists) {
99
+ active = _isActive(productNftId, bundleKey32);
100
+ }
101
+ }
102
+
103
+ function bundles(NftId poolNftId) external view returns(uint256) {
104
+ return _objects(poolNftId);
105
+ }
106
+
107
+ function getBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId) {
108
+ return NftIdLib.toNftId(_getObject(poolNftId, idx).toKeyId());
109
+ }
110
+
111
+ function activeBundles(NftId poolNftId) external view returns(uint256) {
112
+ return _activeObjs(poolNftId);
113
+ }
114
+
115
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId) {
116
+ return NftIdLib.toNftId(_getActiveObject(poolNftId, idx).toKeyId());
117
+ }
118
+
119
+ function activePolicies(NftId bundleNftId) external view returns(uint256) {
120
+ return _activePolicies[bundleNftId].size();
121
+ }
122
+
123
+ function getActivePolicy(NftId bundleNftId, uint256 idx) external view returns(NftId policyNftId) {
124
+ return _activePolicies[bundleNftId].getElementAt(idx);
125
+ }
126
+
127
+ function _toBundleKey32(NftId nftId) private pure returns (Key32) {
128
+ return nftId.toKey32(BUNDLE());
129
+ }
130
+ }
@@ -1,53 +1,66 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
- import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
-
6
- import {IVersionable} from "../shared/IVersionable.sol";
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {BundleSet} from "./BundleSet.sol";
6
+ import {RiskSet} from "./RiskSet.sol";
7
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
8
+ import {InstanceReader} from "./InstanceReader.sol";
9
+ import {InstanceStore} from "./InstanceStore.sol";
7
10
  import {IRegisterable} from "../shared/IRegisterable.sol";
8
- import {IOwnable} from "../shared/IOwnable.sol";
9
- import {RoleId} from "../types/RoleId.sol";
10
-
11
- import {IAccessModule} from "./module/access/IAccess.sol";
12
- import {IBundleModule} from "./module/bundle/IBundle.sol";
13
- import {IDistributionModule} from "./module/distribution/IDistribution.sol";
14
- import {IComponentModule} from "./module/component/IComponent.sol";
15
- import {IPolicyModule} from "./module/policy/IPolicy.sol";
16
- import {IPoolModule} from "./module/pool/IPoolModule.sol";
17
- import {IRiskModule} from "./module/risk/IRisk.sol";
18
- import {ITreasuryModule} from "./module/treasury/ITreasury.sol";
19
-
20
- import {IKeyValueStore} from "./base/IKeyValueStore.sol";
21
- import {IRegistry, IRegistryLinked} from "../registry/IRegistryLinked.sol";
22
-
23
- import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
24
- import {IDistributionService} from "./service/IDistributionService.sol";
25
- import {IProductService} from "./service/IProductService.sol";
26
- import {IPoolService} from "./service/IPoolService.sol";
27
- import {IInstanceBase} from "./base/IInstanceBase.sol";
28
-
29
- // solhint-disable-next-line no-empty-blocks
30
- interface IInstance is
31
- IERC165,
32
- IVersionable,
33
- IRegisterable,
34
- IAccessModule,
35
- IPolicyModule,
36
- IPoolModule,
37
- IRiskModule,
38
- IBundleModule,
39
- IComponentModule,
40
- ITreasuryModule,
41
- IDistributionModule,
42
- IInstanceBase
11
+ import {NftId} from "../type/NftId.sol";
12
+ import {RoleId} from "../type/RoleId.sol";
13
+ import {Seconds} from "../type/Seconds.sol";
14
+ import {UFixed} from "../type/UFixed.sol";
15
+
16
+
17
+ interface IInstance is
18
+ IRegisterable
43
19
  {
44
- function getRegistry() external view override (IPolicyModule, IRegisterable) returns (IRegistry registry);
45
- function getOwner() external view override (IOwnable, IAccessModule) returns(address owner);
20
+ error ErrorInstanceInstanceAdminZero();
21
+ error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
22
+ error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
23
+
24
+ error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
25
+ error ErrorInstanceBundleSetInstanceMismatch(address instance);
26
+ error ErrorInstanceBundleSetAuthorityMismatch(address instanceAuthority);
27
+
28
+ error ErrorInstanceRiskSetAlreadySet(address instanceRiskSet);
29
+ error ErrorInstanceRiskSetInstanceMismatch(address instance);
30
+ error ErrorInstanceRiskSetAuthorityMismatch(address instanceAuthority);
31
+
32
+ error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
33
+
34
+ error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
35
+ error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
36
+
37
+ struct InstanceInfo {
38
+ uint64 requestsCount;
39
+ }
40
+
41
+ /// @dev Register a product with the instance.
42
+ function registerProduct(address product) external returns (NftId productNftId);
43
+
44
+ function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
45
+ function grantRole(RoleId roleId, address account) external;
46
+ function revokeRole(RoleId roleId, address account) external;
47
+
48
+ function createTarget(address target, string memory name) external;
49
+ function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
50
+ function setLocked(address target, bool locked) external;
51
+
52
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
53
+ function setStakingRewardRate(UFixed rewardRate) external;
54
+ function refillStakingRewardReserves(Amount dipAmount) external;
46
55
 
47
- function getKeyValueStore() external view override (IInstanceBase) returns (IKeyValueStore keyValueStore);
48
- function getComponentOwnerService() external view override (IInstanceBase, IComponentModule) returns(IComponentOwnerService);
49
- function getDistributionService() external view override returns(IDistributionService);
50
- function getProductService() external view override (IInstanceBase, IBundleModule, IPolicyModule) returns(IProductService);
51
- function getPoolService() external view override (IInstanceBase, IBundleModule, IPoolModule) returns(IPoolService);
56
+ /// @dev Defunds the staking reward reserves for the specified target.
57
+ /// Permissioned: only the target owner may call this function.
58
+ function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
52
59
 
53
- }
60
+ // get instance release and supporting contracts
61
+ function getInstanceReader() external view returns (InstanceReader);
62
+ function getBundleSet() external view returns (BundleSet);
63
+ function getRiskSet() external view returns (RiskSet);
64
+ function getInstanceAdmin() external view returns (InstanceAdmin);
65
+ function getInstanceStore() external view returns (InstanceStore);
66
+ }
@@ -0,0 +1,72 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {IInstance} from "./IInstance.sol";
6
+ import {IService} from "../shared/IService.sol";
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {ObjectType} from "../type/ObjectType.sol";
9
+ import {Seconds} from "../type/Seconds.sol";
10
+ import {UFixed} from "../type/UFixed.sol";
11
+ import {VersionPart} from "../type/Version.sol";
12
+
13
+ interface IInstanceService is IService {
14
+
15
+ // onlyInstance
16
+ error ErrorInstanceServiceNotRegistered(address instance);
17
+ error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
18
+ error ErrorInstanceServiceInstanceVersionMismatch(address instance, VersionPart instanceVersion);
19
+
20
+ error ErrorInstanceServiceComponentNotInstanceLinked(address component);
21
+
22
+ error ErrorInstanceServiceMasterInstanceAlreadySet();
23
+ error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
24
+ error ErrorInstanceServiceMasterBundleSetAlreadySet();
25
+ error ErrorInstanceServiceMasterRiskSetAlreadySet();
26
+ error ErrorInstanceServiceInstanceAddressZero();
27
+
28
+ error ErrorInstanceServiceMasterInstanceReaderNotSet();
29
+ error ErrorInstanceServiceInstanceReaderAddressZero();
30
+ error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
31
+ error ErrorInstanceServiceInstanceReaderInstanceMismatch();
32
+
33
+ error ErrorInstanceServiceAccessManagerZero();
34
+ error ErrorInstanceServiceInstanceAdminZero();
35
+ error ErrorInstanceServiceInstanceReaderZero();
36
+ error ErrorInstanceServiceBundleSetZero();
37
+ error ErrorInstanceServiceRiskSetZero();
38
+ error ErrorInstanceServiceInstanceStoreZero();
39
+
40
+ error ErrorInstanceServiceInstanceAuthorityMismatch();
41
+ error ErrorInstanceServiceBundleSetAuthorityMismatch();
42
+ error ErrorInstanceServiceRiskSetAuthorityMismatch();
43
+ error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
44
+ error ErrorInstanceServiceBundleSetInstanceMismatch();
45
+ error ErrorInstanceServiceRiskSetInstanceMismatch();
46
+ error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
47
+
48
+ error ErrorInstanceServiceRequestUnauhorized(address caller);
49
+ error ErrorInstanceServiceNotInstanceNftId(NftId nftId);
50
+ error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
51
+ error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
52
+ error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
53
+
54
+ event LogInstanceCloned(NftId instanceNftId, address instance);
55
+
56
+ function createInstance()
57
+ external
58
+ returns (
59
+ IInstance instance,
60
+ NftId instanceNftId
61
+ );
62
+
63
+ function upgradeInstanceReader(NftId instanceNftId) external;
64
+ function upgradeMasterInstanceReader(address instanceReaderAddress) external;
65
+
66
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
67
+ function setStakingRewardRate(UFixed rewardRate) external;
68
+ function refillStakingRewardReserves(address rewardProvider, Amount dipAmount) external;
69
+
70
+ /// @dev Defunds the staking reward reserves for the specified target.
71
+ function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
72
+ }
@@ -1,74 +1,235 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../types/NftId.sol";
5
- import {RoleId} from "../types/RoleId.sol";
6
-
7
- import {InstanceBase} from "./base/InstanceBase.sol";
8
- import {AccessModule} from "./module/access/Access.sol";
9
- import {ComponentModule} from "./module/component/ComponentModule.sol";
10
- import {DistributionModule} from "./module/distribution/DistributionModule.sol";
11
- import {PolicyModule} from "./module/policy/PolicyModule.sol";
12
- import {PoolModule} from "./module/pool/PoolModule.sol";
13
- import {RiskModule} from "./module/risk/RiskModule.sol";
14
- import {BundleModule} from "./module/bundle/BundleModule.sol";
15
- import {TreasuryModule} from "./module/treasury/TreasuryModule.sol";
2
+ pragma solidity ^0.8.20;
16
3
 
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {BundleSet} from "./BundleSet.sol";
6
+ import {RiskSet} from "./RiskSet.sol";
7
+ import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
8
+ import {IInstance} from "./IInstance.sol";
9
+ import {IComponentService} from "../shared/IComponentService.sol";
10
+ import {IInstanceService} from "./IInstanceService.sol";
11
+ import {InstanceReader} from "./InstanceReader.sol";
12
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
13
+ import {InstanceStore} from "./InstanceStore.sol";
17
14
  import {IRegistry} from "../registry/IRegistry.sol";
15
+ import {NftId} from "../type/NftId.sol";
18
16
  import {Registerable} from "../shared/Registerable.sol";
19
- import {IAccessModule} from "./module/access/IAccess.sol";
20
- import {IBundleModule} from "./module/bundle/IBundle.sol";
21
- import {IComponentModule} from "./module/component/IComponent.sol";
22
- import {IPoolModule} from "./module/pool/IPoolModule.sol";
23
- import {IPolicyModule} from "./module/policy/IPolicy.sol";
24
- import {IInstanceBase} from "./base/IInstanceBase.sol";
25
-
26
- import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
27
- import {IDistributionService} from "./service/IDistributionService.sol";
28
- import {IProductService} from "./service/IProductService.sol";
29
- import {IPoolService} from "./service/IPoolService.sol";
30
-
31
- import {IKeyValueStore} from "./base/IKeyValueStore.sol";
17
+ import {RoleId} from "../type/RoleId.sol";
18
+ import {Seconds} from "../type/Seconds.sol";
19
+ import {UFixed} from "../type/UFixed.sol";
32
20
 
33
21
  contract Instance is
34
- InstanceBase,
35
- AccessModule,
36
- BundleModule,
37
- ComponentModule,
38
- DistributionModule,
39
- PolicyModule,
40
- PoolModule,
41
- RiskModule,
42
- TreasuryModule
22
+ IInstance,
23
+ Registerable
43
24
  {
44
- constructor(
45
- address registry,
46
- NftId registryNftId
47
- )
48
- InstanceBase(registry, registryNftId)
49
- AccessModule()
50
- BundleModule()
51
- DistributionModule()
52
- ComponentModule()
53
- PolicyModule()
54
- PoolModule()
55
- TreasuryModule()
25
+ bool private _initialized;
26
+
27
+ IComponentService internal _componentService;
28
+ IInstanceService internal _instanceService;
29
+ InstanceAdmin internal _instanceAdmin;
30
+ InstanceReader internal _instanceReader;
31
+ BundleSet internal _bundleSet;
32
+ RiskSet internal _riskSet;
33
+ InstanceStore internal _instanceStore;
34
+
35
+ modifier onlyChainNft() {
36
+ if(msg.sender != getRegistry().getChainNftAddress()) {
37
+ revert();
38
+ }
39
+ _;
40
+ }
41
+
42
+ function initialize(
43
+ InstanceAdmin instanceAdmin,
44
+ InstanceStore instanceStore,
45
+ BundleSet bundleSet,
46
+ RiskSet riskSet,
47
+ InstanceReader instanceReader,
48
+ IRegistry registry,
49
+ address initialOwner
50
+ )
51
+ external
52
+ initializer()
53
+ {
54
+ if(address(instanceAdmin) == address(0)) {
55
+ revert ErrorInstanceInstanceAdminZero();
56
+ }
57
+
58
+ _instanceAdmin = instanceAdmin;
59
+
60
+ // setup instance object info
61
+ __Registerable_init(
62
+ instanceAdmin.authority(),
63
+ address(registry),
64
+ registry.getNftId(),
65
+ INSTANCE(),
66
+ true,
67
+ initialOwner,
68
+ "");
69
+
70
+ // store instance supporting contracts
71
+ _instanceStore = instanceStore;
72
+ _bundleSet = bundleSet;
73
+ _riskSet = riskSet;
74
+ _instanceReader = instanceReader;
75
+
76
+ // initialize instance supporting contracts
77
+ _instanceStore.initialize();
78
+ _bundleSet.initialize();
79
+ _riskSet.initialize();
80
+ _instanceReader.initialize();
81
+
82
+ _componentService = IComponentService(
83
+ getRegistry().getServiceAddress(
84
+ COMPONENT(),
85
+ getRelease()));
86
+
87
+ _instanceService = IInstanceService(
88
+ getRegistry().getServiceAddress(
89
+ INSTANCE(),
90
+ getRelease()));
91
+
92
+ _registerInterface(type(IInstance).interfaceId);
93
+ }
94
+
95
+ //--- ProductRegistration ----------------------------------------------//
96
+ function registerProduct(address product)
97
+ external
98
+ onlyOwner()
99
+ returns (NftId productNftId)
56
100
  {
57
- initializeBundleModule(_keyValueStore);
58
- initializeComponentModule(_keyValueStore);
59
- initializeDistributionModule(_keyValueStore);
60
- initializePolicyModule(_keyValueStore);
61
- initializePoolModule(_keyValueStore);
62
- initializeRiskModule(_keyValueStore);
101
+ return _componentService.registerProduct(product);
63
102
  }
64
103
 
65
- function getRegistry() public view override (Registerable, IPolicyModule) returns (IRegistry registry) { return super.getRegistry(); }
66
- function getKeyValueStore() public view override (InstanceBase) returns (IKeyValueStore keyValueStore) { return super.getKeyValueStore(); }
104
+ //--- Staking ----------------------------------------------------------//
67
105
 
68
- function getComponentOwnerService() external view override (IComponentModule, IInstanceBase) returns(IComponentOwnerService service) { return _componentOwnerService; }
69
- function getDistributionService() external view override (IInstanceBase) returns(IDistributionService service) { return _distributionService; }
70
- function getProductService() external view override (IBundleModule, IPolicyModule, IInstanceBase) returns(IProductService service) { return _productService; }
71
- function getPoolService() external view override (IBundleModule, IPoolModule, IInstanceBase) returns(IPoolService service) { return _poolService; }
106
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod)
107
+ external
108
+ onlyOwner()
109
+ {
110
+ _instanceService.setStakingLockingPeriod(stakeLockingPeriod);
111
+ }
112
+
113
+ function setStakingRewardRate(UFixed rewardRate)
114
+ external
115
+ onlyOwner()
116
+ {
117
+ _instanceService.setStakingRewardRate(rewardRate);
118
+ }
119
+
120
+ function refillStakingRewardReserves(Amount dipAmount)
121
+ external
122
+ onlyOwner()
123
+ {
124
+ address instanceOwner = msg.sender;
125
+ _instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
126
+ }
127
+
128
+ function withdrawStakingRewardReserves(Amount dipAmount)
129
+ external
130
+ onlyOwner()
131
+ returns (Amount newBalance)
132
+ {
133
+ return _instanceService.withdrawStakingRewardReserves(dipAmount);
134
+ }
135
+
136
+ //--- Roles ------------------------------------------------------------//
137
+
138
+ function createRole(string memory roleName, string memory adminName)
139
+ external
140
+ onlyOwner()
141
+ returns (RoleId roleId, RoleId admin)
142
+ {
143
+ // TODO refactor
144
+ // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
145
+ }
146
+
147
+ function grantRole(RoleId roleId, address account)
148
+ external
149
+ onlyOwner()
150
+ {
151
+ _instanceAdmin.grantRole(roleId, account);
152
+ }
153
+
154
+ function revokeRole(RoleId roleId, address account)
155
+ external
156
+ onlyOwner()
157
+ {
158
+ // TODO refactor
159
+ // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
160
+ }
161
+
162
+ //--- Targets ------------------------------------------------------------//
163
+
164
+ function createTarget(address target, string memory name)
165
+ external
166
+ onlyOwner()
167
+ {
168
+ // TODO refactor
169
+ // _instanceAdmin.createTarget(target, name);
170
+ }
171
+
172
+ function setTargetFunctionRole(
173
+ string memory targetName,
174
+ bytes4[] calldata selectors,
175
+ RoleId roleId
176
+ )
177
+ external
178
+ onlyOwner()
179
+ {
180
+ // TODO refactor
181
+ // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
182
+ }
183
+
184
+ function setLocked(address target, bool locked)
185
+ external
186
+ onlyOwner()
187
+ {
188
+ _componentService.setLockedFromInstance(target, locked);
189
+ }
190
+
191
+ //--- ITransferInterceptor ----------------------------------------------//
192
+
193
+ function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
194
+ // TODO refactor
195
+ // _instanceAdmin.transferInstanceOwnerRole(from, to);
196
+ }
197
+
198
+ //--- initial setup functions -------------------------------------------//
199
+
200
+
201
+ function setInstanceReader(InstanceReader instanceReader)
202
+ external
203
+ restricted()
204
+ {
205
+ if(instanceReader.getInstance() != Instance(this)) {
206
+ revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
207
+ }
208
+
209
+ _instanceReader = instanceReader;
210
+ }
211
+
212
+ //--- external view functions -------------------------------------------//
213
+
214
+ function getInstanceReader() external view returns (InstanceReader) {
215
+ return _instanceReader;
216
+ }
217
+
218
+ function getBundleSet() external view returns (BundleSet) {
219
+ return _bundleSet;
220
+ }
221
+
222
+ function getRiskSet() external view returns (RiskSet) {
223
+ return _riskSet;
224
+ }
225
+
226
+ function getInstanceAdmin() external view returns (InstanceAdmin) {
227
+ return _instanceAdmin;
228
+ }
229
+
230
+ function getInstanceStore() external view returns (InstanceStore) {
231
+ return _instanceStore;
232
+ }
72
233
 
73
- function getOwner() public view override (IAccessModule, Registerable) returns(address owner) { return super.getOwner(); }
74
- }
234
+ //--- internal view/pure functions --------------------------------------//
235
+ }