@etherisc/gif-next 0.0.2-96853ac-143 → 0.0.2-9b434da-265

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 (308) 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/Revert.sol/Revert.dbg.json +1 -1
  6. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  7. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  8. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  9. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  10. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  11. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  12. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  16. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  20. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  22. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  24. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
  25. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
  26. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
  27. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1119 -0
  28. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
  29. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
  30. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  31. package/artifacts/contracts/instance/Instance.sol/Instance.json +2622 -827
  32. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  33. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
  34. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  35. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -0
  36. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +506 -0
  38. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  39. package/artifacts/contracts/instance/{lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  40. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +4 -0
  41. package/artifacts/contracts/instance/base/IService.sol/IService.json +421 -0
  42. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  43. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +736 -0
  44. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  45. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  46. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  47. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +468 -0
  48. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  49. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
  50. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  51. package/artifacts/contracts/instance/{access/IAccess.sol/IAccess.json → module/IBundle.sol/IBundle.json} +2 -2
  52. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IDistribution.sol/IDistribution.json} +2 -2
  54. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  55. package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
  56. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  57. package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IRisk.sol/IRisk.json} +2 -2
  58. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  59. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.json +10 -0
  60. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  61. package/artifacts/contracts/instance/{treasury → module}/ITreasury.sol/ITreasury.json +1 -1
  62. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  63. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +194 -2
  64. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  65. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +5 -0
  66. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  67. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +408 -32
  68. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  69. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +745 -0
  70. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  71. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  72. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  73. package/artifacts/contracts/registry/Registry.sol/Registry.json +637 -52
  74. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  75. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1013 -0
  76. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  77. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +476 -0
  78. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  79. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  80. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  81. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  82. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  83. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
  84. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  85. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IRegisterable.sol/IRegisterable.json} +98 -102
  86. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  87. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +205 -0
  88. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  89. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  90. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  91. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
  92. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  93. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +274 -0
  94. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  95. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  96. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  97. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  98. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  99. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +228 -0
  100. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  101. package/artifacts/contracts/test/TestFee.sol/TestFee.json +119 -0
  102. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  103. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +305 -0
  104. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  105. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +10 -0
  106. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  107. package/artifacts/contracts/test/TestService.sol/TestService.json +600 -0
  108. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  109. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
  110. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  111. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +218 -0
  112. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  113. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +286 -0
  114. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
  115. package/artifacts/contracts/test/Usdc.sol/USDC.json +338 -0
  116. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  117. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  118. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  119. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  120. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  121. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  122. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  123. package/artifacts/contracts/types/Fee.sol/FeeLib.json +257 -0
  124. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  125. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +125 -0
  126. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  127. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  128. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  129. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
  130. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  131. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  132. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  133. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  134. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  135. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  136. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  137. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  138. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
  139. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +156 -0
  140. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  141. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  142. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  143. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +77 -2
  144. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  145. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +58 -58
  146. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  147. package/artifacts/contracts/types/Version.sol/VersionLib.json +177 -0
  148. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  149. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
  150. package/contracts/components/IBaseComponent.sol +19 -0
  151. package/contracts/instance/AccessManagedSimple.sol +114 -0
  152. package/contracts/instance/AccessManagerSimple.sol +682 -0
  153. package/contracts/instance/IAccessManagerSimple.sol +391 -0
  154. package/contracts/instance/Instance.sol +371 -53
  155. package/contracts/instance/InstanceAccessManager.sol +288 -0
  156. package/contracts/instance/InstanceService.sol +45 -0
  157. package/contracts/instance/base/IKeyValueStore.sol +48 -0
  158. package/contracts/instance/base/ILifecycle.sol +30 -0
  159. package/contracts/instance/base/IService.sol +15 -0
  160. package/contracts/instance/base/KeyValueStore.sol +188 -0
  161. package/contracts/instance/base/Lifecycle.sol +100 -0
  162. package/contracts/instance/base/ServiceBase.sol +44 -0
  163. package/contracts/instance/module/IAccess.sol +38 -0
  164. package/contracts/instance/module/IBundle.sol +19 -0
  165. package/contracts/instance/module/IDistribution.sol +39 -0
  166. package/contracts/instance/module/IPolicy.sol +45 -0
  167. package/contracts/instance/module/IRisk.sol +11 -0
  168. package/contracts/instance/module/ISetup.sol +41 -0
  169. package/contracts/instance/module/ITreasury.sol +23 -0
  170. package/contracts/registry/ChainNft.sol +94 -42
  171. package/contracts/registry/IChainNft.sol +3 -2
  172. package/contracts/registry/IRegistry.sol +50 -44
  173. package/contracts/registry/IRegistryService.sol +29 -0
  174. package/contracts/registry/ITransferInterceptor.sol +6 -0
  175. package/contracts/registry/Registry.sol +435 -126
  176. package/contracts/registry/RegistryService.sol +369 -0
  177. package/contracts/registry/RegistryServiceManager.sol +43 -0
  178. package/contracts/shared/ContractDeployerLib.sol +72 -0
  179. package/contracts/shared/ERC165.sol +21 -0
  180. package/contracts/shared/INftOwnable.sol +22 -0
  181. package/contracts/shared/IRegisterable.sol +17 -0
  182. package/contracts/shared/IVersionable.sol +96 -0
  183. package/contracts/shared/NftOwnable.sol +136 -0
  184. package/contracts/shared/ProxyManager.sol +94 -0
  185. package/contracts/shared/Registerable.sol +89 -0
  186. package/contracts/shared/TokenHandler.sol +27 -0
  187. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  188. package/contracts/shared/Versionable.sol +147 -0
  189. package/contracts/test/TestFee.sol +25 -0
  190. package/contracts/test/TestRegisterable.sol +18 -0
  191. package/contracts/test/TestRoleId.sol +14 -0
  192. package/contracts/test/TestService.sol +26 -0
  193. package/contracts/test/TestToken.sol +26 -0
  194. package/contracts/test/TestVersion.sol +44 -0
  195. package/contracts/test/TestVersionable.sol +17 -0
  196. package/contracts/test/Usdc.sol +26 -0
  197. package/contracts/types/AddressSet.sol +58 -0
  198. package/contracts/types/DistributorType.sol +55 -0
  199. package/contracts/types/Fee.sol +44 -20
  200. package/contracts/types/Key32.sol +50 -0
  201. package/contracts/types/NftId.sol +22 -1
  202. package/contracts/types/NftIdSet.sol +60 -0
  203. package/contracts/types/NumberId.sol +52 -0
  204. package/contracts/types/ObjectType.sol +60 -15
  205. package/contracts/types/Referral.sol +85 -0
  206. package/contracts/types/RiskId.sol +43 -0
  207. package/contracts/types/RoleId.sol +75 -0
  208. package/contracts/types/StateId.sol +14 -4
  209. package/contracts/types/Timestamp.sol +29 -4
  210. package/contracts/types/UFixed.sol +12 -13
  211. package/contracts/types/Version.sol +104 -0
  212. package/package.json +9 -3
  213. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  214. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  215. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  216. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  217. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  218. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  219. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  220. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -328
  221. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  222. package/artifacts/contracts/components/Product.sol/Product.json +0 -346
  223. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +0 -4
  224. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +0 -1479
  225. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  226. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +0 -400
  227. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  228. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  229. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
  230. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  231. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  232. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  233. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
  234. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  235. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +0 -299
  236. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  237. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -202
  238. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  239. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  240. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -205
  241. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  242. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -217
  243. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  244. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -141
  245. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  246. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +0 -24
  247. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  248. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  249. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  250. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  251. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  252. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  253. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  254. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -254
  255. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  256. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +0 -254
  257. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  258. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  259. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -129
  260. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  261. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -155
  262. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  263. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  264. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  265. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  266. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  267. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  268. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  269. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  270. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  271. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  272. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +0 -490
  273. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  274. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  275. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  276. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +0 -490
  277. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  278. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +0 -24
  279. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  280. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +0 -166
  281. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  282. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  283. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  284. package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
  285. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  286. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  287. package/contracts/components/Component.sol +0 -77
  288. package/contracts/components/IPool.sol +0 -15
  289. package/contracts/components/IProduct.sol +0 -16
  290. package/contracts/components/Pool.sol +0 -52
  291. package/contracts/components/Product.sol +0 -89
  292. package/contracts/experiment/statemachine/README.md +0 -112
  293. package/contracts/instance/IInstance.sol +0 -25
  294. package/contracts/instance/access/Access.sol +0 -165
  295. package/contracts/instance/access/IAccess.sol +0 -63
  296. package/contracts/instance/component/ComponentModule.sol +0 -274
  297. package/contracts/instance/component/IComponent.sol +0 -74
  298. package/contracts/instance/lifecycle/ILifecycle.sol +0 -47
  299. package/contracts/instance/lifecycle/LifecycleModule.sol +0 -88
  300. package/contracts/instance/policy/IPolicy.sol +0 -50
  301. package/contracts/instance/policy/PolicyModule.sol +0 -114
  302. package/contracts/instance/pool/IPoolModule.sol +0 -23
  303. package/contracts/instance/pool/PoolModule.sol +0 -81
  304. package/contracts/instance/product/IProductService.sol +0 -36
  305. package/contracts/instance/product/ProductService.sol +0 -136
  306. package/contracts/instance/treasury/ITreasury.sol +0 -91
  307. package/contracts/instance/treasury/TokenHandler.sol +0 -24
  308. package/contracts/instance/treasury/TreasuryModule.sol +0 -168
