@etherisc/gif-next 0.0.2-c34d8ab-035 → 0.0.2-c37bcc5-708

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 (582) hide show
  1. package/README.md +76 -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 +4 -0
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +567 -246
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +343 -173
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +532 -3076
  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 +726 -308
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +566 -268
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +380 -78
  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/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +79 -3
  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 -112
  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/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +297 -358
  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/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +233 -200
  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/product/IPolicyService.sol/IPolicyService.json +707 -0
  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} +259 -284
  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/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → product/IProductService.sol/IProductService.json} +111 -166
  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 +521 -59
  116. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  117. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +438 -200
  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 +828 -311
  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 +506 -352
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +339 -134
  128. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  129. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1292 -0
  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 +4 -0
  133. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  134. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  135. package/artifacts/contracts/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → shared/AccessManagerCustom.sol/AccessManagerCustom.json} +122 -11
  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} +225 -180
  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/shared/IComponent.sol/IComponent.json +631 -0
  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/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
  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 +88 -176
  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 +191 -165
  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/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  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/type/Version.sol/VersionPartLib.json +49 -0
  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 +126 -0
  278. package/contracts/instance/IInstance.sol +70 -16
  279. package/contracts/instance/IInstanceService.sol +64 -13
  280. package/contracts/instance/Instance.sol +157 -363
  281. package/contracts/instance/InstanceAdmin.sol +331 -0
  282. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  283. package/contracts/instance/InstanceReader.sol +172 -72
  284. package/contracts/instance/InstanceService.sol +309 -85
  285. package/contracts/instance/InstanceServiceManager.sol +12 -24
  286. package/contracts/instance/InstanceStore.sol +281 -0
  287. package/contracts/instance/base/BalanceStore.sol +118 -0
  288. package/contracts/instance/base/Cloneable.sol +51 -0
  289. package/contracts/instance/base/ObjectCounter.sol +21 -0
  290. package/contracts/instance/base/ObjectManager.sol +82 -0
  291. package/contracts/instance/module/IAccess.sol +29 -21
  292. package/contracts/instance/module/IBundle.sol +8 -7
  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 +15 -0
  330. package/contracts/registry/IRegistry.sol +79 -13
  331. package/contracts/registry/IRegistryService.sol +51 -17
  332. package/contracts/registry/ITransferInterceptor.sol +1 -0
  333. package/contracts/registry/Registry.sol +397 -244
  334. package/contracts/registry/RegistryAdmin.sol +237 -0
  335. package/contracts/registry/RegistryService.sol +122 -300
  336. package/contracts/registry/RegistryServiceManager.sol +26 -32
  337. package/contracts/registry/ReleaseManager.sol +600 -0
  338. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  339. package/contracts/registry/TokenRegistry.sol +315 -0
  340. package/contracts/{instance/AccessManagerSimple.sol → shared/AccessManagerCustom.sol} +276 -232
  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 -9
  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 +8 -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 +60 -89
  369. package/contracts/shared/PolicyHolder.sol +102 -0
  370. package/contracts/shared/ProxyManager.sol +131 -26
  371. package/contracts/shared/Registerable.sol +26 -40
  372. package/contracts/shared/RegistryLinked.sol +43 -0
  373. package/contracts/shared/Service.sol +47 -24
  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/type/NftIdSet.sol +62 -0
  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 +38 -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 +6 -2
  405. package/package.json +6 -5
  406. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  407. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -314
  408. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  409. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -610
  410. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  411. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -267
  412. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  413. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  414. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  415. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  416. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  417. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  418. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  419. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -774
  420. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  421. package/artifacts/contracts/components/Product.sol/Product.json +0 -754
  422. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  423. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  424. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  425. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  426. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  427. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  428. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  429. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  430. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  431. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  432. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  433. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  434. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  435. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  436. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  437. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  438. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  439. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  440. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  441. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  442. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  443. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  444. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  445. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  446. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  447. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  448. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  449. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  450. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  451. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  452. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  453. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  454. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  455. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  456. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  457. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  458. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  459. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  460. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  461. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  462. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  463. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  464. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  465. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  466. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -930
  467. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  468. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  469. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  470. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  471. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  472. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  473. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  474. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  475. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  476. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  477. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  478. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  479. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  480. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  481. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  482. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  483. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  484. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  485. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  486. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  487. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  488. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  489. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  490. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  491. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  492. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  493. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  494. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  495. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  496. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  497. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  498. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  499. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  500. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  501. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  502. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  503. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  504. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  505. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  507. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  508. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  509. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  510. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  511. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  512. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  513. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  514. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  515. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  516. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  517. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  518. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  519. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  520. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  521. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  522. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  523. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  524. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  525. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  526. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  527. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  528. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  529. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  530. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  531. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  532. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  533. package/contracts/components/BaseComponent.sol +0 -86
  534. package/contracts/components/Distribution.sol +0 -166
  535. package/contracts/components/IBaseComponent.sol +0 -24
  536. package/contracts/components/IDistributionComponent.sol +0 -43
  537. package/contracts/components/IPoolComponent.sol +0 -62
  538. package/contracts/components/IProductComponent.sol +0 -35
  539. package/contracts/components/Pool.sol +0 -259
  540. package/contracts/components/Product.sol +0 -297
  541. package/contracts/experiment/cloning/Cloner.sol +0 -47
  542. package/contracts/experiment/errors/Require.sol +0 -38
  543. package/contracts/experiment/errors/Revert.sol +0 -44
  544. package/contracts/experiment/inheritance/A.sol +0 -53
  545. package/contracts/experiment/inheritance/B.sol +0 -28
  546. package/contracts/experiment/inheritance/C.sol +0 -34
  547. package/contracts/experiment/inheritance/IA.sol +0 -13
  548. package/contracts/experiment/inheritance/IB.sol +0 -10
  549. package/contracts/experiment/inheritance/IC.sol +0 -12
  550. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  551. package/contracts/experiment/statemachine/ISM.sol +0 -25
  552. package/contracts/experiment/statemachine/SM.sol +0 -57
  553. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  554. package/contracts/experiment/types/TypeA.sol +0 -47
  555. package/contracts/experiment/types/TypeB.sol +0 -29
  556. package/contracts/instance/AccessManagedSimple.sol +0 -122
  557. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  558. package/contracts/instance/InstanceAccessManager.sol +0 -288
  559. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  560. package/contracts/instance/base/IInstanceBase.sol +0 -23
  561. package/contracts/instance/base/KeyValueStore.sol +0 -172
  562. package/contracts/instance/module/ISetup.sol +0 -43
  563. package/contracts/instance/module/ITreasury.sol +0 -23
  564. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  565. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  566. package/contracts/instance/service/IDistributionService.sol +0 -12
  567. package/contracts/instance/service/IPoolService.sol +0 -37
  568. package/contracts/instance/service/IProductService.sol +0 -107
  569. package/contracts/shared/ContractDeployerLib.sol +0 -72
  570. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  571. package/contracts/test/TestFee.sol +0 -25
  572. package/contracts/test/TestRegisterable.sol +0 -18
  573. package/contracts/test/TestRoleId.sol +0 -14
  574. package/contracts/test/TestService.sol +0 -24
  575. package/contracts/test/TestToken.sol +0 -26
  576. package/contracts/test/TestVersion.sol +0 -44
  577. package/contracts/test/TestVersionable.sol +0 -17
  578. package/contracts/types/ChainId.sol +0 -38
  579. package/contracts/types/NftIdSet.sol +0 -60
  580. package/contracts/types/NumberId.sol +0 -52
  581. package/contracts/types/RoleId.sol +0 -82
  582. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -0,0 +1,149 @@
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 {Amount} from "../type/Amount.sol";
7
+ import {IService} from "../shared/IService.sol";
8
+ import {IStaking} from "./IStaking.sol";
9
+ import {NftId} from "../type/NftId.sol";
10
+ import {ObjectType} from "../type/ObjectType.sol";
11
+ import {Seconds} from "../type/Seconds.sol";
12
+ import {Timestamp} from "../type/Timestamp.sol";
13
+ import {TokenHandler} from "../shared/TokenHandler.sol";
14
+ import {UFixed} from "../type/UFixed.sol";
15
+
16
+
17
+ interface IStakingService is IService
18
+ {
19
+
20
+ event LogStakingServiceProtocolTargetRegistered(NftId protocolNftId);
21
+ event LogStakingServiceInstanceTargetRegistered(NftId instanceNftId, uint256 chainId);
22
+ event LogStakingServiceLockingPeriodSet(NftId targetNftId, Seconds oldLockingDuration, Seconds lockingDuration);
23
+ event LogStakingServiceRewardRateSet(NftId targetNftId, UFixed oldRewardRate, UFixed rewardRate);
24
+
25
+ event LogStakingServiceRewardReservesIncreased(NftId targetNftId, address rewardProvider, Amount dipAmount, Amount newBalance);
26
+ event LogStakingServiceRewardReservesDecreased(NftId targetNftId, address targetOwner, Amount dipAmount, Amount newBalance);
27
+
28
+ event LogStakingServiceStakeCreated(NftId stakeNftId, NftId targetNftId, address owner, Amount stakedAmount);
29
+ event LogStakingServiceStakeIncreased(NftId stakeNftId, address owner, Amount stakedAmount, Amount stakeBalance);
30
+ event LogStakingServiceUnstaked(NftId stakeNftId, address stakeOwner, Amount totalAmount);
31
+
32
+ event LogStakingServiceRewardsUpdated(NftId stakeNftId);
33
+ event LogStakingServiceRewardsClaimed(NftId stakeNftId, address stakeOwner, Amount rewardsClaimedAmount);
34
+
35
+ // modifiers
36
+ error ErrorStakingServiceNotNftOwner(NftId nftId, address expectedOwner, address owner);
37
+ error ErrorStakingServiceNotStaking(address stakingAddress);
38
+ error ErrorStakingServiceNotSupportingIStaking(address stakingAddress);
39
+
40
+ // create
41
+ error ErrorStakingServiceZeroTargetNftId();
42
+ error ErrorStakingServiceNotTargetNftId(NftId targetNftId);
43
+ error ErrorStakingServiceNotActiveTargetNftId(NftId targetNftId);
44
+ error ErrorStakingServiceDipBalanceInsufficient(NftId targetNftId, uint256 amount, uint256 balance);
45
+ error ErrorStakingServiceDipAllowanceInsufficient(NftId targetNftId, address tokenHandler, uint256 amount, uint256 allowance);
46
+
47
+ /// @dev creates/registers an on-chain instance staking target.
48
+ /// function granted to instance service
49
+ function createInstanceTarget(
50
+ NftId targetNftId,
51
+ Seconds initialLockingPeriod,
52
+ UFixed initialRewardRate
53
+ ) external;
54
+
55
+ /// @dev set the stake locking period to the specified duration.
56
+ /// permissioned: only the owner of the specified target may set the locking period
57
+ function setLockingPeriod(NftId targetNftId, Seconds lockingPeriod) external;
58
+
59
+ /// @dev set the reward rate to the specified value
60
+ /// permissioned: only the owner of the specified target may set the locking period
61
+ function setRewardRate(NftId targetNftId, UFixed rewardRate) external;
62
+
63
+ /// @dev (re)fills the staking reward reserves for the specified target
64
+ /// unpermissioned: anybody may fill up staking reward reserves
65
+ function refillRewardReserves(NftId targetNftId, Amount dipAmount) external returns (Amount newBalance);
66
+
67
+ /// @dev defunds the staking reward reserves for the specified target
68
+ /// permissioned: only the target owner may call this function
69
+ function withdrawRewardReserves(NftId targetNftId, Amount dipAmount) external returns (Amount newBalance);
70
+
71
+ /// @dev create a new stake with amount DIP to the specified target
72
+ /// returns the id of the newly minted stake nft
73
+ /// permissionless function
74
+ function create(
75
+ NftId targetNftId,
76
+ Amount amount
77
+ )
78
+ external
79
+ returns (
80
+ NftId stakeNftId
81
+ );
82
+
83
+
84
+ /// @dev increase an existing stake by amount DIP
85
+ /// updates and restakes the staking reward amount
86
+ /// function restricted to the current stake owner
87
+ function stake(
88
+ NftId stakeNftId,
89
+ Amount amount
90
+ )
91
+ external;
92
+
93
+
94
+ /// @dev re-stakes the current staked DIP as well as all accumulated rewards to the new stake target.
95
+ /// all related stakes and all accumulated reward DIP are transferred to the current stake holder
96
+ /// function restricted to the current stake owner
97
+ function restakeToNewTarget(
98
+ NftId stakeNftId,
99
+ NftId newTargetNftId
100
+ )
101
+ external
102
+ returns (
103
+ NftId newStakeNftId
104
+ );
105
+
106
+
107
+ /// @dev updates the reward balance of the stake using the current reward rate.
108
+ function updateRewards(
109
+ NftId stakeNftId
110
+ )
111
+ external;
112
+
113
+
114
+ /// @dev claims all available rewards.
115
+ function claimRewards(
116
+ NftId stakeNftId
117
+ )
118
+ external;
119
+
120
+
121
+ /// @dev unstakes all dips (stakes and rewards) of an existing stake.
122
+ /// function restricted to the current stake owner
123
+ function unstake(
124
+ NftId stakeNftId
125
+ )
126
+ external;
127
+
128
+
129
+ /// @dev sets total value locked data for a target contract on a different chain.
130
+ /// this is done via CCIP (cross chain communication)
131
+ function setTotalValueLocked(
132
+ NftId targetNftId,
133
+ address token,
134
+ Amount amount
135
+ )
136
+ external;
137
+
138
+ function getDipToken()
139
+ external
140
+ returns (IERC20Metadata dip);
141
+
142
+ function getTokenHandler()
143
+ external
144
+ returns (TokenHandler tokenHandler);
145
+
146
+ function getStaking()
147
+ external
148
+ returns (IStaking staking);
149
+ }
@@ -0,0 +1,179 @@
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 {Amount, AmountLib} from "../type/Amount.sol";
7
+ import {Component} from "../shared/Component.sol";
8
+ import {IRegistry} from "../registry/IRegistry.sol";
9
+ import {IRegistryService} from "../registry/IRegistryService.sol";
10
+ import {IStaking} from "./IStaking.sol";
11
+ import {Key32} from "../type/Key32.sol";
12
+ import {NftId} from "../type/NftId.sol";
13
+ import {ObjectType, INSTANCE, PROTOCOL, TARGET} from "../type/ObjectType.sol";
14
+ import {Seconds, SecondsLib} from "../type/Seconds.sol";
15
+ import {StakingReader} from "./StakingReader.sol";
16
+ import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
17
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
18
+
19
+
20
+ library StakeManagerLib {
21
+
22
+
23
+ function checkCreateParameters(
24
+ StakingReader stakingReader,
25
+ NftId targetNftId,
26
+ Amount dipAmount
27
+ )
28
+ external
29
+ view
30
+ returns (
31
+ Timestamp lockedUntil
32
+ )
33
+ {
34
+ Seconds lockingPeriod = checkTarget(stakingReader, targetNftId);
35
+ checkDipAmount(stakingReader, targetNftId, dipAmount);
36
+
37
+ Timestamp currentTime = TimestampLib.blockTimestamp();
38
+ lockedUntil = currentTime.addSeconds(lockingPeriod);
39
+ }
40
+
41
+
42
+ function checkStakeParameters(
43
+ StakingReader stakingReader,
44
+ NftId stakeNftId
45
+ )
46
+ public
47
+ view
48
+ returns (
49
+ UFixed rewardRate,
50
+ Seconds lockingPeriod
51
+ )
52
+ {
53
+ NftId targetNftId = stakingReader.getTargetNftId(stakeNftId);
54
+
55
+ // only accept stakes for active targets
56
+ if (!stakingReader.isActive(targetNftId)) {
57
+ revert IStaking.ErrorStakingTargetNotActive(targetNftId);
58
+ }
59
+
60
+ IStaking.TargetInfo memory info = stakingReader.getTargetInfo(targetNftId);
61
+ rewardRate = info.rewardRate;
62
+ lockingPeriod = info.lockingPeriod;
63
+ }
64
+
65
+
66
+ function checkTarget(
67
+ StakingReader stakingReader,
68
+ NftId targetNftId
69
+ )
70
+ public
71
+ view
72
+ returns (Seconds lockingPeriod)
73
+ {
74
+ // target nft id must be registered
75
+ if (!stakingReader.isTarget(targetNftId)) {
76
+ revert IStaking.ErrorStakingNotTarget(targetNftId);
77
+ }
78
+
79
+ // only accept stakes for active targets
80
+ if (!stakingReader.isActive(targetNftId)) {
81
+ revert IStaking.ErrorStakingTargetNotActive(targetNftId);
82
+ }
83
+
84
+ lockingPeriod = stakingReader.getTargetInfo(targetNftId).lockingPeriod;
85
+ }
86
+
87
+
88
+ function checkDipAmount(
89
+ StakingReader stakingReader,
90
+ NftId targetNftId,
91
+ Amount dipAmount
92
+ )
93
+ public
94
+ pure
95
+ {
96
+ // check stake amount > 0
97
+ if (dipAmount.eqz()) {
98
+ revert IStaking.ErrorStakingStakeAmountZero(targetNftId);
99
+ }
100
+
101
+ // TODO add check for target specific max dip amount (min stake + tvl * stake rate + buffer)
102
+ }
103
+
104
+
105
+ function checkDipBalanceAndAllowance(
106
+ IERC20Metadata dip,
107
+ address owner,
108
+ address tokenHandlerAddress,
109
+ Amount dipAmount
110
+ )
111
+ public
112
+ view
113
+ {
114
+ // check balance
115
+ uint256 amount = dipAmount.toInt();
116
+ uint256 dipBalance = dip.balanceOf(owner);
117
+ if (dipBalance < amount) {
118
+ revert IStaking.ErrorStakingDipBalanceInsufficient(owner, amount, dipBalance);
119
+ }
120
+
121
+ // check allowance
122
+ uint256 dipAllowance = dip.allowance(owner, tokenHandlerAddress);
123
+ if (dipAllowance < amount) {
124
+ revert IStaking.ErrorStakingDipAllowanceInsufficient(owner, tokenHandlerAddress, amount, dipAllowance);
125
+ }
126
+ }
127
+
128
+
129
+ function calculateRewardIncrease(
130
+ StakingReader stakingReader,
131
+ NftId stakeNftId,
132
+ UFixed rewardRate
133
+ )
134
+ public
135
+ view
136
+ returns (
137
+ Amount rewardIncreaseAmount,
138
+ Amount totalDipAmount
139
+ )
140
+ {
141
+ (
142
+ Amount stakeAmount,
143
+ Amount rewardAmount,
144
+ Timestamp lastUpdatedAt
145
+ ) = stakingReader.getStakeBalances(stakeNftId);
146
+
147
+ Seconds duration = SecondsLib.toSeconds(
148
+ block.timestamp - lastUpdatedAt.toInt());
149
+
150
+ rewardIncreaseAmount = calculateRewardAmount(
151
+ rewardRate,
152
+ duration,
153
+ stakeAmount);
154
+
155
+ totalDipAmount = stakeAmount + rewardAmount + rewardIncreaseAmount;
156
+ }
157
+
158
+
159
+ function calculateRewardAmount(
160
+ UFixed rewardRate,
161
+ Seconds duration,
162
+ Amount stakeAmount
163
+ )
164
+ public
165
+ pure
166
+ returns(
167
+ Amount rewardAmount
168
+ )
169
+ {
170
+ UFixed rewardRateFraction = getYearFraction(duration) * rewardRate;
171
+ rewardAmount = stakeAmount.multiplyWith(rewardRateFraction);
172
+ }
173
+
174
+
175
+ function getYearFraction(Seconds duration) public pure returns (UFixed yearFraction) {
176
+ return UFixedLib.toUFixed(duration.toInt()) / UFixedLib.toUFixed(SecondsLib.oneYear().toInt());
177
+ }
178
+
179
+ }