@etherisc/gif-next 0.0.2-bad4d33-850 → 0.0.2-bad547c-946

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 (753) hide show
  1. package/README.md +85 -23
  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 +1379 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  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 +542 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1130 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +350 -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 +589 -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 +1509 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +864 -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 +589 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -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 +589 -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 +589 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2426 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +589 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +305 -1532
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +369 -196
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +449 -2564
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1929 -0
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +661 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1617 -569
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +424 -438
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +375 -104
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3718 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -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/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  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 +192 -0
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  102. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  103. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  107. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +569 -0
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  115. package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +345 -284
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  117. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +310 -343
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  119. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → oracle/Oracle.sol/Oracle.json} +323 -297
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +589 -0
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1261 -0
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +800 -0
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  133. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +435 -270
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  135. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +344 -351
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
  138. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  139. package/artifacts/contracts/pool/Pool.sol/Pool.json +1027 -0
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1574 -0
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +808 -0
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +813 -0
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +728 -0
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  151. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → product/BasicProduct.sol/BasicProduct.json} +668 -255
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +589 -0
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  155. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1496 -0
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +848 -0
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  159. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +286 -220
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  161. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  163. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +311 -203
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  167. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +450 -381
  168. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  169. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IRiskService.sol/IRiskService.json} +169 -157
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1333 -0
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -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 +1119 -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 +72 -16
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +513 -27
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +284 -222
  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 +1 -1
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  196. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  197. package/artifacts/contracts/registry/Registry.sol/Registry.json +996 -119
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1928 -0
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +347 -278
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +361 -90
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -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 +1333 -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 +1 -1
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +350 -83
  214. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  215. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +318 -214
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1571 -0
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +820 -0
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  221. package/artifacts/contracts/{components/IComponent.sol/IComponent.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +178 -148
  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/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  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/{components/Component.sol/Component.json → shared/IComponent.sol/IComponent.json} +192 -216
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  233. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1203 -0
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  235. package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +287 -226
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  237. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
  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 +1 -1
  241. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
  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 +143 -10
  246. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  247. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  248. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IService.sol/IService.json +124 -141
  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 +1 -1
  261. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +74 -36
  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 +156 -60
  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 +1 -1
  269. package/artifacts/contracts/shared/Service.sol/Service.json +142 -165
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -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 +1436 -0
  278. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  279. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1149 -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 +1846 -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 +792 -0
  288. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +536 -0
  290. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1362 -0
  292. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +736 -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 +433 -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 +148 -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 +689 -0
  360. package/contracts/authorization/AccessManagerCloneable.sol +149 -0
  361. package/contracts/authorization/Authorization.sol +337 -0
  362. package/contracts/authorization/IAccess.sol +49 -0
  363. package/contracts/authorization/IAccessAdmin.sol +143 -0
  364. package/contracts/authorization/IAuthorization.sol +74 -0
  365. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  366. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  367. package/contracts/distribution/BasicDistribution.sol +141 -0
  368. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  369. package/contracts/distribution/Distribution.sol +289 -0
  370. package/contracts/distribution/DistributionService.sol +358 -0
  371. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  372. package/contracts/distribution/IDistributionComponent.sol +52 -0
  373. package/contracts/distribution/IDistributionService.sol +101 -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 +438 -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 +106 -0
  384. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  385. package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
  386. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  387. package/contracts/instance/BundleSet.sol +130 -0
  388. package/contracts/instance/IInstance.sol +50 -52
  389. package/contracts/instance/IInstanceService.sol +53 -22
  390. package/contracts/instance/Instance.sol +178 -200
  391. package/contracts/instance/InstanceAdmin.sol +437 -0
  392. package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
  393. package/contracts/instance/InstanceReader.sol +408 -64
  394. package/contracts/instance/InstanceService.sol +307 -338
  395. package/contracts/instance/InstanceServiceManager.sol +14 -29
  396. package/contracts/instance/InstanceStore.sol +298 -0
  397. package/contracts/instance/RiskSet.sol +118 -0
  398. package/contracts/instance/base/BalanceStore.sol +123 -0
  399. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  400. package/contracts/instance/base/ObjectCounter.sol +20 -0
  401. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  402. package/contracts/instance/base/ObjectSet.sol +77 -0
  403. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  404. package/contracts/instance/module/IBundle.sol +8 -8
  405. package/contracts/instance/module/IComponents.sol +51 -0
  406. package/contracts/instance/module/IDistribution.sol +8 -5
  407. package/contracts/instance/module/IPolicy.sol +59 -19
  408. package/contracts/instance/module/IRisk.sol +4 -1
  409. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  410. package/contracts/oracle/BasicOracle.sol +47 -0
  411. package/contracts/oracle/BasicOracleAuthorization.sol +37 -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 +310 -0
  417. package/contracts/oracle/OracleServiceManager.sol +39 -0
  418. package/contracts/pool/BasicPool.sol +175 -0
  419. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  420. package/contracts/pool/BundleService.sol +395 -0
  421. package/contracts/pool/BundleServiceManager.sol +39 -0
  422. package/contracts/pool/IBundleService.sol +115 -0
  423. package/contracts/pool/IPoolComponent.sol +62 -0
  424. package/contracts/pool/IPoolService.sol +165 -0
  425. package/contracts/pool/Pool.sol +345 -0
  426. package/contracts/pool/PoolLib.sol +216 -0
  427. package/contracts/pool/PoolService.sol +757 -0
  428. package/contracts/pool/PoolServiceManager.sol +39 -0
  429. package/contracts/product/ApplicationService.sol +259 -0
  430. package/contracts/product/ApplicationServiceManager.sol +38 -0
  431. package/contracts/product/BasicProduct.sol +51 -0
  432. package/contracts/product/BasicProductAuthorization.sol +56 -0
  433. package/contracts/product/ClaimService.sol +632 -0
  434. package/contracts/product/ClaimServiceManager.sol +38 -0
  435. package/contracts/product/IApplicationService.sol +66 -0
  436. package/contracts/product/IClaimService.sol +135 -0
  437. package/contracts/product/IPolicyService.sol +95 -0
  438. package/contracts/product/IPricingService.sol +39 -0
  439. package/contracts/product/IProductComponent.sol +62 -0
  440. package/contracts/product/IRiskService.sol +33 -0
  441. package/contracts/product/PolicyService.sol +682 -0
  442. package/contracts/product/PolicyServiceLib.sol +65 -0
  443. package/contracts/product/PolicyServiceManager.sol +39 -0
  444. package/contracts/product/PricingService.sol +304 -0
  445. package/contracts/product/PricingServiceManager.sol +39 -0
  446. package/contracts/product/Product.sol +478 -0
  447. package/contracts/product/RiskService.sol +145 -0
  448. package/contracts/product/RiskServiceManager.sol +39 -0
  449. package/contracts/registry/ChainNft.sol +83 -36
  450. package/contracts/registry/IRegistry.sol +98 -30
  451. package/contracts/registry/IRegistryService.sol +38 -41
  452. package/contracts/registry/IRelease.sol +26 -0
  453. package/contracts/registry/ITransferInterceptor.sol +1 -1
  454. package/contracts/registry/Registry.sol +485 -207
  455. package/contracts/registry/RegistryAdmin.sol +354 -0
  456. package/contracts/registry/RegistryService.sol +118 -139
  457. package/contracts/registry/RegistryServiceManager.sol +24 -33
  458. package/contracts/registry/ReleaseAdmin.sol +245 -0
  459. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  460. package/contracts/registry/ReleaseRegistry.sol +511 -0
  461. package/contracts/registry/ServiceAuthorizationV3.sol +247 -0
  462. package/contracts/registry/TokenRegistry.sol +263 -62
  463. package/contracts/shared/Component.sol +227 -0
  464. package/contracts/shared/ComponentService.sol +692 -0
  465. package/contracts/shared/ComponentServiceManager.sol +38 -0
  466. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  467. package/contracts/shared/ContractLib.sol +253 -0
  468. package/contracts/shared/IComponent.sol +61 -0
  469. package/contracts/shared/IComponentService.sol +112 -0
  470. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  471. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  472. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  473. package/contracts/shared/INftOwnable.sol +15 -12
  474. package/contracts/shared/IPolicyHolder.sol +35 -0
  475. package/contracts/shared/IRegisterable.sol +24 -2
  476. package/contracts/shared/IRegistryLinked.sol +11 -0
  477. package/contracts/shared/IService.sol +12 -5
  478. package/contracts/shared/InitializableERC165.sol +27 -0
  479. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  480. package/contracts/shared/KeyValueStore.sol +131 -0
  481. package/contracts/shared/Lifecycle.sol +88 -0
  482. package/contracts/shared/NftIdSet.sol +65 -0
  483. package/contracts/shared/NftOwnable.sol +75 -87
  484. package/contracts/shared/PolicyHolder.sol +62 -0
  485. package/contracts/shared/Registerable.sol +52 -29
  486. package/contracts/shared/RegistryLinked.sol +38 -0
  487. package/contracts/shared/Service.sol +39 -34
  488. package/contracts/shared/TokenHandler.sol +326 -12
  489. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  490. package/contracts/staking/IStaking.sol +164 -0
  491. package/contracts/staking/IStakingService.sol +168 -0
  492. package/contracts/staking/StakeManagerLib.sol +273 -0
  493. package/contracts/staking/Staking.sol +530 -0
  494. package/contracts/staking/StakingLifecycle.sol +23 -0
  495. package/contracts/staking/StakingManager.sol +52 -0
  496. package/contracts/staking/StakingReader.sol +175 -0
  497. package/contracts/staking/StakingService.sol +453 -0
  498. package/contracts/staking/StakingServiceManager.sol +45 -0
  499. package/contracts/staking/StakingStore.sol +605 -0
  500. package/contracts/staking/TargetManagerLib.sol +211 -0
  501. package/contracts/{types → type}/AddressSet.sol +1 -1
  502. package/contracts/type/Amount.sol +150 -0
  503. package/contracts/{types → type}/Blocknumber.sol +27 -3
  504. package/contracts/type/ClaimId.sol +80 -0
  505. package/contracts/{types → type}/DistributorType.sol +2 -2
  506. package/contracts/{types → type}/Fee.sol +33 -23
  507. package/contracts/{types → type}/Key32.sol +2 -2
  508. package/contracts/type/Key32Set.sol +62 -0
  509. package/contracts/{types → type}/NftId.sol +28 -15
  510. package/contracts/{types → type}/NftIdSet.sol +2 -2
  511. package/contracts/type/ObjectType.sol +303 -0
  512. package/contracts/type/PayoutId.sol +82 -0
  513. package/contracts/{types → type}/Referral.sol +6 -1
  514. package/contracts/type/RequestId.sol +75 -0
  515. package/contracts/type/RiskId.sol +74 -0
  516. package/contracts/type/RoleId.sol +182 -0
  517. package/contracts/type/Seconds.sol +101 -0
  518. package/contracts/type/Selector.sol +107 -0
  519. package/contracts/{types → type}/StateId.sol +48 -4
  520. package/contracts/type/String.sol +53 -0
  521. package/contracts/{types → type}/Timestamp.sol +33 -19
  522. package/contracts/{types → type}/UFixed.sol +41 -121
  523. package/contracts/{types → type}/Version.sol +20 -7
  524. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  525. package/contracts/upgradeability/ProxyManager.sol +232 -0
  526. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  527. package/contracts/upgradeability/Versionable.sol +59 -0
  528. package/package.json +11 -7
  529. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  530. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  531. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  532. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  533. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  534. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  535. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  536. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  537. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  539. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  540. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  541. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  542. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  543. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  544. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  545. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  546. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  547. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  548. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  549. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  550. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  551. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  552. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  553. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  554. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  555. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  556. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  557. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  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/BundleManager.sol/BundleManager.dbg.json +0 -4
  577. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
  578. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  579. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  580. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1034
  581. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  582. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  583. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  584. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  585. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.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 -502
  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/module/IAccess.sol/IAccess.dbg.json +0 -4
  591. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -254
  592. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  593. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  594. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  595. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1102
  596. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  597. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -449
  598. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  599. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -772
  600. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  601. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -437
  602. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  603. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  604. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  605. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  606. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  607. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  608. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1227
  609. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  610. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -505
  611. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  612. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -806
  613. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  614. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -437
  615. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  616. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -856
  617. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  618. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -437
  619. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  620. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  621. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  622. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  623. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  624. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  625. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  626. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  627. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  628. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  629. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  630. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -362
  631. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  632. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  633. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  634. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  635. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  636. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  637. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  638. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -313
  639. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  640. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  641. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  642. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -608
  643. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  644. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  645. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  646. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  647. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  648. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  649. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  650. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  651. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  652. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  653. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  654. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  655. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  656. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  657. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  658. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  659. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  660. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  661. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  662. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  663. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  664. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  665. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  666. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  667. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  668. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  669. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  670. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  671. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  672. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  673. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  674. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  675. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  676. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  677. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  678. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  679. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  680. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  681. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  682. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  683. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  684. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  685. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  686. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  687. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  688. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  689. package/contracts/components/Component.sol +0 -216
  690. package/contracts/components/Distribution.sol +0 -153
  691. package/contracts/components/IComponent.sol +0 -43
  692. package/contracts/components/IDistributionComponent.sol +0 -47
  693. package/contracts/components/IPoolComponent.sol +0 -51
  694. package/contracts/components/IProductComponent.sol +0 -39
  695. package/contracts/components/Pool.sol +0 -208
  696. package/contracts/components/Product.sol +0 -266
  697. package/contracts/experiment/cloning/Cloner.sol +0 -47
  698. package/contracts/experiment/errors/Require.sol +0 -38
  699. package/contracts/experiment/errors/Revert.sol +0 -44
  700. package/contracts/experiment/inheritance/A.sol +0 -53
  701. package/contracts/experiment/inheritance/B.sol +0 -28
  702. package/contracts/experiment/inheritance/C.sol +0 -34
  703. package/contracts/experiment/inheritance/IA.sol +0 -13
  704. package/contracts/experiment/inheritance/IB.sol +0 -10
  705. package/contracts/experiment/inheritance/IC.sol +0 -12
  706. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  707. package/contracts/experiment/statemachine/ISM.sol +0 -25
  708. package/contracts/experiment/statemachine/SM.sol +0 -57
  709. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  710. package/contracts/experiment/types/TypeA.sol +0 -47
  711. package/contracts/experiment/types/TypeB.sol +0 -29
  712. package/contracts/instance/BundleManager.sol +0 -125
  713. package/contracts/instance/InstanceAccessManager.sol +0 -298
  714. package/contracts/instance/ObjectManager.sol +0 -84
  715. package/contracts/instance/base/ComponentService.sol +0 -134
  716. package/contracts/instance/base/KeyValueStore.sol +0 -172
  717. package/contracts/instance/base/Lifecycle.sol +0 -100
  718. package/contracts/instance/module/IAccess.sol +0 -48
  719. package/contracts/instance/module/ISetup.sol +0 -46
  720. package/contracts/instance/module/ITreasury.sol +0 -23
  721. package/contracts/instance/service/BundleService.sol +0 -293
  722. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  723. package/contracts/instance/service/DistributionService.sol +0 -106
  724. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  725. package/contracts/instance/service/IBundleService.sol +0 -44
  726. package/contracts/instance/service/IDistributionService.sol +0 -12
  727. package/contracts/instance/service/IPolicyService.sol +0 -94
  728. package/contracts/instance/service/IPoolService.sol +0 -20
  729. package/contracts/instance/service/IProductService.sol +0 -40
  730. package/contracts/instance/service/PolicyService.sol +0 -538
  731. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  732. package/contracts/instance/service/PoolService.sol +0 -110
  733. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  734. package/contracts/instance/service/ProductService.sol +0 -233
  735. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  736. package/contracts/registry/RegistryAccessManager.sol +0 -216
  737. package/contracts/registry/ReleaseManager.sol +0 -332
  738. package/contracts/shared/ContractDeployerLib.sol +0 -72
  739. package/contracts/shared/ERC165.sol +0 -25
  740. package/contracts/shared/ProxyManager.sol +0 -94
  741. package/contracts/shared/Versionable.sol +0 -147
  742. package/contracts/test/TestFee.sol +0 -25
  743. package/contracts/test/TestRegisterable.sol +0 -18
  744. package/contracts/test/TestRoleId.sol +0 -14
  745. package/contracts/test/TestService.sol +0 -25
  746. package/contracts/test/TestVersion.sol +0 -44
  747. package/contracts/test/TestVersionable.sol +0 -17
  748. package/contracts/test/Usdc.sol +0 -26
  749. package/contracts/types/ChainId.sol +0 -38
  750. package/contracts/types/NumberId.sol +0 -52
  751. package/contracts/types/ObjectType.sol +0 -152
  752. package/contracts/types/RiskId.sol +0 -43
  753. package/contracts/types/RoleId.sol +0 -90
@@ -1,269 +1,247 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
-
6
- import {Key32, KeyId, Key32Lib} from "../types/Key32.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {NumberId} from "../types/NumberId.sol";
9
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT} from "../types/ObjectType.sol";
10
- import {RiskId, RiskIdLib} from "../types/RiskId.sol";
11
- import {RoleId, RoleIdLib} from "../types/RoleId.sol";
12
- import {StateId, ACTIVE} from "../types/StateId.sol";
13
- import {TimestampLib} from "../types/Timestamp.sol";
14
- import {VersionPart} from "../types/Version.sol";
15
-
16
- import {ERC165} from "../shared/ERC165.sol";
17
- import {Registerable} from "../shared/Registerable.sol";
18
-
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";
19
8
  import {IInstance} from "./IInstance.sol";
