@etherisc/gif-next 0.0.2-e9148e0-933 → 0.0.2-e9a637d-547

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 (385) hide show
  1. package/README.md +65 -2
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/components/Component.sol/Component.json +842 -0
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +941 -230
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → components/IComponent.sol/IComponent.json} +295 -132
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +848 -31
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +864 -49
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +682 -9
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +825 -231
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +638 -190
  18. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  19. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  20. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  21. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  22. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  23. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → Cloneable.sol/Cloneable.json} +91 -2
  24. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  25. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +346 -704
  26. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +342 -168
  28. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  29. package/artifacts/contracts/instance/Instance.sol/Instance.json +405 -3100
  30. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  31. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +609 -178
  32. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  33. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +148 -247
  34. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  35. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +536 -259
  36. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  37. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +335 -98
  38. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  39. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2677 -0
  40. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  41. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +256 -0
  42. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  43. package/artifacts/contracts/instance/base/{ComponentServiceBase.sol/ComponentServiceBase.json → ComponentService.sol/ComponentService.json} +247 -180
  44. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  45. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  46. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
  48. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
  50. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +71 -45
  52. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  54. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  55. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  60. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  61. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +1039 -0
  62. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +673 -0
  64. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  65. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1231 -0
  66. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +721 -0
  68. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
  69. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +817 -0
  70. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +641 -0
  72. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1341 -259
  74. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  75. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +440 -79
  76. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  77. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +622 -0
  78. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  79. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +659 -0
  80. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IClaimService.sol/IClaimService.json} +217 -208
  82. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +804 -160
  84. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  85. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +606 -0
  86. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  87. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +437 -154
  88. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +90 -391
  90. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  91. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1092 -0
  92. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  93. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +697 -0
  94. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  95. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +649 -251
  96. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  97. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +305 -92
  98. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  99. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +284 -502
  100. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  101. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +304 -99
  102. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  103. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  104. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  105. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +261 -131
  106. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  107. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +149 -230
  108. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  109. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  110. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  111. package/artifacts/contracts/registry/Registry.sol/Registry.json +275 -226
  112. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  113. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  114. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  115. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +200 -335
  116. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  117. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +298 -141
  118. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  119. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +559 -0
  120. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  121. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +141 -53
  122. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  123. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  124. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  125. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  126. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
  127. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  128. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
  129. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  130. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -34
  131. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  132. package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
  133. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  134. package/artifacts/contracts/shared/IService.sol/IService.json +86 -172
  135. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  136. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  137. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  138. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -27
  139. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  140. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
  141. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  142. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -61
  143. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  144. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +129 -51
  145. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  146. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
  147. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  148. package/artifacts/contracts/shared/Service.sol/Service.json +191 -163
  149. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  150. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  151. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  152. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  153. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  154. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  155. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  156. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  157. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  158. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +129 -51
  159. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  160. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +6 -6
  161. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  162. package/artifacts/contracts/test/TestService.sol/TestService.json +210 -214
  163. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  164. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  165. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  166. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  167. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
  168. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  169. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  170. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +4 -0
  171. package/artifacts/contracts/types/Amount.sol/AmountLib.json +161 -0
  172. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  173. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  174. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  175. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  176. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +100 -0
  177. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  178. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  179. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/Fee.sol/FeeLib.json +40 -9
  181. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  182. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  183. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  184. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -4
  185. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  186. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
  187. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  188. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  189. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  190. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  191. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +100 -0
  192. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  193. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
  194. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  195. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  196. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  197. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  198. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
  199. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
  200. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  201. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  202. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  203. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +25 -7
  204. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  205. package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
  206. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  207. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
  208. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  209. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  210. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  211. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  212. package/contracts/components/Component.sol +253 -0
  213. package/contracts/components/Distribution.sol +200 -79
  214. package/contracts/components/IComponent.sol +76 -0
  215. package/contracts/components/IDistributionComponent.sol +44 -17
  216. package/contracts/components/IPoolComponent.sol +88 -37
  217. package/contracts/components/IProductComponent.sol +10 -5
  218. package/contracts/components/Pool.sol +221 -160
  219. package/contracts/components/Product.sol +128 -119
  220. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +13 -0
  221. package/contracts/instance/BundleManager.sol +127 -0
  222. package/contracts/instance/Cloneable.sol +51 -0
  223. package/contracts/instance/IInstance.sol +43 -24
  224. package/contracts/instance/IInstanceService.sol +59 -5
  225. package/contracts/instance/Instance.sol +125 -369
  226. package/contracts/instance/InstanceAccessManager.sol +428 -176
  227. package/contracts/instance/InstanceReader.sol +21 -34
  228. package/contracts/instance/InstanceService.sol +466 -128
  229. package/contracts/instance/InstanceServiceManager.sol +6 -9
  230. package/contracts/instance/InstanceStore.sol +219 -0
  231. package/contracts/instance/ObjectManager.sol +82 -0
  232. package/contracts/instance/base/ComponentService.sol +121 -0
  233. package/contracts/instance/base/KeyValueStore.sol +13 -5
  234. package/contracts/instance/base/Lifecycle.sol +11 -2
  235. package/contracts/instance/module/IAccess.sol +36 -20
  236. package/contracts/instance/module/IBundle.sol +8 -5
  237. package/contracts/instance/module/IComponents.sol +41 -0
  238. package/contracts/instance/module/IDistribution.sol +2 -0
  239. package/contracts/instance/module/IPolicy.sol +30 -3
  240. package/contracts/instance/module/ISetup.sol +9 -20
  241. package/contracts/instance/service/ApplicationService.sol +351 -0
  242. package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
  243. package/contracts/instance/service/BundleService.sol +431 -0
  244. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  245. package/contracts/instance/service/ClaimService.sol +151 -0
  246. package/contracts/instance/service/ClaimServiceManager.sol +35 -0
  247. package/contracts/instance/service/DistributionService.sol +382 -33
  248. package/contracts/instance/service/DistributionServiceManager.sol +7 -10
  249. package/contracts/instance/service/IApplicationService.sol +82 -0
  250. package/contracts/instance/service/IBundleService.sol +93 -0
  251. package/contracts/instance/service/IClaimService.sol +61 -0
  252. package/contracts/instance/service/IDistributionService.sol +87 -0
  253. package/contracts/instance/service/IPolicyService.sol +72 -0
  254. package/contracts/instance/service/IPoolService.sol +79 -17
  255. package/contracts/instance/service/IProductService.sol +6 -73
  256. package/contracts/instance/service/PolicyService.sol +362 -0
  257. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  258. package/contracts/instance/service/PoolService.sol +217 -108
  259. package/contracts/instance/service/PoolServiceManager.sol +6 -9
  260. package/contracts/instance/service/ProductService.sol +114 -453
  261. package/contracts/instance/service/ProductServiceManager.sol +2 -2
  262. package/contracts/registry/ChainNft.sol +9 -1
  263. package/contracts/registry/IRegistry.sol +41 -19
  264. package/contracts/registry/IRegistryService.sol +31 -13
  265. package/contracts/registry/ITransferInterceptor.sol +1 -0
  266. package/contracts/registry/Registry.sol +245 -222
  267. package/contracts/registry/RegistryAccessManager.sol +216 -0
  268. package/contracts/registry/RegistryService.sol +97 -173
  269. package/contracts/registry/RegistryServiceManager.sol +21 -39
  270. package/contracts/registry/ReleaseManager.sol +324 -0
  271. package/contracts/registry/TokenRegistry.sol +22 -17
  272. package/contracts/shared/ERC165.sol +14 -12
  273. package/contracts/shared/INftOwnable.sol +11 -10
  274. package/contracts/shared/IPolicyHolder.sol +26 -0
  275. package/contracts/shared/IRegisterable.sol +4 -6
  276. package/contracts/shared/IRegistryLinked.sol +12 -0
  277. package/contracts/shared/IService.sol +5 -4
  278. package/contracts/shared/IVersionable.sol +4 -47
  279. package/contracts/shared/NftOwnable.sol +66 -80
  280. package/contracts/shared/PolicyHolder.sol +81 -0
  281. package/contracts/shared/ProxyManager.sol +100 -25
  282. package/contracts/shared/Registerable.sol +16 -32
  283. package/contracts/shared/RegistryLinked.sol +48 -0
  284. package/contracts/shared/Service.sol +41 -24
  285. package/contracts/shared/TokenHandler.sol +11 -5
  286. package/contracts/shared/Versionable.sol +4 -92
  287. package/contracts/test/TestRegisterable.sol +1 -1
  288. package/contracts/test/TestService.sol +4 -3
  289. package/contracts/types/Amount.sol +60 -0
  290. package/contracts/types/Blocknumber.sol +1 -0
  291. package/contracts/types/ClaimId.sol +52 -0
  292. package/contracts/types/DistributorType.sol +2 -2
  293. package/contracts/types/Fee.sol +13 -5
  294. package/contracts/types/NftId.sol +8 -0
  295. package/contracts/types/NftIdSet.sol +26 -24
  296. package/contracts/types/ObjectType.sol +10 -5
  297. package/contracts/types/PayoutId.sol +54 -0
  298. package/contracts/types/Referral.sol +4 -0
  299. package/contracts/types/RoleId.sol +26 -19
  300. package/contracts/types/Seconds.sol +54 -0
  301. package/contracts/types/StateId.sol +1 -0
  302. package/contracts/types/Timestamp.sol +13 -13
  303. package/contracts/types/UFixed.sol +1 -0
  304. package/contracts/types/Version.sol +1 -0
  305. package/package.json +3 -3
  306. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  307. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  308. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  309. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  310. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  311. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  312. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  313. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  314. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  315. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  316. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  317. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  318. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  319. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  320. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  321. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  322. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  323. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  324. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  325. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  326. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  327. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  328. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  329. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  330. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  331. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  332. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  333. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  334. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  335. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  336. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  337. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  338. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  339. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  340. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  341. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  342. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  343. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  344. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  345. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  346. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  347. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  348. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  349. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  350. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  351. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  352. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  353. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  354. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  355. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  356. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  357. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  358. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  359. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  360. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  361. package/contracts/components/BaseComponent.sol +0 -91
  362. package/contracts/components/IBaseComponent.sol +0 -25
  363. package/contracts/experiment/cloning/Cloner.sol +0 -47
  364. package/contracts/experiment/errors/Require.sol +0 -38
  365. package/contracts/experiment/errors/Revert.sol +0 -44
  366. package/contracts/experiment/inheritance/A.sol +0 -53
  367. package/contracts/experiment/inheritance/B.sol +0 -28
  368. package/contracts/experiment/inheritance/C.sol +0 -34
  369. package/contracts/experiment/inheritance/IA.sol +0 -13
  370. package/contracts/experiment/inheritance/IB.sol +0 -10
  371. package/contracts/experiment/inheritance/IC.sol +0 -12
  372. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  373. package/contracts/experiment/statemachine/ISM.sol +0 -25
  374. package/contracts/experiment/statemachine/SM.sol +0 -57
  375. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  376. package/contracts/experiment/types/TypeA.sol +0 -47
  377. package/contracts/experiment/types/TypeB.sol +0 -29
  378. package/contracts/instance/AccessManagedSimple.sol +0 -115
  379. package/contracts/instance/AccessManagerSimple.sol +0 -692
  380. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  381. package/contracts/instance/base/ComponentServiceBase.sol +0 -124
  382. package/contracts/instance/base/IInstanceBase.sol +0 -23
  383. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  384. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  385. package/contracts/shared/RegisterableUpgradable.sol +0 -16