@@ -1,67 +1,73 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IERC165} from "@openzeppelin5/contracts/utils/introspection/IERC165.sol";
3
5
 
4
6
  import {NftId} from "../types/NftId.sol";
5
7
  import {ObjectType} from "../types/ObjectType.sol";
8
+ import {VersionPart} from "../types/Version.sol";
9
+ import {IChainNft} from "./IChainNft.sol";
6
10
 
7
- interface IOwnable {
8
- function getOwner() external view returns (address owner);
9
- }
10
-
11
- interface IRegistryLinked {
12
- event LogDebug(uint256 idx, address module, string comment);
13
-
14
- function getRegistry() external view returns (IRegistry registry);
15
- }
16
-
17
- interface IRegisterable is IOwnable, IRegistryLinked {
18
- function register() external returns (NftId nftId);
19
-
20
- function getNftId() external view returns (NftId nftId);
21
-
22
- function getParentNftId() external view returns (NftId parentNftId);
23
-
24
- function getType() external view returns (ObjectType objectType);
25
-
26
- function getData() external view returns (bytes memory data);
11
+ interface IRegistry is IERC165 {
27
12
 
28
- function isRegisterable() external pure returns (bool);
13
+ event LogRegistration(NftId indexed nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
29
14
 
30
- function getInitialOwner() external view returns (address initialOwner);
15
+ event LogServiceNameRegistration(string serviceName, VersionPart majorVersion);
31
16
 
32
- function isRegistered() external view returns (bool);
33
- }
17
+ event LogApproval(NftId indexed nftId, ObjectType objectType);
34
18
 
35
- interface IRegistry {
36
- struct RegistryInfo {
19
+ struct ObjectInfo {
37
20
  NftId nftId;
38
21
  NftId parentNftId;
39
22
  ObjectType objectType;
23
+ bool isInterceptor;
40
24
  address objectAddress;
41
25
  address initialOwner;
42
- }
26
+ bytes data;
27
+ }// TODO delete nftId and initialOwner(if not used) from struct
28
+
29
+ function register(ObjectInfo memory info) external returns (NftId nftId);
30
+
31
+ function registerFrom(
32
+ address from,
33
+ ObjectInfo memory info
34
+ ) external returns (NftId nftId);
43
35
 
44
- function register(address objectAddress) external returns (NftId nftId);
36
+ function approve(
37
+ NftId registrar,
38
+ ObjectType object,
39
+ ObjectType parent
40
+ ) external;
45
41
 
46
- function registerObjectForInstance(
47
- NftId parentNftid,
48
- ObjectType objectType,
49
- address initialOwner
50
- ) external returns (NftId nftId);
42
+ function allowance(
43
+ NftId registrar,
44
+ ObjectType object
45
+ ) external view returns (bool);
51
46
 
52
47
  function getObjectCount() external view returns (uint256);
53
48
 
54
- function getNftId(
55
- address objectAddress
56
- ) external view returns (NftId nftId);
49
+ function getNftId(address objectAddress) external view returns (NftId nftId);
50
+
51
+ function ownerOf(NftId nftId) external view returns (address);
52
+
53
+ function ownerOf(address contractAddress) external view returns (address);
54
+
55
+ function getObjectInfo(NftId nftId) external view returns (ObjectInfo memory info);
56
+
57
+ function getObjectInfo(address object) external view returns (ObjectInfo memory info);
58
+
59
+ function isRegistered(NftId nftId) external view returns (bool);
60
+
61
+ function isRegistered(address contractAddress) external view returns (bool);
57
62
 
58
- function getInfo(
59
- NftId nftId
60
- ) external view returns (RegistryInfo memory info);
63
+ function getServiceName(NftId nftId) external view returns (string memory name);
61
64
 
62
- function getOwner(NftId nftId) external view returns (address ownerAddress);
65
+ function getServiceAddress(
66
+ string memory serviceName,
67
+ VersionPart majorVersion
68
+ ) external view returns (address serviceAddress);
63
69
 
64
- function isRegistered(address objectAddress) external view returns (bool);
70
+ function getChainNft() external view returns (IChainNft);
65
71
 
66
- function getNftAddress() external view returns (address nft);
67
- }
72
+ function getOwner() external view returns (address);
73
+ }
@@ -0,0 +1,29 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {NftId} from "../../contracts/types/NftId.sol";
5
+ import {ObjectType} from "../../contracts/types/ObjectType.sol";
6
+ import {RoleId} from "../../contracts/types/RoleId.sol";
7
+ import {IService} from "../../contracts/instance/base/IService.sol";
8
+ import {IRegistry} from "../../contracts/registry/IRegistry.sol";
9
+
10
+ import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
11
+ import {IBaseComponent} from "../../contracts/components/IBaseComponent.sol";
12
+
13
+ interface IRegistryService is IService {
14
+
15
+ function registerToken(address tokenAddress) external returns(NftId nftId);
16
+
17
+ function registerService(IService service) external returns(IRegistry.ObjectInfo memory info, bytes memory data);
18
+
19
+ function registerComponent(IBaseComponent component, ObjectType componentType, address owner)
20
+ external returns(IRegistry.ObjectInfo memory info, bytes memory data);
21
+
22
+ function registerInstance(IRegisterable instance)
23
+ external returns(IRegistry.ObjectInfo memory info, bytes memory data);
24
+
25
+ function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId); // -> easy to upgrade
26
+
27
+ function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
28
+ }
29
+
@@ -0,0 +1,6 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ interface ITransferInterceptor {
5
+ function nftTransferFrom(address from, address to, uint256 tokenId) external;
6
+ }