@etherisc/gif-next 0.0.2-a4b0112-775 → 0.0.2-a6f9f86-582

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 (316) hide show
  1. package/README.md +160 -6
  2. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
  3. package/artifacts/contracts/components/{IPool.sol/IPoolComponent.json → IBaseComponent.sol/IBaseComponent.json} +104 -118
  4. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  5. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
  6. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  7. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
  8. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  9. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  10. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  11. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  12. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  20. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  24. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  26. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  28. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  30. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
  31. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
  32. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
  33. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1119 -0
  34. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
  35. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
  36. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  37. package/artifacts/contracts/instance/Instance.sol/Instance.json +2622 -827
  38. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  39. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
  40. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  41. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -0
  42. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  43. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +506 -0
  44. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  45. package/artifacts/contracts/instance/{lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  46. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +4 -0
  47. package/artifacts/contracts/instance/base/IService.sol/IService.json +421 -0
  48. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  49. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +736 -0
  50. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  51. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  52. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  53. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +468 -0
  54. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  55. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
  56. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  57. package/artifacts/contracts/instance/{access/IAccess.sol/IAccess.json → module/IBundle.sol/IBundle.json} +2 -2
  58. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  59. package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IDistribution.sol/IDistribution.json} +2 -2
  60. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  61. package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
  62. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  63. package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IRisk.sol/IRisk.json} +2 -2
  64. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  65. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.json +10 -0
  66. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{treasury → module}/ITreasury.sol/ITreasury.json +1 -1
  68. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  69. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +194 -2
  70. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  71. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +5 -0
  72. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  73. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +408 -32
  74. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  75. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +745 -0
  76. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  77. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  78. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  79. package/artifacts/contracts/registry/Registry.sol/Registry.json +637 -52
  80. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  81. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1013 -0
  82. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  83. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +476 -0
  84. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  85. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  86. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  87. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  88. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  89. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
  90. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  91. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IRegisterable.sol/IRegisterable.json} +98 -102
  92. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  93. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +205 -0
  94. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  95. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  96. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  97. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
  98. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  99. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +274 -0
  100. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  101. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  102. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  103. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  104. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  105. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +228 -0
  106. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  107. package/artifacts/contracts/test/TestFee.sol/TestFee.json +119 -0
  108. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  109. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +305 -0
  110. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  111. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +10 -0
  112. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  113. package/artifacts/contracts/test/TestService.sol/TestService.json +600 -0
  114. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  115. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
  116. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  117. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +218 -0
  118. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  119. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +286 -0
  120. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
  121. package/artifacts/contracts/test/Usdc.sol/USDC.json +338 -0
  122. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  123. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  124. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  125. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  126. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  127. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  128. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  129. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  130. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  131. package/artifacts/contracts/types/Fee.sol/FeeLib.json +257 -0
  132. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  133. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +125 -0
  134. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  135. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  136. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  137. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
  138. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  139. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  140. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  141. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  142. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  143. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  144. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  145. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  146. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
  147. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +156 -0
  148. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  149. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  150. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  151. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +77 -2
  152. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  153. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +88 -62
  154. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  155. package/artifacts/contracts/types/Version.sol/VersionLib.json +177 -0
  156. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  157. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
  158. package/contracts/components/IBaseComponent.sol +19 -0
  159. package/contracts/instance/AccessManagedSimple.sol +114 -0
  160. package/contracts/instance/AccessManagerSimple.sol +682 -0
  161. package/contracts/instance/IAccessManagerSimple.sol +391 -0
  162. package/contracts/instance/Instance.sol +371 -53
  163. package/contracts/instance/InstanceAccessManager.sol +288 -0
  164. package/contracts/instance/InstanceService.sol +45 -0
  165. package/contracts/instance/base/IKeyValueStore.sol +48 -0
  166. package/contracts/instance/base/ILifecycle.sol +30 -0
  167. package/contracts/instance/base/IService.sol +15 -0
  168. package/contracts/instance/base/KeyValueStore.sol +188 -0
  169. package/contracts/instance/base/Lifecycle.sol +100 -0
  170. package/contracts/instance/base/ServiceBase.sol +44 -0
  171. package/contracts/instance/module/IAccess.sol +38 -0
  172. package/contracts/instance/module/IBundle.sol +19 -0
  173. package/contracts/instance/module/IDistribution.sol +39 -0
  174. package/contracts/instance/module/IPolicy.sol +45 -0
  175. package/contracts/instance/module/IRisk.sol +11 -0
  176. package/contracts/instance/module/ISetup.sol +41 -0
  177. package/contracts/instance/module/ITreasury.sol +23 -0
  178. package/contracts/registry/ChainNft.sol +94 -42
  179. package/contracts/registry/IChainNft.sol +3 -2
  180. package/contracts/registry/IRegistry.sol +50 -44
  181. package/contracts/registry/IRegistryService.sol +29 -0
  182. package/contracts/registry/ITransferInterceptor.sol +6 -0
  183. package/contracts/registry/Registry.sol +435 -126
  184. package/contracts/registry/RegistryService.sol +369 -0
  185. package/contracts/registry/RegistryServiceManager.sol +43 -0
  186. package/contracts/shared/ContractDeployerLib.sol +72 -0
  187. package/contracts/shared/ERC165.sol +21 -0
  188. package/contracts/shared/INftOwnable.sol +22 -0
  189. package/contracts/shared/IRegisterable.sol +17 -0
  190. package/contracts/shared/IVersionable.sol +96 -0
  191. package/contracts/shared/NftOwnable.sol +136 -0
  192. package/contracts/shared/ProxyManager.sol +94 -0
  193. package/contracts/shared/Registerable.sol +89 -0
  194. package/contracts/shared/TokenHandler.sol +27 -0
  195. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  196. package/contracts/shared/Versionable.sol +147 -0
  197. package/contracts/test/TestFee.sol +25 -0
  198. package/contracts/test/TestRegisterable.sol +18 -0
  199. package/contracts/test/TestRoleId.sol +14 -0
  200. package/contracts/test/TestService.sol +26 -0
  201. package/contracts/test/TestToken.sol +26 -0
  202. package/contracts/test/TestVersion.sol +44 -0
  203. package/contracts/test/TestVersionable.sol +17 -0
  204. package/contracts/test/Usdc.sol +26 -0
  205. package/contracts/types/AddressSet.sol +58 -0
  206. package/contracts/types/DistributorType.sol +55 -0
  207. package/contracts/types/Fee.sol +44 -20
  208. package/contracts/types/Key32.sol +50 -0
  209. package/contracts/types/NftId.sol +22 -1
  210. package/contracts/types/NftIdSet.sol +60 -0
  211. package/contracts/types/NumberId.sol +52 -0
  212. package/contracts/types/ObjectType.sol +60 -15
  213. package/contracts/types/Referral.sol +85 -0
  214. package/contracts/types/RiskId.sol +43 -0
  215. package/contracts/types/RoleId.sol +75 -0
  216. package/contracts/types/StateId.sol +14 -4
  217. package/contracts/types/Timestamp.sol +29 -4
  218. package/contracts/types/UFixed.sol +26 -23
  219. package/contracts/types/Version.sol +104 -0
  220. package/package.json +12 -4
  221. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  222. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  223. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  224. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  225. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  226. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  227. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  228. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -328
  229. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  230. package/artifacts/contracts/components/Product.sol/Product.json +0 -346
  231. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +0 -4
  232. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +0 -1479
  233. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  234. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +0 -400
  235. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  236. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  237. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
  238. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  239. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  240. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  241. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
  242. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  243. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +0 -299
  244. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  245. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -202
  246. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  247. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  248. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -205
  249. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  250. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -217
  251. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  252. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -141
  253. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  254. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +0 -24
  255. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  256. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  257. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  258. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  259. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  260. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  261. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  262. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -254
  263. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  264. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +0 -254
  265. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  266. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  267. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -129
  268. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  269. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -155
  270. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  271. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  272. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  273. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  274. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  275. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  276. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  277. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  278. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  279. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  280. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +0 -490
  281. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  282. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  283. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  284. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +0 -490
  285. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  286. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +0 -24
  287. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  288. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +0 -166
  289. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  290. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  291. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  292. package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
  293. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  294. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  295. package/contracts/components/Component.sol +0 -77
  296. package/contracts/components/IPool.sol +0 -15
  297. package/contracts/components/IProduct.sol +0 -16
  298. package/contracts/components/Pool.sol +0 -52
  299. package/contracts/components/Product.sol +0 -89
  300. package/contracts/experiment/statemachine/README.md +0 -112
  301. package/contracts/instance/IInstance.sol +0 -25
  302. package/contracts/instance/access/Access.sol +0 -165
  303. package/contracts/instance/access/IAccess.sol +0 -63
  304. package/contracts/instance/component/ComponentModule.sol +0 -274
  305. package/contracts/instance/component/IComponent.sol +0 -74
  306. package/contracts/instance/lifecycle/ILifecycle.sol +0 -47
  307. package/contracts/instance/lifecycle/LifecycleModule.sol +0 -88
  308. package/contracts/instance/policy/IPolicy.sol +0 -50
  309. package/contracts/instance/policy/PolicyModule.sol +0 -114
  310. package/contracts/instance/pool/IPoolModule.sol +0 -23
  311. package/contracts/instance/pool/PoolModule.sol +0 -81
  312. package/contracts/instance/product/IProductService.sol +0 -36
  313. package/contracts/instance/product/ProductService.sol +0 -136
  314. package/contracts/instance/treasury/ITreasury.sol +0 -91
  315. package/contracts/instance/treasury/TokenHandler.sol +0 -24
  316. package/contracts/instance/treasury/TreasuryModule.sol +0 -168
