@etherisc/gif-next 0.0.2-a25e4b8-781 → 0.0.2-a2def05-550

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 (695) hide show
  1. package/README.md +59 -18
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -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/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -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 +241 -1561
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +389 -202
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +362 -2504
  52. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -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 +1 -1
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +876 -407
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +486 -394
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +319 -96
  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/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  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 +1 -1
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  78. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  79. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  80. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  81. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  82. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  83. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  84. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  86. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  88. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  90. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  91. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → oracle/IOracleComponent.sol/IOracleComponent.json} +250 -266
  92. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  94. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  96. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
  98. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
  100. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  101. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  102. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  103. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  104. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1362 -0
  106. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +771 -0
  108. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  109. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +457 -270
  110. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  111. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +366 -405
  112. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  113. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  114. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  116. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  117. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1469 -0
  118. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  119. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +695 -0
  120. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +732 -0
  122. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +667 -0
  124. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  125. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  126. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  128. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  129. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1325 -0
  130. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +775 -0
  132. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  133. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +216 -235
  134. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  135. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  136. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +327 -313
  138. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +270 -220
  140. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  141. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +374 -307
  142. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  143. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IRiskService.sol/IRiskService.json} +126 -172
  144. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  145. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1104 -0
  146. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +715 -0
  148. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  149. package/artifacts/contracts/product/PricingService.sol/PricingService.json +860 -0
  150. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +715 -0
  152. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  153. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  154. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  155. package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
  156. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -0
  158. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  159. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  160. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  161. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +408 -22
  162. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +223 -264
  164. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  165. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  166. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  167. package/artifacts/contracts/registry/Registry.sol/Registry.json +808 -39
  168. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  169. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
  170. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +411 -258
  172. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +302 -83
  174. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  176. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  177. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  178. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  180. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -80
  182. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  183. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +323 -233
  184. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1568 -0
  186. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +753 -0
  188. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  189. package/artifacts/contracts/{components/IComponent.sol/IComponent.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +147 -133
  190. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  191. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IComponent.sol/IComponent.json} +209 -192
  192. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  194. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  196. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  198. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  199. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  200. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  201. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  202. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  203. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +165 -0
  204. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  206. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  207. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  208. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IService.sol/IService.json +84 -159
  210. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  211. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  212. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  213. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  214. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  215. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  216. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  217. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  218. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  219. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  220. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  221. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  222. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +65 -30
  224. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  225. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +188 -0
  226. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +44 -54
  228. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  229. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  230. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  231. package/artifacts/contracts/shared/Service.sol/Service.json +98 -171
  232. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  233. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +382 -9
  234. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  235. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  236. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  237. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  238. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  239. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  240. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  242. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  243. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  244. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  246. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +714 -0
  248. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  250. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1231 -0
  252. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +667 -0
  254. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  256. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  257. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  258. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  259. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  260. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  262. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  264. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  266. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  268. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  270. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  272. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  274. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  275. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  276. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  278. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  280. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  282. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  284. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  286. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  288. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  290. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  292. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  294. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  296. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  298. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  300. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  302. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  304. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  306. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  308. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  309. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  310. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  311. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +566 -0
  312. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  313. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  314. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  315. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  316. package/contracts/authorization/AccessAdmin.sol +589 -0
  317. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  318. package/contracts/authorization/Authorization.sol +217 -0
  319. package/contracts/authorization/IAccess.sol +48 -0
  320. package/contracts/authorization/IAccessAdmin.sol +136 -0
  321. package/contracts/authorization/IAuthorization.sol +54 -0
  322. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  323. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  324. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  325. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  326. package/contracts/distribution/BasicDistribution.sol +138 -0
  327. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  328. package/contracts/distribution/Distribution.sol +295 -0
  329. package/contracts/distribution/DistributionService.sol +336 -0
  330. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  331. package/contracts/distribution/IDistributionComponent.sol +52 -0
  332. package/contracts/distribution/IDistributionService.sol +101 -0
  333. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  334. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  335. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  336. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  337. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +33 -32
  338. package/contracts/instance/IInstance.sol +44 -47
  339. package/contracts/instance/IInstanceService.sol +73 -21
  340. package/contracts/instance/Instance.sol +165 -189
  341. package/contracts/instance/InstanceAdmin.sol +285 -0
  342. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  343. package/contracts/instance/InstanceReader.sol +202 -65
  344. package/contracts/instance/InstanceService.sol +357 -252
  345. package/contracts/instance/InstanceServiceManager.sol +13 -27
  346. package/contracts/instance/InstanceStore.sol +287 -0
  347. package/contracts/instance/base/BalanceStore.sol +123 -0
  348. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  349. package/contracts/instance/base/ObjectCounter.sol +21 -0
  350. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  351. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +19 -24
  352. package/contracts/instance/module/IAccess.sol +19 -21
  353. package/contracts/instance/module/IBundle.sol +8 -8
  354. package/contracts/instance/module/IComponents.sol +46 -0
  355. package/contracts/instance/module/IDistribution.sol +6 -4
  356. package/contracts/instance/module/IPolicy.sol +58 -19
  357. package/contracts/instance/module/IRisk.sol +1 -1
  358. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  359. package/contracts/oracle/BasicOracle.sol +48 -0
  360. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  361. package/contracts/oracle/IOracle.sol +36 -0
  362. package/contracts/oracle/IOracleComponent.sol +33 -0
  363. package/contracts/oracle/IOracleService.sol +65 -0
  364. package/contracts/oracle/Oracle.sol +167 -0
  365. package/contracts/oracle/OracleService.sol +279 -0
  366. package/contracts/oracle/OracleServiceManager.sol +39 -0
  367. package/contracts/pool/BasicPool.sol +166 -0
  368. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  369. package/contracts/pool/BundleService.sol +438 -0
  370. package/contracts/pool/BundleServiceManager.sol +39 -0
  371. package/contracts/pool/IBundleService.sol +134 -0
  372. package/contracts/pool/IPoolComponent.sol +58 -0
  373. package/contracts/pool/IPoolService.sol +160 -0
  374. package/contracts/pool/Pool.sol +326 -0
  375. package/contracts/pool/PoolService.sol +509 -0
  376. package/contracts/pool/PoolServiceManager.sol +39 -0
  377. package/contracts/product/ApplicationService.sol +248 -0
  378. package/contracts/product/ApplicationServiceManager.sol +38 -0
  379. package/contracts/product/BasicProduct.sol +53 -0
  380. package/contracts/product/BasicProductAuthorization.sol +43 -0
  381. package/contracts/product/ClaimService.sol +487 -0
  382. package/contracts/product/ClaimServiceManager.sol +38 -0
  383. package/contracts/product/IApplicationService.sol +63 -0
  384. package/contracts/product/IClaimService.sol +122 -0
  385. package/contracts/product/IPolicyService.sol +73 -0
  386. package/contracts/product/IPricingService.sol +39 -0
  387. package/contracts/product/IProductComponent.sol +39 -0
  388. package/contracts/product/IRiskService.sol +33 -0
  389. package/contracts/product/PolicyService.sol +573 -0
  390. package/contracts/product/PolicyServiceManager.sol +39 -0
  391. package/contracts/product/PricingService.sol +301 -0
  392. package/contracts/product/PricingServiceManager.sol +39 -0
  393. package/contracts/product/Product.sol +425 -0
  394. package/contracts/product/RiskService.sol +97 -0
  395. package/contracts/product/RiskServiceManager.sol +39 -0
  396. package/contracts/registry/ChainNft.sol +80 -32
  397. package/contracts/registry/IRegistry.sol +95 -25
  398. package/contracts/registry/IRegistryService.sol +47 -35
  399. package/contracts/registry/ITransferInterceptor.sol +1 -0
  400. package/contracts/registry/Registry.sol +452 -202
  401. package/contracts/registry/RegistryAdmin.sol +464 -0
  402. package/contracts/registry/RegistryService.sol +111 -171
  403. package/contracts/registry/RegistryServiceManager.sol +24 -33
  404. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  405. package/contracts/registry/ReleaseRegistry.sol +491 -0
  406. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  407. package/contracts/registry/TokenRegistry.sol +263 -60
  408. package/contracts/shared/Component.sol +268 -0
  409. package/contracts/shared/ComponentService.sol +641 -0
  410. package/contracts/shared/ComponentServiceManager.sol +35 -0
  411. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  412. package/contracts/shared/IComponent.sol +70 -0
  413. package/contracts/shared/IComponentService.sol +108 -0
  414. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  415. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  416. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  417. package/contracts/shared/INftOwnable.sol +13 -12
  418. package/contracts/shared/IPolicyHolder.sol +36 -0
  419. package/contracts/shared/IRegisterable.sol +4 -4
  420. package/contracts/shared/IRegistryLinked.sol +11 -0
  421. package/contracts/shared/IService.sol +15 -6
  422. package/contracts/shared/InitializableCustom.sol +177 -0
  423. package/contracts/shared/InitializableERC165.sol +27 -0
  424. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  425. package/contracts/shared/KeyValueStore.sol +131 -0
  426. package/contracts/shared/Lifecycle.sol +77 -0
  427. package/contracts/shared/NftIdSet.sol +65 -0
  428. package/contracts/shared/NftOwnable.sol +59 -88
  429. package/contracts/shared/PolicyHolder.sol +56 -0
  430. package/contracts/shared/Registerable.sol +23 -38
  431. package/contracts/shared/RegistryLinked.sol +44 -0
  432. package/contracts/shared/Service.sol +53 -31
  433. package/contracts/shared/TokenHandler.sol +122 -10
  434. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  435. package/contracts/staking/IStaking.sol +168 -0
  436. package/contracts/staking/IStakingService.sol +160 -0
  437. package/contracts/staking/StakeManagerLib.sol +224 -0
  438. package/contracts/staking/Staking.sol +498 -0
  439. package/contracts/staking/StakingLifecycle.sol +23 -0
  440. package/contracts/staking/StakingManager.sol +50 -0
  441. package/contracts/staking/StakingReader.sol +183 -0
  442. package/contracts/staking/StakingService.sol +407 -0
  443. package/contracts/staking/StakingServiceManager.sol +44 -0
  444. package/contracts/staking/StakingStore.sol +605 -0
  445. package/contracts/staking/TargetManagerLib.sol +211 -0
  446. package/contracts/{types → type}/AddressSet.sol +1 -1
  447. package/contracts/type/Amount.sol +135 -0
  448. package/contracts/{types → type}/Blocknumber.sol +27 -3
  449. package/contracts/type/ClaimId.sol +75 -0
  450. package/contracts/{types → type}/DistributorType.sol +2 -2
  451. package/contracts/{types → type}/Fee.sol +33 -23
  452. package/contracts/{types → type}/NftId.sol +21 -15
  453. package/contracts/{types → type}/NftIdSet.sol +2 -2
  454. package/contracts/type/ObjectType.sol +275 -0
  455. package/contracts/type/PayoutId.sol +82 -0
  456. package/contracts/{types → type}/Referral.sol +6 -1
  457. package/contracts/type/RequestId.sol +75 -0
  458. package/contracts/{types → type}/RiskId.sol +1 -1
  459. package/contracts/type/RoleId.sol +174 -0
  460. package/contracts/type/Seconds.sol +101 -0
  461. package/contracts/type/Selector.sol +102 -0
  462. package/contracts/{types → type}/StateId.sol +35 -4
  463. package/contracts/type/String.sol +53 -0
  464. package/contracts/{types → type}/Timestamp.sol +34 -15
  465. package/contracts/{types → type}/UFixed.sol +35 -9
  466. package/contracts/{types → type}/Version.sol +5 -2
  467. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  468. package/contracts/upgradeability/ProxyManager.sol +198 -0
  469. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  470. package/contracts/upgradeability/Versionable.sol +59 -0
  471. package/package.json +10 -7
  472. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  473. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  474. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  475. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  476. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  477. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  478. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  479. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  480. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  481. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  482. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  483. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  484. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  485. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  487. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  488. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  489. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  490. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  491. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  492. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  493. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  494. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  495. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  496. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  497. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  498. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  499. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  501. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  503. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  504. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  505. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  506. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  507. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  508. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  510. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  512. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  513. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  515. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  517. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  519. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  521. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  522. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
  523. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  524. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  525. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1034
  526. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  527. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  528. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  529. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  530. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -100
  531. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  532. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  533. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  534. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  535. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  536. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  537. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  538. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  540. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1094
  541. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  543. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -764
  545. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -424
  547. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  550. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  552. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  553. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1219
  554. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  555. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  556. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  557. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -798
  558. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  559. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -424
  560. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  561. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -848
  562. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  563. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -424
  564. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  565. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  566. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  567. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  568. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  569. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  570. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  571. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  572. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  573. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  574. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  575. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  576. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  577. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  578. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  579. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  580. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  582. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  584. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  585. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  586. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  587. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  588. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  589. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  590. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  591. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  592. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  593. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  594. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  595. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  596. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  597. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  598. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  600. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  602. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  604. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  605. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  606. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  607. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  608. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  609. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  610. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  611. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  612. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  614. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  616. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  618. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  620. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  621. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  622. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  624. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  625. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  626. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  627. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  628. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  629. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  630. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  631. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  632. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  633. package/contracts/components/Component.sol +0 -179
  634. package/contracts/components/Distribution.sol +0 -154
  635. package/contracts/components/IComponent.sol +0 -37
  636. package/contracts/components/IDistributionComponent.sol +0 -44
  637. package/contracts/components/IPoolComponent.sol +0 -66
  638. package/contracts/components/IProductComponent.sol +0 -35
  639. package/contracts/components/Pool.sol +0 -258
  640. package/contracts/components/Product.sol +0 -297
  641. package/contracts/experiment/cloning/Cloner.sol +0 -47
  642. package/contracts/experiment/errors/Require.sol +0 -38
  643. package/contracts/experiment/errors/Revert.sol +0 -44
  644. package/contracts/experiment/inheritance/A.sol +0 -53
  645. package/contracts/experiment/inheritance/B.sol +0 -28
  646. package/contracts/experiment/inheritance/C.sol +0 -34
  647. package/contracts/experiment/inheritance/IA.sol +0 -13
  648. package/contracts/experiment/inheritance/IB.sol +0 -10
  649. package/contracts/experiment/inheritance/IC.sol +0 -12
  650. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  651. package/contracts/experiment/statemachine/ISM.sol +0 -25
  652. package/contracts/experiment/statemachine/SM.sol +0 -57
  653. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  654. package/contracts/experiment/types/TypeA.sol +0 -47
  655. package/contracts/experiment/types/TypeB.sol +0 -29
  656. package/contracts/instance/InstanceAccessManager.sol +0 -298
  657. package/contracts/instance/base/ComponentService.sol +0 -133
  658. package/contracts/instance/base/IInstanceBase.sol +0 -21
  659. package/contracts/instance/base/KeyValueStore.sol +0 -172
  660. package/contracts/instance/base/Lifecycle.sol +0 -100
  661. package/contracts/instance/module/ISetup.sol +0 -46
  662. package/contracts/instance/module/ITreasury.sol +0 -23
  663. package/contracts/instance/service/BundleService.sol +0 -293
  664. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  665. package/contracts/instance/service/DistributionService.sol +0 -115
  666. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  667. package/contracts/instance/service/IBundleService.sol +0 -44
  668. package/contracts/instance/service/IDistributionService.sol +0 -12
  669. package/contracts/instance/service/IPolicyService.sol +0 -94
  670. package/contracts/instance/service/IPoolService.sol +0 -20
  671. package/contracts/instance/service/IProductService.sol +0 -40
  672. package/contracts/instance/service/PolicyService.sol +0 -538
  673. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  674. package/contracts/instance/service/PoolService.sol +0 -142
  675. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  676. package/contracts/instance/service/ProductService.sol +0 -241
  677. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  678. package/contracts/registry/RegistryAccessManager.sol +0 -216
  679. package/contracts/registry/ReleaseManager.sol +0 -352
  680. package/contracts/shared/ContractDeployerLib.sol +0 -72
  681. package/contracts/shared/ERC165.sol +0 -25
  682. package/contracts/shared/ProxyManager.sol +0 -94
  683. package/contracts/shared/Versionable.sol +0 -147
  684. package/contracts/test/TestFee.sol +0 -25
  685. package/contracts/test/TestRegisterable.sol +0 -18
  686. package/contracts/test/TestRoleId.sol +0 -14
  687. package/contracts/test/TestService.sol +0 -25
  688. package/contracts/test/TestVersion.sol +0 -44
  689. package/contracts/test/TestVersionable.sol +0 -17
  690. package/contracts/test/Usdc.sol +0 -26
  691. package/contracts/types/ChainId.sol +0 -38
  692. package/contracts/types/NumberId.sol +0 -52
  693. package/contracts/types/ObjectType.sol +0 -152
  694. package/contracts/types/RoleId.sol +0 -90
  695. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,53 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IA, ISharedA} from "./IA.sol";
