@etherisc/gif-next 0.0.2-aa8d0c4-506 → 0.0.2-aaa8646-641

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