@etherisc/gif-next 0.0.2-7ef1483-704 → 0.0.2-7f111bb-562
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.
- package/README.md +49 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1342 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -461
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +286 -235
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +77 -108
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +95 -164
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +165 -47
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +64 -84
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +152 -45
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +62 -219
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1218 -284
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +407 -127
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +195 -192
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +52 -99
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +387 -268
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +765 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +433 -168
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +121 -92
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +218 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +49 -294
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +248 -100
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +56 -587
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +302 -250
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +46 -89
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +68 -162
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +44 -95
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +222 -167
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +71 -102
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +18 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +127 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +197 -119
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +56 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +36 -83
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +15 -2
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +269 -303
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +66 -101
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +130 -245
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +59 -118
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +46 -389
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +246 -42
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -183
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +464 -99
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1607 -153
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +48 -123
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +37 -76
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +11 -222
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +264 -171
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +72 -107
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +10 -109
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +4 -30
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +173 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +36 -41
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +11 -15
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +0 -5
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +0 -42
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +13 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +43 -286
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +15 -99
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +4 -65
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +4 -136
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +10 -109
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +141 -144
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +215 -70
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +145 -107
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +210 -390
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +50 -97
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +219 -18
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +254 -236
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +41 -96
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +776 -216
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +132 -19
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +97 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +28 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +74 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +566 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +589 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +217 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +145 -111
- package/contracts/distribution/DistributionService.sol +83 -45
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +25 -39
- package/contracts/distribution/IDistributionService.sol +23 -3
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +24 -40
- package/contracts/instance/IInstanceService.sol +34 -23
- package/contracts/instance/Instance.sol +112 -118
- package/contracts/instance/InstanceAdmin.sol +221 -267
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +79 -14
- package/contracts/instance/InstanceService.sol +192 -87
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +49 -22
- package/contracts/instance/base/BalanceStore.sol +11 -6
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +111 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -7
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +22 -22
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +167 -0
- package/contracts/oracle/OracleService.sol +279 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +210 -68
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IBundleService.sol +33 -5
- package/contracts/pool/IPoolComponent.sol +6 -60
- package/contracts/pool/IPoolService.sol +39 -26
- package/contracts/pool/Pool.sol +165 -138
- package/contracts/pool/PoolService.sol +198 -113
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +58 -64
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +53 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +131 -81
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IApplicationService.sol +1 -0
- package/contracts/product/IClaimService.sol +31 -2
- package/contracts/product/IPolicyService.sol +27 -32
- package/contracts/product/IPricingService.sol +7 -7
- package/contracts/product/IProductComponent.sol +7 -10
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +287 -187
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +49 -49
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +162 -114
- package/contracts/product/{ProductService.sol → RiskService.sol} +16 -43
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +65 -31
- package/contracts/registry/IRegistry.sol +63 -19
- package/contracts/registry/IRegistryService.sol +6 -6
- package/contracts/registry/Registry.sol +333 -207
- package/contracts/registry/RegistryAdmin.sol +376 -149
- package/contracts/registry/RegistryService.sol +11 -25
- package/contracts/registry/RegistryServiceManager.sol +2 -7
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +491 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
- package/contracts/registry/TokenRegistry.sol +2 -48
- package/contracts/shared/Component.sol +35 -53
- package/contracts/shared/ComponentService.sol +121 -76
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +14 -8
- package/contracts/shared/IComponent.sol +7 -11
- package/contracts/shared/IComponentService.sol +26 -9
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -7
- package/contracts/shared/IKeyValueStore.sol +2 -1
- package/contracts/shared/ILifecycle.sol +1 -2
- package/contracts/shared/IPolicyHolder.sol +0 -9
- package/contracts/shared/IService.sol +8 -1
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
- package/contracts/shared/InstanceLinkedComponent.sol +51 -23
- package/contracts/shared/KeyValueStore.sol +7 -6
- package/contracts/shared/Lifecycle.sol +16 -60
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +7 -7
- package/contracts/shared/PolicyHolder.sol +7 -53
- package/contracts/shared/Registerable.sol +4 -4
- package/contracts/shared/RegistryLinked.sol +3 -2
- package/contracts/shared/Service.sol +32 -27
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +43 -27
- package/contracts/staking/IStakingService.sol +42 -44
- package/contracts/staking/StakeManagerLib.sol +118 -50
- package/contracts/staking/Staking.sol +147 -146
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +2 -6
- package/contracts/staking/StakingReader.sol +70 -33
- package/contracts/staking/StakingService.sol +122 -91
- package/contracts/staking/StakingServiceManager.sol +2 -3
- package/contracts/staking/StakingStore.sol +401 -127
- package/contracts/staking/TargetManagerLib.sol +35 -3
- package/contracts/type/Amount.sol +24 -3
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/NftId.sol +8 -8
- package/contracts/type/ObjectType.sol +174 -68
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RoleId.sol +103 -72
- package/contracts/type/Seconds.sol +31 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +13 -0
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +17 -3
- package/contracts/type/UFixed.sol +34 -9
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +4 -5
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +8 -5
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -204
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.json +0 -37
- package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.json +0 -357
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -349
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -599
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerCustom.sol +0 -736
- package/contracts/shared/AccessManagerExtended.sol +0 -470
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
- package/contracts/staking/IStakingManager.sol +0 -15
- package/contracts/staking/IStakingStore.sol +0 -130
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,18 +1,15 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
6
|
-
import {IComponent} from "../shared/IComponent.sol";
|
7
|
-
import {InitializableCustom} from "../shared/InitializableCustom.sol";
|
8
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
9
5
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
10
6
|
import {IStaking} from "../staking/IStaking.sol";
|
11
|
-
|
7
|
+
|
8
|
+
import {Amount} from "../type/Amount.sol";
|
9
|
+
import {Blocknumber} from "../type/Blocknumber.sol";
|
10
|
+
import {InitializableCustom} from "../shared/InitializableCustom.sol";
|
12
11
|
import {NftId} from "../type/NftId.sol";
|
13
|
-
import {
|
14
|
-
import {ObjectType, STAKE, TARGET} from "../type/ObjectType.sol";
|
15
|
-
import {Seconds} from "../type/Seconds.sol";
|
12
|
+
import {STAKE, TARGET} from "../type/ObjectType.sol";
|
16
13
|
import {StakingStore} from "./StakingStore.sol";
|
17
14
|
import {Timestamp} from "../type/Timestamp.sol";
|
18
15
|
import {UFixed} from "../type/UFixed.sol";
|
@@ -53,34 +50,43 @@ contract StakingReader is
|
|
53
50
|
return _staking;
|
54
51
|
}
|
55
52
|
|
53
|
+
function getStakingRate(uint256 chainId, address token) external view returns (UFixed stakingRate) {
|
54
|
+
return _store.getStakingRate(chainId, token);
|
55
|
+
}
|
56
|
+
|
56
57
|
|
57
58
|
function isTarget(NftId targetNftId) external view returns (bool) {
|
58
|
-
return _store.
|
59
|
+
return _store.getTargetNftIdSet().exists(targetNftId);
|
59
60
|
}
|
60
61
|
|
61
62
|
|
62
63
|
function targets() external view returns (uint256) {
|
63
|
-
return _store.
|
64
|
+
return _store.getTargetNftIdSet().nftIds();
|
64
65
|
}
|
65
66
|
|
66
67
|
|
67
68
|
function getTargetNftId(uint256 idx) external view returns (NftId) {
|
68
|
-
return _store.
|
69
|
+
return _store.getTargetNftIdSet().getNftId(idx);
|
69
70
|
}
|
70
71
|
|
71
72
|
|
72
73
|
function isActive(NftId targetNftId) external view returns (bool) {
|
73
|
-
return _store.
|
74
|
+
return _store.getTargetNftIdSet().isActive(targetNftId);
|
74
75
|
}
|
75
76
|
|
76
77
|
|
77
78
|
function activeTargets() external view returns (uint256) {
|
78
|
-
return _store.
|
79
|
+
return _store.getTargetNftIdSet().activeNftIds();
|
79
80
|
}
|
80
81
|
|
81
82
|
|
82
83
|
function getActiveTargetNftId(uint256 idx) external view returns (NftId) {
|
83
|
-
return _store.
|
84
|
+
return _store.getTargetNftIdSet().getActiveNftId(idx);
|
85
|
+
}
|
86
|
+
|
87
|
+
|
88
|
+
function getTargetNftId(NftId stakeNftId) public view returns (NftId targetNftId) {
|
89
|
+
return _registry.getObjectInfo(stakeNftId).parentNftId;
|
84
90
|
}
|
85
91
|
|
86
92
|
|
@@ -100,47 +106,78 @@ contract StakingReader is
|
|
100
106
|
}
|
101
107
|
|
102
108
|
|
109
|
+
/// @dev get the reward rate that applies to the specified stake nft id.
|
110
|
+
function getTargetRewardRate(NftId stakeNftId) external view returns (NftId targetNftId, UFixed rewardRate) {
|
111
|
+
targetNftId = getTargetNftId(stakeNftId);
|
112
|
+
rewardRate = getTargetInfo(targetNftId).rewardRate;
|
113
|
+
}
|
114
|
+
|
115
|
+
|
116
|
+
/// @dev get the reward rate for the specified target nft id.
|
117
|
+
function getRewardRate(NftId targetNftId) external view returns (UFixed rewardRate) {
|
118
|
+
return getTargetInfo(targetNftId).rewardRate;
|
119
|
+
}
|
120
|
+
|
121
|
+
/// @dev returns the current reward reserve balance for the specified target.
|
122
|
+
function getReserveBalance(NftId targetNftId) external view returns (Amount rewardReserveBalance) {
|
123
|
+
return _store.getReserveBalance(targetNftId);
|
124
|
+
}
|
125
|
+
|
103
126
|
function getStakeBalance(NftId nftId) external view returns (Amount balanceAmount) {
|
104
127
|
return _store.getStakeBalance(nftId);
|
105
128
|
}
|
106
129
|
|
107
|
-
|
108
130
|
function getRewardBalance(NftId nftId) external view returns (Amount rewardAmount) {
|
109
131
|
return _store.getRewardBalance(nftId);
|
110
132
|
}
|
111
133
|
|
112
|
-
|
113
134
|
function getBalanceUpdatedAt(NftId nftId) external view returns (Timestamp updatedAt) {
|
114
135
|
return _store.getBalanceUpdatedAt(nftId);
|
115
136
|
}
|
116
137
|
|
138
|
+
function getBalanceUpdatedIn(NftId nftId) external view returns (Blocknumber blocknumber) {
|
139
|
+
return _store.getBalanceUpdatedIn(nftId);
|
140
|
+
}
|
141
|
+
|
142
|
+
function getTotalValueLocked(NftId nftId, address token) external view returns (Amount totalValueLocked) {
|
143
|
+
return _store.getTotalValueLocked(nftId, token);
|
144
|
+
}
|
145
|
+
|
146
|
+
function getRequiredStakeBalance(NftId nftId) external view returns (Amount requiredStakedAmount) {
|
147
|
+
return _store.getRequiredStakeBalance(nftId);
|
148
|
+
}
|
149
|
+
|
150
|
+
function getTargetBalances(NftId stakeNftId)
|
151
|
+
public
|
152
|
+
view
|
153
|
+
returns (
|
154
|
+
Amount balanceAmount,
|
155
|
+
Amount stakeAmount,
|
156
|
+
Amount rewardAmount,
|
157
|
+
Blocknumber lastUpdatedIn
|
158
|
+
)
|
159
|
+
{
|
160
|
+
(
|
161
|
+
balanceAmount,
|
162
|
+
stakeAmount,
|
163
|
+
rewardAmount,
|
164
|
+
lastUpdatedIn
|
165
|
+
) = _store.getTargetBalances(stakeNftId);
|
166
|
+
}
|
117
167
|
|
118
|
-
function
|
168
|
+
function getStakeBalances(NftId stakeNftId)
|
119
169
|
external
|
120
170
|
view
|
121
171
|
returns (
|
122
|
-
UFixed rewardRate,
|
123
172
|
Amount stakeAmount,
|
173
|
+
Amount rewardAmount,
|
124
174
|
Timestamp lastUpdatedAt
|
125
175
|
)
|
126
176
|
{
|
127
|
-
NftId targetNftId = _registry.getObjectInfo(stakeNftId).parentNftId;
|
128
|
-
rewardRate = getTargetInfo(targetNftId).rewardRate;
|
129
|
-
|
130
177
|
(
|
131
178
|
stakeAmount,
|
179
|
+
rewardAmount,
|
132
180
|
lastUpdatedAt
|
133
|
-
) = _store.
|
181
|
+
) = _store.getStakeBalances(stakeNftId);
|
134
182
|
}
|
135
|
-
|
136
|
-
// function getTvlAmount(NftId targetNftId, address token) external view returns (Amount tvlAmount);
|
137
|
-
// function getStakedAmount(NftId targetNftId) external view returns (Amount stakeAmount);
|
138
|
-
|
139
|
-
// function getStakingRate(uint256 chainId, address token) external view returns (UFixed stakingRate);
|
140
|
-
|
141
|
-
// function calculateRewardIncrementAmount(
|
142
|
-
// NftId targetNftId,
|
143
|
-
// Timestamp rewardsLastUpdatedAt
|
144
|
-
// ) external view returns (Amount rewardIncrementAmount);
|
145
|
-
|
146
183
|
}
|
@@ -45,29 +45,6 @@ contract StakingService is
|
|
45
45
|
_;
|
46
46
|
}
|
47
47
|
|
48
|
-
function getDomain() public pure override returns(ObjectType) {
|
49
|
-
return STAKING();
|
50
|
-
}
|
51
|
-
|
52
|
-
|
53
|
-
function registerProtocolTarget()
|
54
|
-
external
|
55
|
-
virtual
|
56
|
-
{
|
57
|
-
uint256 protocolId = ChainNft(
|
58
|
-
getRegistry().getChainNftAddress()).PROTOCOL_NFT_ID();
|
59
|
-
|
60
|
-
NftId protocolNftId = NftIdLib.toNftId(protocolId);
|
61
|
-
_getStakingServiceStorage()._staking.registerTarget(
|
62
|
-
protocolNftId,
|
63
|
-
PROTOCOL(),
|
64
|
-
1, // protocol is registered on mainnet
|
65
|
-
TargetManagerLib.getDefaultLockingPeriod(),
|
66
|
-
TargetManagerLib.getDefaultRewardRate());
|
67
|
-
|
68
|
-
emit LogStakingServiceProtocolTargetRegistered(protocolNftId);
|
69
|
-
}
|
70
|
-
|
71
48
|
|
72
49
|
function createInstanceTarget(
|
73
50
|
NftId targetNftId,
|
@@ -76,7 +53,7 @@ contract StakingService is
|
|
76
53
|
)
|
77
54
|
external
|
78
55
|
virtual
|
79
|
-
|
56
|
+
restricted()
|
80
57
|
{
|
81
58
|
uint256 chainId = block.chainid;
|
82
59
|
_getStakingServiceStorage()._staking.registerTarget(
|
@@ -89,23 +66,66 @@ contract StakingService is
|
|
89
66
|
emit LogStakingServiceInstanceTargetRegistered(targetNftId, chainId);
|
90
67
|
}
|
91
68
|
|
92
|
-
|
69
|
+
|
70
|
+
function setInstanceLockingPeriod(NftId instanceNftId, Seconds lockingPeriod)
|
93
71
|
external
|
94
72
|
virtual
|
95
|
-
|
73
|
+
restricted()
|
96
74
|
{
|
97
75
|
_getStakingServiceStorage()._staking.setLockingPeriod(
|
98
|
-
|
76
|
+
instanceNftId,
|
77
|
+
lockingPeriod);
|
99
78
|
}
|
100
79
|
|
101
|
-
|
80
|
+
|
81
|
+
function setInstanceRewardRate(NftId instanceNftId, UFixed rewardRate)
|
102
82
|
external
|
103
83
|
virtual
|
104
|
-
|
84
|
+
restricted()
|
105
85
|
{
|
106
86
|
_getStakingServiceStorage()._staking.setRewardRate(
|
107
|
-
|
87
|
+
instanceNftId,
|
88
|
+
rewardRate);
|
89
|
+
}
|
108
90
|
|
91
|
+
|
92
|
+
function refillInstanceRewardReserves(NftId instanceNftId, address rewardProvider, Amount dipAmount)
|
93
|
+
external
|
94
|
+
virtual
|
95
|
+
restricted()
|
96
|
+
returns (Amount newBalance)
|
97
|
+
{
|
98
|
+
return _refillRewardReserves(instanceNftId, rewardProvider, dipAmount);
|
99
|
+
}
|
100
|
+
|
101
|
+
|
102
|
+
function refillRewardReservesBySender(NftId targetNftId, Amount dipAmount)
|
103
|
+
external
|
104
|
+
virtual
|
105
|
+
restricted()
|
106
|
+
returns (Amount newBalance)
|
107
|
+
{
|
108
|
+
address rewardProvider = msg.sender;
|
109
|
+
return _refillRewardReserves(targetNftId, rewardProvider, dipAmount);
|
110
|
+
}
|
111
|
+
|
112
|
+
|
113
|
+
function withdrawInstanceRewardReserves(NftId instanceNftId, Amount dipAmount)
|
114
|
+
external
|
115
|
+
virtual
|
116
|
+
restricted()
|
117
|
+
returns (Amount newBalance)
|
118
|
+
{
|
119
|
+
// update reward reserve book keeping
|
120
|
+
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
121
|
+
newBalance = $._staking.withdrawRewardReserves(instanceNftId, dipAmount);
|
122
|
+
|
123
|
+
// transfer withdrawal amount to target owner
|
124
|
+
address instanceOwner = getRegistry().ownerOf(instanceNftId);
|
125
|
+
emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
|
126
|
+
$._staking.transferDipAmount(
|
127
|
+
instanceOwner,
|
128
|
+
dipAmount);
|
109
129
|
}
|
110
130
|
|
111
131
|
|
@@ -121,19 +141,15 @@ contract StakingService is
|
|
121
141
|
)
|
122
142
|
external
|
123
143
|
virtual
|
124
|
-
|
144
|
+
restricted()
|
125
145
|
returns (
|
126
146
|
NftId stakeNftId
|
127
147
|
)
|
128
148
|
{
|
129
149
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
130
|
-
StakingReader stakingReader = $._staking.getStakingReader();
|
131
150
|
address stakeOwner = msg.sender;
|
132
151
|
|
133
|
-
|
134
|
-
stakingReader,
|
135
|
-
targetNftId);
|
136
|
-
|
152
|
+
// target nft id checks are performed in $._staking.createStake() below
|
137
153
|
// register new stake object with registry
|
138
154
|
stakeNftId = $._registryService.registerStake(
|
139
155
|
IRegistry.ObjectInfo({
|
@@ -147,17 +163,17 @@ contract StakingService is
|
|
147
163
|
}));
|
148
164
|
|
149
165
|
// create stake info with staking
|
150
|
-
$._staking.
|
166
|
+
$._staking.createStake(
|
151
167
|
stakeNftId,
|
152
168
|
targetNftId,
|
153
169
|
dipAmount);
|
154
170
|
|
171
|
+
emit LogStakingServiceStakeCreated(stakeNftId, targetNftId, stakeOwner, dipAmount);
|
172
|
+
|
155
173
|
// collect staked dip by staking
|
156
174
|
$._staking.collectDipAmount(
|
157
175
|
stakeOwner,
|
158
176
|
dipAmount);
|
159
|
-
|
160
|
-
emit LogStakingServiceStakeCreated(stakeNftId, targetNftId, stakeOwner, dipAmount);
|
161
177
|
}
|
162
178
|
|
163
179
|
|
@@ -167,38 +183,24 @@ contract StakingService is
|
|
167
183
|
)
|
168
184
|
external
|
169
185
|
virtual
|
170
|
-
|
186
|
+
restricted()
|
171
187
|
onlyNftOwner(stakeNftId)
|
172
188
|
{
|
173
189
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
174
|
-
StakingReader stakingReader = $._staking.getStakingReader();
|
175
190
|
address stakeOwner = msg.sender;
|
176
191
|
|
177
|
-
// add additional staked dips by staking
|
178
|
-
$._staking.stake(
|
192
|
+
// add additional staked dips by staking
|
193
|
+
Amount stakeBalance = $._staking.stake(
|
179
194
|
stakeNftId,
|
180
195
|
dipAmount);
|
181
196
|
|
182
197
|
// collect staked dip by staking
|
183
|
-
|
184
|
-
stakeOwner,
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
function restake(
|
192
|
-
NftId stakeNftId
|
193
|
-
)
|
194
|
-
external
|
195
|
-
virtual
|
196
|
-
// restricted // TODO re-enable once services have stable roles
|
197
|
-
onlyNftOwner(stakeNftId)
|
198
|
-
{
|
199
|
-
// restake all rewards as additional stakes
|
200
|
-
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
201
|
-
$._staking.restake(stakeNftId);
|
198
|
+
if (dipAmount.gtz()) {
|
199
|
+
emit LogStakingServiceStakeIncreased(stakeNftId, stakeOwner, dipAmount, stakeBalance);
|
200
|
+
$._staking.collectDipAmount(
|
201
|
+
stakeOwner,
|
202
|
+
dipAmount);
|
203
|
+
}
|
202
204
|
}
|
203
205
|
|
204
206
|
|
@@ -208,33 +210,23 @@ contract StakingService is
|
|
208
210
|
)
|
209
211
|
external
|
210
212
|
virtual
|
211
|
-
|
213
|
+
restricted()
|
212
214
|
onlyNftOwner(stakeNftId)
|
213
215
|
returns (
|
214
216
|
NftId newStakeNftId
|
215
217
|
)
|
216
218
|
{
|
219
|
+
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
217
220
|
// TODO implement
|
218
221
|
}
|
219
222
|
|
220
223
|
|
221
|
-
function unstake(
|
222
|
-
NftId stakeNftId,
|
223
|
-
Amount amount
|
224
|
-
)
|
225
|
-
external
|
226
|
-
virtual
|
227
|
-
{
|
228
|
-
|
229
|
-
}
|
230
|
-
|
231
|
-
|
232
224
|
function updateRewards(
|
233
225
|
NftId stakeNftId
|
234
226
|
)
|
235
227
|
external
|
236
|
-
|
237
|
-
|
228
|
+
virtual
|
229
|
+
restricted()
|
238
230
|
{
|
239
231
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
240
232
|
$._staking.updateRewards(stakeNftId);
|
@@ -243,30 +235,42 @@ contract StakingService is
|
|
243
235
|
}
|
244
236
|
|
245
237
|
|
246
|
-
|
247
|
-
function increaseTotalValueLocked(
|
248
|
-
NftId targetNftId,
|
249
|
-
address token,
|
250
|
-
Amount amount
|
251
|
-
)
|
238
|
+
function claimRewards(NftId stakeNftId)
|
252
239
|
external
|
253
240
|
virtual
|
254
|
-
|
241
|
+
restricted()
|
242
|
+
onlyNftOwner(stakeNftId)
|
255
243
|
{
|
244
|
+
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
245
|
+
address stakeOwner = msg.sender;
|
256
246
|
|
247
|
+
Amount rewardsClaimedAmount = $._staking.claimRewards(stakeNftId);
|
248
|
+
emit LogStakingServiceRewardsClaimed(stakeNftId, stakeOwner, rewardsClaimedAmount);
|
249
|
+
$._staking.transferDipAmount(
|
250
|
+
stakeOwner,
|
251
|
+
rewardsClaimedAmount);
|
257
252
|
}
|
258
253
|
|
259
254
|
|
260
|
-
function
|
261
|
-
NftId targetNftId,
|
262
|
-
address token,
|
263
|
-
Amount amount
|
264
|
-
)
|
255
|
+
function unstake(NftId stakeNftId)
|
265
256
|
external
|
266
257
|
virtual
|
267
|
-
|
258
|
+
restricted()
|
259
|
+
onlyNftOwner(stakeNftId)
|
268
260
|
{
|
261
|
+
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
262
|
+
address stakeOwner = msg.sender;
|
269
263
|
|
264
|
+
(
|
265
|
+
Amount unstakedAmount,
|
266
|
+
Amount rewardsClaimedAmount
|
267
|
+
) = $._staking.unstake(stakeNftId);
|
268
|
+
|
269
|
+
Amount totalAmount = unstakedAmount + rewardsClaimedAmount;
|
270
|
+
emit LogStakingServiceUnstaked(stakeNftId, stakeOwner, totalAmount);
|
271
|
+
$._staking.transferDipAmount(
|
272
|
+
stakeOwner,
|
273
|
+
totalAmount);
|
270
274
|
}
|
271
275
|
|
272
276
|
|
@@ -277,10 +281,13 @@ contract StakingService is
|
|
277
281
|
)
|
278
282
|
external
|
279
283
|
virtual
|
284
|
+
restricted()
|
280
285
|
{
|
286
|
+
// TODO implement
|
281
287
|
|
282
288
|
}
|
283
289
|
|
290
|
+
//--- view functions ----------------------------------------------------//
|
284
291
|
|
285
292
|
function getDipToken()
|
286
293
|
external
|
@@ -308,6 +315,7 @@ contract StakingService is
|
|
308
315
|
return _getStakingServiceStorage()._staking;
|
309
316
|
}
|
310
317
|
|
318
|
+
//--- internal functions ------------------------------------------------//
|
311
319
|
|
312
320
|
function _initialize(
|
313
321
|
address owner,
|
@@ -323,7 +331,7 @@ contract StakingService is
|
|
323
331
|
address stakingAddress
|
324
332
|
) = abi.decode(data, (address, address, address));
|
325
333
|
|
326
|
-
|
334
|
+
_initializeService(registryAddress, authority, owner);
|
327
335
|
|
328
336
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
329
337
|
$._registryService = RegistryService(_getServiceAddress(REGISTRY()));
|
@@ -331,7 +339,7 @@ contract StakingService is
|
|
331
339
|
$._dip = $._staking.getToken();
|
332
340
|
$._tokenHandler = $._staking.getTokenHandler();
|
333
341
|
|
334
|
-
|
342
|
+
_registerInterface(type(IStakingService).interfaceId);
|
335
343
|
}
|
336
344
|
|
337
345
|
|
@@ -368,9 +376,32 @@ contract StakingService is
|
|
368
376
|
}
|
369
377
|
|
370
378
|
|
379
|
+
function _refillRewardReserves(NftId targetNftId, address rewardProvider, Amount dipAmount)
|
380
|
+
internal
|
381
|
+
virtual
|
382
|
+
returns (Amount newBalance)
|
383
|
+
{
|
384
|
+
// update reward reserve book keeping
|
385
|
+
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
386
|
+
newBalance = $._staking.refillRewardReserves(targetNftId, dipAmount);
|
387
|
+
|
388
|
+
emit LogStakingServiceRewardReservesIncreased(targetNftId, rewardProvider, dipAmount, newBalance);
|
389
|
+
|
390
|
+
// collect reward dip from provider
|
391
|
+
$._staking.collectDipAmount(
|
392
|
+
rewardProvider,
|
393
|
+
dipAmount);
|
394
|
+
}
|
395
|
+
|
396
|
+
|
371
397
|
function _getStakingServiceStorage() private pure returns (StakingServiceStorage storage $) {
|
372
398
|
assembly {
|
373
399
|
$.slot := STAKING_SERVICE_LOCATION_V1
|
374
400
|
}
|
375
401
|
}
|
402
|
+
|
403
|
+
|
404
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
405
|
+
return STAKING();
|
406
|
+
}
|
376
407
|
}
|
@@ -2,8 +2,8 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
5
|
-
import {IVersionable} from "../
|
6
|
-
import {ProxyManager} from "../
|
5
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
6
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
7
7
|
import {StakingService} from "./StakingService.sol";
|
8
8
|
|
9
9
|
contract StakingServiceManager is
|
@@ -31,7 +31,6 @@ contract StakingServiceManager is
|
|
31
31
|
salt);
|
32
32
|
|
33
33
|
_stakingService = StakingService(address(versionable));
|
34
|
-
_stakingService.registerProtocolTarget();
|
35
34
|
}
|
36
35
|
|
37
36
|
//--- view functions ----------------------------------------------------//
|