@@ -1,49 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "IRegistryLinked",
4
- "sourceName": "contracts/registry/IRegistry.sol",
5
- "abi": [
6
- {
7
- "anonymous": false,
8
- "inputs": [
9
- {
10
- "indexed": false,
11
- "internalType": "uint256",
12
- "name": "idx",
13
- "type": "uint256"
14
- },
15
- {
16
- "indexed": false,
17
- "internalType": "address",
18
- "name": "module",
19
- "type": "address"
20
- },
21
- {
22
- "indexed": false,
23
- "internalType": "string",
24
- "name": "comment",
25
- "type": "string"
26
- }
27
- ],
28
- "name": "LogDebug",
29
- "type": "event"
30
- },
31
- {
32
- "inputs": [],
33
- "name": "getRegistry",
34
- "outputs": [
35
- {
36
- "internalType": "contract IRegistry",
37
- "name": "registry",
38
- "type": "address"
39
- }
40
- ],
41
- "stateMutability": "view",
42
- "type": "function"
43
- }
44
- ],
45
- "bytecode": "0x",
46
- "deployedBytecode": "0x",
47
- "linkReferences": {},
48
- "deployedLinkReferences": {}
49
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddbd31d07c8880f0f0a18b3f2b9bcc56.json"
4
- }
@@ -1,166 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "Registerable",
4
- "sourceName": "contracts/registry/Registry.sol",
5
- "abi": [
6
- {
7
- "anonymous": false,
8
- "inputs": [
9
- {
10
- "indexed": false,
11
- "internalType": "uint256",
12
- "name": "idx",
13
- "type": "uint256"
14
- },
15
- {
16
- "indexed": false,
17
- "internalType": "address",
18
- "name": "module",
19
- "type": "address"
20
- },
21
- {
22
- "indexed": false,
23
- "internalType": "string",
24
- "name": "comment",
25
- "type": "string"
26
- }
27
- ],
28
- "name": "LogDebug",
29
- "type": "event"
30
- },
31
- {
32
- "inputs": [],
33
- "name": "getData",
34
- "outputs": [
35
- {
36
- "internalType": "bytes",
37
- "name": "data",
38
- "type": "bytes"
39
- }
40
- ],
41
- "stateMutability": "view",
42
- "type": "function"
43
- },
44
- {
45
- "inputs": [],
46
- "name": "getInitialOwner",
47
- "outputs": [
48
- {
49
- "internalType": "address",
50
- "name": "deployer",
51
- "type": "address"
52
- }
53
- ],
54
- "stateMutability": "view",
55
- "type": "function"
56
- },
57
- {
58
- "inputs": [],
59
- "name": "getNftId",
60
- "outputs": [
61
- {
62
- "internalType": "NftId",
63
- "name": "nftId",
64
- "type": "uint96"
65
- }
66
- ],
67
- "stateMutability": "view",
68
- "type": "function"
69
- },
70
- {
71
- "inputs": [],
72
- "name": "getOwner",
73
- "outputs": [
74
- {
75
- "internalType": "address",
76
- "name": "owner",
77
- "type": "address"
78
- }
79
- ],
80
- "stateMutability": "view",
81
- "type": "function"
82
- },
83
- {
84
- "inputs": [],
85
- "name": "getParentNftId",
86
- "outputs": [
87
- {
88
- "internalType": "NftId",
89
- "name": "parentNftId",
90
- "type": "uint96"
91
- }
92
- ],
93
- "stateMutability": "view",
94
- "type": "function"
95
- },
96
- {
97
- "inputs": [],
98
- "name": "getRegistry",
99
- "outputs": [
100
- {
101
- "internalType": "contract IRegistry",
102
- "name": "registry",
103
- "type": "address"
104
- }
105
- ],
106
- "stateMutability": "view",
107
- "type": "function"
108
- },
109
- {
110
- "inputs": [],
111
- "name": "getType",
112
- "outputs": [
113
- {
114
- "internalType": "ObjectType",
115
- "name": "objectType",
116
- "type": "uint8"
117
- }
118
- ],
119
- "stateMutability": "view",
120
- "type": "function"
121
- },
122
- {
123
- "inputs": [],
124
- "name": "isRegisterable",
125
- "outputs": [
126
- {
127
- "internalType": "bool",
128
- "name": "",
129
- "type": "bool"
130
- }
131
- ],
132
- "stateMutability": "pure",
133
- "type": "function"
134
- },
135
- {
136
- "inputs": [],
137
- "name": "isRegistered",
138
- "outputs": [
139
- {
140
- "internalType": "bool",
141
- "name": "",
142
- "type": "bool"
143
- }
144
- ],
145
- "stateMutability": "view",
146
- "type": "function"
147
- },
148
- {
149
- "inputs": [],
150
- "name": "register",
151
- "outputs": [
152
- {
153
- "internalType": "NftId",
154
- "name": "nftId",
155
- "type": "uint96"
156
- }
157
- ],
158
- "stateMutability": "nonpayable",
159
- "type": "function"
160
- }
161
- ],
162
- "bytecode": "0x",
163
- "deployedBytecode": "0x",
164
- "linkReferences": {},
165
- "deployedLinkReferences": {}
166
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddbd31d07c8880f0f0a18b3f2b9bcc56.json"
4
- }
@@ -1,60 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "RegistryLinked",
4
- "sourceName": "contracts/registry/Registry.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "registry",
11
- "type": "address"
12
- }
13
- ],
14
- "stateMutability": "nonpayable",
15
- "type": "constructor"
16
- },
17
- {
18
- "anonymous": false,
19
- "inputs": [
20
- {
21
- "indexed": false,
22
- "internalType": "uint256",
23
- "name": "idx",
24
- "type": "uint256"
25
- },
26
- {
27
- "indexed": false,
28
- "internalType": "address",
29
- "name": "module",
30
- "type": "address"
31
- },
32
- {
33
- "indexed": false,
34
- "internalType": "string",
35
- "name": "comment",
36
- "type": "string"
37
- }
38
- ],
39
- "name": "LogDebug",
40
- "type": "event"
41
- },
42
- {
43
- "inputs": [],
44
- "name": "getRegistry",
45
- "outputs": [
46
- {
47
- "internalType": "contract IRegistry",
48
- "name": "registry",
49
- "type": "address"
50
- }
51
- ],
52
- "stateMutability": "view",
53
- "type": "function"
54
- }
55
- ],
56
- "bytecode": "0x608060405234801561001057600080fd5b50604051610249380380610249833981810160405281019061003291906100db565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100a88261007d565b9050919050565b6100b88161009d565b81146100c357600080fd5b50565b6000815190506100d5816100af565b92915050565b6000602082840312156100f1576100f0610078565b5b60006100ff848285016100c6565b91505092915050565b610132806101176000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80635ab1bd5314602d575b600080fd5b60336047565b604051603e919060e3565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060af60ab60a7846070565b6090565b6070565b9050919050565b600060bf82609a565b9050919050565b600060cf8260b6565b9050919050565b60dd8160c6565b82525050565b600060208201905060f6600083018460d6565b9291505056fea26469706673582212208dd980742b6f5bdcd70965a076ee78e436738d477d40a8d12fb65c04803a00c764736f6c63430008140033",
57
- "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80635ab1bd5314602d575b600080fd5b60336047565b604051603e919060e3565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060af60ab60a7846070565b6090565b6070565b9050919050565b600060bf82609a565b9050919050565b600060cf8260b6565b9050919050565b60dd8160c6565b82525050565b600060208201905060f6600083018460d6565b9291505056fea26469706673582212208dd980742b6f5bdcd70965a076ee78e436738d477d40a8d12fb65c04803a00c764736f6c63430008140033",
58
- "linkReferences": {},
59
- "deployedLinkReferences": {}
60
- }
@@ -1,77 +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
-
6
- import {IRegistry, IRegisterable, IRegistryLinked} from "../registry/IRegistry.sol";
7
- import {Registerable} from "../registry/Registry.sol";
8
- import {IInstance} from "../instance/IInstance.sol";
9
-
10
- import {IInstanceLinked, IComponent, IComponentContract, IComponentModule, IComponentOwnerService} from "../instance/component/IComponent.sol";
11
- import {NftId} from "../types/NftId.sol";
12
-
13
- contract InstanceLinked is IInstanceLinked {
14
- IInstance internal _instance;
15
-
16
- constructor(address instance) {
17
- _instance = IInstance(instance);
18
- }
19
-
20
- function getInstance() public view override returns (IInstance instance) {
21
- return _instance;
22
- }
23
- }
24
-
25
- abstract contract Component is
26
- Registerable,
27
- InstanceLinked,
28
- IComponentContract
29
- {
30
- address private _deployer;
31
- address private _wallet;
32
- IERC20Metadata private _token;
33
-
34
- constructor(
35
- address registry,
36
- address instance,
37
- address token
38
- ) Registerable(registry) InstanceLinked(instance) {
39
- _wallet = address(this);
40
- _token = IERC20Metadata(token);
41
- }
42
-
43
- // from registerable
44
- function register() public override returns (NftId componentId) {
45
- require(msg.sender == getInitialOwner(), "");
46
- require(
47
- address(_registry) != address(0),
48
- "ERROR:PRD-001:REGISTRY_ZERO"
49
- );
50
- require(
51
- _registry.isRegistered(address(_instance)),
52
- "ERROR:PRD-002:INSTANCE_NOT_REGISTERED"
53
- );
54
-
55
- IComponentOwnerService cos = _instance.getComponentOwnerService();
56
- componentId = cos.register(this);
57
- }
58
-
59
- // from registerable
60
- function getParentNftId() public view override returns (NftId) {
61
- return getInstance().getNftId();
62
- }
63
-
64
- // from component contract
65
- function getWallet()
66
- external
67
- view
68
- override
69
- returns (address walletAddress)
70
- {
71
- return _wallet;
72
- }
73
-
74
- function getToken() external view override returns (IERC20Metadata token) {
75
- return _token;
76
- }
77
- }
@@ -1,15 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Fee} from "../types/Fee.sol";
5
- import {IComponentContract} from "../instance/component/IComponent.sol";
6
-
7
- // just marker interface for now
8
- interface IPoolComponent is IComponentContract {
9
- function getStakingFee() external view returns (Fee memory stakingFee);
10
-
11
- function getPerformanceFee()
12
- external
13
- view
14
- returns (Fee memory performanceFee);
15
- }
@@ -1,16 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../types/NftId.sol";
5
- import {Fee} from "../types/Fee.sol";
6
-
7
- interface IProductComponent {
8
- function getPoolNftId() external view returns (NftId poolNftId);
9
-
10
- function getPolicyFee() external view returns (Fee memory policyFee);
11
-
12
- function getProcessingFee()
13
- external
14
- view
15
- returns (Fee memory processingFee);
16
- }
@@ -1,52 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType, POOL} from "../types/ObjectType.sol";
5
- import {Fee} from "../types/Fee.sol";
6
- import {IPoolComponent} from "./IPool.sol";
7
- import {Component} from "./Component.sol";
8
-
9
- contract Pool is Component, IPoolComponent {
10
- Fee private _stakingFee;
11
- Fee private _performanceFee;
12
-
13
- constructor(
14
- address registry,
15
- address instance,
16
- address token,
17
- Fee memory stakingFee,
18
- Fee memory performanceFee
19
- ) Component(registry, instance, token) {
20
- _stakingFee = stakingFee;
21
- _performanceFee = performanceFee;
22
- }
23
-
24
- // from pool component
25
- function getStakingFee()
26
- external
27
- view
28
- override
29
- returns (Fee memory stakingFee)
30
- {
31
- return _stakingFee;
32
- }
33
-
34
- function getPerformanceFee()
35
- external
36
- view
37
- override
38
- returns (Fee memory performanceFee)
39
- {
40
- return _performanceFee;
41
- }
42
-
43
- // from registerable
44
- function getType() public pure override returns (ObjectType) {
45
- return POOL();
46
- }
47
-
48
- // from registerable
49
- function getData() external view override returns (bytes memory data) {
50
- return bytes(abi.encode(getInstance().getNftId()));
51
- }
52
- }
@@ -1,89 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IProductService} from "../instance/product/IProductService.sol";
5
- import {Component} from "./Component.sol";
6
- import {IProductComponent} from "./IProduct.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {ObjectType, PRODUCT} from "../types/ObjectType.sol";
9
- import {Fee} from "../types/Fee.sol";
10
- import {Component} from "./Component.sol";
11
-
12
- contract Product is Component, IProductComponent {
13
- IProductService private _productService;
14
- address private _pool;
15
- Fee private _policyFee;
16
- Fee private _processingFee;
17
-
18
- constructor(
19
- address registry,
20
- address instance,
21
- address token,
22
- address pool,
23
- Fee memory policyFee,
24
- Fee memory processingFee
25
- ) Component(registry, instance, token) {
26
- // TODO add validation
27
- _productService = _instance.getProductService();
28
- _pool = pool;
29
- _policyFee = policyFee;
30
- _processingFee = processingFee;
31
- }
32
-
33
- function _createApplication(
34
- address applicationOwner,
35
- uint256 sumInsuredAmount,
36
- uint256 premiumAmount,
37
- uint256 lifetime,
38
- NftId bundleNftId
39
- ) internal returns (NftId nftId) {
40
- nftId = _productService.createApplication(
41
- applicationOwner,
42
- sumInsuredAmount,
43
- premiumAmount,
44
- lifetime,
45
- bundleNftId
46
- );
47
- }
48
-
49
- function _underwrite(NftId nftId) internal {
50
- _productService.underwrite(nftId);
51
- }
52
-
53
- function _collectPremium(NftId nftId) internal {
54
- _productService.collectPremium(nftId);
55
- }
56
-
57
- function getPoolNftId() external view override returns (NftId poolNftId) {
58
- return _registry.getNftId(_pool);
59
- }
60
-
61
- // from product component
62
- function getPolicyFee()
63
- external
64
- view
65
- override
66
- returns (Fee memory policyFee)
67
- {
68
- return _policyFee;
69
- }
70
-
71
- function getProcessingFee()
72
- external
73
- view
74
- override
75
- returns (Fee memory processingFee)
76
- {
77
- return _processingFee;
78
- }
79
-
80
- // from registerable
81
- function getType() public pure override returns (ObjectType) {
82
- return PRODUCT();
83
- }
84
-
85
- // from registerable
86
- function getData() external view override returns (bytes memory data) {
87
- return bytes(abi.encode(getInstance().getNftId()));
88
- }
89
- }
@@ -1,112 +0,0 @@
1
- # State Machines
2
-
3
- Most GIF objects have a life cycle defined by a state machine.
4
-
5
- For each object type the set of possible states is defined together with its initial state and the set of valid state transitions.
6
-
7
- ## Object Types without States
8
-
9
- * Protocol
10
- * Chains
11
- * Registries (both chain and main registry)
12
-
13
- ## Object Types with States
14
-
15
- * Tokens
16
- * Instances
17
- * Products
18
- * Oracles
19
- * Pools
20
- * Bundles
21
- * Policies
22
- * Claim (non-NFT)
23
- * Payout (non-NFT)
24
-
25
- ### Simple State Machine
26
-
27
- Valid states
28
-
29
- * Active (initial state)
30
- * Paused
31
- * Archived (final state)
32
-
33
- Valid state transitions:
34
-
35
- * Active -> Paused
36
- * Paused -> Active
37
- * Paused -> Archived
38
-
39
-
40
- Candidate object types for simple state machine
41
-
42
- * Token
43
- * Instance
44
- * Product
45
- * Oracle
46
- * Pool
47
-
48
- To discuss:
49
-
50
- * Archived is final state
51
- * What mechanism should exist to revert an unintended transition to 'Archived' state. Should there be such a mechanism?
52
- * What mechanism should exist when the NFT of such an object is burned prematurely. Should there be such a mechanism
53
-
54
- ### Bundle State Machine
55
-
56
- Valid states
57
-
58
- * Active (initial state)
59
- * Paused
60
- * Expired (implicit state)
61
- * Closed (final state)
62
-
63
- Expired is not an explicit state.
64
- A bundle is expired for block.timestamp >= expiredAt
65
-
66
- ### Policy State Machine
67
-
68
- Valid states
69
-
70
- * Applied (initial state)
71
- * Revoked (final state)
72
- * Declined (final state)
73
- * Active
74
- * Expired (implicit state)
75
- * Closed (final state)
76
-
77
- Expired is not an explicit state.
78
- A policy is expired for block.timestamp >= expiredAt
79
-
80
- To discuss:
81
-
82
- * Should 'Closed' be less explicit using a closedAt state variable?
83
- * Or even more lighweight? ie. block.timestamp >= expiredAt and no open claims
84
-
85
- Valid state transitions:
86
-
87
- * Applied -> Revoked
88
- * Applied -> Declined
89
- * Applied -> Active
90
- * Active -> Closed (needs to be expired)
91
-
92
- ### Claim State Machine
93
-
94
- Valid states
95
- * Applied (initial state)
96
- * Confirmed
97
- * Declined (final state)
98
- * Closed (final state)
99
-
100
- Valid state transitions:
101
- * Applied -> Confirmed
102
- * Applied -> Declined
103
- * Confirmed -> Closed
104
-
105
- ### Payout State Machine
106
-
107
- Valid states
108
- * Expected
109
- * PaidOut
110
-
111
- Valid state transitions:
112
- * Expected -> PaidOut
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegisterable} from "../registry/IRegistry.sol";
5
- import {IAccessModule} from "./access/IAccess.sol";
6
- import {ILifecycleModule} from "./lifecycle/ILifecycle.sol";
7
- import {IComponentModule} from "./component/IComponent.sol";
8
- import {IProductModule} from "./product/IProductService.sol";
9
- import {IPolicyModule} from "./policy/IPolicy.sol";
10
- import {IPoolModule} from "./pool/IPoolModule.sol";
11
- import {ITreasuryModule} from "./treasury/ITreasury.sol";
12
-
13
- // solhint-disable-next-line no-empty-blocks
14
- interface IInstance is
15
- IRegisterable,
16
- IAccessModule,
17
- ILifecycleModule,
18
- IPolicyModule,
19
- IPoolModule,
20
- IComponentModule,
21
- IProductModule,
22
- ITreasuryModule
23
- {
24
-
25
- }