9
+ import {IComponentService} from "../shared/IComponentService.sol";
10
+ import {IInstanceService} from "./IInstanceService.sol";
20
11
  import {InstanceReader} from "./InstanceReader.sol";
21
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
22
- import {BundleManager} from "./BundleManager.sol";
23
-
24
- import {KeyValueStore} from "./base/KeyValueStore.sol";
25
-
26
- import {IAccess} from "./module/IAccess.sol";
27
- import {IBundle} from "./module/IBundle.sol";
28
- import {IPolicy} from "./module/IPolicy.sol";
29
- import {IRisk} from "./module/IRisk.sol";
30
- import {ISetup} from "./module/ISetup.sol";
31
-
32
- import {IDistributionService} from "./service/IDistributionService.sol";
33
- import {IPoolService} from "./service/IPoolService.sol";
34
- import {IProductService} from "./service/IProductService.sol";
35
- import {IPolicyService} from "./service/IPolicyService.sol";
36
- import {IBundleService} from "./service/IBundleService.sol";
37
- import {VersionPart, VersionPartLib} from "../types/Version.sol";
12
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
13
+ import {InstanceStore} from "./InstanceStore.sol";
14
+ import {IRegistry} from "../registry/IRegistry.sol";
15
+ import {NftId} from "../type/NftId.sol";
16
+ import {Registerable} from "../shared/Registerable.sol";
17
+ import {RoleId} from "../type/RoleId.sol";
18
+ import {Seconds} from "../type/Seconds.sol";
19
+ import {UFixed} from "../type/UFixed.sol";
38
20
 
