@etherisc/gif-next 0.0.2-836e6e4-400 → 0.0.2-83889c4-030

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 (622) hide show
  1. package/README.md +10 -14
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1416 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1349 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +818 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +975 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +814 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +73 -83
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +286 -1351
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +308 -199
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +463 -2526
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +630 -351
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +510 -336
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +378 -88
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3642 -0
  32. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  33. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  34. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  35. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  36. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  38. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  39. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -144
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  44. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  45. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  47. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  48. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  49. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  50. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  51. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
  52. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  53. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  54. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  55. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +662 -0
  56. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  58. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  60. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  61. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +718 -0
  62. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  63. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
  64. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  66. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  67. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +286 -265
  68. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  69. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
  70. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  71. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
  72. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  73. package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
  74. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  75. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1432 -0
  76. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  77. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
  78. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  79. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +834 -0
  80. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  81. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  82. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  83. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
  84. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  85. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
  86. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  87. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +203 -240
  88. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  89. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  90. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  91. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +326 -283
  92. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  93. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +263 -226
  94. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  95. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  96. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  97. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IProductService.sol/IProductService.json} +125 -122
  98. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  99. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
  100. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  101. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
  102. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  103. package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
  104. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -0
  106. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  107. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  108. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  109. package/artifacts/contracts/product/ProductService.sol/ProductService.json +679 -0
  110. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
  112. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  113. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  114. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +279 -17
  116. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  117. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +355 -221
  118. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  119. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  120. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  121. package/artifacts/contracts/registry/Registry.sol/Registry.json +512 -36
  122. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  123. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
  124. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +507 -287
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +340 -82
  128. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  129. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +845 -99
  130. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  131. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  132. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  133. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -96
  134. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  135. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  136. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  137. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  138. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  139. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  140. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  142. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  144. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  145. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  146. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  147. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1490 -0
  148. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +792 -0
  150. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  151. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +200 -195
  152. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  153. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  154. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  155. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  156. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  157. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  158. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  159. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IComponent.sol/IComponent.json} +277 -115
  160. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  161. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +867 -0
  162. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  163. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  164. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +51 -31
  166. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  168. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  170. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  171. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  172. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  174. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  175. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  176. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IService.sol/IService.json +75 -163
  178. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  180. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  181. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  182. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  183. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  184. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  185. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  186. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  187. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  188. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  189. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  190. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  191. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +115 -29
  192. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  193. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  194. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  195. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +330 -62
  196. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  197. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
  198. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  199. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  200. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  201. package/artifacts/contracts/shared/Service.sol/Service.json +179 -153
  202. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  203. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  204. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  205. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  206. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  207. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  208. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  209. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  210. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  211. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  212. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  213. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  214. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  215. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  216. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  217. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  218. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  219. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  220. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  222. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  223. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  224. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  225. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  226. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  227. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  228. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  229. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  230. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  231. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  232. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  234. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  236. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  237. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  238. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  239. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  240. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  241. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  242. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  244. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  245. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  246. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +105 -0
  248. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  250. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  252. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  254. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  255. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  256. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  257. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  258. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  260. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  261. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  262. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  264. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  265. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  266. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  267. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  268. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  269. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  270. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  271. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  272. package/contracts/distribution/Distribution.sol +261 -0
  273. package/contracts/distribution/DistributionService.sol +298 -0
  274. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  275. package/contracts/distribution/IDistributionComponent.sol +66 -0
  276. package/contracts/distribution/IDistributionService.sol +81 -0
  277. package/contracts/instance/BundleManager.sol +22 -25
  278. package/contracts/instance/IInstance.sol +65 -45
  279. package/contracts/instance/IInstanceService.sol +60 -17
  280. package/contracts/instance/Instance.sol +155 -195
  281. package/contracts/instance/InstanceAdmin.sol +331 -0
  282. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  283. package/contracts/instance/InstanceReader.sol +160 -85
  284. package/contracts/instance/InstanceService.sol +272 -210
  285. package/contracts/instance/InstanceServiceManager.sol +12 -22
  286. package/contracts/instance/InstanceStore.sol +281 -0
  287. package/contracts/instance/base/BalanceStore.sol +118 -0
  288. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  289. package/contracts/instance/base/ObjectCounter.sol +21 -0
  290. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +16 -35
  291. package/contracts/instance/module/IAccess.sol +20 -22
  292. package/contracts/instance/module/IBundle.sol +8 -8
  293. package/contracts/instance/module/IComponents.sol +52 -0
  294. package/contracts/instance/module/IDistribution.sol +7 -4
  295. package/contracts/instance/module/IPolicy.sol +56 -17
  296. package/contracts/instance/module/IRisk.sol +1 -1
  297. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  298. package/contracts/oracle/IOracle.sol +20 -0
  299. package/contracts/oracle/IOracleComponent.sol +32 -0
  300. package/contracts/oracle/IOracleService.sol +65 -0
  301. package/contracts/oracle/Oracle.sol +145 -0
  302. package/contracts/oracle/OracleService.sol +277 -0
  303. package/contracts/oracle/OracleServiceManager.sol +42 -0
  304. package/contracts/pool/BundleService.sol +296 -0
  305. package/contracts/pool/BundleServiceManager.sol +42 -0
  306. package/contracts/pool/IBundleService.sol +106 -0
  307. package/contracts/pool/IPoolComponent.sol +112 -0
  308. package/contracts/pool/IPoolService.sol +150 -0
  309. package/contracts/pool/Pool.sol +299 -0
  310. package/contracts/pool/PoolService.sol +453 -0
  311. package/contracts/pool/PoolServiceManager.sol +42 -0
  312. package/contracts/product/ApplicationService.sol +254 -0
  313. package/contracts/product/ApplicationServiceManager.sol +38 -0
  314. package/contracts/product/ClaimService.sol +442 -0
  315. package/contracts/product/ClaimServiceManager.sol +38 -0
  316. package/contracts/product/IApplicationService.sol +62 -0
  317. package/contracts/product/IClaimService.sol +99 -0
  318. package/contracts/product/IPolicyService.sol +78 -0
  319. package/contracts/product/IPricingService.sol +39 -0
  320. package/contracts/product/IProductComponent.sol +42 -0
  321. package/contracts/product/IProductService.sol +33 -0
  322. package/contracts/product/PolicyService.sol +475 -0
  323. package/contracts/product/PolicyServiceManager.sol +42 -0
  324. package/contracts/product/PricingService.sol +301 -0
  325. package/contracts/product/PricingServiceManager.sol +42 -0
  326. package/contracts/product/Product.sol +377 -0
  327. package/contracts/product/ProductService.sol +124 -0
  328. package/contracts/product/ProductServiceManager.sol +42 -0
  329. package/contracts/registry/ChainNft.sol +16 -1
  330. package/contracts/registry/IRegistry.sol +56 -23
  331. package/contracts/registry/IRegistryService.sol +45 -34
  332. package/contracts/registry/ITransferInterceptor.sol +1 -0
  333. package/contracts/registry/Registry.sol +300 -120
  334. package/contracts/registry/RegistryAdmin.sol +237 -0
  335. package/contracts/registry/RegistryService.sol +118 -175
  336. package/contracts/registry/RegistryServiceManager.sol +22 -26
  337. package/contracts/registry/ReleaseManager.sol +461 -209
  338. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  339. package/contracts/registry/TokenRegistry.sol +263 -58
  340. package/contracts/shared/AccessManagerCustom.sol +736 -0
  341. package/contracts/shared/AccessManagerExtended.sol +470 -0
  342. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  343. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  344. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  345. package/contracts/shared/Component.sol +281 -0
  346. package/contracts/shared/ComponentService.sol +618 -0
  347. package/contracts/shared/ComponentServiceManager.sol +35 -0
  348. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  349. package/contracts/shared/ERC165.sol +15 -13
  350. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  351. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  352. package/contracts/shared/IComponent.sol +70 -0
  353. package/contracts/shared/IComponentService.sol +102 -0
  354. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  355. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  356. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  357. package/contracts/shared/INftOwnable.sol +13 -12
  358. package/contracts/shared/IPolicyHolder.sol +45 -0
  359. package/contracts/shared/IRegisterable.sol +4 -6
  360. package/contracts/shared/IRegistryLinked.sol +11 -0
  361. package/contracts/shared/IService.sol +7 -5
  362. package/contracts/shared/IVersionable.sol +5 -48
  363. package/contracts/shared/InitializableCustom.sol +177 -0
  364. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  365. package/contracts/shared/KeyValueStore.sol +127 -0
  366. package/contracts/{instance/base → shared}/Lifecycle.sol +37 -7
  367. package/contracts/shared/NftIdSetManager.sol +65 -0
  368. package/contracts/shared/NftOwnable.sol +59 -86
  369. package/contracts/shared/PolicyHolder.sol +102 -0
  370. package/contracts/shared/ProxyManager.sol +131 -26
  371. package/contracts/shared/Registerable.sol +26 -41
  372. package/contracts/shared/RegistryLinked.sol +43 -0
  373. package/contracts/shared/Service.sol +42 -23
  374. package/contracts/shared/TokenHandler.sol +37 -6
  375. package/contracts/shared/Versionable.sol +4 -92
  376. package/contracts/staking/IStaking.sol +168 -0
  377. package/contracts/staking/IStakingService.sol +149 -0
  378. package/contracts/staking/StakeManagerLib.sol +179 -0
  379. package/contracts/staking/Staking.sol +551 -0
  380. package/contracts/staking/StakingManager.sol +54 -0
  381. package/contracts/staking/StakingReader.sol +187 -0
  382. package/contracts/staking/StakingService.sol +406 -0
  383. package/contracts/staking/StakingServiceManager.sol +45 -0
  384. package/contracts/staking/StakingStore.sol +572 -0
  385. package/contracts/staking/TargetManagerLib.sol +207 -0
  386. package/contracts/{types → type}/AddressSet.sol +1 -1
  387. package/contracts/type/Amount.sol +128 -0
  388. package/contracts/{types → type}/Blocknumber.sol +21 -3
  389. package/contracts/type/ClaimId.sol +75 -0
  390. package/contracts/{types → type}/DistributorType.sol +2 -2
  391. package/contracts/{types → type}/Fee.sol +33 -23
  392. package/contracts/{types → type}/NftId.sol +21 -15
  393. package/contracts/{types → type}/NftIdSet.sol +2 -2
  394. package/contracts/{types → type}/ObjectType.sol +32 -16
  395. package/contracts/type/PayoutId.sol +82 -0
  396. package/contracts/{types → type}/Referral.sol +5 -1
  397. package/contracts/type/RequestId.sol +75 -0
  398. package/contracts/{types → type}/RiskId.sol +1 -1
  399. package/contracts/type/RoleId.sol +146 -0
  400. package/contracts/type/Seconds.sol +81 -0
  401. package/contracts/{types → type}/StateId.sol +34 -4
  402. package/contracts/{types → type}/Timestamp.sol +23 -14
  403. package/contracts/{types → type}/UFixed.sol +1 -0
  404. package/contracts/{types → type}/Version.sol +2 -1
  405. package/package.json +6 -5
  406. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  407. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  408. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -772
  409. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  410. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  411. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  412. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  413. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  414. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  415. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  416. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  417. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -967
  418. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  419. package/artifacts/contracts/components/Product.sol/Product.json +0 -883
  420. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  421. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  422. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  423. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  424. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  425. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  426. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  427. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  428. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  429. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  430. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  431. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  432. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  433. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  434. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  435. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  436. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  437. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  438. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  439. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  440. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  441. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  442. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  443. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  444. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  445. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  446. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  447. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  448. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  449. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  450. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  451. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  452. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  453. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  454. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  455. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  456. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  457. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  458. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  459. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  460. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  461. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  462. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  463. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  464. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1057
  465. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  466. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  467. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  468. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  469. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  470. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  471. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  472. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  473. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -429
  474. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  475. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  476. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  477. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  478. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  479. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  480. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  481. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  482. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -923
  483. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  484. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -432
  485. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  486. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -814
  487. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  488. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -671
  489. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  490. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
  491. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  492. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  493. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  494. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  495. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  496. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  497. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  498. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  499. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  500. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -971
  501. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  502. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
  503. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  504. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -705
  505. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  506. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
  507. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  508. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -755
  509. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  510. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  511. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  512. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  513. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  514. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  515. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  516. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  517. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  518. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  519. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  520. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  521. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  522. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  523. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  524. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  525. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  526. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  527. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  528. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  529. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  530. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  531. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  532. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  533. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  534. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  535. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  536. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  537. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  538. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  539. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  540. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  541. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  542. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  543. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  544. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  545. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  546. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  547. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  548. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  549. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  550. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  551. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  552. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  553. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  554. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  555. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  556. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  557. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  558. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  559. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  560. package/contracts/components/BaseComponent.sol +0 -148
  561. package/contracts/components/Distribution.sol +0 -163
  562. package/contracts/components/IBaseComponent.sol +0 -32
  563. package/contracts/components/IDistributionComponent.sol +0 -44
  564. package/contracts/components/IPoolComponent.sol +0 -66
  565. package/contracts/components/IProductComponent.sol +0 -35
  566. package/contracts/components/Pool.sol +0 -271
  567. package/contracts/components/Product.sol +0 -292
  568. package/contracts/experiment/cloning/Cloner.sol +0 -47
  569. package/contracts/experiment/errors/Require.sol +0 -38
  570. package/contracts/experiment/errors/Revert.sol +0 -44
  571. package/contracts/experiment/inheritance/A.sol +0 -53
  572. package/contracts/experiment/inheritance/B.sol +0 -28
  573. package/contracts/experiment/inheritance/C.sol +0 -34
  574. package/contracts/experiment/inheritance/IA.sol +0 -13
  575. package/contracts/experiment/inheritance/IB.sol +0 -10
  576. package/contracts/experiment/inheritance/IC.sol +0 -12
  577. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  578. package/contracts/experiment/statemachine/ISM.sol +0 -25
  579. package/contracts/experiment/statemachine/SM.sol +0 -57
  580. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  581. package/contracts/experiment/types/TypeA.sol +0 -47
  582. package/contracts/experiment/types/TypeB.sol +0 -29
  583. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  584. package/contracts/instance/IInstanceBase.sol +0 -26
  585. package/contracts/instance/InstanceAccessManager.sol +0 -304
  586. package/contracts/instance/InstanceBase.sol +0 -41
  587. package/contracts/instance/base/ComponentServiceBase.sol +0 -72
  588. package/contracts/instance/base/IInstanceBase.sol +0 -23
  589. package/contracts/instance/base/KeyValueStore.sol +0 -172
  590. package/contracts/instance/module/ISetup.sol +0 -46
  591. package/contracts/instance/module/ITreasury.sol +0 -23
  592. package/contracts/instance/service/BundleService.sol +0 -260
  593. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  594. package/contracts/instance/service/ComponentOwnerService.sol +0 -315
  595. package/contracts/instance/service/DistributionService.sol +0 -114
  596. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  597. package/contracts/instance/service/IBundleService.sol +0 -45
  598. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  599. package/contracts/instance/service/IDistributionService.sol +0 -12
  600. package/contracts/instance/service/IPolicyService.sol +0 -87
  601. package/contracts/instance/service/IPoolService.sol +0 -20
  602. package/contracts/instance/service/IProductService.sol +0 -40
  603. package/contracts/instance/service/PolicyService.sol +0 -503
  604. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  605. package/contracts/instance/service/PoolService.sol +0 -122
  606. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  607. package/contracts/instance/service/ProductService.sol +0 -168
  608. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  609. package/contracts/registry/RegistryAccessManager.sol +0 -210
  610. package/contracts/shared/ContractDeployerLib.sol +0 -72
  611. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  612. package/contracts/test/TestFee.sol +0 -25
  613. package/contracts/test/TestRegisterable.sol +0 -18
  614. package/contracts/test/TestRoleId.sol +0 -14
  615. package/contracts/test/TestService.sol +0 -25
  616. package/contracts/test/TestToken.sol +0 -26
  617. package/contracts/test/TestVersion.sol +0 -44
  618. package/contracts/test/TestVersionable.sol +0 -17
  619. package/contracts/types/ChainId.sol +0 -38
  620. package/contracts/types/NumberId.sol +0 -52
  621. package/contracts/types/RoleId.sol +0 -90
  622. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,122 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Pool} from "../../components/Pool.sol";
