@etherisc/gif-next 0.0.2-d408403-475 → 0.0.2-d437d8d-974

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 (747) hide show
  1. package/README.md +287 -42
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1234 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1013 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1342 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1012 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1400 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +787 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +906 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +932 -0
  36. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  37. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  38. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  39. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  40. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  41. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  42. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  44. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  45. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  46. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +263 -1618
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +757 -0
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +455 -2025
  52. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1623 -0
  54. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  56. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1850 -0
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1048 -0
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +683 -0
  62. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3587 -0
  64. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  66. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  67. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  68. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  69. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  70. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  71. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  72. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  78. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  79. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  80. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  81. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  82. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  84. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  86. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  87. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  88. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  90. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  92. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  94. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +765 -0
  96. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  98. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  100. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
  102. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
  104. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  105. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  106. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  107. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  108. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1362 -0
  110. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +771 -0
  112. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  113. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +907 -0
  114. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  115. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  116. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  117. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  118. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  119. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  120. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  121. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1469 -0
  122. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +695 -0
  124. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  125. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +732 -0
  126. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +667 -0
  128. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  129. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  130. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  131. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  132. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  133. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1341 -0
  134. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +783 -0
  136. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  137. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +232 -345
  138. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  139. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  140. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  141. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +835 -0
  142. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  143. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
  144. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  145. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +948 -0
  146. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  147. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +207 -171
  148. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  149. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1186 -0
  150. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +731 -0
  152. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  153. package/artifacts/contracts/product/PricingService.sol/PricingService.json +860 -0
  154. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +715 -0
  156. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  157. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  158. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  159. package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
  160. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -0
  162. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  163. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  164. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  165. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +924 -119
  166. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  167. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +940 -0
  168. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  170. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  171. package/artifacts/contracts/registry/Registry.sol/Registry.json +1343 -220
  172. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  173. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1858 -0
  174. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  175. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1340 -0
  176. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  177. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +670 -0
  178. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  180. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  181. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  182. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  183. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  184. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  185. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  186. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  187. package/artifacts/contracts/shared/Component.sol/Component.json +685 -0
  188. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  189. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1568 -0
  190. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  191. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +753 -0
  192. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +229 -242
  194. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  195. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  196. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  197. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +605 -0
  198. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  200. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  201. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  202. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  203. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +474 -0
  204. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  205. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  206. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  207. package/artifacts/contracts/{instance/module/component/IComponent.sol/IComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +66 -52
  208. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  209. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  210. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  211. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -31
  212. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  213. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  214. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  215. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → shared/IService.sol/IService.json} +171 -150
  216. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  217. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  218. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  219. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  220. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  221. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  222. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  223. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +102 -165
  224. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  225. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  226. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  227. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  228. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  229. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +193 -0
  230. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  231. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  232. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +170 -27
  234. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  235. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  236. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  237. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +189 -170
  238. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  239. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +469 -0
  240. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  241. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  242. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  243. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  244. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  245. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  246. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  248. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  249. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  250. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  252. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +714 -0
  254. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  256. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1231 -0
  258. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +667 -0
  260. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  262. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  263. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  264. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  265. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  266. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  268. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  270. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  272. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  274. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  276. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  278. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  280. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  281. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  282. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  284. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  286. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  288. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  290. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  292. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  294. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  296. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  298. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  300. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  302. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  304. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  306. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  308. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  310. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  312. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  314. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  315. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  316. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  317. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +566 -0
  318. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  319. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  320. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  321. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  322. package/contracts/authorization/AccessAdmin.sol +592 -0
  323. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  324. package/contracts/authorization/Authorization.sol +217 -0
  325. package/contracts/authorization/IAccess.sol +48 -0
  326. package/contracts/authorization/IAccessAdmin.sol +135 -0
  327. package/contracts/authorization/IAuthorization.sol +54 -0
  328. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  329. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  330. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  331. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  332. package/contracts/distribution/BasicDistribution.sol +138 -0
  333. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  334. package/contracts/distribution/Distribution.sol +295 -0
  335. package/contracts/distribution/DistributionService.sol +336 -0
  336. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  337. package/contracts/distribution/IDistributionComponent.sol +52 -0
  338. package/contracts/distribution/IDistributionService.sol +101 -0
  339. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  340. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  341. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  342. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  343. package/contracts/instance/BundleSet.sol +126 -0
  344. package/contracts/instance/IInstance.sol +57 -47
  345. package/contracts/instance/IInstanceService.sol +92 -0
  346. package/contracts/instance/Instance.sol +216 -61
  347. package/contracts/instance/InstanceAdmin.sol +285 -0
  348. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  349. package/contracts/instance/InstanceReader.sol +430 -0
  350. package/contracts/instance/InstanceService.sol +467 -0
  351. package/contracts/instance/InstanceServiceManager.sol +40 -0
  352. package/contracts/instance/InstanceStore.sol +287 -0
  353. package/contracts/instance/base/BalanceStore.sol +123 -0
  354. package/contracts/instance/base/Cloneable.sol +28 -0
  355. package/contracts/instance/base/ObjectCounter.sol +21 -0
  356. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  357. package/contracts/instance/base/ObjectSet.sol +79 -0
  358. package/contracts/instance/module/IAccess.sol +46 -0
  359. package/contracts/instance/module/IBundle.sol +20 -0
  360. package/contracts/instance/module/IComponents.sol +46 -0
  361. package/contracts/instance/module/IDistribution.sol +41 -0
  362. package/contracts/instance/module/IPolicy.sol +84 -0
  363. package/contracts/instance/module/IRisk.sol +11 -0
  364. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  365. package/contracts/oracle/BasicOracle.sol +48 -0
  366. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  367. package/contracts/oracle/IOracle.sol +36 -0
  368. package/contracts/oracle/IOracleComponent.sol +33 -0
  369. package/contracts/oracle/IOracleService.sol +65 -0
  370. package/contracts/oracle/Oracle.sol +167 -0
  371. package/contracts/oracle/OracleService.sol +279 -0
  372. package/contracts/oracle/OracleServiceManager.sol +39 -0
  373. package/contracts/pool/BasicPool.sol +166 -0
  374. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  375. package/contracts/pool/BundleService.sol +438 -0
  376. package/contracts/pool/BundleServiceManager.sol +39 -0
  377. package/contracts/pool/IBundleService.sol +134 -0
  378. package/contracts/pool/IPoolComponent.sol +58 -0
  379. package/contracts/pool/IPoolService.sol +160 -0
  380. package/contracts/pool/Pool.sol +326 -0
  381. package/contracts/pool/PoolService.sol +509 -0
  382. package/contracts/pool/PoolServiceManager.sol +39 -0
  383. package/contracts/product/ApplicationService.sol +248 -0
  384. package/contracts/product/ApplicationServiceManager.sol +38 -0
  385. package/contracts/product/BasicProduct.sol +53 -0
  386. package/contracts/product/BasicProductAuthorization.sol +43 -0
  387. package/contracts/product/ClaimService.sol +537 -0
  388. package/contracts/product/ClaimServiceManager.sol +38 -0
  389. package/contracts/product/IApplicationService.sol +63 -0
  390. package/contracts/product/IClaimService.sol +122 -0
  391. package/contracts/product/IPolicyService.sol +75 -0
  392. package/contracts/product/IPricingService.sol +39 -0
  393. package/contracts/product/IProductComponent.sol +39 -0
  394. package/contracts/product/IRiskService.sol +33 -0
  395. package/contracts/product/PolicyService.sol +638 -0
  396. package/contracts/product/PolicyServiceManager.sol +39 -0
  397. package/contracts/product/PricingService.sol +301 -0
  398. package/contracts/product/PricingServiceManager.sol +39 -0
  399. package/contracts/product/Product.sol +425 -0
  400. package/contracts/product/RiskService.sol +97 -0
  401. package/contracts/product/RiskServiceManager.sol +39 -0
  402. package/contracts/registry/ChainNft.sol +131 -40
  403. package/contracts/registry/IRegistry.sol +140 -29
  404. package/contracts/registry/IRegistryService.sol +69 -0
  405. package/contracts/registry/ITransferInterceptor.sol +7 -0
  406. package/contracts/registry/Registry.sol +603 -283
  407. package/contracts/registry/RegistryAdmin.sol +464 -0
  408. package/contracts/registry/RegistryService.sol +252 -0
  409. package/contracts/registry/RegistryServiceManager.sol +53 -0
  410. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  411. package/contracts/registry/ReleaseRegistry.sol +491 -0
  412. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  413. package/contracts/registry/TokenRegistry.sol +315 -0
  414. package/contracts/shared/Component.sol +268 -0
  415. package/contracts/shared/ComponentService.sol +641 -0
  416. package/contracts/shared/ComponentServiceManager.sol +35 -0
  417. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  418. package/contracts/shared/ContractLib.sol +38 -0
  419. package/contracts/shared/IComponent.sol +70 -0
  420. package/contracts/shared/IComponentService.sol +108 -0
  421. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  422. package/contracts/shared/IKeyValueStore.sol +54 -0
  423. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -5
  424. package/contracts/shared/INftOwnable.sol +23 -0
  425. package/contracts/shared/IPolicyHolder.sol +35 -0
  426. package/contracts/shared/IRegisterable.sol +10 -19
  427. package/contracts/shared/IRegistryLinked.sol +11 -0
  428. package/contracts/shared/IService.sol +25 -0
  429. package/contracts/shared/InitializableCustom.sol +177 -0
  430. package/contracts/shared/InitializableERC165.sol +27 -0
  431. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  432. package/contracts/shared/KeyValueStore.sol +131 -0
  433. package/contracts/shared/Lifecycle.sol +77 -0
  434. package/contracts/shared/NftIdSet.sol +65 -0
  435. package/contracts/shared/NftOwnable.sol +107 -0
  436. package/contracts/shared/PolicyHolder.sol +58 -0
  437. package/contracts/shared/Registerable.sol +54 -65
  438. package/contracts/shared/RegistryLinked.sol +44 -0
  439. package/contracts/shared/Service.sol +82 -0
  440. package/contracts/shared/TokenHandler.sol +139 -0
  441. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  442. package/contracts/staking/IStaking.sol +168 -0
  443. package/contracts/staking/IStakingService.sol +160 -0
  444. package/contracts/staking/StakeManagerLib.sol +224 -0
  445. package/contracts/staking/Staking.sol +498 -0
  446. package/contracts/staking/StakingLifecycle.sol +23 -0
  447. package/contracts/staking/StakingManager.sol +50 -0
  448. package/contracts/staking/StakingReader.sol +183 -0
  449. package/contracts/staking/StakingService.sol +407 -0
  450. package/contracts/staking/StakingServiceManager.sol +44 -0
  451. package/contracts/staking/StakingStore.sol +605 -0
  452. package/contracts/staking/TargetManagerLib.sol +211 -0
  453. package/contracts/{types → type}/AddressSet.sol +1 -1
  454. package/contracts/type/Amount.sol +135 -0
  455. package/contracts/{types → type}/Blocknumber.sol +27 -3
  456. package/contracts/type/ClaimId.sol +75 -0
  457. package/contracts/type/DistributorType.sol +55 -0
  458. package/contracts/type/Fee.sol +66 -0
  459. package/contracts/{types → type}/Key32.sol +8 -3
  460. package/contracts/{types → type}/NftId.sol +21 -15
  461. package/contracts/type/NftIdSet.sol +62 -0
  462. package/contracts/type/ObjectType.sol +275 -0
  463. package/contracts/type/PayoutId.sol +82 -0
  464. package/contracts/type/Referral.sol +90 -0
  465. package/contracts/type/RequestId.sol +75 -0
  466. package/contracts/{types → type}/RiskId.sol +1 -1
  467. package/contracts/type/RoleId.sol +174 -0
  468. package/contracts/type/Seconds.sol +101 -0
  469. package/contracts/type/Selector.sol +102 -0
  470. package/contracts/{types → type}/StateId.sol +40 -5
  471. package/contracts/type/String.sol +53 -0
  472. package/contracts/{types → type}/Timestamp.sol +38 -15
  473. package/contracts/type/UFixed.sol +351 -0
  474. package/contracts/{types → type}/Version.sol +17 -2
  475. package/contracts/upgradeability/IVersionable.sol +53 -0
  476. package/contracts/upgradeability/ProxyManager.sol +198 -0
  477. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
  478. package/contracts/upgradeability/Versionable.sol +59 -0
  479. package/package.json +11 -7
  480. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  481. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  482. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  483. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -405
  484. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  485. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -174
  486. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  487. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -340
  488. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  489. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -487
  490. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  491. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -370
  492. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  493. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -578
  494. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  495. package/artifacts/contracts/components/Product.sol/Product.json +0 -444
  496. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  497. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  498. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  499. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  500. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  501. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  502. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  503. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  504. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  505. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  506. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  507. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  508. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  510. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  512. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  514. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  515. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  516. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  517. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  518. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  519. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  521. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  523. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  525. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  527. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  528. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  529. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  530. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  531. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  532. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  533. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  534. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  535. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  537. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  538. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  539. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  540. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  541. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  542. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  543. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  544. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  545. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  546. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  547. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  548. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  549. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  550. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  551. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  552. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  553. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  554. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  555. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  556. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  557. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  558. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  559. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  560. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  561. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  563. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  564. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  565. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  567. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  568. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  569. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  570. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  571. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  572. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  573. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  574. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  575. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
  576. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  577. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
  578. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  579. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  580. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  581. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  582. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  583. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  584. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  585. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  586. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -511
  587. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  588. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  589. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  590. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -511
  591. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  592. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -531
  593. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  594. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -420
  595. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  596. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  597. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  598. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  599. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  600. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -543
  601. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  602. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -858
  603. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  604. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  605. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  606. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  607. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  608. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  609. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  610. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  611. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  612. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  613. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  614. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  615. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -405
  616. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  617. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  618. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  619. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -578
  620. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  621. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -575
  622. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  623. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  624. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  625. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  626. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  627. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  628. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  629. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  630. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  631. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  632. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  633. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  634. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  635. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  636. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  637. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  638. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  639. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  640. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  641. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  642. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  643. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  644. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  645. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  646. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  648. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  649. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  650. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  652. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  653. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  654. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  655. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  656. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  657. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  658. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  659. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  660. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  661. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  662. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  663. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  664. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  665. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  666. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  667. package/contracts/components/BaseComponent.sol +0 -94
  668. package/contracts/components/Distribution.sol +0 -132
  669. package/contracts/components/IBaseComponent.sol +0 -19
  670. package/contracts/components/IDistributionComponent.sol +0 -48
  671. package/contracts/components/IPoolComponent.sol +0 -71
  672. package/contracts/components/IProductComponent.sol +0 -38
  673. package/contracts/components/Pool.sol +0 -235
  674. package/contracts/components/Product.sol +0 -227
  675. package/contracts/experiment/errors/Require.sol +0 -38
  676. package/contracts/experiment/errors/Revert.sol +0 -44
  677. package/contracts/experiment/inheritance/A.sol +0 -53
  678. package/contracts/experiment/inheritance/B.sol +0 -28
  679. package/contracts/experiment/inheritance/C.sol +0 -34
  680. package/contracts/experiment/inheritance/IA.sol +0 -13
  681. package/contracts/experiment/inheritance/IB.sol +0 -10
  682. package/contracts/experiment/inheritance/IC.sol +0 -12
  683. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  684. package/contracts/experiment/statemachine/ISM.sol +0 -25
  685. package/contracts/experiment/statemachine/README.md +0 -112
  686. package/contracts/experiment/statemachine/SM.sol +0 -57
  687. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  688. package/contracts/experiment/types/TypeA.sol +0 -47
  689. package/contracts/experiment/types/TypeB.sol +0 -29
  690. package/contracts/instance/IInstanceLinked.sol +0 -8
  691. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  692. package/contracts/instance/base/IInstanceBase.sol +0 -22
  693. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  694. package/contracts/instance/base/IService.sol +0 -15
  695. package/contracts/instance/base/InstanceBase.sol +0 -91
  696. package/contracts/instance/base/KeyValueStore.sol +0 -161
  697. package/contracts/instance/base/Lifecycle.sol +0 -100
  698. package/contracts/instance/base/ModuleBase.sol +0 -57
  699. package/contracts/instance/base/ServiceBase.sol +0 -37
  700. package/contracts/instance/module/access/Access.sol +0 -149
  701. package/contracts/instance/module/access/IAccess.sol +0 -53
  702. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  703. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  704. package/contracts/instance/module/component/ComponentModule.sol +0 -70
  705. package/contracts/instance/module/component/IComponent.sol +0 -28
  706. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  707. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  708. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  709. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  710. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  711. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  712. package/contracts/instance/module/risk/IRisk.sol +0 -26
  713. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  714. package/contracts/instance/module/treasury/ITreasury.sol +0 -82
  715. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  716. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -138
  717. package/contracts/instance/service/ComponentOwnerService.sol +0 -157
  718. package/contracts/instance/service/DistributionService.sol +0 -59
  719. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  720. package/contracts/instance/service/IDistributionService.sol +0 -12
  721. package/contracts/instance/service/IPoolService.sol +0 -37
  722. package/contracts/instance/service/IProductService.sol +0 -107
  723. package/contracts/instance/service/PoolService.sol +0 -149
  724. package/contracts/instance/service/ProductService.sol +0 -509
  725. package/contracts/registry/IChainNft.sol +0 -21
  726. package/contracts/registry/IRegistryLinked.sol +0 -8
  727. package/contracts/shared/ERC165.sol +0 -21
  728. package/contracts/shared/IOwnable.sol +0 -6
  729. package/contracts/shared/IVersionable.sol +0 -52
  730. package/contracts/shared/Versionable.sol +0 -89
  731. package/contracts/test/TestDistribution.sol +0 -21
  732. package/contracts/test/TestFee.sol +0 -25
  733. package/contracts/test/TestPool.sol +0 -25
  734. package/contracts/test/TestProduct.sol +0 -72
  735. package/contracts/test/TestRegisterable.sol +0 -19
  736. package/contracts/test/TestRoleId.sol +0 -14
  737. package/contracts/test/TestService.sol +0 -32
  738. package/contracts/test/TestToken.sol +0 -26
  739. package/contracts/test/TestVersion.sol +0 -44
  740. package/contracts/test/TestVersionable.sol +0 -17
  741. package/contracts/types/ChainId.sol +0 -38
  742. package/contracts/types/Fee.sol +0 -56
  743. package/contracts/types/NftIdSet.sol +0 -60
  744. package/contracts/types/ObjectType.sol +0 -131
  745. package/contracts/types/ReferralId.sol +0 -48
  746. package/contracts/types/RoleId.sol +0 -38
  747. package/contracts/types/UFixed.sol +0 -209
