@etherisc/gif-next 0.0.2-77c72ae-504 → 0.0.2-782a7d8-939

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 (552) hide show
  1. package/README.md +8 -84
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +310 -283
  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/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +233 -201
  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 +68 -54
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +315 -2127
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +229 -77
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +456 -2872
  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 +642 -327
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +295 -277
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +119 -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/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  36. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  38. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  39. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  44. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  45. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  47. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  48. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  49. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  50. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  51. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
  52. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  53. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  54. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  55. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +662 -0
  56. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  58. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  60. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  61. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +718 -0
  62. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  63. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
  64. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  66. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  67. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +286 -218
  68. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  69. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +480 -213
  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/{components → pool}/Pool.sol/Pool.json +527 -284
  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 → product}/IApplicationService.sol/IApplicationService.json +134 -97
  88. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  89. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  90. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  91. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +272 -137
  92. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  93. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IPricingService.sol/IPricingService.json} +249 -193
  94. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  95. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +408 -219
  96. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  97. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +85 -71
  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/{components → product}/Product.sol/Product.json +433 -282
  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 +188 -19
  116. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  117. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +305 -74
  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 +430 -34
  122. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  123. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +413 -0
  124. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +344 -95
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +93 -54
  128. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  129. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +834 -89
  130. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  131. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  132. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  133. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  134. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  135. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  136. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  137. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  138. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  139. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  140. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  142. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  144. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  145. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +209 -166
  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/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +96 -111
  152. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  153. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  154. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  155. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  156. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  157. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  158. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  159. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +222 -104
  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 +3 -10
  170. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  171. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  172. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  174. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  176. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IService.sol/IService.json +101 -26
  178. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  180. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  181. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  182. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  183. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  184. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  185. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  186. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  187. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  188. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  189. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  190. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  191. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  192. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  193. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  194. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
  195. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  196. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -23
  197. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  198. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  199. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  200. package/artifacts/contracts/shared/Service.sol/Service.json +109 -29
  201. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  202. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  203. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  204. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  205. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  206. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  207. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  208. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  209. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  210. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  211. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  212. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  213. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  214. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  215. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  216. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  217. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +597 -0
  218. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  219. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  220. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  222. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  223. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  224. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  225. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  226. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  228. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  229. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  230. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  231. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  232. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  234. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  235. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  236. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  237. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  238. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  240. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  242. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  243. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  244. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  245. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +105 -0
  246. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  248. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  250. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  252. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  254. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  255. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  256. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  258. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  259. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  260. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  262. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  263. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  264. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  265. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  266. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  267. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  268. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  269. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  270. package/contracts/{components → distribution}/Distribution.sol +53 -100
  271. package/contracts/distribution/DistributionService.sol +298 -0
  272. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  273. package/contracts/distribution/IDistributionComponent.sol +66 -0
  274. package/contracts/distribution/IDistributionService.sol +81 -0
  275. package/contracts/instance/BundleManager.sol +15 -14
  276. package/contracts/instance/IInstance.sol +56 -66
  277. package/contracts/instance/IInstanceService.sol +40 -18
  278. package/contracts/instance/Instance.sol +139 -194
  279. package/contracts/instance/InstanceAdmin.sol +331 -0
  280. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  281. package/contracts/instance/InstanceReader.sol +159 -62
  282. package/contracts/instance/InstanceService.sol +226 -340
  283. package/contracts/instance/InstanceServiceManager.sol +11 -21
  284. package/contracts/instance/InstanceStore.sol +281 -0
  285. package/contracts/instance/base/BalanceStore.sol +118 -0
  286. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  287. package/contracts/instance/base/ObjectCounter.sol +21 -0
  288. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +12 -14
  289. package/contracts/instance/module/IAccess.sol +19 -20
  290. package/contracts/instance/module/IBundle.sol +8 -8
  291. package/contracts/instance/module/{ISetup.sol → IComponents.sol} +24 -19
  292. package/contracts/instance/module/IDistribution.sol +7 -4
  293. package/contracts/instance/module/IPolicy.sol +53 -16
  294. package/contracts/instance/module/IRisk.sol +1 -1
  295. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  296. package/contracts/oracle/IOracle.sol +20 -0
  297. package/contracts/oracle/IOracleComponent.sol +32 -0
  298. package/contracts/oracle/IOracleService.sol +65 -0
  299. package/contracts/oracle/Oracle.sol +145 -0
  300. package/contracts/oracle/OracleService.sol +277 -0
  301. package/contracts/oracle/OracleServiceManager.sol +42 -0
  302. package/contracts/pool/BundleService.sol +296 -0
  303. package/contracts/pool/BundleServiceManager.sol +42 -0
  304. package/contracts/pool/IBundleService.sol +106 -0
  305. package/contracts/pool/IPoolComponent.sol +112 -0
  306. package/contracts/pool/IPoolService.sol +150 -0
  307. package/contracts/pool/Pool.sol +299 -0
  308. package/contracts/pool/PoolService.sol +453 -0
  309. package/contracts/pool/PoolServiceManager.sol +42 -0
  310. package/contracts/product/ApplicationService.sol +254 -0
  311. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  312. package/contracts/product/ClaimService.sol +442 -0
  313. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  314. package/contracts/{instance/service → product}/IApplicationService.sol +16 -36
  315. package/contracts/product/IClaimService.sol +99 -0
  316. package/contracts/{instance/service → product}/IPolicyService.sol +37 -48
  317. package/contracts/product/IPricingService.sol +39 -0
  318. package/contracts/product/IProductComponent.sol +42 -0
  319. package/contracts/product/IProductService.sol +33 -0
  320. package/contracts/product/PolicyService.sol +475 -0
  321. package/contracts/product/PolicyServiceManager.sol +42 -0
  322. package/contracts/product/PricingService.sol +301 -0
  323. package/contracts/product/PricingServiceManager.sol +42 -0
  324. package/contracts/product/Product.sol +377 -0
  325. package/contracts/product/ProductService.sol +124 -0
  326. package/contracts/product/ProductServiceManager.sol +42 -0
  327. package/contracts/registry/ChainNft.sol +16 -1
  328. package/contracts/registry/IRegistry.sol +46 -21
  329. package/contracts/registry/IRegistryService.sol +39 -37
  330. package/contracts/registry/ITransferInterceptor.sol +1 -0
  331. package/contracts/registry/Registry.sol +209 -97
  332. package/contracts/registry/RegistryAdmin.sol +237 -0
  333. package/contracts/registry/RegistryService.sol +69 -86
  334. package/contracts/registry/RegistryServiceManager.sol +21 -25
  335. package/contracts/registry/ReleaseManager.sol +459 -181
  336. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  337. package/contracts/registry/TokenRegistry.sol +261 -62
  338. package/contracts/shared/AccessManagerCustom.sol +736 -0
  339. package/contracts/shared/AccessManagerExtended.sol +470 -0
  340. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  341. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  342. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  343. package/contracts/shared/Component.sol +281 -0
  344. package/contracts/shared/ComponentService.sol +618 -0
  345. package/contracts/shared/ComponentServiceManager.sol +35 -0
  346. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  347. package/contracts/shared/ERC165.sol +1 -1
  348. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  349. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  350. package/contracts/shared/IComponent.sol +70 -0
  351. package/contracts/shared/IComponentService.sol +102 -0
  352. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  353. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  354. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  355. package/contracts/shared/INftOwnable.sol +2 -2
  356. package/contracts/shared/IPolicyHolder.sol +29 -10
  357. package/contracts/shared/IRegistryLinked.sol +0 -1
  358. package/contracts/shared/IService.sol +7 -5
  359. package/contracts/shared/IVersionable.sol +1 -1
  360. package/contracts/shared/InitializableCustom.sol +177 -0
  361. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  362. package/contracts/shared/KeyValueStore.sol +127 -0
  363. package/contracts/{instance/base → shared}/Lifecycle.sol +37 -7
  364. package/contracts/shared/NftIdSetManager.sol +65 -0
  365. package/contracts/shared/NftOwnable.sol +3 -16
  366. package/contracts/shared/PolicyHolder.sol +40 -19
  367. package/contracts/shared/ProxyManager.sol +34 -4
  368. package/contracts/shared/Registerable.sol +15 -14
  369. package/contracts/shared/RegistryLinked.sol +0 -5
  370. package/contracts/shared/Service.sol +29 -10
  371. package/contracts/shared/TokenHandler.sol +37 -6
  372. package/contracts/shared/Versionable.sol +1 -1
  373. package/contracts/staking/IStaking.sol +168 -0
  374. package/contracts/staking/IStakingService.sol +149 -0
  375. package/contracts/staking/StakeManagerLib.sol +179 -0
  376. package/contracts/staking/Staking.sol +551 -0
  377. package/contracts/staking/StakingManager.sol +54 -0
  378. package/contracts/staking/StakingReader.sol +187 -0
  379. package/contracts/staking/StakingService.sol +406 -0
  380. package/contracts/staking/StakingServiceManager.sol +45 -0
  381. package/contracts/staking/StakingStore.sol +572 -0
  382. package/contracts/staking/TargetManagerLib.sol +207 -0
  383. package/contracts/{types → type}/AddressSet.sol +1 -1
  384. package/contracts/type/Amount.sol +128 -0
  385. package/contracts/{types → type}/Blocknumber.sol +21 -3
  386. package/contracts/{types → type}/ClaimId.sol +25 -2
  387. package/contracts/{types → type}/Fee.sol +33 -23
  388. package/contracts/{types → type}/NftId.sol +21 -15
  389. package/contracts/{types → type}/NftIdSet.sol +2 -2
  390. package/contracts/{types → type}/ObjectType.sol +26 -14
  391. package/contracts/{types → type}/PayoutId.sol +33 -5
  392. package/contracts/{types → type}/Referral.sol +5 -1
  393. package/contracts/type/RequestId.sol +75 -0
  394. package/contracts/{types → type}/RiskId.sol +1 -1
  395. package/contracts/{types → type}/RoleId.sol +69 -13
  396. package/contracts/type/Seconds.sol +81 -0
  397. package/contracts/{types → type}/StateId.sol +34 -4
  398. package/contracts/{types → type}/Timestamp.sol +23 -14
  399. package/contracts/{types → type}/UFixed.sol +1 -0
  400. package/contracts/{types → type}/Version.sol +2 -1
  401. package/package.json +4 -3
  402. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  403. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  404. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  405. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  406. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  407. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  408. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  409. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  410. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  411. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  412. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
  413. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  414. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  415. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  416. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  417. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  418. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  419. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  420. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  421. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  422. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  423. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  424. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  425. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -858
  426. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  427. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -657
  428. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  429. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1085
  430. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  431. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  432. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  433. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -743
  434. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  435. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  436. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  437. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -935
  438. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  439. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -677
  440. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  441. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  442. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  443. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -398
  444. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  445. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  446. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  447. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -336
  448. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  449. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  450. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1109
  451. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  452. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -717
  453. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  454. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -716
  455. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  456. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -649
  457. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  458. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -766
  459. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  460. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  461. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  462. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  463. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  464. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  465. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  466. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  467. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  468. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  469. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  470. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  471. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  472. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -510
  473. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  474. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  475. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  476. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  477. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  478. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  479. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  480. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  481. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  482. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  483. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  484. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  485. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  486. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  487. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  488. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  489. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  490. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  491. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  492. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  493. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  494. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  495. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  496. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  497. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  498. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  499. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  500. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  501. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  502. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  503. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  504. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  505. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  507. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  508. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  510. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  511. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  512. package/contracts/components/Component.sol +0 -241
  513. package/contracts/components/IComponent.sol +0 -54
  514. package/contracts/components/IDistributionComponent.sol +0 -100
  515. package/contracts/components/IPoolComponent.sol +0 -87
  516. package/contracts/components/IProductComponent.sol +0 -39
  517. package/contracts/components/Pool.sol +0 -254
  518. package/contracts/components/Product.sol +0 -285
  519. package/contracts/instance/InstanceAccessManager.sol +0 -297
  520. package/contracts/instance/base/ComponentService.sol +0 -134
  521. package/contracts/instance/base/KeyValueStore.sol +0 -172
  522. package/contracts/instance/module/ITreasury.sol +0 -23
  523. package/contracts/instance/service/ApplicationService.sol +0 -268
  524. package/contracts/instance/service/BundleService.sol +0 -298
  525. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  526. package/contracts/instance/service/ClaimService.sol +0 -151
  527. package/contracts/instance/service/DistributionService.sol +0 -277
  528. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  529. package/contracts/instance/service/IBundleService.sol +0 -54
  530. package/contracts/instance/service/IClaimService.sol +0 -61
  531. package/contracts/instance/service/IDistributionService.sol +0 -65
  532. package/contracts/instance/service/IPoolService.sol +0 -20
  533. package/contracts/instance/service/IProductService.sol +0 -40
  534. package/contracts/instance/service/PolicyService.sol +0 -474
  535. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  536. package/contracts/instance/service/PoolService.sol +0 -109
  537. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  538. package/contracts/instance/service/ProductService.sol +0 -233
  539. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  540. package/contracts/registry/RegistryAccessManager.sol +0 -216
  541. package/contracts/shared/ContractDeployerLib.sol +0 -72
  542. package/contracts/test/TestFee.sol +0 -25
  543. package/contracts/test/TestRegisterable.sol +0 -18
  544. package/contracts/test/TestRoleId.sol +0 -14
  545. package/contracts/test/TestService.sol +0 -25
  546. package/contracts/test/TestVersion.sol +0 -44
  547. package/contracts/test/TestVersionable.sol +0 -17
  548. package/contracts/test/Usdc.sol +0 -26
  549. package/contracts/types/ChainId.sol +0 -38
  550. package/contracts/types/NumberId.sol +0 -52
  551. /package/contracts/{types → type}/DistributorType.sol +0 -0
  552. /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
+ }