5
- import {IRegistry} from "../../registry/IRegistry.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {IBundle} from "../../instance/module/IBundle.sol";
8
- import {TokenHandler} from "../../instance/module/ITreasury.sol";
9
- import {ISetup} from "../module/ISetup.sol";
10
- import {IPolicy} from "../module/IPolicy.sol";
11
-
12
- import {IVersionable} from "../../shared/IVersionable.sol";
13
- import {Versionable} from "../../shared/Versionable.sol";
14
- import {INftOwnable} from "../../shared/INftOwnable.sol";
15
-
16
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
17
- import {ObjectType, POOL, BUNDLE} from "../../types/ObjectType.sol";
18
- import {POOL_OWNER_ROLE, RoleId} from "../../types/RoleId.sol";
19
- import {Fee, FeeLib} from "../../types/Fee.sol";
20
- import {Version, VersionLib} from "../../types/Version.sol";
21
- import {KEEP_STATE, StateId} from "../../types/StateId.sol";
22
- import {TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
23
-
24
- import {IService} from "../../shared/IService.sol";
25
- import {Service} from "../../shared/Service.sol";
26
- import {BundleManager} from "../BundleManager.sol";
27
- import {ComponentServiceBase} from "../base/ComponentServiceBase.sol";
28
- import {IPoolService} from "./IPoolService.sol";
29
- import {IRegistryService} from "../../registry/IRegistryService.sol";
30
- import {InstanceService} from "../InstanceService.sol";
31
- import {InstanceReader} from "../InstanceReader.sol";
32
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
33
-
34
- string constant POOL_SERVICE_NAME = "PoolService";
35
-
36
- contract PoolService is
37
- ComponentServiceBase,
38
- IPoolService
39
- {
40
- using NftIdLib for NftId;
41
-
42
- address internal _registryAddress;
43
-
44
- function _initialize(
45
- address owner,
46
- bytes memory data
47
- )
48
- internal
49
- initializer
50
- virtual override
51
- {
52
- address registryAddress;
53
- address initialOwner;
54
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
55
- // TODO while PoolService is not deployed in PoolServiceManager constructor
56
- // owner is PoolServiceManager deployer
57
- _initializeService(registryAddress, owner);
58
-
59
- _registerInterface(type(IPoolService).interfaceId);
60
- }
61
-
62
- function getDomain() public pure override(Service, IService) returns(ObjectType) {
63
- return POOL();
64
- }
65
-
66
- function register(address poolAddress)
67
- external
68
- returns(NftId poolNftId)
69
- {
70
- address poolOwner = msg.sender;
71
- IBaseComponent pool = IBaseComponent(poolAddress);
72
-
73
- IRegistry.ObjectInfo memory info;
74
- bytes memory data;
75
- (info, data) = getRegistryService().registerPool(pool, poolOwner);
76
-
77
- IInstance instance = _getInstance(info.parentNftId);
78
-
79
- bool hasRole = getInstanceService().hasRole(
80
- poolOwner,
81
- POOL_OWNER_ROLE(),
82
- address(instance));
83
-
84
- if(!hasRole) {
85
- revert ExpectedRoleMissing(POOL_OWNER_ROLE(), poolOwner);
86
- }
87
-
88
- poolNftId = info.nftId;
89
- ISetup.PoolSetupInfo memory initialSetup = _decodeAndVerifyPoolSetup(data);
90
- instance.createPoolSetup(poolNftId, initialSetup);
91
- }
92
-
93
- function _decodeAndVerifyPoolSetup(bytes memory data) internal returns(ISetup.PoolSetupInfo memory setup)
94
- {
95
- setup = abi.decode(
96
- data,
97
- (ISetup.PoolSetupInfo)
98
- );
99
-
100
- // TODO add checks if applicable
101
- }
102
-
103
- function setFees(
104
- Fee memory poolFee,
105
- Fee memory stakingFee,
106
- Fee memory performanceFee
107
- )
108
- external
109
- override
110
- {
111
- (IRegistry.ObjectInfo memory poolInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
112
- InstanceReader instanceReader = instance.getInstanceReader();
113
- NftId poolNftId = poolInfo.nftId;
114
-
115
- ISetup.PoolSetupInfo memory poolSetupInfo = instanceReader.getPoolSetupInfo(poolNftId);
116
- poolSetupInfo.poolFee = poolFee;
117
- poolSetupInfo.stakingFee = stakingFee;
118
- poolSetupInfo.performanceFee = performanceFee;
119
-
120
- instance.updatePoolSetup(poolNftId, poolSetupInfo, KEEP_STATE());
121
- }
122
- }
@@ -1,51 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {PoolService} from "./PoolService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {REGISTRY} from "../../types/ObjectType.sol";
10
-
11
- contract PoolServiceManager is ProxyManager {
12
-
13
- PoolService private _poolService;
14
-
15
- /// @dev initializes proxy manager with pool service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager()
20
- {
21
- PoolService poolSrv = new PoolService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(poolSrv),
25
- data);
26
-
27
- _poolService = PoolService(address(versionable));
28
-
29
- // TODO `this` must have a role or own nft to register service
30
- //Registry registry = Registry(registryAddress);
31
- //address registryServiceAddress = registry.getServiceAddress(REGISTRY(), _poolService.getMajorVersion());
32
- //RegistryService registryService = RegistryService(registryServiceAddress);
33
- //registryService.registerService(_poolService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_poolService));
40
- }
41
-
42
- //--- view functions ----------------------------------------------------//
43
- function getPoolService()
44
- external
45
- view
46
- returns (PoolService poolService)
47
- {
48
- return _poolService;
49
- }
50
-
51
- }
@@ -1,168 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IProductComponent} from "../../components/IProductComponent.sol";
6
- import {Product} from "../../components/Product.sol";
7
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
8
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
9
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
10
- import {IInstance} from "../IInstance.sol";
11
- import {IPolicy} from "../module/IPolicy.sol";
12
- import {IRisk} from "../module/IRisk.sol";
13
- import {IBundle} from "../module/IBundle.sol";
14
- import {IProductService} from "./IProductService.sol";
15
- import {ITreasury} from "../module/ITreasury.sol";
16
- import {ISetup} from "../module/ISetup.sol";
17
-
18
- import {TokenHandler} from "../../shared/TokenHandler.sol";
19
-
20
- import {IVersionable} from "../../shared/IVersionable.sol";
21
- import {Versionable} from "../../shared/Versionable.sol";
22
-
23
- import {Timestamp, zeroTimestamp} from "../../types/Timestamp.sol";
24
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
25
- import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
26
- import {ObjectType, PRODUCT, POOL, POLICY} from "../../types/ObjectType.sol";
27
- import {APPLIED, UNDERWRITTEN, ACTIVE, KEEP_STATE} from "../../types/StateId.sol";
28
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
29
- import {Fee, FeeLib} from "../../types/Fee.sol";
30
- import {ReferralId} from "../../types/Referral.sol";
31
- import {RiskId} from "../../types/RiskId.sol";
32
- import {StateId} from "../../types/StateId.sol";
33
- import {Version, VersionLib} from "../../types/Version.sol";
34
- import {RoleId, PRODUCT_OWNER_ROLE} from "../../types/RoleId.sol";
35
-
36
- import {IService} from "../../shared/IService.sol";
37
- import {Service} from "../../shared/Service.sol";
38
- import {ComponentServiceBase} from "../base/ComponentServiceBase.sol";
39
- import {IProductService} from "./IProductService.sol";
40
- import {InstanceReader} from "../InstanceReader.sol";
41
- import {IPoolService} from "./PoolService.sol";
42
-
43
- // TODO or name this ProtectionService to have Product be something more generic (loan, savings account, ...)
44
- contract ProductService is ComponentServiceBase, IProductService {
45
- using NftIdLib for NftId;
46
-
47
- IPoolService internal _poolService;
48
-
49
- event LogProductServiceSender(address sender);
50
-
51
- function _initialize(
52
- address owner,
53
- bytes memory data
54
- )
55
- internal
56
- initializer
57
- virtual override
58
- {
59
- address registryAddress;
60
- address initialOwner;
61
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
62
-
63
- _initializeService(registryAddress, owner);
64
-
65
- _poolService = IPoolService(_registry.getServiceAddress(POOL(), getMajorVersion()));
66
-
67
- _registerInterface(type(IProductService).interfaceId);
68
- }
69
-
70
-
71
- function getDomain() public pure override(IService, Service) returns(ObjectType) {
72
- return PRODUCT();
73
- }
74
-
75
- function register(address productAddress)
76
- external
77
- returns(NftId productNftId)
78
- {
79
- address productOwner = msg.sender;
80
- IBaseComponent product = IBaseComponent(productAddress);
81
-
82
- IRegistry.ObjectInfo memory info;
83
- bytes memory data;
84
- (info, data) = getRegistryService().registerProduct(product, productOwner);
85
-
86
- IInstance instance = _getInstance(info.parentNftId);
87
- bool hasRole = getInstanceService().hasRole(
88
- productOwner,
89
- PRODUCT_OWNER_ROLE(),
90
- address(instance));
91
-
92
- if(!hasRole) {
93
- revert ExpectedRoleMissing(PRODUCT_OWNER_ROLE(), productOwner);
94
- }
95
-
96
- productNftId = info.nftId;
97
- ISetup.ProductSetupInfo memory initialSetup = _decodeAndVerifyProductSetup(data);
98
- instance.createProductSetup(productNftId, initialSetup);
99
- }
100
-
101
- function _decodeAndVerifyProductSetup(bytes memory data) internal returns(ISetup.ProductSetupInfo memory setup)
102
- {
103
- setup = abi.decode(
104
- data,
105
- (ISetup.ProductSetupInfo)
106
- );
107
-
108
- // TODO add checks if applicable
109
- }
110
-
111
- function setFees(
112
- Fee memory productFee,
113
- Fee memory processingFee
114
- )
115
- external
116
- {
117
- // TODO check args
118
-
119
- (
120
- IRegistry.ObjectInfo memory productInfo,
121
- IInstance instance
122
- ) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
123
-
124
- InstanceReader instanceReader = instance.getInstanceReader();
125
- NftId productNftId = productInfo.nftId;
126
- ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(productNftId);
127
-
128
- productSetupInfo.productFee = productFee;
129
- productSetupInfo.processingFee = processingFee;
130
-
131
- instance.updateProductSetup(productNftId, productSetupInfo, KEEP_STATE());
132
- }
133
-
134
- function createRisk(
135
- RiskId riskId,
136
- bytes memory data
137
- ) external override {
138
- (
139
- IRegistry.ObjectInfo memory productInfo,
140
- IInstance instance
141
- ) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
142
- NftId productNftId = productInfo.nftId;
143
- IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
144
- instance.createRisk(
145
- riskId,
146
- riskInfo
147
- );
148
- }
149
-
150
- function updateRisk(
151
- RiskId riskId,
152
- bytes memory data
153
- ) external {
154
- (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
155
- InstanceReader instanceReader = instance.getInstanceReader();
156
- IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
157
- riskInfo.data = data;
158
- instance.updateRisk(riskId, riskInfo, KEEP_STATE());
159
- }
160
-
161
- function updateRiskState(
162
- RiskId riskId,
163
- StateId state
164
- ) external {
165
- (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
166
- instance.updateRiskState(riskId, state);
167
- }
168
- }
@@ -1,54 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {ProductService} from "./ProductService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {VersionLib} from "../../types/Version.sol";
10
-
11
- contract ProductServiceManager is ProxyManager {
12
-
13
- ProductService private _productService;
14
-
15
- /// @dev initializes proxy manager with product service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager()
20
- {
21
- ProductService svc = new ProductService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(svc),
25
- data);
26
-
27
- _productService = ProductService(address(versionable));
28
-
29
- // Registry registry = Registry(registryAddress);
30
- // address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
31
- // RegistryService registryService = RegistryService(registryServiceAddress);
32
- // TODO this must have a role or own nft to register service
33
- //registryService.registerService(_productService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_productService));
40
-
41
- // implies that after this constructor call only upgrade functionality is available
42
- _isDeployed = true;
43
- }
44
-
45
- //--- view functions ----------------------------------------------------//
46
- function getProductService()
47
- external
48
- view
49
- returns (ProductService productService)
50
- {
51
- return _productService;
52
- }
53
-
54
- }
@@ -1,210 +0,0 @@
1
- // SPDX-License-Identifier: UNLICENSED
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
5
- import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
6
-
7
- import {RoleId, RoleIdLib,
8
- REGISTRY_SERVICE_MANAGER_ROLE,
9
- REGISTRY_SERVICE_ADMIN_ROLE,
10
- RELEASE_MANAGER_ROLE} from "../types/RoleId.sol";
11
-
12
- import {TokenRegistry} from "./TokenRegistry.sol";
13
- import {ReleaseManager} from "./ReleaseManager.sol";
14
-
15
- /*
16
- 3 types of roles:
17
- 1) REGISTRAR roles
18
- - each one is unique
19
- - always have 1 member
20
- - one role is set for each function of each version of registry service
21
- 2) REGISTRY_SERVICE_MANAGER_ROLE aka GIF_MANAGER_ROLE
22
- - can have arbitrary number of members
23
- - responsible for services registrations
24
- - responsible for token registration and activation
25
- 3) REGISTRY_SERVICE_ADMIN_ROLE aka GIF_ADMIN_ROLE
26
- - admin of REGISTRY_SERVICE_MANAGER_ROLE
27
- - MUST have 1 member at any time
28
- - granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
29
- - responsible for release manager initialization
30
- - responsible for creation and activation of each release
31
-
32
- */
33
-
34
- contract RegistryAccessManager is AccessManaged
35
- {
36
- error NotInitialized();
37
- error AlreadyInitialized();
38
-
39
- uint64 public constant UNIQUE_ROLE_ID_MIN = 1000000;
40
-
41
- AccessManager private immutable _accessManager;
42
- address private _releaseManager;
43
- address private _tokenRegistry;
44
-
45
- uint64 private _idNext; // role id
46
- bool private _isInitialized;
47
-
48
- modifier onlyOnce() {
49
- if(_isInitialized) {
50
- revert AlreadyInitialized();
51
- }
52
- _;
53
- _isInitialized = true;
54
- }
55
-
56
- modifier onlyInitialized() {
57
- if(!_isInitialized) {
58
- revert NotInitialized();
59
- }
60
- _;
61
- }
62
-
63
- constructor(address manager)
64
- AccessManaged(msg.sender)
65
- {
66
- _accessManager = new AccessManager(address(this));
67
- setAuthority(address(_accessManager));
68
-
69
- _idNext = UNIQUE_ROLE_ID_MIN;
70
-
71
- _configureAdminRoleInitial();
72
-
73
- address admin = msg.sender;
74
- _grantRole(REGISTRY_SERVICE_ADMIN_ROLE(), admin, 0);
75
- _grantRole(REGISTRY_SERVICE_MANAGER_ROLE(), manager, 0);
76
- }
77
-
78
- function initialize(address releaseManager, address tokenRegistry)
79
- external
80
- restricted // GIF_ADMIN_ROLE
81
- onlyOnce
82
- {
83
- require(
84
- ReleaseManager(releaseManager).authority() == address(_accessManager),
85
- "RegistryAccessManager: release manager authority is invalid");
86
- require(tokenRegistry > address(0), "RegistryAccessManager: token registry is 0");
87
- //require(tokenRegistry.authority() == address(_accessManager));
88
-
89
- _releaseManager = releaseManager;
90
- _tokenRegistry = tokenRegistry;
91
-
92
- _configureAdminRole();
93
- _configureManagerRole();
94
- _configureReleaseManagerRole();
95
-
96
- _grantRole(RELEASE_MANAGER_ROLE(), releaseManager, 0);
97
- }
98
-
99
- // set unique role for target, role forever have 1 member and never revoked
100
- function setAndGrantUniqueRole(
101
- address account,
102
- address target,
103
- bytes4[] memory selector
104
- )
105
- external
106
- restricted // RELEASE_MANAGER_ROLE
107
- onlyInitialized
108
- returns(RoleId)
109
- {
110
- // TODO questionable check...
111
- // target is not part of `runtime`
112
- //if(
113
- // target == address(this) ||
114
- // target == address(_accessManager) ||
115
- // target == _releaseManager ||
116
- // target == _tokenRegistry)
117
- //{ return TargetInvalid(); }
118
-
119
- RoleId roleId = _getNextRoleId();
120
-
121
- _setTargetFunctionRole(target, selector, roleId);
122
- _grantRole(roleId, account, 0);
123
- }
124
-
125
- /*function transferAdmin(address to)
126
- external
127
- restricted // only with REGISTRY_SERVICE_ADMIN_ROLE or nft owner
128
- {
129
- _accessManager.revoke(REGISTRY_SERVICE_ADMIN_ROLE, );
130
- _accesssManager.grant(REGISTRY_SERVICE_ADMIN_ROLE, to, 0);
131
- }*/
132
-
133
- //--- view functions ----------------------------------------------------//
134
-
135
- function getAccessManager()
136
- external
137
- view
138
- returns (AccessManager)
139
- {
140
- return _accessManager;
141
- }
142
-
143
- //--- private functions -------------------------------------------------//
144
-
145
- function _configureAdminRoleInitial() private
146
- {
147
- bytes4[] memory functionSelector = new bytes4[](1);
148
-
149
- functionSelector[0] = RegistryAccessManager.initialize.selector;
150
- _setTargetFunctionRole(address(this), functionSelector, REGISTRY_SERVICE_ADMIN_ROLE());
151
- }
152
-
153
- function _configureAdminRole() private
154
- {
155
- bytes4[] memory functionSelector = new bytes4[](1);
156
-
157
- // for RegistryServiceProxyManager
158
- // TODO upgrading with releaseManager.upgrade()->proxy.upgrade()???
159
- //functionSelector[0] = RegistryServiceManager.upgrade.selector;
160
- //_setTargetFunctionRole(address(this), functionSelector, REGISTRY_SERVICE_ADMIN_ROLE());
161
-
162
- // for TokenRegistry
163
-
164
- // for ReleaseManager
165
- functionSelector[0] = ReleaseManager.createNextRelease.selector;
166
- _setTargetFunctionRole(_releaseManager, functionSelector, REGISTRY_SERVICE_ADMIN_ROLE());
167
- //functionSelector[0] = ReleaseManager.activateNextRelease.selector;
168
- //_setTargetFunctionRole(_releaseManager, functionSelector, REGISTRY_SERVICE_ADMIN_ROLE());
169
- }
170
-
171
- function _configureManagerRole() private
172
- {
173
- bytes4[] memory functionSelector = new bytes4[](1);
174
-
175
- // for TokenRegistry
176
- functionSelector[0] = TokenRegistry.setActive.selector;
177
- _setTargetFunctionRole(address(_tokenRegistry), functionSelector, REGISTRY_SERVICE_MANAGER_ROLE());
178
-
179
- // for ReleaseManager
180
- functionSelector[0] = ReleaseManager.registerService.selector;
181
- _setTargetFunctionRole(_releaseManager, functionSelector, REGISTRY_SERVICE_MANAGER_ROLE());
182
-
183
- // set admin
184
- _setRoleAdmin(REGISTRY_SERVICE_MANAGER_ROLE(), REGISTRY_SERVICE_ADMIN_ROLE());
185
- }
186
-
187
- function _configureReleaseManagerRole() private
188
- {
189
- bytes4[] memory functionSelector = new bytes4[](1);
190
-
191
- functionSelector[0] = RegistryAccessManager.setAndGrantUniqueRole.selector;
192
- _setTargetFunctionRole(address(this), functionSelector, RELEASE_MANAGER_ROLE());
193
- }
194
-
195
- function _setTargetFunctionRole(address target, bytes4[] memory selectors, RoleId roleId) private {
196
- _accessManager.setTargetFunctionRole(target, selectors, roleId.toInt());
197
- }
198
-
199
- function _setRoleAdmin(RoleId roleId, RoleId adminRoleId) private {
200
- _accessManager.setRoleAdmin(roleId.toInt(), adminRoleId.toInt());
201
- }
202
-
203
- function _grantRole(RoleId roleId, address account, uint32 executionDelay) private {
204
- _accessManager.grantRole(roleId.toInt(), account, executionDelay);
205
- }
206
-
207
- function _getNextRoleId() private returns(RoleId roleId) {
208
- roleId = RoleIdLib.toRoleId(_idNext++);
209
- }
210
- }
@@ -1,72 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- library ContractDeployerLib {
5
-
6
- event LogContractDeployed(address contractAddress);
7
-
8
- error ErrorCreationCodeHashMismatch(bytes32 expectedHash, bytes32 actualHash);
9
-
10
- /// @dev deploys a new contract using the provided creation code
11
- function deploy(
12
- bytes memory creationCode,
13
- bytes32 expectedCreationCodeHash
14
- )
15
- public
16
- returns (address contractAdress)
17
- {
18
- // check against expected hash, if provided
19
- if (expectedCreationCodeHash != bytes32(0)) {
20
- bytes32 creationCodeHash = getHash(creationCode);
21
- if (creationCodeHash != expectedCreationCodeHash) {
22
- revert ErrorCreationCodeHashMismatch(expectedCreationCodeHash, creationCodeHash);
23
- }
24
- }
25
-
26
- // solhint-disable no-inline-assembly
27
- assembly {
28
- contractAdress := create(0, add(creationCode, 0x20), mload(creationCode))
29
-
30
- if iszero(extcodesize(contractAdress)) {
31
- revert(0, 0)
32
- }
33
- }
34
- // solhint enable
35
-
36
- emit LogContractDeployed(contractAdress);
37
- }
38
-
39
- /// @dev gets the creation code for the new contract
40
- // for terminology see eg https://www.rareskills.io/post/ethereum-contract-creation-code
41
- function getCreationCode(
42
- bytes memory byteCodeWithInitCode, // what you get with type(<Contract>).creationCode
43
- bytes memory encodedConstructorArguments // what you get with
44
- )
45
- public
46
- pure
47
- returns (bytes memory creationCode)
48
- {
49
- return abi.encodePacked(byteCodeWithInitCode, encodedConstructorArguments);
50
- }
51
-
52
-
53
- function matchesWithHash(
54
- bytes memory creationCode,
55
- bytes32 expectedHash
56
- )
57
- public
58
- pure
59
- returns (bool isMatching)
60
- {
61
- return getHash(creationCode) == expectedHash;
62
- }
63
-
64
-
65
- function getHash(bytes memory creationCode)
66
- public
67
- pure
68
- returns (bytes32 hash)
69
- {
70
- return keccak256(creationCode);
71
- }
72
- }
@@ -1,16 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Registerable} from "./Registerable.sol";
5
- import {Versionable} from "./Versionable.sol";
6
-
7
- /// @dev base contract for upgradable objects like services and upgradable components
8
- /// deriving contracs need to call _initializeRegisterable
9
- /// TODO internalizes versionable here, a non-registerable versionalbe might itself have some value but is outside the scope of the gif
10
- /// after this merge versionable will no longer exist on its own in gif
11
- /// only registerable and upgradable (which is a registerable too) will remain
12
- abstract contract RegisterableUpgradable is
13
- Registerable,
14
- Versionable
15
- {
16
- }