@etherisc/gif-next 0.0.2-bb7b80e-316 → 0.0.2-bc0a9a8-101

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 (588) 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 +279 -1408
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +296 -216
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +463 -2500
  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 +204 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +485 -342
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +457 -367
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +368 -94
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3458 -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/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  38. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  39. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  40. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  42. package/artifacts/contracts/instance/module/{ISetup.sol/ISetup.json → IComponents.sol/IComponents.json} +2 -2
  43. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  46. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  47. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  48. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  49. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
  50. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  51. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  52. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  53. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +260 -290
  54. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  55. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
  56. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  57. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
  58. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  59. package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
  60. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  61. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1432 -0
  62. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
  64. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  65. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +834 -0
  66. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  68. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  69. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
  70. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
  72. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  73. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +203 -240
  74. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  75. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  76. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  77. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +244 -308
  78. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  79. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +263 -226
  80. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  81. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +438 -229
  82. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  83. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IProductService.sol/IProductService.json} +124 -145
  84. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  85. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
  86. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
  88. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  89. package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
  90. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -0
  92. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  93. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  94. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  95. package/artifacts/contracts/product/ProductService.sol/ProductService.json +679 -0
  96. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
  98. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  99. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  100. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  101. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +279 -17
  102. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  103. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +355 -221
  104. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  105. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  106. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  107. package/artifacts/contracts/registry/Registry.sol/Registry.json +512 -36
  108. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  109. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
  110. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  111. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +507 -287
  112. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +340 -82
  114. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  115. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +847 -85
  116. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  117. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  118. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -96
  120. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  121. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  122. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  123. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  124. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  125. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  126. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  127. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  128. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  129. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  130. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  131. package/artifacts/contracts/{components/Pool.sol/Pool.json → shared/Component.sol/Component.json} +410 -367
  132. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  133. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1475 -0
  134. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +788 -0
  136. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  137. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +193 -199
  138. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  139. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  140. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  141. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  142. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  144. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  145. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IComponent.sol/IComponent.json} +271 -133
  146. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  147. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +860 -0
  148. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  149. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +240 -221
  150. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  151. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +51 -31
  152. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  153. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  154. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  155. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  156. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  157. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  158. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  159. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  160. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  161. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  162. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  163. package/artifacts/contracts/shared/IService.sol/IService.json +75 -163
  164. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  165. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  166. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  167. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  168. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  169. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  170. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  171. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  172. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  173. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  174. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  175. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  176. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  177. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +115 -29
  178. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  179. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  180. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  181. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +330 -62
  182. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  183. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
  184. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  185. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  186. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  187. package/artifacts/contracts/shared/Service.sol/Service.json +179 -153
  188. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  189. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  190. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  191. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  192. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  193. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  194. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  195. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  196. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  197. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  198. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  199. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  200. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  201. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  202. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  203. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  204. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  205. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  206. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  207. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  208. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  209. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  210. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  211. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  212. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  213. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  214. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  215. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  216. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  217. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  218. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  219. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  220. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  221. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  222. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  223. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  224. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  225. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  226. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  228. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  229. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  230. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  231. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  232. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  233. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  234. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  236. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  237. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  238. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  240. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  241. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  242. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  244. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  245. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  246. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  247. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  248. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  249. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  250. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  251. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  252. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  254. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  255. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  256. package/contracts/distribution/Distribution.sol +261 -0
  257. package/contracts/distribution/DistributionService.sol +298 -0
  258. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  259. package/contracts/distribution/IDistributionComponent.sol +66 -0
  260. package/contracts/distribution/IDistributionService.sol +81 -0
  261. package/contracts/instance/BundleManager.sol +22 -25
  262. package/contracts/instance/IInstance.sol +58 -39
  263. package/contracts/instance/IInstanceService.sol +58 -17
  264. package/contracts/instance/Instance.sol +155 -182
  265. package/contracts/instance/InstanceAdmin.sol +331 -0
  266. package/contracts/instance/InstanceAuthorizationsLib.sol +349 -0
  267. package/contracts/instance/InstanceReader.sol +136 -86
  268. package/contracts/instance/InstanceService.sol +259 -242
  269. package/contracts/instance/InstanceServiceManager.sol +12 -22
  270. package/contracts/instance/InstanceStore.sol +260 -0
  271. package/contracts/instance/base/BalanceStore.sol +118 -0
  272. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  273. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +16 -35
  274. package/contracts/instance/module/IAccess.sol +19 -21
  275. package/contracts/instance/module/IBundle.sol +8 -8
  276. package/contracts/instance/module/IComponents.sol +52 -0
  277. package/contracts/instance/module/IDistribution.sol +7 -4
  278. package/contracts/instance/module/IPolicy.sol +56 -17
  279. package/contracts/instance/module/IRisk.sol +1 -1
  280. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  281. package/contracts/pool/BundleService.sol +296 -0
  282. package/contracts/pool/BundleServiceManager.sol +42 -0
  283. package/contracts/pool/IBundleService.sol +106 -0
  284. package/contracts/pool/IPoolComponent.sol +112 -0
  285. package/contracts/pool/IPoolService.sol +150 -0
  286. package/contracts/pool/Pool.sol +299 -0
  287. package/contracts/pool/PoolService.sol +453 -0
  288. package/contracts/pool/PoolServiceManager.sol +42 -0
  289. package/contracts/product/ApplicationService.sol +254 -0
  290. package/contracts/product/ApplicationServiceManager.sol +38 -0
  291. package/contracts/product/ClaimService.sol +442 -0
  292. package/contracts/product/ClaimServiceManager.sol +38 -0
  293. package/contracts/product/IApplicationService.sol +62 -0
  294. package/contracts/product/IClaimService.sol +93 -0
  295. package/contracts/product/IPolicyService.sol +78 -0
  296. package/contracts/product/IPricingService.sol +39 -0
  297. package/contracts/product/IProductComponent.sol +42 -0
  298. package/contracts/product/IProductService.sol +33 -0
  299. package/contracts/product/PolicyService.sol +475 -0
  300. package/contracts/product/PolicyServiceManager.sol +42 -0
  301. package/contracts/product/PricingService.sol +301 -0
  302. package/contracts/product/PricingServiceManager.sol +42 -0
  303. package/contracts/product/Product.sol +377 -0
  304. package/contracts/product/ProductService.sol +124 -0
  305. package/contracts/product/ProductServiceManager.sol +42 -0
  306. package/contracts/registry/ChainNft.sol +16 -1
  307. package/contracts/registry/IRegistry.sol +56 -23
  308. package/contracts/registry/IRegistryService.sol +45 -34
  309. package/contracts/registry/ITransferInterceptor.sol +1 -0
  310. package/contracts/registry/Registry.sol +299 -119
  311. package/contracts/registry/RegistryAdmin.sol +237 -0
  312. package/contracts/registry/RegistryService.sol +118 -172
  313. package/contracts/registry/RegistryServiceManager.sol +22 -26
  314. package/contracts/registry/ReleaseManager.sol +463 -206
  315. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  316. package/contracts/registry/TokenRegistry.sol +263 -58
  317. package/contracts/shared/AccessManagerCustom.sol +736 -0
  318. package/contracts/shared/AccessManagerExtended.sol +470 -0
  319. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  320. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  321. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  322. package/contracts/shared/Component.sol +278 -0
  323. package/contracts/shared/ComponentService.sol +596 -0
  324. package/contracts/shared/ComponentServiceManager.sol +35 -0
  325. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  326. package/contracts/shared/ERC165.sol +15 -13
  327. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  328. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  329. package/contracts/shared/IComponent.sol +70 -0
  330. package/contracts/shared/IComponentService.sol +91 -0
  331. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  332. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  333. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  334. package/contracts/shared/INftOwnable.sol +13 -12
  335. package/contracts/shared/IPolicyHolder.sol +45 -0
  336. package/contracts/shared/IRegisterable.sol +4 -6
  337. package/contracts/shared/IRegistryLinked.sol +11 -0
  338. package/contracts/shared/IService.sol +7 -5
  339. package/contracts/shared/IVersionable.sol +5 -48
  340. package/contracts/shared/InitializableCustom.sol +177 -0
  341. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  342. package/contracts/shared/KeyValueStore.sol +127 -0
  343. package/contracts/{instance/base → shared}/Lifecycle.sol +28 -7
  344. package/contracts/shared/NftIdSetManager.sol +65 -0
  345. package/contracts/shared/NftOwnable.sol +59 -86
  346. package/contracts/shared/PolicyHolder.sol +102 -0
  347. package/contracts/shared/ProxyManager.sol +131 -26
  348. package/contracts/shared/Registerable.sol +26 -41
  349. package/contracts/shared/RegistryLinked.sol +43 -0
  350. package/contracts/shared/Service.sol +42 -23
  351. package/contracts/shared/TokenHandler.sol +37 -6
  352. package/contracts/shared/Versionable.sol +4 -92
  353. package/contracts/staking/IStaking.sol +168 -0
  354. package/contracts/staking/IStakingService.sol +149 -0
  355. package/contracts/staking/StakeManagerLib.sol +179 -0
  356. package/contracts/staking/Staking.sol +551 -0
  357. package/contracts/staking/StakingManager.sol +54 -0
  358. package/contracts/staking/StakingReader.sol +187 -0
  359. package/contracts/staking/StakingService.sol +406 -0
  360. package/contracts/staking/StakingServiceManager.sol +45 -0
  361. package/contracts/staking/StakingStore.sol +572 -0
  362. package/contracts/staking/TargetManagerLib.sol +207 -0
  363. package/contracts/{types → type}/AddressSet.sol +1 -1
  364. package/contracts/type/Amount.sol +128 -0
  365. package/contracts/{types → type}/Blocknumber.sol +21 -3
  366. package/contracts/type/ClaimId.sol +75 -0
  367. package/contracts/{types → type}/DistributorType.sol +2 -2
  368. package/contracts/{types → type}/Fee.sol +33 -23
  369. package/contracts/{types → type}/NftId.sol +21 -15
  370. package/contracts/{types → type}/NftIdSet.sol +2 -2
  371. package/contracts/{types → type}/ObjectType.sol +26 -9
  372. package/contracts/type/PayoutId.sol +82 -0
  373. package/contracts/{types → type}/Referral.sol +5 -1
  374. package/contracts/{types → type}/RiskId.sol +1 -1
  375. package/contracts/type/RoleId.sol +143 -0
  376. package/contracts/type/Seconds.sol +81 -0
  377. package/contracts/{types → type}/StateId.sol +24 -6
  378. package/contracts/{types → type}/Timestamp.sol +18 -13
  379. package/contracts/{types → type}/UFixed.sol +1 -0
  380. package/contracts/{types → type}/Version.sol +2 -1
  381. package/package.json +5 -5
  382. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  383. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  384. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  385. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  386. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  387. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  388. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  389. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  390. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  391. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  392. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  393. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  394. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  395. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  396. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  397. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  398. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  399. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  400. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  401. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  402. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  403. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  404. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  405. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  406. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  407. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  408. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  409. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  410. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  411. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  412. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  413. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  414. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  415. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  416. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  417. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  418. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  419. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  420. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  421. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  422. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  423. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  424. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  425. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  426. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  427. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  428. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  429. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  430. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  431. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  432. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  433. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  434. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  435. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  436. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  437. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
  438. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  439. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  440. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  441. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  442. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  443. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  444. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -100
  445. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  446. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -429
  447. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  448. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  449. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  450. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  451. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  452. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  453. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  454. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  455. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  456. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1031
  457. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  458. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  459. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  460. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -693
  461. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  462. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
  463. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  464. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  465. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  466. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  467. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  468. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  469. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  470. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1156
  471. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  472. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  473. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  474. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -727
  475. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  476. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
  477. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  478. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  479. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  480. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  481. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  482. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  483. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  484. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  485. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  486. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  487. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  488. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  489. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  490. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  491. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  492. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  493. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  494. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  495. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  496. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  497. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  498. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  499. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  500. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  501. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  502. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  503. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  504. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  505. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  506. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  507. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  508. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  510. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  511. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  512. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  513. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  514. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  515. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  516. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  517. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  518. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  519. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  520. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  521. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  522. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  523. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  524. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  525. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  526. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  527. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  528. package/contracts/components/BaseComponent.sol +0 -168
  529. package/contracts/components/Distribution.sol +0 -154
  530. package/contracts/components/IBaseComponent.sol +0 -35
  531. package/contracts/components/IDistributionComponent.sol +0 -44
  532. package/contracts/components/IPoolComponent.sol +0 -66
  533. package/contracts/components/IProductComponent.sol +0 -35
  534. package/contracts/components/Pool.sol +0 -258
  535. package/contracts/components/Product.sol +0 -295
  536. package/contracts/experiment/cloning/Cloner.sol +0 -47
  537. package/contracts/experiment/errors/Require.sol +0 -38
  538. package/contracts/experiment/errors/Revert.sol +0 -44
  539. package/contracts/experiment/inheritance/A.sol +0 -53
  540. package/contracts/experiment/inheritance/B.sol +0 -28
  541. package/contracts/experiment/inheritance/C.sol +0 -34
  542. package/contracts/experiment/inheritance/IA.sol +0 -13
  543. package/contracts/experiment/inheritance/IB.sol +0 -10
  544. package/contracts/experiment/inheritance/IC.sol +0 -12
  545. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  546. package/contracts/experiment/statemachine/ISM.sol +0 -25
  547. package/contracts/experiment/statemachine/SM.sol +0 -57
  548. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  549. package/contracts/experiment/types/TypeA.sol +0 -47
  550. package/contracts/experiment/types/TypeB.sol +0 -29
  551. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  552. package/contracts/instance/IInstanceBase.sol +0 -25
  553. package/contracts/instance/InstanceAccessManager.sol +0 -303
  554. package/contracts/instance/InstanceBase.sol +0 -39
  555. package/contracts/instance/base/ComponentServiceBase.sol +0 -76
  556. package/contracts/instance/base/IInstanceBase.sol +0 -21
  557. package/contracts/instance/base/KeyValueStore.sol +0 -172
  558. package/contracts/instance/module/ISetup.sol +0 -46
  559. package/contracts/instance/module/ITreasury.sol +0 -23
  560. package/contracts/instance/service/BundleService.sol +0 -294
  561. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  562. package/contracts/instance/service/DistributionService.sol +0 -120
  563. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  564. package/contracts/instance/service/IBundleService.sol +0 -44
  565. package/contracts/instance/service/IDistributionService.sol +0 -12
  566. package/contracts/instance/service/IPolicyService.sol +0 -94
  567. package/contracts/instance/service/IPoolService.sol +0 -20
  568. package/contracts/instance/service/IProductService.sol +0 -40
  569. package/contracts/instance/service/PolicyService.sol +0 -539
  570. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  571. package/contracts/instance/service/PoolService.sol +0 -145
  572. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  573. package/contracts/instance/service/ProductService.sol +0 -213
  574. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  575. package/contracts/registry/RegistryAccessManager.sol +0 -210
  576. package/contracts/shared/ContractDeployerLib.sol +0 -72
  577. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  578. package/contracts/test/TestFee.sol +0 -25
  579. package/contracts/test/TestRegisterable.sol +0 -18
  580. package/contracts/test/TestRoleId.sol +0 -14
  581. package/contracts/test/TestService.sol +0 -25
  582. package/contracts/test/TestToken.sol +0 -26
  583. package/contracts/test/TestVersion.sol +0 -44
  584. package/contracts/test/TestVersionable.sol +0 -17
  585. package/contracts/types/ChainId.sol +0 -38
  586. package/contracts/types/NumberId.sol +0 -52
  587. package/contracts/types/RoleId.sol +0 -90
  588. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,303 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
