@etherisc/gif-next 0.0.2-886fd8b → 0.0.2-89368f7-609

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