5
- import {B} from "./B.sol";
6
- import {C} from "./C.sol";
7
-
8
- /*
9
-
10
- # dependency graph
11
-
12
- B <...+
13
- ^ |
14
- | |
15
- A --> C
16
-
17
- - A is the main contract
18
- - A provides functionality implemented by modules B and C
19
- - B and C rely on functionality shared by A
20
- - C accesses functionality of module B
21
-
22
- # chisel session
23
-
24
- import {A} from "./contracts/experiment/A.sol";
25
- A a = new A();
26
- uint(a.getA())
27
- uint(a.getB()))
28
- uint(a.getC())
29
- uint(a.getAfromB())
30
- uint(a.getAfromC())
31
- uint(a.getBfromC())
32
- a.setA(100);
33
- a.setB(10);
34
- a.setC(20);
35
- */
36
-
37
- contract AShared is ISharedA {
38
- uint256 private _x;
39
-
40
- constructor() {
41
- _x = 42;
42
- }
43
-
44
- function getA() external view override returns (uint256) {
45
- return _x;
46
- }
47
-
48
- function setA(uint256 newA) external override {
49
- _x = newA;
50
- }
51
- }
52
-
53
- contract A is AShared, B, C, IA {}
@@ -1,28 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ISharedA} from "./IA.sol";
5
- import {IB} from "./IB.sol";
6
-
7
- abstract contract B is ISharedA, IB {
8
- // names of private variables can be re-used in inheritance
9
- uint256 private _x;
10
-
11
- constructor() {
12
- _x = 1;
13
- }
14
-
15
- // access own state
16
- function getB() external view override returns (uint256) {
17
- return _x;
18
- }
19
-
20
- function setB(uint256 newB) external override {
21
- _x = newB;
22
- }
23
-
24
- // access state from parent contract A
25
- function getAfromB() external view override returns (uint256) {
26
- return this.getA();
27
- }
28
- }
@@ -1,34 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ISharedA} from "./IA.sol";
5
- import {IB} from "./IB.sol";
6
- import {IC} from "./IC.sol";
7
-
8
- abstract contract C is ISharedA, IC {
9
- uint256 private _x;
10
-
11
- constructor() {
12
- _x = 2;
13
- }
14
-
15
- // access own state
16
- function getC() external view override returns (uint256) {
17
- return _x;
18
- }
19
-
20
- function setC(uint256 newC) external override {
21
- _x = newC;
22
- }
23
-
24
- // access state from parent contract A
25
- function getAfromC() external view override returns (uint256) {
26
- return this.getA();
27
- }
28
-
29
- // access state from other module B
30
- function getBfromC() external view override returns (uint256) {
31
- IB b = IB(address(this));
32
- return b.getB();
33
- }
34
- }
@@ -1,13 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IB} from "./IB.sol";
5
- import {IC} from "./IC.sol";
6
-
7
- interface ISharedA {
8
- function getA() external view returns (uint256);
9
-
10
- function setA(uint256 newA) external;
11
- }
12
-
13
- interface IA is ISharedA, IB, IC {}
@@ -1,10 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IB {
5
- function getAfromB() external view returns (uint256);
6
-
7
- function getB() external view returns (uint256);
8
-
9
- function setB(uint256 newA) external;
10
- }
@@ -1,12 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IC {
5
- function getAfromC() external view returns (uint256);
6
-
7
- function getBfromC() external view returns (uint256);
8
-
9
- function getC() external view returns (uint256);
10
-
11
- function setC(uint256 newA) external;
12
- }
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType} from "../../types/ObjectType.sol";
5
- import {StateId, toStateId, zeroStateId} from "../../types/StateId.sol";
6
-
7
- contract LifeCycleModule {
8
- mapping(ObjectType objectType => StateId initialState)
9
- private _initialState;
10
-
11
- mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
12
- private _isValidTransition;
13
-
14
- function getInitialState(
15
- ObjectType objectType
16
- ) external view returns (StateId) {
17
- return _initialState[objectType];
18
- }
19
-
20
- function isValidTransition(
21
- ObjectType objectType,
22
- StateId fromId,
23
- StateId toId
24
- ) external view returns (bool) {
25
- return _isValidTransition[objectType][fromId][toId];
26
- }
27
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId} from "../../types/StateId.sol";
5
-
6
- interface ISMEE {
7
- error ErrorInitialStateUndefined();
8
- error ErrorStartStateUndefined();
9
- error ErrorNextStateUndefined();
10
- error ErrorStateChangeInvalid(StateId currentStateId, StateId newStateId);
11
-
12
- event LogInitialStateSet(StateId initialStateId);
13
- event LogStateChanged(StateId oldStateId, StateId newStateId);
14
- }
15
-
16
- interface ISM is ISMEE {
17
- function changeToState(StateId newStateId) external;
18
-
19
- function isValidTransition(
20
- StateId currentStateId,
21
- StateId newStateId
22
- ) external view returns (bool isValid);
23
-
24
- function getState() external view returns (StateId currentStateId);
25
- }
@@ -1,57 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId, toStateId, zeroStateId} from "../../types/StateId.sol";
5
- import {ISM} from "./ISM.sol";
6
-
7
- contract SM is ISM {
8
- mapping(StateId currentState => mapping(StateId newState => bool isValid))
9
- private _isValidTransition;
10
-
11
- StateId internal _state;
12
-
13
- function setInitialState(StateId initialStateId) internal {
14
- if (initialStateId == zeroStateId()) {
15
- revert ErrorInitialStateUndefined();
16
- }
17
-
18
- _state = initialStateId;
19
- }
20
-
21
- function addTransition(
22
- StateId currentStateId,
23
- StateId nextStateId
24
- ) internal {
25
- if (currentStateId == zeroStateId()) {
26
- revert ErrorStartStateUndefined();
27
- }
28
-
29
- if (nextStateId == zeroStateId()) {
30
- revert ErrorNextStateUndefined();
31
- }
32
-
33
- _isValidTransition[currentStateId][nextStateId] = true;
34
- }
35
-
36
- function changeToState(StateId newStateId) external override {
37
- if (!_isValidTransition[_state][newStateId]) {
38
- revert ErrorStateChangeInvalid(_state, newStateId);
39
- }
40
-
41
- StateId stateOld = _state;
42
- _state = newStateId;
43
-
44
- emit LogStateChanged(stateOld, _state);
45
- }
46
-
47
- function isValidTransition(
48
- StateId currentStateId,
49
- StateId newStateId
50
- ) external view override returns (bool isValid) {
51
- return _isValidTransition[currentStateId][newStateId];
52
- }
53
-
54
- function getState() external view override returns (StateId state) {
55
- return _state;
56
- }
57
- }
@@ -1,31 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId, toStateId} from "../../types/StateId.sol";
5
- import {SM} from "./SM.sol";
6
-
7
- contract SimpleStateMachine is SM {
8
- uint8 public constant STATE_ACTIVE = 10;
9
- uint8 public constant STATE_PAUSED = 20;
10
- uint8 public constant STATE_ARCHIVED = 30;
11
-
12
- constructor() {
13
- addTransition(ACTIVE(), PAUSED());
14
- addTransition(PAUSED(), ACTIVE());
15
- addTransition(PAUSED(), ARCHIVED());
16
-
17
- setInitialState(ACTIVE());
18
- }
19
-
20
- function ACTIVE() public pure returns (StateId stateId) {
21
- return toStateId(STATE_ACTIVE);
22
- }
23
-
24
- function PAUSED() public pure returns (StateId stateId) {
25
- return toStateId(STATE_PAUSED);
26
- }
27
-
28
- function ARCHIVED() public pure returns (StateId stateId) {
29
- return toStateId(STATE_ARCHIVED);
30
- }
31
- }
@@ -1,47 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /*
5
- # chisel session for user defined types
6
-
7
- import {TypeA, toTypeA} from "./contracts/experiment/types/TypeA.sol";
8
- TypeA a = toTypeA(1);
9
- TypeA b = toTypeA(2);
10
- uint(a.toInt())
11
- uint(b.toInt())
12
- a == b
13
- a != b
14
-
15
- import {TypeB, toTypeB} from "./contracts/experiment/types/TypeB.sol";
16
- TypeB x = toTypeB(33);
17
- uint(x.toInt())
18
- a == x; // -> error
19
- a.toInt() == x.toInt() // -> no error
20
- */
21
-
22
- // bytes5 allows for chain ids up to 13 digits
23
- type TypeA is uint248;
24
-
25
- // type bindings
26
- using {eqTypeA as ==, neTypeA as !=, TypeALib.toInt} for TypeA global;
27
-
28
- // general pure free functions
29
- function toTypeA(uint256 typeA) pure returns (TypeA) {
30
- return TypeA.wrap(uint248(typeA));
31
- }
32
-
33
- // pure free functions for operators
34
- function eqTypeA(TypeA a, TypeA b) pure returns (bool isSame) {
35
- return TypeA.unwrap(a) == TypeA.unwrap(b);
36
- }
37
-
38
- function neTypeA(TypeA a, TypeA b) pure returns (bool isDifferent) {
39
- return TypeA.unwrap(a) != TypeA.unwrap(b);
40
- }
41
-
42
- // library functions that operate on user defined type
43
- library TypeALib {
44
- function toInt(TypeA typeA) internal pure returns (uint256) {
45
- return uint256(TypeA.unwrap(typeA));
46
- }
47
- }
@@ -1,29 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // bytes5 allows for chain ids up to 13 digits
5
- type TypeB is uint248;
6
-
7
- // type bindings
8
- using {eqTypeB as ==, addTypeB as +, TypeBLib.toInt} for TypeB global;
9
-
10
- // general pure free functions
11
- function toTypeB(uint256 x) pure returns (TypeB) {
12
- return TypeB.wrap(uint248(x));
13
- }
14
-
15
- // pure free functions for operators
16
- function eqTypeB(TypeB a, TypeB b) pure returns (bool isSame) {
17
- return TypeB.unwrap(a) == TypeB.unwrap(b);
18
- }
19
-
20
- function addTypeB(TypeB a, TypeB b) pure returns (TypeB sum) {
21
- return TypeB.wrap(TypeB.unwrap(a) + TypeB.unwrap(b));
22
- }
23
-
24
- // library functions that operate on user defined type
25
- library TypeBLib {
26
- function toInt(TypeB b) internal pure returns (uint256) {
27
- return uint256(TypeB.unwrap(b));
28
- }
29
- }
@@ -1,298 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
5
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
6
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
7
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
8
-
9
- import {RoleId, RoleIdLib } from "../types/RoleId.sol";
10
- import {TimestampLib} from "../types/Timestamp.sol";
11
- import {IAccess} from "./module/IAccess.sol";
12
-
13
- contract InstanceAccessManager is
14
- AccessManagedUpgradeable
15
- {
16
- using RoleIdLib for RoleId;
17
-
18
- string public constant ADMIN_ROLE_NAME = "AdminRole";
19
- string public constant PUBLIC_ROLE_NAME = "PublicRole";
20
-
21
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
22
- uint32 public constant EXECUTION_DELAY = 0;
23
-
24
- // role specific state
25
- mapping(RoleId roleId => IAccess.RoleInfo info) internal _role;
26
- mapping(RoleId roleId => EnumerableSet.AddressSet roleMembers) internal _roleMembers;
27
- mapping(ShortString name => RoleId roleId) internal _roleForName;
28
- RoleId [] internal _roles;
29
-
30
- // target specific state
31
- mapping(address target => IAccess.TargetInfo info) internal _target;
32
- mapping(ShortString name => address target) internal _targetForName;
33
- address [] internal _targets;
34
-
35
- AccessManager internal _accessManager;
36
-
37
- function initialize(address initialAdmin) external initializer
38
- {
39
- // if size of the contract gets too large, this can be externalized which will reduce the contract size considerably
40
- _accessManager = new AccessManager(address(this));
41
- // this service required admin rights to access manager to be able to grant/revoke roles
42
- _accessManager.grantRole(_accessManager.ADMIN_ROLE(), initialAdmin, 0);
43
-
44
- __AccessManaged_init(address(_accessManager));
45
-
46
- _createRole(RoleIdLib.toRoleId(_accessManager.ADMIN_ROLE()), ADMIN_ROLE_NAME, false, false);
47
- _createRole(RoleIdLib.toRoleId(_accessManager.PUBLIC_ROLE()), PUBLIC_ROLE_NAME, false, false);
48
- }
49
-
50
- //--- Role ------------------------------------------------------//
51
- function createGifRole(RoleId roleId, string memory name) external restricted() {
52
- _createRole(roleId, name, false, true);
53
- }
54
-
55
- function createRole(RoleId roleId, string memory name) external restricted() {
56
- _createRole(roleId, name, true, true);
57
- }
58
-
59
- function setRoleLocked(RoleId roleId, bool locked) external restricted() {
60
- if (!roleExists(roleId)) {
61
- revert IAccess.ErrorIAccessSetLockedForNonexstentRole(roleId);
62
- }
63
-
64
- _role[roleId].isLocked = locked;
65
- _role[roleId].updatedAt = TimestampLib.blockTimestamp();
66
- }
67
-
68
- function roleExists(RoleId roleId) public view returns (bool exists) {
69
- return _role[roleId].createdAt.gtz();
70
- }
71
-
72
- function grantRole(RoleId roleId, address member) external restricted() returns (bool granted) {
73
- if (!roleExists(roleId)) {
74
- revert IAccess.ErrorIAccessGrantNonexstentRole(roleId);
75
- }
76
-
77
- if (_role[roleId].isLocked) {
78
- revert IAccess.ErrorIAccessRoleIdNotActive(roleId);
79
- }
80
-
81
- if (!EnumerableSet.contains(_roleMembers[roleId], member)) {
82
- _accessManager.grantRole(roleId.toInt(), member, EXECUTION_DELAY);
83
- EnumerableSet.add(_roleMembers[roleId], member);
84
- return true;
85
- }
86
-
87
- return false;
88
- }
89
-
90
- function revokeRole(RoleId roleId, address member) external restricted() returns (bool revoked) {
91
- if (!roleExists(roleId)) {
92
- revert IAccess.ErrorIAccessRevokeNonexstentRole(roleId);
93
- }
94
-
95
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
96
- _accessManager.revokeRole(roleId.toInt(), member);
97
- EnumerableSet.remove(_roleMembers[roleId], member);
98
- return true;
99
- }
100
-
101
- return false;
102
- }
103
-
104
- /// @dev not restricted function by intention
105
- /// the restriction to role members is already enforced by the call to the access manger
106
- function renounceRole(RoleId roleId) external returns (bool revoked) {
107
- address member = msg.sender;
108
-
109
- if (!roleExists(roleId)) {
110
- revert IAccess.ErrorIAccessRenounceNonexstentRole(roleId);
111
- }
112
-
113
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
114
- // cannot use accessManger.renounce as it directly checks against msg.sender
115
- _accessManager.revokeRole(roleId.toInt(), member);
116
- EnumerableSet.remove(_roleMembers[roleId], member);
117
- return true;
118
- }
119
-
120
- return false;
121
- }
122
-
123
- function roles() external view returns (uint256 numberOfRoles) {
124
- return _roles.length;
125
- }
126
-
127
- function getRoleId(uint256 idx) external view returns (RoleId roleId) {
128
- return _roles[idx];
129
- }
130
-
131
- function getRoleIdForName(string memory name) external view returns (RoleId roleId) {
132
- return _roleForName[ShortStrings.toShortString(name)];
133
- }
134
-
135
- function getRole(RoleId roleId) external view returns (IAccess.RoleInfo memory role) {
136
- return _role[roleId];
137
- }
138
-
139
- function hasRole(RoleId roleId, address account) external view returns (bool accountHasRole) {
140
- (accountHasRole, ) = _accessManager.hasRole(roleId.toInt(), account);
141
- }
142
-
143
- function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers) {
144
- return EnumerableSet.length(_roleMembers[roleId]);
145
- }
146
-
147
- function getRoleMember(RoleId roleId, uint256 idx) external view returns (address roleMember) {
148
- return EnumerableSet.at(_roleMembers[roleId], idx);
149
- }
150
-
151
- //--- Target ------------------------------------------------------//
152
- function createGifTarget(address target, string memory name) external restricted() {
153
- _createTarget(target, name, false, true);
154
- }
155
-
156
- function createTarget(address target, string memory name) external restricted() {
157
- _createTarget(target, name, true, true);
158
- }
159
-
160
- function setTargetLocked(string memory targetName, bool locked) external restricted() {
161
- address target = _targetForName[ShortStrings.toShortString(targetName)];
162
-
163
- if (target == address(0)) {
164
- revert IAccess.ErrorIAccessSetLockedForNonexstentTarget(target);
165
- }
166
-
167
- _target[target].isLocked = locked;
168
- _accessManager.setTargetClosed(target, locked);
169
- }
170
-
171
- function targetExists(address target) public view returns (bool exists) {
172
- return _target[target].createdAt.gtz();
173
- }
174
-
175
- //--- internal view/pure functions --------------------------------------//
176
-
177
- function _createRole(RoleId roleId, string memory name, bool isCustom, bool validateParameters) internal {
178
- if (validateParameters) {
179
- _validateRoleParameters(roleId, name, isCustom);
180
- }
181
-
182
- IAccess.RoleInfo memory role = IAccess.RoleInfo(
183
- ShortStrings.toShortString(name),
184
- isCustom,
185
- false, // role un-locked,
186
- TimestampLib.blockTimestamp(),
187
- TimestampLib.blockTimestamp());
188
-
189
- _role[roleId] = role;
190
- _roleForName[role.name] = roleId;
191
- _roles.push(roleId);
192
- }
193
-
194
- function _validateRoleParameters(
195
- RoleId roleId,
196
- string memory name,
197
- bool isCustom
198
- )
199
- internal
200
- view
201
- returns (IAccess.RoleInfo memory existingRole)
202
- {
203
- // check role id
204
- uint64 roleIdInt = RoleId.unwrap(roleId);
205
- if(roleIdInt == _accessManager.ADMIN_ROLE() || roleIdInt == _accessManager.PUBLIC_ROLE()) {
206
- revert IAccess.ErrorIAccessRoleIdInvalid(roleId);
207
- }
208
-
209
- // prevent changing isCustom for existing roles
210
- existingRole = _role[roleId];
211
-
212
- if (existingRole.createdAt.gtz() && isCustom != existingRole.isCustom) {
213
- revert IAccess.ErrorIAccessRoleIsCustomIsImmutable(roleId, isCustom, existingRole.isCustom);
214
- }
215
-
216
- if (isCustom && roleIdInt < CUSTOM_ROLE_ID_MIN) {
217
- revert IAccess.ErrorIAccessRoleIdTooSmall(roleId);
218
- } else if (!isCustom && roleIdInt >= CUSTOM_ROLE_ID_MIN) {
219
- revert IAccess.ErrorIAccessRoleIdTooBig(roleId);
220
- }
221
-
222
- // role name checks
223
- ShortString nameShort = ShortStrings.toShortString(name);
224
- if (ShortStrings.byteLength(nameShort) == 0) {
225
- revert IAccess.ErrorIAccessRoleNameEmpty(roleId);
226
- }
227
-
228
- if (_roleForName[nameShort] != RoleIdLib.zero() && _roleForName[nameShort] != roleId) {
229
- revert IAccess.ErrorIAccessRoleNameNotUnique(_roleForName[nameShort], nameShort);
230
- }
231
- }
232
-
233
- function _createTarget(address target, string memory name, bool isCustom, bool validateParameters) internal {
234
- if (validateParameters) {
235
- _validateTargetParameters(target, name, isCustom);
236
- }
237
-
238
- if (_target[target].createdAt.gtz()) {
239
- revert IAccess.ErrorIAccessTargetAlreadyExists(target, _target[target].name);
240
- }
241
- if (_targetForName[ShortStrings.toShortString(name)] != address(0)) {
242
- revert IAccess.ErrorIAccessTargetNameExists(target, _targetForName[ShortStrings.toShortString(name)], ShortStrings.toShortString(name));
243
- }
244
-
245
- IAccess.TargetInfo memory info = IAccess.TargetInfo(
246
- ShortStrings.toShortString(name),
247
- isCustom,
248
- _accessManager.isTargetClosed(target), // sync with state in access manager
249
- TimestampLib.blockTimestamp(),
250
- TimestampLib.blockTimestamp());
251
-
252
- _target[target] = info;
253
- _targetForName[info.name] = target;
254
- _targets.push(target);
255
- }
256
-
257
- function _validateTargetParameters(address target, string memory name, bool isCustom) internal view {
258
- // TODO: implement
259
- }
260
-
261
- function setTargetFunctionRole(
262
- address target,
263
- bytes4[] calldata selectors,
264
- uint64 roleId
265
- ) public virtual restricted() {
266
- _accessManager.setTargetFunctionRole(target, selectors, roleId);
267
- }
268
-
269
- function setTargetFunctionRole(
270
- string memory targetName,
271
- bytes4[] calldata selectors,
272
- RoleId roleId
273
- ) public virtual restricted() {
274
- address target = _targetForName[ShortStrings.toShortString(targetName)];
275
- uint64 roleIdInt = RoleId.unwrap(roleId);
276
- _accessManager.setTargetFunctionRole(target, selectors, roleIdInt);
277
- }
278
-
279
- function setTargetClosed(string memory targetName, bool closed) public restricted() {
280
- address target = _targetForName[ShortStrings.toShortString(targetName)];
281
- if (target == address(0)) {
282
- revert IAccess.ErrorIAccessTargetAddressZero();
283
- }
284
- _accessManager.setTargetClosed(target, closed);
285
- }
286
-
287
- function isTargetLocked(address target) public view returns (bool locked) {
288
- return _accessManager.isTargetClosed(target);
289
- }
290
-
291
- function canCall(
292
- address caller,
293
- address target,
294
- bytes4 selector
295
- ) public view virtual returns (bool immediate, uint32 delay) {
296
- return _accessManager.canCall(caller, target, selector);
297
- }
298
- }