@@ -3,29 +3,31 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
5
 
6
- import {ChainNft} from "./ChainNft.sol";
7
6
  import {NftId} from "../types/NftId.sol";
8
7
  import {ObjectType} from "../types/ObjectType.sol";
9
8
  import {VersionPart} from "../types/Version.sol";
9
+ import {Timestamp} from "../types/Timestamp.sol";
10
10
 
11
11
  interface IRegistry is IERC165 {
12
12
 
13
- event LogInitialMajorVersionSet(VersionPart majorVersion);
14
- event LogMajorVersionSet(VersionPart majorVersionMax);
15
- event LogRegistration(ObjectInfo info);
16
- event LogServiceNameRegistration(string serviceName, VersionPart majorVersion);
13
+ event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
14
+ event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
17
15
 
18
- // setMajorVersion()
19
- error NotOwner(address account);
20
- error MajorVersionMaxIncreaseInvalid(VersionPart newMajorVersionMax, VersionPart existingMaxMajorVersion);
16
+ // registerService()
17
+ error CallerNotReleaseManager();
18
+ error ServiceAlreadyRegistered(address service);
21
19
 
22
20
  // register()
23
- error NotRegistryService();
21
+ error CallerNotRegistryService();
22
+ error ServiceRegistration();
23
+
24
+ // registerWithCustomTypes()
25
+ error CoreTypeRegistration();
26
+
27
+ // _register()
24
28
  error ZeroParentAddress();
25
29
  error InvalidTypesCombination(ObjectType objectType, ObjectType parentType);
26
30
  error ContractAlreadyRegistered(address objectAddress);
27
- error InvalidServiceVersion(VersionPart majorVersion);
28
- error ServiceNameAlreadyRegistered(string name, VersionPart majorVersion);
29
31
 
30
32
  struct ObjectInfo {
31
33
  NftId nftId;
@@ -38,15 +40,29 @@ interface IRegistry is IERC165 {
38
40
  }// TODO delete nftId and initialOwner(if not used) from struct
39
41
  // TODO strong disagree, keep nftId there (lets keep get object info return object consistent)
40
42
 
41
- function setMajorVersion(VersionPart newMajorVersionMax) external;
43
+ struct ReleaseInfo {
44
+ ObjectType[] domains;
45
+ Timestamp createdAt;
46
+ //Timestamp updatedAt;
47
+ }
48
+
49
+ function registerService(
50
+ ObjectInfo memory serviceInfo,
51
+ VersionPart serviceVersion,
52
+ ObjectType serviceDomain
53
+ ) external returns(NftId nftId);
42
54
 
43
55
  function register(ObjectInfo memory info) external returns (NftId nftId);
44
56
 
45
- function getMajorVersionMin() external view returns (VersionPart);
57
+ function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
58
+
59
+ function getInitialVersion() external view returns (VersionPart);
46
60
 
47
- function getMajorVersionMax() external view returns (VersionPart);
61
+ function getNextVersion() external view returns (VersionPart);
48
62
 
49
- function getMajorVersion() external view returns (VersionPart);
63
+ function getLatestVersion() external view returns (VersionPart);
64
+
65
+ function getReleaseInfo(VersionPart version) external view returns (ReleaseInfo memory);
50
66
 
51
67
  function getObjectCount() external view returns (uint256);
52
68
 
@@ -66,14 +82,20 @@ interface IRegistry is IERC165 {
66
82
 
67
83
  function isRegistered(address contractAddress) external view returns (bool);
68
84
 
69
- function getServiceName(NftId nftId) external view returns (string memory name);
85
+ function isRegisteredService(address contractAddress) external view returns (bool);
86
+
87
+ function isRegisteredComponent(address object) external view returns (bool);
88
+
89
+ function isValidRelease(VersionPart version) external view returns (bool);
70
90
 
71
91
  function getServiceAddress(
72
- string memory serviceName,
73
- VersionPart majorVersion
92
+ ObjectType serviceDomain,
93
+ VersionPart releaseVersion
74
94
  ) external view returns (address serviceAddress);
75
95
 
76
- function getChainNft() external view returns (ChainNft);
96
+ function getReleaseManagerAddress() external view returns (address);
97
+
98
+ function getChainNftAddress() external view returns (address);
77
99
 
78
100
  function getOwner() external view returns (address);
79
101
  }
@@ -1,6 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ // import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
+
4
6
  import {NftId} from "../types/NftId.sol";
5
7
  import {ObjectType} from "../types/ObjectType.sol";
6
8
  import {RoleId} from "../types/RoleId.sol";
@@ -8,10 +10,13 @@ import {IService} from "../shared/IService.sol";
8
10
  import {IRegistry} from "./IRegistry.sol";
9
11
 
10
12
  import {IRegisterable} from "../shared/IRegisterable.sol";
11
- import {IBaseComponent} from "../components/IBaseComponent.sol";
12
-
13
- interface IRegistryService is IService {
13
+ import {IComponent} from "../components/IComponent.sol";
14
14
 
15
+ interface IRegistryService is
16
+ IService
17
+ // TODO cleanup
18
+ // IAccessManaged
19
+ {
15
20
  error SelfRegistration();
16
21
  error NotRegistryOwner();
17
22
 
@@ -28,22 +33,35 @@ interface IRegistryService is IService {
28
33
  error InvalidInitialOwner(address initialOwner);
29
34
  error InvalidAddress(address registerableAddress);
30
35
 
36
+ struct FunctionConfig
37
+ {
38
+ ObjectType serviceDomain;
39
+ bytes4[] selectors;
40
+ }
41
+
42
+ function getFunctionConfigs()
43
+ external
44
+ pure
45
+ returns(
46
+ FunctionConfig[] memory config
47
+ );
31
48
 
32
- function registerService(IService service) external returns(IRegistry.ObjectInfo memory info, bytes memory data);
49
+ // TODO used by service -> add owner arg
50
+ function registerInstance(IRegisterable instance, address owner)
51
+ external returns(IRegistry.ObjectInfo memory info);
33
52
 
34
- function registerInstance(IRegisterable instance)
35
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
53
+ function registerProduct(IComponent product, address owner)
54
+ external returns(IRegistry.ObjectInfo memory info);
36
55
 
37
- function registerProduct(IBaseComponent product, address owner)
38
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
56
+ function registerPool(IComponent pool, address owner)
57
+ external returns(IRegistry.ObjectInfo memory info);
39
58
 
40
- function registerPool(IBaseComponent pool, address owner)
41
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
59
+ function registerDistribution(IComponent distribution, address owner)
60
+ external returns(IRegistry.ObjectInfo memory info);
42
61
 
43
- function registerDistribution(IBaseComponent distribution, address owner)
44
- external returns(IRegistry.ObjectInfo memory info, bytes memory data);
62
+ function registerDistributor(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
45
63
 
46
- function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId); // -> easy to upgrade
64
+ function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
47
65
 
48
66
  function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
49
67
  }
@@ -2,5 +2,6 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  interface ITransferInterceptor {
5
+ function nftMint(address to, uint256 tokenId) external;
5
6
  function nftTransferFrom(address from, address to, uint256 tokenId) external;
6
7
  }