@etherisc/gif-next 0.0.2-836a512-798 → 0.0.2-836e6e4-400

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 (431) hide show
  1. package/README.md +339 -8
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +4 -0
  3. package/artifacts/contracts/{registry/IChainNft.sol/IChainNft.json → components/BaseComponent.sol/BaseComponent.json} +254 -237
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +772 -0
  6. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
  7. package/artifacts/contracts/{instance/access/Access.sol/AccessModule.json → components/IBaseComponent.sol/IBaseComponent.json} +207 -223
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +152 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/policy/PolicyModule.sol/PolicyModule.json → components/IPoolComponent.sol/IPoolComponent.json} +143 -122
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +157 -0
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +718 -79
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +628 -91
  18. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
  19. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
  20. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
  21. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
  22. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
  23. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
  24. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
  26. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
  28. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  30. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  32. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  36. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  40. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  41. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  42. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  43. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  44. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  45. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  46. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  47. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  48. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  49. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  50. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  51. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  52. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  53. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +788 -0
  54. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  55. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.json +185 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1145 -771
  58. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  59. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.json +448 -0
  60. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  61. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +541 -0
  62. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/Instance.sol/Instance.json +2219 -769
  64. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +1057 -0
  66. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +763 -0
  68. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  69. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1422 -0
  70. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +879 -0
  72. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +444 -0
  74. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  75. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +285 -0
  76. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  77. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +521 -0
  78. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +113 -0
  80. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +429 -0
  82. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  83. package/artifacts/contracts/instance/{lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  84. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  85. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +502 -0
  86. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  87. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  88. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  89. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +243 -0
  90. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  91. package/artifacts/contracts/instance/{access/IAccess.sol/IAccess.json → module/IBundle.sol/IBundle.json} +2 -2
  92. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  93. package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IDistribution.sol/IDistribution.json} +2 -2
  94. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  95. package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
  96. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  97. package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IRisk.sol/IRisk.json} +2 -2
  98. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  99. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.json +10 -0
  100. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  101. package/artifacts/contracts/instance/{treasury → module}/ITreasury.sol/ITreasury.json +1 -1
  102. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  103. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +923 -0
  104. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +432 -0
  106. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +814 -0
  108. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
  109. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +671 -0
  110. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +420 -0
  112. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  113. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +669 -0
  114. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
  115. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +466 -0
  116. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  117. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +446 -0
  118. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  119. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +664 -0
  120. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
  121. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +499 -0
  122. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
  123. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +536 -0
  124. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  125. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +971 -0
  126. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +464 -0
  128. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  129. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +705 -0
  130. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +420 -0
  132. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  133. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +755 -0
  134. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +420 -0
  136. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  137. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +239 -2
  138. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  139. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +487 -31
  140. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  141. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +976 -0
  142. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  143. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  144. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  145. package/artifacts/contracts/registry/Registry.sol/Registry.json +545 -47
  146. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  147. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  148. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  149. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1195 -0
  150. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +451 -0
  152. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  153. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +546 -0
  154. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  155. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +397 -0
  156. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  157. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  158. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  159. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  160. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  161. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
  162. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  163. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IRegisterable.sol/IRegisterable.json} +98 -102
  164. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  165. package/artifacts/contracts/shared/IService.sol/IService.json +421 -0
  166. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  167. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +205 -0
  168. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  169. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  170. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  171. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
  172. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  173. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +274 -0
  174. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
  175. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +442 -0
  176. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  177. package/artifacts/contracts/shared/Service.sol/Service.json +468 -0
  178. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  179. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  180. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  181. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  182. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  183. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +228 -0
  184. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  185. package/artifacts/contracts/test/TestFee.sol/TestFee.json +119 -0
  186. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  187. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +305 -0
  188. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  189. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +116 -0
  190. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  191. package/artifacts/contracts/test/TestService.sol/TestService.json +600 -0
  192. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  193. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +376 -0
  194. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  195. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +218 -0
  196. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  197. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +286 -0
  198. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
  199. package/artifacts/contracts/test/Usdc.sol/USDC.json +376 -0
  200. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  201. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  202. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  203. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  204. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  205. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  206. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  207. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  208. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  209. package/artifacts/contracts/types/Fee.sol/FeeLib.json +257 -0
  210. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  211. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +125 -0
  212. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  213. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  214. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  215. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +33 -0
  216. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  217. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  218. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  219. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  220. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  221. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  222. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  223. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  224. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
  225. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +156 -0
  226. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  227. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  228. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  229. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +77 -2
  230. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
  231. package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
  232. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
  233. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +479 -0
  234. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  235. package/artifacts/contracts/types/Version.sol/VersionLib.json +177 -0
  236. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  237. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +49 -0
  238. package/contracts/components/BaseComponent.sol +148 -0
  239. package/contracts/components/Distribution.sol +163 -0
  240. package/contracts/components/IBaseComponent.sol +32 -0
  241. package/contracts/components/IDistributionComponent.sol +44 -0
  242. package/contracts/components/IPoolComponent.sol +66 -0
  243. package/contracts/components/IProductComponent.sol +35 -0
  244. package/contracts/components/Pool.sol +247 -21
  245. package/contracts/components/Product.sol +252 -41
  246. package/contracts/experiment/cloning/Cloner.sol +47 -0
  247. package/contracts/experiment/statemachine/Dummy.sol +12 -18
  248. package/contracts/experiment/statemachine/ISM.sol +7 -2
  249. package/contracts/experiment/statemachine/SM.sol +15 -12
  250. package/contracts/experiment/statemachine/SimpleStateMachine.sol +11 -4
  251. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +23 -0
  252. package/contracts/instance/BundleManager.sol +129 -0
  253. package/contracts/instance/Cloneable.sol +46 -0
  254. package/contracts/instance/IInstance.sol +61 -21
  255. package/contracts/instance/IInstanceBase.sol +26 -0
  256. package/contracts/instance/IInstanceService.sol +38 -0
  257. package/contracts/instance/Instance.sol +267 -60
  258. package/contracts/instance/InstanceAccessManager.sol +304 -0
  259. package/contracts/instance/InstanceBase.sol +41 -0
  260. package/contracts/instance/InstanceReader.sol +315 -0
  261. package/contracts/instance/InstanceService.sol +300 -0
  262. package/contracts/instance/InstanceServiceManager.sol +54 -0
  263. package/contracts/instance/ObjectManager.sol +101 -0
  264. package/contracts/instance/base/ComponentServiceBase.sol +72 -0
  265. package/contracts/instance/base/IInstanceBase.sol +23 -0
  266. package/contracts/instance/base/IKeyValueStore.sol +49 -0
  267. package/contracts/instance/base/ILifecycle.sol +30 -0
  268. package/contracts/instance/base/KeyValueStore.sol +172 -0
  269. package/contracts/instance/base/Lifecycle.sol +100 -0
  270. package/contracts/instance/module/IAccess.sol +48 -0
  271. package/contracts/instance/module/IBundle.sol +20 -0
  272. package/contracts/instance/module/IDistribution.sol +39 -0
  273. package/contracts/instance/module/IPolicy.sol +45 -0
  274. package/contracts/instance/module/IRisk.sol +11 -0
  275. package/contracts/instance/module/ISetup.sol +46 -0
  276. package/contracts/instance/module/ITreasury.sol +23 -0
  277. package/contracts/instance/service/BundleService.sol +260 -0
  278. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  279. package/contracts/instance/service/ComponentOwnerService.sol +315 -0
  280. package/contracts/instance/service/DistributionService.sol +114 -0
  281. package/contracts/instance/service/DistributionServiceManager.sol +51 -0
  282. package/contracts/instance/service/IBundleService.sol +45 -0
  283. package/contracts/instance/service/IComponentOwnerService.sol +20 -0
  284. package/contracts/instance/service/IDistributionService.sol +12 -0
  285. package/contracts/instance/service/IPolicyService.sol +87 -0
  286. package/contracts/instance/service/IPoolService.sol +20 -0
  287. package/contracts/instance/service/IProductService.sol +40 -0
  288. package/contracts/instance/service/PolicyService.sol +503 -0
  289. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  290. package/contracts/instance/service/PoolService.sol +122 -0
  291. package/contracts/instance/service/PoolServiceManager.sol +51 -0
  292. package/contracts/instance/service/ProductService.sol +168 -0
  293. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  294. package/contracts/registry/ChainNft.sol +129 -62
  295. package/contracts/registry/IRegistry.sol +65 -43
  296. package/contracts/registry/IRegistryService.sol +58 -0
  297. package/contracts/registry/ITransferInterceptor.sol +6 -0
  298. package/contracts/registry/Registry.sol +346 -127
  299. package/contracts/registry/RegistryAccessManager.sol +210 -0
  300. package/contracts/registry/RegistryService.sol +323 -0
  301. package/contracts/registry/RegistryServiceManager.sol +62 -0
  302. package/contracts/registry/ReleaseManager.sol +348 -0
  303. package/contracts/registry/TokenRegistry.sol +110 -0
  304. package/contracts/shared/ContractDeployerLib.sol +72 -0
  305. package/contracts/shared/ERC165.sol +25 -0
  306. package/contracts/shared/INftOwnable.sol +22 -0
  307. package/contracts/shared/IRegisterable.sol +17 -0
  308. package/contracts/shared/IService.sol +16 -0
  309. package/contracts/shared/IVersionable.sol +96 -0
  310. package/contracts/shared/NftOwnable.sol +134 -0
  311. package/contracts/shared/ProxyManager.sol +94 -0
  312. package/contracts/shared/Registerable.sol +90 -0
  313. package/contracts/shared/RegisterableUpgradable.sol +16 -0
  314. package/contracts/shared/Service.sol +58 -0
  315. package/contracts/shared/TokenHandler.sol +27 -0
  316. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  317. package/contracts/shared/Versionable.sol +147 -0
  318. package/contracts/test/TestFee.sol +25 -0
  319. package/contracts/test/TestRegisterable.sol +18 -0
  320. package/contracts/test/TestRoleId.sol +14 -0
  321. package/contracts/test/TestService.sol +25 -0
  322. package/contracts/test/TestToken.sol +26 -0
  323. package/contracts/test/TestVersion.sol +44 -0
  324. package/contracts/test/TestVersionable.sol +17 -0
  325. package/contracts/test/Usdc.sol +26 -0
  326. package/contracts/types/AddressSet.sol +58 -0
  327. package/contracts/types/DistributorType.sol +55 -0
  328. package/contracts/types/Fee.sol +42 -16
  329. package/contracts/types/Key32.sol +50 -0
  330. package/contracts/types/NftId.sol +22 -1
  331. package/contracts/types/NftIdSet.sol +62 -0
  332. package/contracts/types/NumberId.sol +52 -0
  333. package/contracts/types/ObjectType.sol +125 -23
  334. package/contracts/types/Referral.sol +85 -0
  335. package/contracts/types/RiskId.sol +43 -0
  336. package/contracts/types/RoleId.sol +90 -0
  337. package/contracts/types/StateId.sol +80 -21
  338. package/contracts/types/Timestamp.sol +29 -4
  339. package/contracts/types/UFixed.sol +150 -31
  340. package/contracts/types/Version.sol +107 -0
  341. package/package.json +14 -5
  342. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  343. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  344. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  345. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  346. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +0 -255
  347. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  348. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  349. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  350. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  351. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  352. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
  353. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  354. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  355. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  356. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
  357. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  358. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +0 -318
  359. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  360. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -147
  361. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  362. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  363. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -205
  364. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  365. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -236
  366. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  367. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -94
  368. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  369. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +0 -24
  370. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  371. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  372. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  373. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  374. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  375. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  376. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  377. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -254
  378. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  379. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  380. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  381. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -129
  382. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  383. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -155
  384. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  385. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  386. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  387. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  388. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  389. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  390. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  391. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  392. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  393. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  394. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +0 -355
  395. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  396. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  397. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  398. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +0 -355
  399. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  400. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  401. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +0 -24
  402. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  403. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +0 -166
  404. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  405. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  406. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  407. package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
  408. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  409. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  410. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  411. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -453
  412. package/contracts/components/Component.sol +0 -77
  413. package/contracts/components/IPool.sol +0 -11
  414. package/contracts/components/IProduct.sol +0 -11
  415. package/contracts/experiment/statemachine/README.md +0 -112
  416. package/contracts/instance/access/Access.sol +0 -165
  417. package/contracts/instance/access/IAccess.sol +0 -63
  418. package/contracts/instance/component/ComponentModule.sol +0 -254
  419. package/contracts/instance/component/IComponent.sol +0 -76
  420. package/contracts/instance/lifecycle/ILifecycle.sol +0 -32
  421. package/contracts/instance/lifecycle/LifecycleModule.sol +0 -91
  422. package/contracts/instance/policy/IPolicy.sol +0 -52
  423. package/contracts/instance/policy/PolicyModule.sol +0 -107
  424. package/contracts/instance/pool/IPoolModule.sol +0 -22
  425. package/contracts/instance/pool/PoolModule.sol +0 -82
  426. package/contracts/instance/product/IProductService.sol +0 -36
  427. package/contracts/instance/product/ProductService.sol +0 -118
  428. package/contracts/instance/treasury/ITreasury.sol +0 -73
  429. package/contracts/instance/treasury/TokenHandler.sol +0 -27
  430. package/contracts/instance/treasury/TreasuryModule.sol +0 -131
  431. package/contracts/registry/IChainNft.sol +0 -21