39
21
  contract Instance is
40
22
  IInstance,
41
- AccessManagedUpgradeable,
42
- Registerable,
43
- KeyValueStore
23
+ Registerable
44
24
  {
45
-
46
- uint256 public constant GIF_MAJOR_VERSION = 3;
47
-
48
- uint64 public constant ADMIN_ROLE = type(uint64).min;
49
- uint64 public constant PUBLIC_ROLE = type(uint64).max;
50
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
51
-
52
- uint32 public constant EXECUTION_DELAY = 0;
53
-
54
25
  bool private _initialized;
55
26
 
56
- InstanceAccessManager internal _accessManager;
57
- InstanceReader internal _instanceReader;
58
- BundleManager internal _bundleManager;
27
+ IComponentService internal _componentService;
28
+ IInstanceService internal _instanceService;
59
29
 
60
- function initialize(address accessManagerAddress, address registryAddress, NftId registryNftId, address initialOwner)
61
- public
62
- initializer
30
+ InstanceAdmin internal _instanceAdmin;
31
+ InstanceReader internal _instanceReader;
32
+ BundleSet internal _bundleSet;
33
+ RiskSet internal _riskSet;
34
+ InstanceStore internal _instanceStore;
35
+ NftId [] internal _products;
36
+
37
+ modifier onlyChainNft() {
38
+ if(msg.sender != getRegistry().getChainNftAddress()) {
39
+ revert();
40
+ }
41
+ _;
42
+ }
43
+
44
+ function initialize(
45
+ InstanceAdmin instanceAdmin,
46
+ InstanceStore instanceStore,
47
+ BundleSet bundleSet,
48
+ RiskSet riskSet,
49
+ InstanceReader instanceReader,
50
+ IRegistry registry,
51
+ address initialOwner
52
+ )
53
+ external
54
+ initializer()
63
55
  {
64
- __AccessManaged_init(accessManagerAddress);
65
-
66
- _initializeRegisterable(registryAddress, registryNftId, INSTANCE(), false, initialOwner, "");
56
+ if(address(instanceAdmin) == address(0)) {
57
+ revert ErrorInstanceInstanceAdminZero();
58
+ }
59
+
60
+ _instanceAdmin = instanceAdmin;
61
+
62
+ // setup instance object info
63
+ __Registerable_init(
64
+ instanceAdmin.authority(),
65
+ address(registry),
66
+ registry.getNftId(),
67
+ INSTANCE(),
68
+ true,
69
+ initialOwner,
70
+ "");
71
+
72
+ // store instance supporting contracts
73
+ _instanceStore = instanceStore;
74
+ _bundleSet = bundleSet;
75
+ _riskSet = riskSet;
76
+ _instanceReader = instanceReader;
67
77
 
68
- _registerInterface(type(IInstance).interfaceId);
69
- }
78
+ // initialize instance supporting contracts
79
+ _instanceStore.initialize();
80
+ _bundleSet.initialize(instanceAdmin.authority(), address(registry));
81
+ _riskSet.initialize(instanceAdmin.authority(), address(registry));
82
+ _instanceReader.initialize();
70
83
 
71
- //--- ProductSetup ------------------------------------------------------//
72
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external restricted() {
73
- create(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup));
74
- }
84
+ _componentService = IComponentService(
85
+ getRegistry().getServiceAddress(
86
+ COMPONENT(),
87
+ getRelease()));
75
88
 