5
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
6
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
7
-
8
- import {AccessManagerUpgradeableInitializeable} from "../../contracts/instance/AccessManagerUpgradeableInitializeable.sol";
9
- import {RoleId, RoleIdLib } from "../types/RoleId.sol";
10
- import {TimestampLib} from "../types/Timestamp.sol";
11
- import {IAccess} from "./module/IAccess.sol";
12
-
13
- contract InstanceAccessManager is
14
- AccessManagedUpgradeable
15
- {
16
- using RoleIdLib for RoleId;
17
-
18
- string public constant ADMIN_ROLE_NAME = "AdminRole";
19
- string public constant PUBLIC_ROLE_NAME = "PublicRole";
20
-
21
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
22
- uint32 public constant EXECUTION_DELAY = 0;
23
-
24
- // role specific state
25
- mapping(RoleId roleId => IAccess.RoleInfo info) internal _role;
26
- mapping(RoleId roleId => EnumerableSet.AddressSet roleMembers) internal _roleMembers;
27
- mapping(ShortString name => RoleId roleId) internal _roleForName;
28
- RoleId [] internal _roles;
29
-
30
- // target specific state
31
- mapping(address target => IAccess.TargetInfo info) internal _target;
32
- mapping(ShortString name => address target) internal _targetForName;
33
- address [] internal _targets;
34
-
35
- AccessManagerUpgradeableInitializeable internal _accessManager;
36
-
37
- function __InstanceAccessManager_initialize(address initialAdmin) external initializer
38
- {
39
- // if size of the contract gets too large, this can be externalized which will reduce the contract size considerably
40
- _accessManager = new AccessManagerUpgradeableInitializeable();
41
- // this service required adin rights to access manager to be able to grant/revoke roles
42
- _accessManager.__AccessManagerUpgradeableInitializeable_init(address(this));
43
- _accessManager.grantRole(_accessManager.ADMIN_ROLE(), initialAdmin, 0);
44
-
45
- __AccessManaged_init(address(_accessManager));
46
-
47
- _createRole(RoleIdLib.toRoleId(_accessManager.ADMIN_ROLE()), ADMIN_ROLE_NAME, false, false);
48
- _createRole(RoleIdLib.toRoleId(_accessManager.PUBLIC_ROLE()), PUBLIC_ROLE_NAME, false, false);
49
- }
50
-
51
- //--- Role ------------------------------------------------------//
52
- function createGifRole(RoleId roleId, string memory name) external restricted() {
53
- _createRole(roleId, name, false, true);
54
- }
55
-
56
- function createRole(RoleId roleId, string memory name) external restricted() {
57
- _createRole(roleId, name, true, true);
58
- }
59
-
60
- function setRoleLocked(RoleId roleId, bool locked) external restricted() {
61
- if (!roleExists(roleId)) {
62
- revert IAccess.ErrorIAccessSetLockedForNonexstentRole(roleId);
63
- }
64
-
65
- _role[roleId].isLocked = locked;
66
- _role[roleId].updatedAt = TimestampLib.blockTimestamp();
67
- }
68
-
69
- function roleExists(RoleId roleId) public view returns (bool exists) {
70
- return _role[roleId].createdAt.gtz();
71
- }
72
-
73
- function grantRole(RoleId roleId, address member) external restricted() returns (bool granted) {
74
- if (!roleExists(roleId)) {
75
- revert IAccess.ErrorIAccessGrantNonexstentRole(roleId);
76
- }
77
-
78
- if (_role[roleId].isLocked) {
79
- revert IAccess.ErrorIAccessRoleIdNotActive(roleId);
80
- }
81
-
82
- if (!EnumerableSet.contains(_roleMembers[roleId], member)) {
83
- _accessManager.grantRole(roleId.toInt(), member, EXECUTION_DELAY);
84
- EnumerableSet.add(_roleMembers[roleId], member);
85
- return true;
86
- }
87
-
88
- return false;
89
- }
90
-
91
- function revokeRole(RoleId roleId, address member) external restricted() returns (bool revoked) {
92
- if (!roleExists(roleId)) {
93
- revert IAccess.ErrorIAccessRevokeNonexstentRole(roleId);
94
- }
95
-
96
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
97
- _accessManager.revokeRole(roleId.toInt(), member);
98
- EnumerableSet.remove(_roleMembers[roleId], member);
99
- return true;
100
- }
101
-
102
- return false;
103
- }
104
-
105
- /// @dev not restricted function by intention
106
- /// the restriction to role members is already enforced by the call to the access manger
107
- function renounceRole(RoleId roleId) external returns (bool revoked) {
108
- address member = msg.sender;
109
-
110
- if (!roleExists(roleId)) {
111
- revert IAccess.ErrorIAccessRenounceNonexstentRole(roleId);
112
- }
113
-
114
- if (EnumerableSet.contains(_roleMembers[roleId], member)) {
115
- // cannot use accessManger.renounce as it directly checks against msg.sender
116
- _accessManager.revokeRole(roleId.toInt(), member);
117
- EnumerableSet.remove(_roleMembers[roleId], member);
118
- return true;
119
- }
120
-
121
- return false;
122
- }
123
-
124
- function roles() external view returns (uint256 numberOfRoles) {
125
- return _roles.length;
126
- }
127
-
128
- function getRoleId(uint256 idx) external view returns (RoleId roleId) {
129
- return _roles[idx];
130
- }
131
-
132
- function getRoleIdForName(string memory name) external view returns (RoleId roleId) {
133
- return _roleForName[ShortStrings.toShortString(name)];
134
- }
135
-
136
- function getRole(RoleId roleId) external view returns (IAccess.RoleInfo memory role) {
137
- return _role[roleId];
138
- }
139
-
140
- function hasRole(RoleId roleId, address account) external view returns (bool accountHasRole) {
141
- (accountHasRole, ) = _accessManager.hasRole(roleId.toInt(), account);
142
- }
143
-
144
- function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers) {
145
- return EnumerableSet.length(_roleMembers[roleId]);
146
- }
147
-
148
- function getRoleMember(RoleId roleId, uint256 idx) external view returns (address roleMember) {
149
- return EnumerableSet.at(_roleMembers[roleId], idx);
150
- }
151
-
152
- //--- Target ------------------------------------------------------//
153
- function createGifTarget(address target, string memory name) external restricted() {
154
- _createTarget(target, name, false, true);
155
- }
156
-
157
- function createTarget(address target, string memory name) external restricted() {
158
- _createTarget(target, name, true, true);
159
- }
160
-
161
- function setTargetLocked(string memory targetName, bool locked) external restricted() {
162
- address target = _targetForName[ShortStrings.toShortString(targetName)];
163
-
164
- if (target == address(0)) {
165
- revert IAccess.ErrorIAccessSetLockedForNonexstentTarget(target);
166
- }
167
-
168
- _target[target].isLocked = locked;
169
- _accessManager.setTargetClosed(target, locked);
170
- }
171
-
172
- function targetExists(address target) public view returns (bool exists) {
173
- return _target[target].createdAt.gtz();
174
- }
175
-
176
- //--- internal view/pure functions --------------------------------------//
177
-
178
- function _createRole(RoleId roleId, string memory name, bool isCustom, bool validateParameters) internal {
179
- if (validateParameters) {
180
- _validateRoleParameters(roleId, name, isCustom);
181
- }
182
-
183
- IAccess.RoleInfo memory role = IAccess.RoleInfo(
184
- ShortStrings.toShortString(name),
185
- isCustom,
186
- false, // role un-locked,
187
- TimestampLib.blockTimestamp(),
188
- TimestampLib.blockTimestamp());
189
-
190
- _role[roleId] = role;
191
- _roleForName[role.name] = roleId;
192
- _roles.push(roleId);
193
- }
194
-
195
- function _validateRoleParameters(
196
- RoleId roleId,
197
- string memory name,
198
- bool isCustom
199
- )
200
- internal
201
- view
202
- returns (IAccess.RoleInfo memory existingRole)
203
- {
204
- // check role id
205
- uint64 roleIdInt = RoleId.unwrap(roleId);
206
- if(roleIdInt == _accessManager.ADMIN_ROLE() || roleIdInt == _accessManager.PUBLIC_ROLE()) {
207
- revert IAccess.ErrorIAccessRoleIdInvalid(roleId);
208
- }
209
-
210
- // prevent changing isCustom for existing roles
211
- existingRole = _role[roleId];
212
-
213
- if (existingRole.createdAt.gtz() && isCustom != existingRole.isCustom) {
214
- revert IAccess.ErrorIAccessRoleIsCustomIsImmutable(roleId, isCustom, existingRole.isCustom);
215
- }
216
-
217
- if (isCustom && roleIdInt < CUSTOM_ROLE_ID_MIN) {
218
- revert IAccess.ErrorIAccessRoleIdTooSmall(roleId);
219
- } else if (!isCustom && roleIdInt >= CUSTOM_ROLE_ID_MIN) {
220
- revert IAccess.ErrorIAccessRoleIdTooBig(roleId);
221
- }
222
-
223
- // role name checks
224
- ShortString nameShort = ShortStrings.toShortString(name);
225
- if (ShortStrings.byteLength(nameShort) == 0) {
226
- revert IAccess.ErrorIAccessRoleNameEmpty(roleId);
227
- }
228
-
229
- if (_roleForName[nameShort] != RoleIdLib.zero() && _roleForName[nameShort] != roleId) {
230
- revert IAccess.ErrorIAccessRoleNameNotUnique(_roleForName[nameShort], nameShort);
231
- }
232
- }
233
-
234
- function _createTarget(address target, string memory name, bool isCustom, bool validateParameters) internal {
235
- if (validateParameters) {
236
- _validateTargetParameters(target, name, isCustom);
237
- }
238
-
239
- if (_target[target].createdAt.gtz()) {
240
- revert IAccess.ErrorIAccessTargetAlreadyExists(target, _target[target].name);
241
- }
242
- if (_targetForName[ShortStrings.toShortString(name)] != address(0)) {
243
- revert IAccess.ErrorIAccessTargetNameExists(target, _targetForName[ShortStrings.toShortString(name)], ShortStrings.toShortString(name));
244
- }
245
-
246
- IAccess.TargetInfo memory info = IAccess.TargetInfo(
247
- ShortStrings.toShortString(name),
248
- isCustom,
249
- _accessManager.isTargetClosed(target), // sync with state in access manager
250
- TimestampLib.blockTimestamp(),
251
- TimestampLib.blockTimestamp());
252
-
253
- _target[target] = info;
254
- _targetForName[info.name] = target;
255
- _targets.push(target);
256
- }
257
-
258
- function _validateTargetParameters(address target, string memory name, bool isCustom) internal view {
259
- // TODO: implement
260
- }
261
-
262
- function setTargetFunctionRole(
263
- address target,
264
- bytes4[] calldata selectors,
265
- uint64 roleId
266
- ) public virtual restricted() {
267
- _accessManager.setTargetFunctionRole(target, selectors, roleId);
268
- }
269
-
270
- function setTargetFunctionRole(
271
- string memory targetName,
272
- bytes4[] calldata selectors,
273
- RoleId roleId
274
- ) public virtual restricted() {
275
- address target = _targetForName[ShortStrings.toShortString(targetName)];
276
- uint64 roleIdInt = RoleId.unwrap(roleId);
277
- _accessManager.setTargetFunctionRole(target, selectors, roleIdInt);
278
- }
279
-
280
- function getAccessManager() public restricted() returns (AccessManagerUpgradeableInitializeable) {
281
- return _accessManager;
282
- }
283
-
284
- function setTargetClosed(string memory targetName, bool closed) public restricted() {
285
- address target = _targetForName[ShortStrings.toShortString(targetName)];
286
- if (target == address(0)) {
287
- revert IAccess.ErrorIAccessTargetAddressZero();
288
- }
289
- _accessManager.setTargetClosed(target, closed);
290
- }
291
-
292
- function isTargetLocked(address target) public view returns (bool locked) {
293
- return _accessManager.isTargetClosed(target);
294
- }
295
-
296
- function canCall(
297
- address caller,
298
- address target,
299
- bytes4 selector
300
- ) public view virtual returns (bool immediate, uint32 delay) {
301
- return _accessManager.canCall(caller, target, selector);
302
- }
303
- }
@@ -1,39 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
5
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
6
-
7
- import {IAccess} from "./module/IAccess.sol";
8
- import {IBundle} from "./module/IBundle.sol";
9
- import {IPolicy} from "./module/IPolicy.sol";
10
- import {IRisk} from "./module/IRisk.sol";
11
- import {ISetup} from "./module/ISetup.sol";
12
- import {Key32, KeyId, Key32Lib} from "../types/Key32.sol";
13
- import {KeyValueStore} from "./base/KeyValueStore.sol";
14
- import {IInstance} from "./IInstance.sol";
15
- import {InstanceReader} from "./InstanceReader.sol";
16
- import {BundleManager} from "./BundleManager.sol";
17
- import {NftId} from "../types/NftId.sol";
18
- import {NumberId} from "../types/NumberId.sol";
19
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET} from "../types/ObjectType.sol";
20
- import {RiskId, RiskIdLib} from "../types/RiskId.sol";
21
- import {RoleId, RoleIdLib} from "../types/RoleId.sol";
22
- import {StateId, ACTIVE} from "../types/StateId.sol";
23
- import {ERC165} from "../shared/ERC165.sol";
24
- import {Registerable} from "../shared/Registerable.sol";
25
- import {IDistributionService} from "./service/IDistributionService.sol";
26
- import {IPoolService} from "./service/IPoolService.sol";
27
- import {IProductService} from "./service/IProductService.sol";
28
- import {VersionPart} from "../types/Version.sol";
29
- import {IInstanceBase} from "./IInstanceBase.sol";
30
-
31
- contract InstanceBase is
32
- IInstanceBase,
33
- KeyValueStore,
34
- ERC165,
35
- Registerable
36
- {
37
-
38
-
39
- }
@@ -1,76 +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 {IRegistryService} from "../../registry/IRegistryService.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {IAccess} from "../module/IAccess.sol";
8
- import {ObjectType, INSTANCE, REGISTRY} from "../../types/ObjectType.sol";
9
- import {NftId} from "../../types/NftId.sol";
10
- import {RoleId} from "../../types/RoleId.sol";
11
-
12
- import {Service} from "../../shared/Service.sol";
13
- import {InstanceService} from "../InstanceService.sol";
14
- import {InstanceAccessManager} from "../InstanceAccessManager.sol";
15
-
16
- abstract contract ComponentServiceBase is Service {
17
-
18
- error ErrorComponentServiceBaseComponentLocked(address componentAddress);
19
- error ExpectedRoleMissing(RoleId expected, address caller);
20
- error ComponentTypeInvalid(ObjectType componentType);
21
-
22
-
23
- /// @dev modifier to check if caller is a registered service
24
- modifier onlyService() {
25
- address caller = msg.sender;
26
- require(getRegistry().isRegisteredService(caller), "ERROR_NOT_SERVICE");
27
- _;
28
- }
29
-
30
- // view functions
31
-
32
- function getRegistryService() public view virtual returns (IRegistryService) {
33
- address service = getRegistry().getServiceAddress(REGISTRY(), getMajorVersion());
34
- return IRegistryService(service);
35
- }
36
-
37
- function getInstanceService() public view returns (InstanceService) {
38
- address service = getRegistry().getServiceAddress(INSTANCE(), getMajorVersion());
39
- return InstanceService(service);
40
- }
41
-
42
- // internal view functions
43
-
44
- function _getInstance(NftId instanceNftId) internal view returns (IInstance) {
45
- IRegistry.ObjectInfo memory instanceInfo = getRegistry().getObjectInfo(instanceNftId);
46
- return IInstance(instanceInfo.objectAddress);
47
- }
48
-
49
- function _getAndVerifyComponentInfoAndInstance(
50
- //address component,
51
- ObjectType expectedType
52
- )
53
- internal
54
- view
55
- returns(
56
- IRegistry.ObjectInfo memory info,
57
- IInstance instance
58
- )
59
- {
60
- IRegistry registry = getRegistry();
61
- //TODO redundant check -> just check type
62
- //NftId componentNftId = registry.getNftId(component);
63
- //require(componentNftId.gtz(), "ERROR_COMPONENT_UNKNOWN");
64
-
65
- info = registry.getObjectInfo(msg.sender);
66
- require(info.objectType == expectedType, "OBJECT_TYPE_INVALID");
67
-
68
- address instanceAddress = registry.getObjectInfo(info.parentNftId).objectAddress;
69
- instance = IInstance(instanceAddress);
70
-
71
- InstanceAccessManager accessManager = InstanceAccessManager(instance.authority());
72
- if (accessManager.isTargetLocked(info.objectAddress)) {
73
- revert IAccess.ErrorIAccessTargetLocked(info.objectAddress);
74
- }
75
- }
76
- }
@@ -1,21 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Key32} from "../../types/Key32.sol";
5
- import {StateId} from "../../types/StateId.sol";
6
-
7
- import {IKeyValueStore} from "./IKeyValueStore.sol";
8
-
9
- import {IDistributionService} from "../service/IDistributionService.sol";
10
- import {IProductService} from "../service/IProductService.sol";
11
- import {IPoolService} from "../service/IPoolService.sol";
12
-
13
- interface IInstanceBase {
14
- function getKeyValueStore() external view returns (IKeyValueStore keyValueStore);
15
- function updateState(Key32 key, StateId state) external;
16
- function getState(Key32 key) external view returns (StateId state);
17
-
18
- function getDistributionService() external view returns(IDistributionService);
19
- function getProductService() external view returns(IProductService service);
20
- function getPoolService() external view returns(IPoolService service);
21
- }
@@ -1,172 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
5
- import {Key32, KeyId, Key32Lib} from "../../types/Key32.sol";
6
- import {NftId} from "../../types/NftId.sol";
7
- import {ObjectType} from "../../types/ObjectType.sol";
8
- import {StateId, ACTIVE} from "../../types/StateId.sol";
9
- import {Timestamp, TimestampLib} from "../../types/Timestamp.sol";
10
-
11
- import {Lifecycle} from "./Lifecycle.sol";
12
- import {IKeyValueStore} from "./IKeyValueStore.sol";
13
-
14
- contract KeyValueStore is Lifecycle, IKeyValueStore {
15
-
16
- mapping(Key32 key32 => Value value) private _value;
17
-
18
- function create(
19
- Key32 key32,
20
- bytes memory data
21
- )
22
- internal
23
- {
24
- _create(key32, data);
25
- }
26
-
27
- function _create(
28
- Key32 key32,
29
- bytes memory data
30
- )
31
- internal
32
- {
33
- ObjectType objectType = key32.toObjectType();
34
- require(objectType.gtz(), "ERROR:KVS-010:TYPE_UNDEFINED");
35
-
36
- Metadata storage metadata = _value[key32].metadata;
37
- require(metadata.state.eqz(), "ERROR:KVS-012:ALREADY_CREATED");
38
-
39
- address createdBy = msg.sender;
40
- Blocknumber blocknumber = blockBlocknumber();
41
- StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
42
-
43
- // set metadata
44
- metadata.objectType = objectType;
45
- metadata.state = initialState;
46
- metadata.updatedBy = createdBy;
47
- metadata.updatedIn = blocknumber;
48
- metadata.createdIn = blocknumber;
49
-
50
- // set data
51
- _value[key32].data = data;
52
-
53
- // solhint-disable-next-line avoid-tx-origin
54
- emit LogInfoCreated(key32.toObjectType(), key32.toKeyId(), initialState, createdBy, tx.origin);
55
- }
56
-
57
- function update(
58
- Key32 key32,
59
- bytes memory data,
60
- StateId state
61
- )
62
- internal
63
- {
64
- _update(key32, data, state);
65
- }
66
-
67
- function _update(
68
- Key32 key32,
69
- bytes memory data,
70
- StateId state
71
- )
72
- internal
73
- {
74
- require(state.gtz(), "ERROR:KVS-020:STATE_UNDEFINED");
75
- Metadata storage metadata = _value[key32].metadata;
76
- StateId stateOld = metadata.state;
77
- require(stateOld.gtz(), "ERROR:KVS-021:NOT_EXISTING");
78
-
79
- // update data
80
- _value[key32].data = data;
81
-
82
- // update metadata (and state)
83
- address updatedBy = msg.sender;
84
- Blocknumber lastUpdatedIn = metadata.updatedIn;
85
- metadata.state = state;
86
- metadata.updatedBy = updatedBy;
87
- metadata.updatedIn = blockBlocknumber();
88
-
89
- // create log entries
90
- // solhint-disable avoid-tx-origin
91
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
92
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
93
- // solhing-enable
94
- }
95
-
96
- function updateData(Key32 key32, bytes memory data)
97
- internal
98
- {
99
- _updateData(key32, data);
100
- }
101
-
102
- function _updateData(Key32 key32, bytes memory data)
103
- internal
104
- {
105
- Metadata storage metadata = _value[key32].metadata;
106
- StateId state = metadata.state;
107
- require(state.gtz(), "ERROR:KVS-030:NOT_EXISTING");
108
-
109
- // update data
110
- _value[key32].data = data;
111
-
112
- // update metadata
113
- address updatedBy = msg.sender;
114
- Blocknumber lastUpdatedIn = metadata.updatedIn;
115
- metadata.updatedBy = updatedBy;
116
- metadata.updatedIn = blockBlocknumber();
117
-
118
- // create log entry
119
- // solhint-disable-next-line avoid-tx-origin
120
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
121
- }
122
-
123
- function updateState(Key32 key32, StateId state)
124
- internal
125
- {
126
- _updateState(key32, state);
127
- }
128
-
129
- function _updateState(Key32 key32, StateId state)
130
- internal
131
- {
132
- require(state.gtz(), "ERROR:KVS-040:STATE_UNDEFINED");
133
- Metadata storage metadata = _value[key32].metadata;
134
- StateId stateOld = metadata.state;
135
- require(stateOld.gtz(), "ERROR:KVS-041:NOT_EXISTING");
136
-
137
- // update metadata (and state)
138
- address updatedBy = msg.sender;
139
- Blocknumber lastUpdatedIn = metadata.updatedIn;
140
- metadata.state = state;
141
- metadata.updatedBy = updatedBy;
142
- metadata.updatedIn = blockBlocknumber();
143
-
144
- // create log entry
145
- // solhint-disable-next-line avoid-tx-origin
146
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
147
- }
148
-
149
- function exists(Key32 key32) public view returns (bool) {
150
- return _value[key32].metadata.state.gtz();
151
- }
152
-
153
- function get(Key32 key32) public view returns (Value memory value) {
154
- return _value[key32];
155
- }
156
-
157
- function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
158
- return _value[key32].metadata;
159
- }
160
-
161
- function getData(Key32 key32) public view returns (bytes memory data) {
162
- return _value[key32].data;
163
- }
164
-
165
- function getState(Key32 key32) public view returns (StateId state) {
166
- return _value[key32].metadata.state;
167
- }
168
-
169
- function toKey32(ObjectType objectType, KeyId id) external pure override returns(Key32) {
170
- return Key32Lib.toKey32(objectType, id);
171
- }
172
- }
@@ -1,46 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../types/Fee.sol";
7
- import {NftId} from "../../types/NftId.sol";
8
- import {UFixed} from "../../types/UFixed.sol";
9
- import {TokenHandler} from "../../shared/TokenHandler.sol";
10
-
11
- interface ISetup {
12
- struct ProductSetupInfo {
13
- IERC20Metadata token;
14
- TokenHandler tokenHandler;
15
- NftId distributionNftId;
16
- NftId poolNftId;
17
- Fee distributionFee; // default distribution fee (no referral id)
18
- Fee productFee; // product fee on net premium
19
- Fee processingFee; // product fee on payout amounts
20
- Fee poolFee; // pool fee on net premium
21
- Fee stakingFee; // pool fee on staked capital from investor
22
- Fee performanceFee; // pool fee on profits from capital investors
23
- bool isIntercepting; // intercepts nft transfers (for products)
24
- address wallet;
25
- }
26
-
27
- struct DistributionSetupInfo {
28
- NftId productNftId;
29
- TokenHandler tokenHandler;
30
- Fee distributionFee; // default distribution fee (no referral id)
31
- bool isIntercepting; // intercepts nft transfers (for distributors)
32
- address wallet;
33
- }
34
-
35
- struct PoolSetupInfo {
36
- NftId productNftId;
37
- TokenHandler tokenHandler;
38
- UFixed collateralizationLevel;
39
- Fee poolFee; // pool fee on net premium
40
- Fee stakingFee; // pool fee on staked capital from investor
41
- Fee performanceFee; // pool fee on profits from capital investors
42
- bool isIntercepting; // intercepts nft transfers (for bundles)
43
- bool isConfirmingApplication; // confirms applications before they are underwritten
44
- address wallet;
45
- }
46
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../types/Fee.sol";
7
- import {NftId} from "../../types/NftId.sol";
8
- import {TokenHandler} from "../../shared/TokenHandler.sol";
9
-
10
- interface ITreasury {
11
- struct TreasuryInfo {
12
- IERC20Metadata token;
13
- TokenHandler tokenHandler;
14
- NftId distributionNftId;
15
- NftId poolNftId;
16
- Fee distributionFee; // default distribution fee (no referral id)
17
- Fee productFee; // product fee on net premium
18
- Fee processingFee; // product fee on payout amounts
19
- Fee poolFee; // pool fee on net premium
20
- Fee stakingFee; // pool fee on staked capital from investor
21
- Fee performanceFee; // pool fee on profits from capital investors
22
- }
23
- }