@@ -1,37 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId, zeroNftId} from "../../types/NftId.sol";
5
- import {ObjectType, SERVICE} from "../../types/ObjectType.sol";
6
- import {Version, VersionPart} from "../../types/Version.sol";
7
-
8
- import {Registerable} from "../../shared/Registerable.sol";
9
- import {IVersionable} from "../../shared/IVersionable.sol";
10
- import {Versionable} from "../../shared/Versionable.sol";
11
-
12
- import {IService} from "./IService.sol";
13
-
14
- abstract contract ServiceBase is
15
- Registerable,
16
- Versionable,
17
- IService
18
- {
19
-
20
- constructor(
21
- address registry,
22
- NftId registryNftId
23
- )
24
- Registerable(registry, registryNftId)
25
- Versionable()
26
- {
27
- _registerInterface(type(IService).interfaceId);
28
- }
29
-
30
- function getMajorVersion() external view override returns(VersionPart majorVersion) {
31
- return this.getVersion().toMajorPart();
32
- }
33
-
34
- function getType() external pure override returns (ObjectType) {
35
- return SERVICE();
36
- }
37
- }
@@ -1,149 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // role admin handling of oz doesn't fit nft ownability
5
- // import {AccessControlEnumerable} from "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
6
- import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
7
-
8
- import {RoleId, RoleIdLib} from "../../../types/RoleId.sol";
9
- import {DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE} from "../../../types/RoleId.sol";
10
- import {DISTRIBUTION_OWNER_ROLE_NAME, ORACLE_OWNER_ROLE_NAME, POOL_OWNER_ROLE_NAME, PRODUCT_OWNER_ROLE_NAME} from "../../../types/RoleId.sol";
11
- import {IAccessModule} from "./IAccess.sol";
12
-
13
- abstract contract AccessModule is IAccessModule {
14
-
15
- using EnumerableSet for EnumerableSet.AddressSet;
16
-
17
- mapping(RoleId role => RoleInfo info) private _info;
18
- RoleId[] private _roles;
19
-
20
- mapping(RoleId role => mapping(address member => bool isMember))
21
- private _isRoleMember;
22
- mapping(RoleId role => EnumerableSet.AddressSet members) private _roleMembers;
23
-
24
- modifier onlyAccessOwner() {
25
- require(
26
- msg.sender == this.getOwner(),
27
- "ERROR:ACS-001:NOT_OWNER");
28
- _;
29
- }
30
-
31
- modifier onlyExistingRole(RoleId role) {
32
- require(
33
- _info[role].id == role,
34
- "ERROR:ACS-002:ROLE_NOT_EXISTING");
35
- _;
36
- }
37
-
38
- constructor() {
39
- _createRole(DISTRIBUTION_OWNER_ROLE(), DISTRIBUTION_OWNER_ROLE_NAME());
40
- _createRole(ORACLE_OWNER_ROLE(), ORACLE_OWNER_ROLE_NAME());
41
- _createRole(POOL_OWNER_ROLE(), POOL_OWNER_ROLE_NAME());
42
- _createRole(PRODUCT_OWNER_ROLE(), PRODUCT_OWNER_ROLE_NAME());
43
- }
44
-
45
- function createRole(
46
- string memory roleName
47
- ) public override onlyAccessOwner returns (RoleId role) {
48
- role = RoleIdLib.toRoleId(roleName);
49
- require(
50
- !roleExists(role),
51
- "ERROR:ACS-010:ROLE_ALREADY_EXISTS");
52
-
53
- _createRole(role, roleName);
54
- }
55
-
56
- function setRoleState(RoleId role, bool active) external override onlyExistingRole(role) onlyAccessOwner {
57
- RoleInfo memory info = _info[role];
58
- info.isActive = active;
59
- _setRoleInfo(info);
60
-
61
- emit LogAccessRoleStateSet(role, active);
62
- }
63
-
64
- function grantRole(
65
- RoleId role,
66
- address member
67
- ) external override onlyExistingRole(role) onlyAccessOwner {
68
- require(_info[role].isActive, "ERROR:ACS-040:ROLE_NOT_ACTIVE");
69
-
70
- _isRoleMember[role][member] = true;
71
- _roleMembers[role].add(member);
72
-
73
- emit LogAccessRoleGranted(role, member, _isRoleMember[role][member]);
74
- }
75
-
76
- function revokeRole(
77
- RoleId role,
78
- address member
79
- ) external override onlyExistingRole(role) onlyAccessOwner {
80
- delete _isRoleMember[role][member];
81
- _roleMembers[role].remove(member);
82
-
83
- emit LogAccessRoleGranted(role, member, false);
84
- }
85
-
86
- function roleExists(RoleId role) public view virtual override returns (bool) {
87
- return _info[role].id == role;
88
- }
89
-
90
- function hasRole(
91
- RoleId role,
92
- address member
93
- ) public view virtual override returns (bool) {
94
- return _isRoleMember[role][member];
95
- }
96
-
97
- function getRoleId(string memory roleName) external pure override returns (RoleId role) {
98
- return RoleIdLib.toRoleId(roleName);
99
- }
100
-
101
- function getRoleInfo(
102
- RoleId role
103
- ) external view override returns (RoleInfo memory info) {
104
- return _info[role];
105
- }
106
-
107
- function getRole(
108
- uint256 idx
109
- ) external view override returns (RoleId role) {
110
- return _roles[idx];
111
- }
112
-
113
- function getRoleCount() external view override returns (uint256 roles) {
114
- return _roles.length;
115
- }
116
-
117
- function getRoleMemberCount(
118
- RoleId role
119
- ) public view override returns (uint256 roleMembers) {
120
- return _roleMembers[role].length();
121
- }
122
-
123
- function getRoleMember(
124
- RoleId role,
125
- uint256 idx
126
- ) public view override returns (address roleMembers) {
127
- return _roleMembers[role].at(idx);
128
- }
129
-
130
- function _createRole(
131
- RoleId role,
132
- string memory roleName
133
- ) internal {
134
- RoleInfo memory info = RoleInfo(role, roleName, true);
135
- _setRoleInfo(info);
136
-
137
- emit LogAccessRoleCreated(role, roleName);
138
- }
139
-
140
- function _setRoleInfo(
141
- RoleInfo memory info
142
- ) internal {
143
- RoleId role = info.id;
144
- _info[role] = info;
145
- if(!roleExists(role)) {
146
- _roles.push(role);
147
- }
148
- }
149
- }
@@ -1,53 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {RoleId} from "../../../types/RoleId.sol";
5
-
6
- interface IAccess {
7
- struct RoleInfo {
8
- RoleId id;
9
- string name;
10
- bool isActive;
11
- }
12
- }
13
-
14
- interface IAccessModule is
15
- IAccess
16
- {
17
- event LogAccessRoleCreated(RoleId role, string roleName);
18
- event LogAccessRoleStateSet(RoleId role, bool active);
19
- event LogAccessRoleGranted(RoleId role, address member, bool isMember);
20
-
21
- function createRole(string memory roleName) external returns (RoleId role);
22
-
23
- function setRoleState(RoleId role, bool active) external;
24
-
25
- function grantRole(RoleId role, address member) external;
26
-
27
- function revokeRole(RoleId role, address member) external;
28
-
29
- function roleExists(RoleId role) external view returns (bool);
30
-
31
- function hasRole(RoleId role, address member) external view returns (bool);
32
-
33
- function getRoleCount() external view returns (uint256 roles);
34
-
35
- function getRole(uint256 idx) external view returns (RoleId role);
36
-
37
- function getRoleId(string memory roleName) external pure returns (RoleId role);
38
-
39
- function getRoleInfo(
40
- RoleId role
41
- ) external view returns (RoleInfo memory info);
42
-
43
- function getRoleMemberCount(
44
- RoleId role
45
- ) external view returns (uint256 roleMembers);
46
-
47
- function getRoleMember(
48
- RoleId role,
49
- uint256 idx
50
- ) external view returns (address roleMember);
51
-
52
- function getOwner() external view returns (address owner);
53
- }
@@ -1,134 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../../registry/IRegistry.sol";
5
-
6
- import {IProductService} from "../../service/IProductService.sol";
7
- import {IPoolService} from "../../service/IPoolService.sol";
8
-
9
- import {Fee} from "../../../types/Fee.sol";
10
- import {NftId} from "../../../types/NftId.sol";
11
- import {Key32, KeyId} from "../../../types/Key32.sol";
12
- import {LibNftIdSet} from "../../../types/NftIdSet.sol";
13
- import {ObjectType, PRODUCT, ORACLE, POOL, BUNDLE, POLICY} from "../../../types/ObjectType.sol";
14
- import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, REVOKED, DECLINED} from "../../../types/StateId.sol";
15
- import {Timestamp, blockTimestamp, zeroTimestamp} from "../../../types/Timestamp.sol";
16
- import {Blocknumber, blockNumber} from "../../../types/Blocknumber.sol";
17
-
18
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
19
- import {ModuleBase} from "../../base/ModuleBase.sol";
20
-
21
- import {IBundleModule} from "./IBundle.sol";
22
-
23
- abstract contract BundleModule is
24
- ModuleBase,
25
- IBundleModule
26
- {
27
-
28
- using LibNftIdSet for LibNftIdSet.Set;
29
-
30
- mapping(NftId bundleNftId => LibNftIdSet.Set policies) private _collateralizedPolicies;
31
- mapping(NftId bundleNftId => mapping(NftId policyNftId => uint256 amount)) private _collateralizationAmount;
32
-
33
- modifier onlyBundlePoolService() {
34
- require(
35
- msg.sender == address(this.getPoolService()),
36
- "ERROR:BDL-001:NOT_POOL_SERVICE"
37
- );
38
- _;
39
- }
40
-
41
- modifier onlyBundleProductService() {
42
- require(
43
- msg.sender == address(this.getProductService()),
44
- "ERROR:BDL-002:NOT_PRODUCT_SERVICE"
45
- );
46
- _;
47
- }
48
-
49
- modifier onlyPoolOrProductService() {
50
- require(
51
- msg.sender == address(this.getPoolService())
52
- || msg.sender == address(this.getProductService()),
53
- "ERROR:BDL-003:NOT_POOL_OR_PRODUCT_SERVICE"
54
- );
55
- _;
56
- }
57
-
58
- function initializeBundleModule(IKeyValueStore keyValueStore) internal {
59
- _initialize(keyValueStore);
60
- }
61
-
62
- function createBundleInfo(
63
- NftId bundleNftId,
64
- NftId poolNftId,
65
- Fee memory fee,
66
- uint256 amount,
67
- uint256 lifetime,
68
- bytes calldata filter
69
- )
70
- external
71
- onlyBundlePoolService
72
- override
73
- {
74
- BundleInfo memory info = BundleInfo(
75
- poolNftId,
76
- fee,
77
- filter,
78
- amount, // capital
79
- 0, // locked capital
80
- amount, // balance
81
- blockTimestamp().addSeconds(lifetime), // expiredAt
82
- zeroTimestamp() // closedAt
83
- );
84
-
85
- _create(BUNDLE(), bundleNftId, abi.encode(info));
86
- }
87
-
88
- function setBundleInfo(NftId bundleNftId, BundleInfo memory info)
89
- external
90
- override
91
- onlyPoolOrProductService
92
- {
93
- _updateData(BUNDLE(), bundleNftId, abi.encode(info));
94
- }
95
-
96
- function updateBundleState(NftId bundleNftId, StateId state)
97
- external
98
- override
99
- onlyBundlePoolService
100
- {
101
- _updateState(BUNDLE(), bundleNftId, state);
102
- }
103
-
104
- function collateralizePolicy(
105
- NftId bundleNftId,
106
- NftId policyNftId,
107
- uint256 collateralAmount
108
- )
109
- external
110
- onlyBundleProductService
111
- override
112
- {
113
- _collateralizationAmount[bundleNftId][policyNftId] = collateralAmount;
114
- _collateralizedPolicies[bundleNftId].add(policyNftId);
115
- }
116
-
117
- function releasePolicy(
118
- NftId bundleNftId,
119
- NftId policyNftId
120
- )
121
- external
122
- onlyBundleProductService
123
- override
124
- returns(uint256 collateralAmount)
125
- {
126
- collateralAmount = _collateralizationAmount[bundleNftId][policyNftId];
127
- delete _collateralizationAmount[bundleNftId][policyNftId];
128
- _collateralizedPolicies[bundleNftId].remove(policyNftId);
129
- }
130
-
131
- function getBundleInfo(NftId bundleNftId) external view override returns(BundleInfo memory bundleInfo) {
132
- return abi.decode(_getData(BUNDLE(), bundleNftId), (BundleInfo));
133
- }
134
- }
@@ -1,53 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../../registry/IRegistry.sol";
5
- import {IInstance} from "../../IInstance.sol";
6
- import {Fee} from "../../../types/Fee.sol";
7
- import {Key32} from "../../../types/Key32.sol";
8
- import {NftId} from "../../../types/NftId.sol";
9
- import {StateId} from "../../../types/StateId.sol";
10
- import {Timestamp} from "../../../types/Timestamp.sol";
11
- import {Blocknumber} from "../../../types/Blocknumber.sol";
12
-
13
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
14
- import {IProductService} from "../../service/IProductService.sol";
15
- import {IPoolService} from "../../service/IPoolService.sol";
16
-
17
- interface IBundle {
18
-
19
- struct BundleInfo {
20
- NftId poolNftId;
21
- Fee fee; // bundle fee on net premium amounts
22
- bytes filter; // required conditions for applications to be considered for collateralization by this bundle
23
- uint256 capitalAmount; // net investment capital amount (<= balance)
24
- uint256 lockedAmount; // capital amount linked to collateralizaion of non-closed policies (<= balance)
25
- uint256 balanceAmount; // total amount of funds: net investment capital + net premiums - payouts
26
- Timestamp expiredAt; // no new policies
27
- Timestamp closedAt;
28
- }
29
- }
30
-
31
- interface IBundleModule is IBundle {
32
-
33
- function createBundleInfo(
34
- NftId bundleNftId,
35
- NftId poolNftId,
36
- Fee memory fee,
37
- uint256 amount,
38
- uint256 lifetime,
39
- bytes calldata filter
40
- ) external;
41
-
42
- function setBundleInfo(NftId nftId, BundleInfo memory bundleInfo) external;
43
- function updateBundleState(NftId nftId, StateId state) external;
44
-
45
- function collateralizePolicy(NftId bundleNftId, NftId policyNftId, uint256 amount) external;
46
- function releasePolicy(NftId bundleNftId, NftId policyNftId) external returns(uint256 collateralAmount);
47
-
48
- function getBundleInfo(NftId nftId) external view returns(BundleInfo memory bundleInfo);
49
-
50
- // repeat service linked signatures to avoid linearization issues
51
- function getProductService() external returns(IProductService);
52
- function getPoolService() external returns(IPoolService);
53
- }
@@ -1,70 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
6
- import {IComponentModule} from "./IComponent.sol";
7
-
8
- import {NftId} from "../../../types/NftId.sol";
9
- import {ObjectType, COMPONENT} from "../../../types/ObjectType.sol";
10
- import {StateId} from "../../../types/StateId.sol";
11
- import {ModuleBase} from "../../base/ModuleBase.sol";
12
-
13
- abstract contract ComponentModule is
14
- ModuleBase,
15
- IComponentModule
16
- {
17
-
18
- NftId[] private _nftIds;
19
-
20
- modifier onlyComponentOwnerService() {
21
- require(
22
- msg.sender == address(this.getComponentOwnerService()),
23
- "ERROR:CMP-001:NOT_OWNER_SERVICE"
24
- );
25
- _;
26
- }
27
-
28
- function initializeComponentModule(IKeyValueStore keyValueStore) internal {
29
- _initialize(keyValueStore);
30
- }
31
-
32
- function registerComponent(
33
- NftId nftId,
34
- IERC20Metadata token,
35
- address wallet
36
- )
37
- external
38
- onlyComponentOwnerService
39
- override
40
- {
41
- ComponentInfo memory info = ComponentInfo(token, wallet);
42
- _nftIds.push(nftId);
43
- _create(COMPONENT(), nftId, abi.encode(info));
44
- }
45
-
46
- function getComponentToken(NftId nftId) external view override returns(IERC20Metadata token) {
47
- ComponentInfo memory info = abi.decode(_getData(COMPONENT(), nftId), (ComponentInfo));
48
- return info.token;
49
- }
50
-
51
- function getComponentWallet(NftId nftId) external view override returns (address wallet) {
52
- ComponentInfo memory info = abi.decode(_getData(COMPONENT(), nftId), (ComponentInfo));
53
- return info.wallet;
54
- }
55
-
56
- function getComponentCount()
57
- external
58
- view
59
- override
60
- returns (uint256 numberOfCompnents)
61
- {
62
- return _nftIds.length;
63
- }
64
-
65
- function getComponentId(
66
- uint256 idx
67
- ) external view override returns (NftId componentNftId) {
68
- return _nftIds[idx];
69
- }
70
- }
@@ -1,28 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
- import {IComponentOwnerService} from "../../service/IComponentOwnerService.sol";
6
-
7
- import {StateId} from "../../../types/StateId.sol";
8
- import {NftId} from "../../../types/NftId.sol";
9
-
10
- interface IComponent {
11
- struct ComponentInfo {
12
- IERC20Metadata token;
13
- address wallet;
14
- }
15
- }
16
-
17
- interface IComponentModule is IComponent {
18
-
19
- function registerComponent(NftId nftId, IERC20Metadata token, address wallet) external;
20
- function getComponentToken(NftId nftId) external view returns (IERC20Metadata token);
21
- function getComponentWallet(NftId nftId) external view returns (address wallet);
22
-
23
- function getComponentCount() external view returns (uint256 numberOfCompnents);
24
- function getComponentId(uint256 idx) external view returns (NftId nftId);
25
-
26
- // repeat service linked signaturea to avoid linearization issues
27
- function getComponentOwnerService() external view returns(IComponentOwnerService);
28
- }
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IDistributionModule} from "./IDistribution.sol";
5
- import {IKeyValueStore} from "../../base/IKeyValueStore.sol";
6
- import {ModuleBase} from "../../base/ModuleBase.sol";
7
-
8
- contract DistributionModule is
9
- ModuleBase,
10
- IDistributionModule
11
- {
12
-
13
- function initializeDistributionModule(IKeyValueStore keyValueStore) internal {
14
- _initialize(keyValueStore);
15
- }
16
-
17
- }
@@ -1,10 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IDistribution {
5
-
6
- }
7
-
8
- interface IDistributionModule is IDistribution {
9
-
10
- }
@@ -1,63 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../../registry/IRegistry.sol";
5
- import {IInstance} from "../../IInstance.sol";
6
- import {IProductService} from "../../service/IProductService.sol";
7
- import {NftId} from "../../../types/NftId.sol";
8
- import {ReferralId} from "../../../types/ReferralId.sol";
9
- import {RiskId} from "../../../types/RiskId.sol";
10
- import {StateId} from "../../../types/StateId.sol";
11
- import {Timestamp} from "../../../types/Timestamp.sol";
12
-
13
- // TODO check if there is value to introuce IContract and let IPolicy derive from IContract
14
- interface IPolicy {
15
- struct PolicyInfo {
16
- NftId productNftId;
17
- NftId bundleNftId;
18
- ReferralId referralId;
19
- address beneficiary;
20
- RiskId riskId;
21
- uint256 sumInsuredAmount;
22
- uint256 premiumAmount;
23
- uint256 premiumPaidAmount;
24
- uint256 lifetime;
25
- bytes applicationData;
26
- bytes policyData;
27
- Timestamp activatedAt; // time of underwriting
28
- Timestamp expiredAt; // no new claims (activatedAt + lifetime)
29
- Timestamp closedAt; // no locked capital
30
- }
31
- }
32
-
33
- interface IPolicyModule is IPolicy {
34
- function createPolicyInfo(
35
- NftId policyNftId,
36
- NftId productNftId,
37
- ReferralId referralId,
38
- RiskId riskId,
39
- uint256 sumInsuredAmount,
40
- uint256 premiumAmount,
41
- uint256 lifetime,
42
- NftId bundleNftId
43
- ) external;
44
-
45
- function setPolicyInfo(NftId policyNftId, PolicyInfo memory info) external;
46
- function updatePolicyState(NftId nftId, StateId state) external;
47
-
48
- // function underwrite(NftId nftId) external;
49
-
50
- // function processPremium(NftId nftId, uint256 amount) external;
51
-
52
- // function activate(NftId nftId, Timestamp activateAt) external;
53
-
54
- function getPolicyInfo(
55
- NftId nftId
56
- ) external view returns (PolicyInfo memory info);
57
-
58
- // repeat registry linked signature
59
- function getRegistry() external view returns (IRegistry registry);
60
-
61
- // repeat service linked signature to avoid linearization issues
62
- function getProductService() external returns(IProductService);
63
- }