76
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external restricted() {
77
- update(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup), newState);
78
- }
89
+ _instanceService = IInstanceService(
90
+ getRegistry().getServiceAddress(
91
+ INSTANCE(),
92
+ getRelease()));
79
93
 
80
- function updateProductSetupState(NftId productNftId, StateId newState) external restricted() {
81
- updateState(_toNftKey32(productNftId, PRODUCT()), newState);
94
+ _registerInterface(type(IInstance).interfaceId);
82
95
  }
83
96
 
84
- //--- DistributionSetup ------------------------------------------------------//
85
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external restricted() {
86
- create(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup));
87
- }
97
+ //--- ProductRegistration ----------------------------------------------//
88
98
 
89
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external restricted() {
90
- update(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup), newState);
99
+ function registerProduct(address product)
100
+ external
101
+ onlyOwner()
102
+ returns (NftId productNftId)
103
+ {
104
+ productNftId = _componentService.registerProduct(product);
105
+ _products.push(productNftId);
91
106
  }
92
107
 
93
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external restricted() {
94
- updateState(_toNftKey32(distributionNftId, DISTRIBUTION()), newState);
95
- }
108
+ //--- Staking ----------------------------------------------------------//
96
109
 
97
- //--- PoolSetup ------------------------------------------------------//
98
- function createPoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup) external restricted() {
99
- create(_toNftKey32(poolNftId, POOL()), abi.encode(setup));
110
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod)
111
+ external
112
+ onlyOwner()
113
+ {
114
+ _instanceService.setStakingLockingPeriod(stakeLockingPeriod);
100
115
  }