@@ -1,69 +1,91 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
+
6
+ import {ChainNft} from "./ChainNft.sol";
4
7
  import {NftId} from "../types/NftId.sol";
5
8
  import {ObjectType} from "../types/ObjectType.sol";
9
+ import {VersionPart} from "../types/Version.sol";
10
+ import {Timestamp} from "../types/Timestamp.sol";
6
11
 
7
- interface IOwnable {
8
- function getOwner() external view returns (address owner);
9
- }
12
+ interface IRegistry is IERC165 {
10
13
 
11
- interface IRegistryLinked {
12
- event LogDebug(uint256 idx, address module, string comment);
14
+ event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
15
+ event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
13
16
 
14
- function getRegistry() external view returns (IRegistry registry);
15
- }
17
+ // register()
18
+ error CallerNotRegistryService();
19
+ error ServiceRegistration();
16
20
 
17
- interface IRegisterable is IOwnable, IRegistryLinked {
21
+ // registerService()
22
+ error CallerNotReleaseManager();
23
+ error ServiceAlreadyRegistered(address service);
18
24
 
19
- function register() external returns (NftId nftId);
25
+ // _register()
26
+ error ZeroParentAddress();
27
+ error InvalidTypesCombination(ObjectType objectType, ObjectType parentType);
28
+ error ContractAlreadyRegistered(address objectAddress);
20
29
 
21
- function getNftId() external view returns (NftId nftId);
30
+ struct ObjectInfo {
31
+ NftId nftId;
32
+ NftId parentNftId;
33
+ ObjectType objectType;
34
+ bool isInterceptor;
35
+ address objectAddress;
36
+ address initialOwner;
37
+ bytes data;
38
+ }// TODO delete nftId and initialOwner(if not used) from struct
39
+ // TODO strong disagree, keep nftId there (lets keep get object info return object consistent)
40
+
41
+ struct ReleaseInfo {
42
+ ObjectType[] domains;
43
+ Timestamp createdAt;
44
+ //Timestamp updatedAt;
45
+ }
22
46
 
23
- function getParentNftId() external view returns (NftId parentNftId);
47
+ function registerService(
48
+ ObjectInfo memory serviceInfo,
49
+ VersionPart serviceVersion,
50
+ ObjectType serviceDomain
51
+ ) external returns(NftId nftId);
24
52
 
25
- function getType() external view returns (ObjectType objectType);
53
+ function register(ObjectInfo memory info) external returns (NftId nftId);
26
54
 
27
- function getData() external view returns (bytes memory data);
55
+ function getMajorVersionMin() external view returns (VersionPart);
28
56
 
29
- function isRegisterable() external pure returns (bool);
57
+ function getMajorVersionMax() external view returns (VersionPart);
30
58
 
31
- function getInitialOwner() external view returns (address initialOwner);
59
+ function getMajorVersion() external view returns (VersionPart);
32
60
 
33
- function isRegistered() external view returns (bool);
34
- }
61
+ function getReleaseInfo(VersionPart version) external view returns (ReleaseInfo memory);
35
62
 
36
- interface IRegistry {
63
+ function getObjectCount() external view returns (uint256);
37
64
 
38
- struct RegistryInfo {
39
- NftId nftId;
40
- NftId parentNftId;
41
- ObjectType objectType;
42
- address objectAddress;
43
- address initialOwner;
44
- }
65
+ function getNftId() external view returns (NftId nftId);
45
66
 
46
- function register(address objectAddress) external returns (NftId nftId);
67
+ function getNftId(address objectAddress) external view returns (NftId nftId);
47
68
 
48
- function registerObjectForInstance(
49
- NftId parentNftid,
50
- ObjectType objectType,
51
- address initialOwner
52
- ) external returns (NftId nftId);
69
+ function ownerOf(NftId nftId) external view returns (address);
53
70
 
54
- function getObjectCount() external view returns (uint256);
71
+ function ownerOf(address contractAddress) external view returns (address);
72
+
73
+ function getObjectInfo(NftId nftId) external view returns (ObjectInfo memory info);
74
+
75
+ function getObjectInfo(address object) external view returns (ObjectInfo memory info);
76
+
77
+ function isRegistered(NftId nftId) external view returns (bool);
55
78
 
56
- function getNftId(
57
- address objectAddress
58
- ) external view returns (NftId nftId);
79
+ function isRegistered(address contractAddress) external view returns (bool);
59
80
 
60
- function getInfo(
61
- NftId nftId
62
- ) external view returns (RegistryInfo memory info);
81
+ function isRegisteredService(address contractAddress) external view returns (bool);
63
82
 
64
- function getOwner(NftId nftId) external view returns (address ownerAddress);
83
+ function getServiceAddress(
84
+ ObjectType serviceDomain,
85
+ VersionPart releaseVersion
86
+ ) external view returns (address serviceAddress);
65
87
 
66
- function isRegistered(address objectAddress) external view returns (bool);
88
+ function getChainNft() external view returns (ChainNft);
67
89
 
68
- function getNftAddress() external view returns (address nft);
69
- }
90
+ function getOwner() external view returns (address);
91
+ }
@@ -0,0 +1,58 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
+
6
+ import {NftId} from "../types/NftId.sol";
7
+ import {ObjectType} from "../types/ObjectType.sol";
8
+ import {RoleId} from "../types/RoleId.sol";
9
+ import {IService} from "../shared/IService.sol";
10
+ import {IRegistry} from "./IRegistry.sol";
11
+
12
+ import {IRegisterable} from "../shared/IRegisterable.sol";
13
+ import {IBaseComponent} from "../components/IBaseComponent.sol";
14
+
15
+ interface IRegistryService is
16
+ IService,
17
+ IAccessManaged
18
+ {
19
+ error SelfRegistration();
20
+ error NotRegistryOwner();
21
+
22
+ error NotService();
23
+ error NotInstance();
24
+ error NotProduct();
25
+ error NotPool();
26
+ error NotDistribution();
27
+
28
+ error UnexpectedRegisterableType(ObjectType expected, ObjectType found);
29
+ error NotRegisterableOwner(address expectedOwner);
30
+ error RegisterableOwnerIsZero();
31
+ error RegisterableOwnerIsRegistered();
32
+ error InvalidInitialOwner(address initialOwner);
33
+ error InvalidAddress(address registerableAddress);
34
+
35
+ struct FunctionConfig
36
+ {
37
+ ObjectType serviceDomain;
38
+ bytes4 selector;
39
+ }
40
+
41
+ // TODO used by service -> add owner arg
42
+ function registerInstance(IRegisterable instance)
43
+ external returns(IRegistry.ObjectInfo memory info, bytes memory data);
44
+
45
+ function registerProduct(IBaseComponent product, address owner)
46
+ external returns(IRegistry.ObjectInfo memory info, bytes memory data);
47
+
48
+ function registerPool(IBaseComponent pool, address owner)
49
+ external returns(IRegistry.ObjectInfo memory info, bytes memory data);
50
+
51
+ function registerDistribution(IBaseComponent distribution, address owner)
52
+ external returns(IRegistry.ObjectInfo memory info, bytes memory data);
53
+
54
+ function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
55
+
56
+ function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
57
+ }
58
+
@@ -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
+ }