101
116
 
102
- function updatePoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup, StateId newState) external restricted() {
103
- update(_toNftKey32(poolNftId, POOL()), abi.encode(setup), newState);
117
+ function setStakingRewardRate(UFixed rewardRate)
118
+ external
119
+ onlyOwner()
120
+ {
121
+ _instanceService.setStakingRewardRate(rewardRate);
104
122
  }
105
123
 
106
- function updatePoolSetupState(NftId poolNftId, StateId newState) external restricted() {
107
- updateState(_toNftKey32(poolNftId, POOL()), newState);
124
+ function refillStakingRewardReserves(Amount dipAmount)
125
+ external
126
+ onlyOwner()
127
+ {
128
+ address instanceOwner = msg.sender;
129
+ _instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
108
130
  }
109
131
 
110
- //--- DistributorType ---------------------------------------------------//
111
- function createDistributorType(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
112
- create(toPolicyKey32(policyNftId), abi.encode(payout));
132
+ function withdrawStakingRewardReserves(Amount dipAmount)
133
+ external
134
+ onlyOwner()
135
+ returns (Amount newBalance)
136
+ {
137
+ return _instanceService.withdrawStakingRewardReserves(dipAmount);
113
138
  }
114
139
 
115
- function updateDistributorType(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
116
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
117
- }
140
+ //--- Roles ------------------------------------------------------------//
118
141
 
119
- function updateDistributorTypeState(NftId policyNftId, StateId newState) external restricted() {
120
- updateState(toPolicyKey32(policyNftId), newState);
142
+ function createRole(string memory roleName, string memory adminName)
143
+ external
144
+ onlyOwner()
145
+ returns (RoleId roleId, RoleId admin)
146
+ {
147
+ // TODO refactor
148
+ // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
121
149
  }
122
150
 
123
- //--- Distributor -------------------------------------------------------//
124
- function createDistributor(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
125
- create(toPolicyKey32(policyNftId), abi.encode(payout));
151
+ function grantRole(RoleId roleId, address account)
152
+ external
153
+ onlyOwner()
154
+ {
155
+ _instanceAdmin.grantRole(roleId, account);
126
156
  }
127
157
 
128
- function updateDistributor(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
129
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
158
+ function revokeRole(RoleId roleId, address account)
159
+ external
160
+ onlyOwner()
161
+ {
162
+ // TODO refactor
163
+ // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
130
164
  }
131
165
 
132
- function updateDistributorState(NftId policyNftId, StateId newState) external restricted() {
133
- updateState(toPolicyKey32(policyNftId), newState);
134
- }
166
+ //--- Targets ------------------------------------------------------------//
135
167
 
136
- //--- Referral ----------------------------------------------------------//
137
- function createReferral(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
138
- create(toPolicyKey32(policyNftId), abi.encode(payout));
168
+ function createTarget(address target, string memory name)
169
+ external
170
+ onlyOwner()
171
+ {
172
+ // TODO refactor
173
+ // _instanceAdmin.createTarget(target, name);
139
174
  }
140
175
 
141
- function updateReferral(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
142
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
176
+ function setTargetFunctionRole(
177
+ string memory targetName,
178
+ bytes4[] calldata selectors,
179
+ RoleId roleId
180
+ )
181
+ external
182
+ onlyOwner()
183
+ {
184
+ // TODO refactor
185
+ // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
143
186
  }
144
187
 
145
- function updateReferralState(NftId policyNftId, StateId newState) external restricted() {
146
- updateState(toPolicyKey32(policyNftId), newState);
188
+ function setLocked(address target, bool locked)
189
+ external
190
+ onlyOwner()
191
+ {
192
+ _componentService.setLockedFromInstance(target, locked);
147
193
  }
148
194
 
149
- //--- Bundle ------------------------------------------------------------//
150
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external restricted() {
151
- create(toBundleKey32(bundleNftId), abi.encode(bundle));
152
- }
195
+ //--- ITransferInterceptor ----------------------------------------------//
153
196
 
154
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external restricted() {
155
- update(toBundleKey32(bundleNftId), abi.encode(bundle), newState);
197
+ function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
198
+ // TODO refactor
199
+ // _instanceAdmin.transferInstanceOwnerRole(from, to);
156
200
  }
157
201
 
158
- function updateBundleState(NftId bundleNftId, StateId newState) external restricted() {
159
- updateState(toBundleKey32(bundleNftId), newState);
160
- }
202
+ //--- initial setup functions -------------------------------------------//
161
203
 
162
- //--- Risk --------------------------------------------------------------//
163
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external restricted() {
164
- create(riskId.toKey32(), abi.encode(risk));
165
- }
166
204
 
167
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external restricted() {
168
- update(riskId.toKey32(), abi.encode(risk), newState);
169
- }
205
+ function setInstanceReader(InstanceReader instanceReader)
206
+ external
207
+ restricted()
208
+ {
209
+ if(instanceReader.getInstance() != Instance(this)) {
210
+ revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
211
+ }
170
212
 
171
- function updateRiskState(RiskId riskId, StateId newState) external restricted() {
172
- updateState(riskId.toKey32(), newState);
213
+ _instanceReader = instanceReader;
173
214
  }
174
215
 
175
- //--- Policy ------------------------------------------------------------//
176
- function createPolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy) external restricted() {
177
- create(toPolicyKey32(policyNftId), abi.encode(policy));
178
- }
216
+ //--- external view functions -------------------------------------------//
179
217
 
180
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
181
- update(toPolicyKey32(policyNftId), abi.encode(policy), newState);
218
+ function products() external view returns (uint256 productCount) {
219
+ return _products.length;
182
220
  }
183
221
 
184
- function updatePolicyState(NftId policyNftId, StateId newState) external restricted() {
185
- updateState(toPolicyKey32(policyNftId), newState);
222
+ function getProductNftId(uint256 idx) external view returns (NftId productNftId) {
223
+ return _products[idx];
186
224
  }
187
225
 
188
- //--- Claim -------------------------------------------------------------//
189
- function createClaim(NftId policyNftId, NumberId claimId, IPolicy.ClaimInfo memory claim) external restricted() {
190
- create(toPolicyKey32(policyNftId), abi.encode(claim));
191
- }
192
-
193
- function updateClaim(NftId policyNftId, NumberId claimId, IPolicy.ClaimInfo memory claim, StateId newState) external restricted() {
194
- update(toPolicyKey32(policyNftId), abi.encode(claim), newState);
226
+ function getInstanceReader() external view returns (InstanceReader) {
227
+ return _instanceReader;
195
228
  }
196
229
 
197
- function updateClaimState(NftId policyNftId, StateId newState) external restricted() {
198
- updateState(toPolicyKey32(policyNftId), newState);
230
+ function getBundleSet() external view returns (BundleSet) {
231
+ return _bundleSet;
199
232
  }
200
233
 
201
- //--- Payout ------------------------------------------------------------//
202
- function createPayout(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
203
- create(toPolicyKey32(policyNftId), abi.encode(payout));
234
+ function getRiskSet() external view returns (RiskSet) {
235
+ return _riskSet;
204
236
  }
205
237
 
206
- function updateClaim(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
207
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
238
+ function getInstanceAdmin() external view returns (InstanceAdmin) {
239
+ return _instanceAdmin;
208
240
  }
209
241
 
210
- function updatePayoutState(NftId policyNftId, StateId newState) external restricted() {
211
- updateState(toPolicyKey32(policyNftId), newState);
242
+ function getInstanceStore() external view returns (InstanceStore) {
243
+ return _instanceStore;
212
244
  }
213
245
 
214
246
  //--- internal view/pure functions --------------------------------------//
215
- function _toNftKey32(NftId nftId, ObjectType objectType) internal pure returns (Key32) {
216
- return nftId.toKey32(objectType);
217
- }
218
-
219
- function toBundleKey32(NftId bundleNftId) public pure returns (Key32) {
220
- return bundleNftId.toKey32(BUNDLE());
221
- }
222
-
223
- function toPolicyKey32(NftId policyNftId) public pure returns (Key32) {
224
- return policyNftId.toKey32(POLICY());
225
- }
226
-
227
- function getDistributionService() external view returns (IDistributionService) {
228
- return IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), VersionPart.wrap(3)));
229
- }
230
-
231
- function getProductService() external view returns (IProductService) {
232
- return IProductService(_registry.getServiceAddress(PRODUCT(), VersionPart.wrap(3)));
233
- }
234
-
235
- function getPoolService() external view returns (IPoolService) {
236
- return IPoolService(_registry.getServiceAddress(POOL(), VersionPart.wrap(3)));
237
- }
238
-
239
- function getPolicyService() external view returns (IPolicyService) {
240
- return IPolicyService(_registry.getServiceAddress(POLICY(), VersionPart.wrap(3)));
241
- }
242
-
243
- function getBundleService() external view returns (IBundleService) {
244
- return IBundleService(_registry.getServiceAddress(BUNDLE(), VersionPart.wrap(3)));
245
- }
246
-
247
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
248
- require(instanceReader.getInstance() == Instance(this), "InstanceReader instance mismatch");
249
- _instanceReader = instanceReader;
250
- }
251
-
252
- function getMajorVersion() external pure returns (VersionPart majorVersion) {
253
- return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
254
- }
255
-
256
- function getInstanceReader() external view returns (InstanceReader) {
257
- return _instanceReader;
258
- }
259
-
260
- function setBundleManager(BundleManager bundleManager) external restricted() {
261
- require(address(_bundleManager) == address(0), "BundleManager is set");
262
- require(bundleManager.getInstance() == Instance(this), "BundleManager instance mismatch");
263
- _bundleManager = bundleManager;
264
- }
265
-
266
- function getBundleManager() external view returns (BundleManager) {
267
- return _bundleManager;
268
- }
269
- }
247
+ }