@etherisc/gif-next 0.0.2-e8b06c8-540 → 0.0.2-e8ea5fe-337
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 +32 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +38 -33
- 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 +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +8 -8
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +8 -8
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +23 -4
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +85 -101
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +19 -19
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +43 -75
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +223 -105
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +67 -55
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +43 -37
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +120 -31
- 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 +7 -7
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +10 -5
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +19 -19
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1208 -290
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +31 -31
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +238 -123
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +44 -39
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +35 -35
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +226 -231
- 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/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +59 -88
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +21 -21
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +30 -37
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +27 -72
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +32 -32
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +34 -34
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +55 -137
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +19 -19
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +402 -62
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +111 -43
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +205 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +45 -95
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +220 -100
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +45 -133
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +264 -136
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +40 -36
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +31 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +31 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +22 -78
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +19 -19
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +194 -72
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +58 -54
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +5 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +114 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +184 -119
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +19 -37
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +2 -2
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +242 -209
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +55 -55
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +113 -153
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +55 -75
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +22 -78
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +695 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +702 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +51 -47
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +0 -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 +102 -74
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +100 -95
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +27 -27
- 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 +1159 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +26 -7
- 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 +0 -64
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +255 -62
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +69 -49
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -26
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +153 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -37
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +11 -5
- 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/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/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 +73 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -75
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +15 -89
- 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 -6
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -8
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- 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 +27 -27
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +85 -105
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +84 -114
- 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 +47 -43
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +26 -26
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +31 -31
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +146 -165
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +58 -22
- 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 +37 -8
- 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 +4 -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 +2 -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 +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
- 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 +14 -14
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -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 +39 -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 +617 -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 +8 -39
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +0 -1
- package/contracts/authorization/IServiceAuthorization.sol +3 -0
- package/contracts/authorization/ModuleAuthorization.sol +0 -125
- package/contracts/authorization/ServiceAuthorization.sol +4 -0
- package/contracts/distribution/BasicDistribution.sol +4 -15
- package/contracts/distribution/BasicDistributionAuthorization.sol +5 -1
- package/contracts/distribution/Distribution.sol +22 -10
- package/contracts/distribution/DistributionService.sol +67 -34
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +8 -34
- package/contracts/distribution/IDistributionService.sol +18 -2
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +12 -35
- package/contracts/instance/IInstanceService.sol +6 -5
- package/contracts/instance/Instance.sol +15 -79
- package/contracts/instance/InstanceAdmin.sol +220 -269
- package/contracts/instance/InstanceAuthorizationV3.sol +19 -28
- package/contracts/instance/InstanceReader.sol +32 -12
- package/contracts/instance/InstanceService.sol +73 -122
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +18 -4
- package/contracts/instance/base/ObjectLifecycle.sol +111 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +5 -5
- 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/IOracleComponent.sol +2 -1
- package/contracts/oracle/Oracle.sol +16 -6
- package/contracts/oracle/OracleService.sol +1 -0
- package/contracts/oracle/OracleServiceManager.sol +2 -5
- package/contracts/pool/BasicPool.sol +7 -5
- package/contracts/pool/BasicPoolAuthorization.sol +11 -2
- package/contracts/pool/BundleService.sol +189 -47
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IBundleService.sol +33 -5
- package/contracts/pool/IPoolComponent.sol +6 -0
- package/contracts/pool/IPoolService.sol +36 -26
- package/contracts/pool/Pool.sol +39 -24
- package/contracts/pool/PoolService.sol +161 -104
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +51 -57
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +3 -32
- package/contracts/product/BasicProductAuthorization.sol +3 -0
- package/contracts/product/ClaimService.sol +118 -73
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IApplicationService.sol +1 -0
- package/contracts/product/IClaimService.sol +28 -5
- package/contracts/product/IPolicyService.sol +27 -32
- package/contracts/product/IPricingService.sol +7 -7
- package/contracts/product/IProductComponent.sol +1 -1
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +278 -180
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +42 -41
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +67 -34
- package/contracts/product/{ProductService.sol → RiskService.sol} +10 -37
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/IRegistry.sol +27 -17
- package/contracts/registry/IRegistryService.sol +6 -6
- package/contracts/registry/Registry.sol +81 -87
- package/contracts/registry/RegistryAdmin.sol +34 -23
- package/contracts/registry/RegistryService.sol +4 -18
- package/contracts/registry/RegistryServiceManager.sol +2 -2
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/{ReleaseManager.sol → ReleaseRegistry.sol} +149 -194
- package/contracts/registry/ServiceAuthorizationV3.sol +7 -10
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/Component.sol +25 -38
- package/contracts/shared/ComponentService.sol +84 -69
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/IComponent.sol +4 -4
- package/contracts/shared/IComponentService.sol +15 -9
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -10
- package/contracts/shared/IKeyValueStore.sol +1 -0
- package/contracts/shared/ILifecycle.sol +1 -2
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
- package/contracts/shared/InstanceLinkedComponent.sol +22 -2
- package/contracts/shared/KeyValueStore.sol +6 -2
- package/contracts/shared/Lifecycle.sol +16 -69
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +3 -3
- package/contracts/shared/PolicyHolder.sol +2 -5
- package/contracts/shared/Service.sol +3 -4
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +3 -3
- package/contracts/staking/IStakingService.sol +12 -5
- package/contracts/staking/StakeManagerLib.sol +18 -25
- package/contracts/staking/Staking.sol +24 -39
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +2 -6
- package/contracts/staking/StakingReader.sol +12 -16
- package/contracts/staking/StakingService.sol +8 -12
- package/contracts/staking/StakingServiceManager.sol +2 -2
- package/contracts/staking/StakingStore.sol +15 -23
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +12 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ObjectType.sol +18 -18
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RoleId.sol +10 -38
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/StateId.sol +1 -0
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +29 -10
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +3 -4
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +3 -3
- package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.dbg.json +0 -4
- package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.json +0 -1385
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -703
- package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.json +0 -1616
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -181
- 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 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1237
- 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 -1747
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
- 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/contracts/authorization/InstanceAdmin.sol +0 -108
- package/contracts/instance/InstanceAdminNew.sol +0 -261
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -422
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/shared/AccessManagerCustom.sol +0 -741
- package/contracts/shared/AccessManagerExtended.sol +0 -481
- 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/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,29 +1,28 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Amount, AmountLib} from "../type/Amount.sol";
|
5
|
-
import {ChainNft} from "../registry/ChainNft.sol";
|
6
|
-
import {Component} from "../shared/Component.sol";
|
7
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
5
|
import {IRegistryService} from "../registry/IRegistryService.sol";
|
9
6
|
import {IStaking} from "./IStaking.sol";
|
10
|
-
import {IVersionable} from "../
|
11
|
-
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
7
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
8
|
+
|
9
|
+
import {Amount, AmountLib} from "../type/Amount.sol";
|
10
|
+
import {Component} from "../shared/Component.sol";
|
11
|
+
import {IComponent} from "../shared/IComponent.sol";
|
12
|
+
import {NftId} from "../type/NftId.sol";
|
13
|
+
import {ObjectType, STAKING} from "../type/ObjectType.sol";
|
14
|
+
import {Seconds} from "../type/Seconds.sol";
|
17
15
|
import {StakeManagerLib} from "./StakeManagerLib.sol";
|
18
16
|
import {StakingReader} from "./StakingReader.sol";
|
19
17
|
import {StakingStore} from "./StakingStore.sol";
|
20
18
|
import {TargetManagerLib} from "./TargetManagerLib.sol";
|
21
|
-
import {Timestamp
|
19
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
22
20
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
21
|
+
import {TokenHandlerDeployerLib} from "../shared/TokenHandlerDeployerLib.sol";
|
23
22
|
import {TokenRegistry} from "../registry/TokenRegistry.sol";
|
24
|
-
import {UFixed
|
23
|
+
import {UFixed} from "../type/UFixed.sol";
|
25
24
|
import {Version, VersionLib} from "../type/Version.sol";
|
26
|
-
import {Versionable} from "../
|
25
|
+
import {Versionable} from "../upgradeability/Versionable.sol";
|
27
26
|
|
28
27
|
contract Staking is
|
29
28
|
Component,
|
@@ -39,6 +38,7 @@ contract Staking is
|
|
39
38
|
struct StakingStorage {
|
40
39
|
IRegistryService _registryService;
|
41
40
|
TokenRegistry _tokenRegistry;
|
41
|
+
TokenHandler _tokenHandler;
|
42
42
|
StakingStore _store;
|
43
43
|
StakingReader _reader;
|
44
44
|
NftId _protocolNftId;
|
@@ -54,7 +54,7 @@ contract Staking is
|
|
54
54
|
|
55
55
|
|
56
56
|
modifier onlyTarget(NftId targetNftId) {
|
57
|
-
if (!_getStakingStorage()._store.
|
57
|
+
if (!_getStakingStorage()._store.getTargetNftIdSet().exists(targetNftId)) {
|
58
58
|
revert ErrorStakingNotTarget(targetNftId);
|
59
59
|
}
|
60
60
|
_;
|
@@ -301,7 +301,7 @@ contract Staking is
|
|
301
301
|
StakingStorage storage $ = _getStakingStorage();
|
302
302
|
|
303
303
|
// TODO implement
|
304
|
-
|
304
|
+
}
|
305
305
|
|
306
306
|
|
307
307
|
function updateRewards(NftId stakeNftId)
|
@@ -350,9 +350,10 @@ contract Staking is
|
|
350
350
|
Amount rewardsClaimedAmount
|
351
351
|
)
|
352
352
|
{
|
353
|
-
// TODO add check that stake locking is in the past
|
354
353
|
StakingStorage storage $ = _getStakingStorage();
|
355
|
-
|
354
|
+
|
355
|
+
StakeManagerLib.checkUnstakeParameters($._reader, stakeNftId);
|
356
|
+
|
356
357
|
// update rewards since last update
|
357
358
|
NftId targetNftId = _updateRewards($._reader, $._store, stakeNftId);
|
358
359
|
|
@@ -378,16 +379,7 @@ contract Staking is
|
|
378
379
|
external
|
379
380
|
restricted() // only staking service
|
380
381
|
{
|
381
|
-
|
382
|
-
address stakingWallet = getWallet();
|
383
|
-
|
384
|
-
StakeManagerLib.checkDipBalanceAndAllowance(
|
385
|
-
getToken(),
|
386
|
-
from,
|
387
|
-
address(tokenHandler),
|
388
|
-
dipAmount);
|
389
|
-
|
390
|
-
tokenHandler.transfer(from, stakingWallet, dipAmount);
|
382
|
+
getTokenHandler().collectTokens(from, getWallet(), dipAmount);
|
391
383
|
}
|
392
384
|
|
393
385
|
|
@@ -395,16 +387,7 @@ contract Staking is
|
|
395
387
|
external
|
396
388
|
restricted() // only staking service
|
397
389
|
{
|
398
|
-
|
399
|
-
address stakingWallet = getWallet();
|
400
|
-
|
401
|
-
StakeManagerLib.checkDipBalanceAndAllowance(
|
402
|
-
getToken(),
|
403
|
-
stakingWallet,
|
404
|
-
address(tokenHandler),
|
405
|
-
dipAmount);
|
406
|
-
|
407
|
-
tokenHandler.transfer(stakingWallet, to, dipAmount);
|
390
|
+
getTokenHandler().distributeTokens(getWallet(), to, dipAmount);
|
408
391
|
}
|
409
392
|
|
410
393
|
|
@@ -422,6 +405,9 @@ contract Staking is
|
|
422
405
|
return address(_getStakingStorage()._tokenRegistry);
|
423
406
|
}
|
424
407
|
|
408
|
+
function getTokenHandler() public virtual override(Component, IComponent) view returns (TokenHandler tokenHandler) {
|
409
|
+
return _getStakingStorage()._tokenHandler;
|
410
|
+
}
|
425
411
|
|
426
412
|
// from Versionable
|
427
413
|
function getVersion()
|
@@ -492,14 +478,13 @@ contract Staking is
|
|
492
478
|
"", // registry data
|
493
479
|
""); // component data
|
494
480
|
|
495
|
-
_createAndSetTokenHandler();
|
496
|
-
|
497
481
|
// wiring to external contracts
|
498
482
|
StakingStorage storage $ = _getStakingStorage();
|
499
483
|
$._protocolNftId = getRegistry().getProtocolNftId();
|
500
484
|
$._store = StakingStore(stakingStoreAddress);
|
501
485
|
$._reader = StakingStore(stakingStoreAddress).getStakingReader();
|
502
486
|
$._tokenRegistry = TokenRegistry(tokenRegistryAddress);
|
487
|
+
$._tokenHandler = TokenHandlerDeployerLib.deployTokenHandler(dipTokenAddress, authority);
|
503
488
|
|
504
489
|
registerInterface(type(IStaking).interfaceId);
|
505
490
|
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {TARGET, COMPONENT, STAKE} from "../type/ObjectType.sol";
|
5
|
+
import {INITIAL} from "../type/StateId.sol";
|
6
|
+
import {Lifecycle} from "../shared/Lifecycle.sol";
|
7
|
+
|
8
|
+
contract StakingLifecycle is
|
9
|
+
Lifecycle
|
10
|
+
{
|
11
|
+
constructor() {
|
12
|
+
_setupLifecycle();
|
13
|
+
}
|
14
|
+
|
15
|
+
function _setupLifecycle()
|
16
|
+
internal
|
17
|
+
override
|
18
|
+
{
|
19
|
+
setInitialState(TARGET(), INITIAL());
|
20
|
+
setInitialState(COMPONENT(), INITIAL());
|
21
|
+
setInitialState(STAKE(), INITIAL());
|
22
|
+
}
|
23
|
+
}
|
@@ -1,14 +1,10 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IVersionable} from "../
|
5
|
-
import {ProxyManager} from "../
|
6
|
-
import {ReleaseManager} from "../registry/ReleaseManager.sol";
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
7
6
|
import {Staking} from "./Staking.sol";
|
8
|
-
import {StakingReader} from "./StakingReader.sol";
|
9
|
-
import {StakingStore} from "./StakingStore.sol";
|
10
7
|
|
11
|
-
import {RegistryAdmin} from "../registry/RegistryAdmin.sol";
|
12
8
|
|
13
9
|
contract StakingManager is
|
14
10
|
ProxyManager
|
@@ -1,22 +1,18 @@
|
|
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 {Blocknumber} from "../type/Blocknumber.sol";
|
6
|
-
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
7
|
-
import {IComponent} from "../shared/IComponent.sol";
|
8
|
-
import {InitializableCustom} from "../shared/InitializableCustom.sol";
|
9
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
10
5
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
11
6
|
import {IStaking} from "../staking/IStaking.sol";
|
12
|
-
|
7
|
+
|
8
|
+
import {Amount} from "../type/Amount.sol";
|
9
|
+
import {Blocknumber} from "../type/Blocknumber.sol";
|
10
|
+
import {InitializableCustom} from "../shared/InitializableCustom.sol";
|
13
11
|
import {NftId} from "../type/NftId.sol";
|
14
|
-
import {
|
15
|
-
import {ObjectType, STAKE, TARGET} from "../type/ObjectType.sol";
|
16
|
-
import {Seconds} from "../type/Seconds.sol";
|
12
|
+
import {STAKE, TARGET} from "../type/ObjectType.sol";
|
17
13
|
import {StakingStore} from "./StakingStore.sol";
|
18
14
|
import {Timestamp} from "../type/Timestamp.sol";
|
19
|
-
import {UFixed
|
15
|
+
import {UFixed} from "../type/UFixed.sol";
|
20
16
|
|
21
17
|
contract StakingReader is
|
22
18
|
IRegistryLinked,
|
@@ -60,32 +56,32 @@ contract StakingReader is
|
|
60
56
|
|
61
57
|
|
62
58
|
function isTarget(NftId targetNftId) external view returns (bool) {
|
63
|
-
return _store.
|
59
|
+
return _store.getTargetNftIdSet().exists(targetNftId);
|
64
60
|
}
|
65
61
|
|
66
62
|
|
67
63
|
function targets() external view returns (uint256) {
|
68
|
-
return _store.
|
64
|
+
return _store.getTargetNftIdSet().nftIds();
|
69
65
|
}
|
70
66
|
|
71
67
|
|
72
68
|
function getTargetNftId(uint256 idx) external view returns (NftId) {
|
73
|
-
return _store.
|
69
|
+
return _store.getTargetNftIdSet().getNftId(idx);
|
74
70
|
}
|
75
71
|
|
76
72
|
|
77
73
|
function isActive(NftId targetNftId) external view returns (bool) {
|
78
|
-
return _store.
|
74
|
+
return _store.getTargetNftIdSet().isActive(targetNftId);
|
79
75
|
}
|
80
76
|
|
81
77
|
|
82
78
|
function activeTargets() external view returns (uint256) {
|
83
|
-
return _store.
|
79
|
+
return _store.getTargetNftIdSet().activeNftIds();
|
84
80
|
}
|
85
81
|
|
86
82
|
|
87
83
|
function getActiveTargetNftId(uint256 idx) external view returns (NftId) {
|
88
|
-
return _store.
|
84
|
+
return _store.getTargetNftIdSet().getActiveNftId(idx);
|
89
85
|
}
|
90
86
|
|
91
87
|
|
@@ -122,11 +122,10 @@ contract StakingService is
|
|
122
122
|
|
123
123
|
// transfer withdrawal amount to target owner
|
124
124
|
address instanceOwner = getRegistry().ownerOf(instanceNftId);
|
125
|
+
emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
|
125
126
|
$._staking.transferDipAmount(
|
126
127
|
instanceOwner,
|
127
128
|
dipAmount);
|
128
|
-
|
129
|
-
emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
|
130
129
|
}
|
131
130
|
|
132
131
|
|
@@ -169,12 +168,12 @@ contract StakingService is
|
|
169
168
|
targetNftId,
|
170
169
|
dipAmount);
|
171
170
|
|
171
|
+
emit LogStakingServiceStakeCreated(stakeNftId, targetNftId, stakeOwner, dipAmount);
|
172
|
+
|
172
173
|
// collect staked dip by staking
|
173
174
|
$._staking.collectDipAmount(
|
174
175
|
stakeOwner,
|
175
176
|
dipAmount);
|
176
|
-
|
177
|
-
emit LogStakingServiceStakeCreated(stakeNftId, targetNftId, stakeOwner, dipAmount);
|
178
177
|
}
|
179
178
|
|
180
179
|
|
@@ -197,12 +196,11 @@ contract StakingService is
|
|
197
196
|
|
198
197
|
// collect staked dip by staking
|
199
198
|
if (dipAmount.gtz()) {
|
199
|
+
emit LogStakingServiceStakeIncreased(stakeNftId, stakeOwner, dipAmount, stakeBalance);
|
200
200
|
$._staking.collectDipAmount(
|
201
201
|
stakeOwner,
|
202
202
|
dipAmount);
|
203
203
|
}
|
204
|
-
|
205
|
-
emit LogStakingServiceStakeIncreased(stakeNftId, stakeOwner, dipAmount, stakeBalance);
|
206
204
|
}
|
207
205
|
|
208
206
|
|
@@ -247,11 +245,10 @@ contract StakingService is
|
|
247
245
|
address stakeOwner = msg.sender;
|
248
246
|
|
249
247
|
Amount rewardsClaimedAmount = $._staking.claimRewards(stakeNftId);
|
248
|
+
emit LogStakingServiceRewardsClaimed(stakeNftId, stakeOwner, rewardsClaimedAmount);
|
250
249
|
$._staking.transferDipAmount(
|
251
250
|
stakeOwner,
|
252
251
|
rewardsClaimedAmount);
|
253
|
-
|
254
|
-
emit LogStakingServiceRewardsClaimed(stakeNftId, stakeOwner, rewardsClaimedAmount);
|
255
252
|
}
|
256
253
|
|
257
254
|
|
@@ -270,11 +267,10 @@ contract StakingService is
|
|
270
267
|
) = $._staking.unstake(stakeNftId);
|
271
268
|
|
272
269
|
Amount totalAmount = unstakedAmount + rewardsClaimedAmount;
|
270
|
+
emit LogStakingServiceUnstaked(stakeNftId, stakeOwner, totalAmount);
|
273
271
|
$._staking.transferDipAmount(
|
274
272
|
stakeOwner,
|
275
273
|
totalAmount);
|
276
|
-
|
277
|
-
emit LogStakingServiceUnstaked(stakeNftId, stakeOwner, totalAmount);
|
278
274
|
}
|
279
275
|
|
280
276
|
|
@@ -389,12 +385,12 @@ contract StakingService is
|
|
389
385
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
390
386
|
newBalance = $._staking.refillRewardReserves(targetNftId, dipAmount);
|
391
387
|
|
388
|
+
emit LogStakingServiceRewardReservesIncreased(targetNftId, rewardProvider, dipAmount, newBalance);
|
389
|
+
|
392
390
|
// collect reward dip from provider
|
393
391
|
$._staking.collectDipAmount(
|
394
392
|
rewardProvider,
|
395
393
|
dipAmount);
|
396
|
-
|
397
|
-
emit LogStakingServiceRewardReservesIncreased(targetNftId, rewardProvider, dipAmount, newBalance);
|
398
394
|
}
|
399
395
|
|
400
396
|
|
@@ -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
|
@@ -3,36 +3,27 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
5
5
|
|
6
|
-
import {Amount, AmountLib} from "../type/Amount.sol";
|
7
|
-
import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
|
8
|
-
import {ChainNft} from "../registry/ChainNft.sol";
|
9
|
-
import {Component} from "../shared/Component.sol";
|
10
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
11
|
-
import {IRegistryService} from "../registry/IRegistryService.sol";
|
12
7
|
import {IStaking} from "./IStaking.sol";
|
13
|
-
|
14
|
-
import {
|
8
|
+
|
9
|
+
import {Amount, AmountLib} from "../type/Amount.sol";
|
10
|
+
import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
|
15
11
|
import {KeyValueStore} from "../shared/KeyValueStore.sol";
|
16
12
|
import {KEEP_STATE} from "../type/StateId.sol";
|
17
|
-
import {LibNftIdSet} from "../type/NftIdSet.sol";
|
18
13
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
19
|
-
import {
|
20
|
-
import {
|
21
|
-
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
14
|
+
import {NftIdSet} from "../shared/NftIdSet.sol";
|
15
|
+
import {PROTOCOL, STAKE, TARGET} from "../type/ObjectType.sol";
|
22
16
|
import {StakingReader} from "./StakingReader.sol";
|
23
17
|
import {TargetManagerLib} from "./TargetManagerLib.sol";
|
24
18
|
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
25
|
-
import {
|
26
|
-
import {UFixed
|
27
|
-
import {Version, VersionLib} from "../type/Version.sol";
|
28
|
-
import {Versionable} from "../shared/Versionable.sol";
|
29
|
-
|
30
|
-
import {RegistryAdmin} from "../registry/RegistryAdmin.sol";
|
19
|
+
import {StakingLifecycle} from "./StakingLifecycle.sol";
|
20
|
+
import {UFixed} from "../type/UFixed.sol";
|
31
21
|
|
32
22
|
|
33
23
|
contract StakingStore is
|
34
24
|
AccessManaged,
|
35
|
-
KeyValueStore
|
25
|
+
KeyValueStore,
|
26
|
+
StakingLifecycle
|
36
27
|
{
|
37
28
|
|
38
29
|
event LogStakingStoreReserveBalanceIncreased(NftId targetNftId, Amount dipAmount, Amount reserveBalance, Blocknumber lastUpdatedIn);
|
@@ -61,7 +52,7 @@ contract StakingStore is
|
|
61
52
|
error ErrorStakingStoreTvlBalanceNotInitialized(NftId nftId);
|
62
53
|
|
63
54
|
IRegistry private _registry;
|
64
|
-
|
55
|
+
NftIdSet private _targetNftIdSet;
|
65
56
|
StakingReader private _reader;
|
66
57
|
|
67
58
|
// staking rate
|
@@ -91,7 +82,7 @@ contract StakingStore is
|
|
91
82
|
// set internal variables
|
92
83
|
_registry = registry; //TODO if keeps registry -> RegistryLinked and checks registry address
|
93
84
|
_reader = reader;
|
94
|
-
|
85
|
+
_targetNftIdSet = new NftIdSet();
|
95
86
|
|
96
87
|
// register protocol target
|
97
88
|
_createTarget(
|
@@ -426,8 +417,9 @@ contract StakingStore is
|
|
426
417
|
return _reader;
|
427
418
|
}
|
428
419
|
|
429
|
-
|
430
|
-
|
420
|
+
// TODO rename
|
421
|
+
function getTargetNftIdSet() external view returns (NftIdSet targetNftIdSet){
|
422
|
+
return _targetNftIdSet;
|
431
423
|
}
|
432
424
|
|
433
425
|
function getStakingRate(uint256 chainId, address token) external view returns (UFixed stakingRate) { return _stakingRate[chainId][token]; }
|
@@ -491,7 +483,7 @@ contract StakingStore is
|
|
491
483
|
_tvlLastUpdatedIn[targetNftId]= BlocknumberLib.currentBlocknumber();
|
492
484
|
_createTargetBalance(targetNftId);
|
493
485
|
|
494
|
-
|
486
|
+
_targetNftIdSet.add(targetNftId);
|
495
487
|
}
|
496
488
|
|
497
489
|
function _updateReserves(
|
@@ -132,9 +132,9 @@ library TargetManagerLib {
|
|
132
132
|
public
|
133
133
|
pure
|
134
134
|
{
|
135
|
-
// check locking period is
|
136
|
-
if (lockingPeriod.
|
137
|
-
revert IStaking.
|
135
|
+
// check locking period is >= min locking period
|
136
|
+
if (lockingPeriod.lt(getMinimumLockingPeriod())) {
|
137
|
+
revert IStaking.ErrorStakingLockingPeriodTooShort(targetNftId, getMinimumLockingPeriod(), lockingPeriod);
|
138
138
|
}
|
139
139
|
|
140
140
|
// check locking period <= max locking period
|
@@ -190,6 +190,10 @@ library TargetManagerLib {
|
|
190
190
|
return SecondsLib.toSeconds(365 * 24 * 3600 / 2);
|
191
191
|
}
|
192
192
|
|
193
|
+
/// @dev the minimum locking period is 24 hours
|
194
|
+
function getMinimumLockingPeriod() public pure returns (Seconds minLockingPeriod) {
|
195
|
+
return SecondsLib.toSeconds(24 * 3600);
|
196
|
+
}
|
193
197
|
|
194
198
|
function getMaxRewardRate() public pure returns (UFixed maxRewardRate) {
|
195
199
|
return UFixedLib.toUFixed(33, -2);
|
@@ -12,13 +12,15 @@ using {
|
|
12
12
|
nqAmount as !=,
|
13
13
|
ltAmount as <,
|
14
14
|
gtAmount as >,
|
15
|
+
AmountLib.add,
|
15
16
|
AmountLib.eq,
|
16
17
|
AmountLib.eqz,
|
17
18
|
AmountLib.gtz,
|
19
|
+
AmountLib.gt,
|
20
|
+
AmountLib.gte,
|
21
|
+
AmountLib.multiplyWith,
|
18
22
|
AmountLib.toInt,
|
19
|
-
AmountLib.
|
20
|
-
AmountLib.toUFixed,
|
21
|
-
AmountLib.multiplyWith
|
23
|
+
AmountLib.toUFixed
|
22
24
|
} for Amount global;
|
23
25
|
|
24
26
|
function addAmount(Amount a, Amount b) pure returns (Amount) {
|
@@ -77,16 +79,21 @@ library AmountLib {
|
|
77
79
|
return Amount.unwrap(amount1) == Amount.unwrap(amount2);
|
78
80
|
}
|
79
81
|
|
80
|
-
/// @dev return true if amount a1 is
|
82
|
+
/// @dev return true if amount a1 is less than a2
|
81
83
|
function lt(Amount a1, Amount a2) public pure returns (bool) {
|
82
84
|
return Amount.unwrap(a1) < Amount.unwrap(a2);
|
83
85
|
}
|
84
86
|
|
85
|
-
/// @dev return true if amount a1 is
|
87
|
+
/// @dev return true if amount a1 is greater than a2
|
86
88
|
function gt(Amount a1, Amount a2) public pure returns (bool) {
|
87
89
|
return Amount.unwrap(a1) > Amount.unwrap(a2);
|
88
90
|
}
|
89
91
|
|
92
|
+
/// @dev return true if amount a1 is greater or equal than a2
|
93
|
+
function gte(Amount a1, Amount a2) public pure returns (bool) {
|
94
|
+
return Amount.unwrap(a1) >= Amount.unwrap(a2);
|
95
|
+
}
|
96
|
+
|
90
97
|
/// @dev return minimum of a1 and a2.
|
91
98
|
function min(Amount a1, Amount a2) public pure returns (Amount) {
|
92
99
|
if (Amount.unwrap(a1) < Amount.unwrap(a2)) {
|
@@ -11,8 +11,14 @@ using {
|
|
11
11
|
eqBlocknumber as ==,
|
12
12
|
neBlocknumber as !=,
|
13
13
|
BlocknumberLib.toInt,
|
14
|
+
BlocknumberLib.eq,
|
15
|
+
BlocknumberLib.ne,
|
14
16
|
BlocknumberLib.eqz,
|
15
|
-
BlocknumberLib.gtz
|
17
|
+
BlocknumberLib.gtz,
|
18
|
+
BlocknumberLib.gt,
|
19
|
+
BlocknumberLib.gte,
|
20
|
+
BlocknumberLib.lt,
|
21
|
+
BlocknumberLib.lte
|
16
22
|
} for Blocknumber global;
|
17
23
|
|
18
24
|
/// @dev return true if Blocknumber a is greater than Blocknumber b
|
@@ -27,20 +27,16 @@ function STAKING() pure returns (ObjectType) {
|
|
27
27
|
return ObjectType.wrap(3);
|
28
28
|
}
|
29
29
|
|
30
|
-
function TOKEN() pure returns (ObjectType) {
|
31
|
-
return ObjectType.wrap(6);
|
32
|
-
}
|
33
|
-
|
34
30
|
function RELEASE() pure returns (ObjectType) {
|
35
|
-
return ObjectType.wrap(
|
31
|
+
return ObjectType.wrap(6);
|
36
32
|
}
|
37
33
|
|
38
34
|
function ROLE() pure returns (ObjectType) {
|
39
|
-
return ObjectType.wrap(
|
35
|
+
return ObjectType.wrap(7);
|
40
36
|
}
|
41
37
|
|
42
38
|
function SERVICE() pure returns (ObjectType) {
|
43
|
-
return ObjectType.wrap(
|
39
|
+
return ObjectType.wrap(8);
|
44
40
|
}
|
45
41
|
|
46
42
|
function INSTANCE() pure returns (ObjectType) {
|
@@ -75,48 +71,52 @@ function POLICY() pure returns (ObjectType) {
|
|
75
71
|
return ObjectType.wrap(21);
|
76
72
|
}
|
77
73
|
|
78
|
-
function
|
74
|
+
function PREMIUM() pure returns (ObjectType) {
|
79
75
|
return ObjectType.wrap(22);
|
80
76
|
}
|
81
77
|
|
78
|
+
function CLAIM() pure returns (ObjectType) {
|
79
|
+
return ObjectType.wrap(23);
|
80
|
+
}
|
81
|
+
|
82
82
|
function PAYOUT() pure returns (ObjectType) {
|
83
|
-
return ObjectType.wrap(
|
83
|
+
return ObjectType.wrap(24);
|
84
84
|
}
|
85
85
|
|
86
86
|
function RISK() pure returns (ObjectType) {
|
87
|
-
return ObjectType.wrap(
|
87
|
+
return ObjectType.wrap(25);
|
88
88
|
}
|
89
89
|
|
90
90
|
function PRICE() pure returns (ObjectType) {
|
91
|
-
return ObjectType.wrap(
|
91
|
+
return ObjectType.wrap(26);
|
92
92
|
}
|
93
93
|
|
94
94
|
function REQUEST() pure returns (ObjectType) {
|
95
|
-
return ObjectType.wrap(
|
95
|
+
return ObjectType.wrap(27);
|
96
96
|
}
|
97
97
|
|
98
98
|
function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
|
99
|
-
return ObjectType.wrap(
|
99
|
+
return ObjectType.wrap(28);
|
100
100
|
}
|
101
101
|
|
102
102
|
function DISTRIBUTOR() pure returns (ObjectType) {
|
103
|
-
return ObjectType.wrap(
|
103
|
+
return ObjectType.wrap(29);
|
104
104
|
}
|
105
105
|
|
106
106
|
function REFERRAL() pure returns (ObjectType) {
|
107
|
-
return ObjectType.wrap(
|
107
|
+
return ObjectType.wrap(30);
|
108
108
|
}
|
109
109
|
|
110
110
|
function BUNDLE() pure returns (ObjectType) {
|
111
|
-
return ObjectType.wrap(
|
111
|
+
return ObjectType.wrap(31);
|
112
112
|
}
|
113
113
|
|
114
114
|
function TARGET() pure returns (ObjectType) {
|
115
|
-
return ObjectType.wrap(
|
115
|
+
return ObjectType.wrap(32);
|
116
116
|
}
|
117
117
|
|
118
118
|
function STAKE() pure returns (ObjectType) {
|
119
|
-
return ObjectType.wrap(
|
119
|
+
return ObjectType.wrap(33);
|
120
120
|
}
|
121
121
|
|
122
122
|
/// @dev Object type that includes any other object type.
|
@@ -19,6 +19,16 @@ using {
|
|
19
19
|
|
20
20
|
// general pure free functions
|
21
21
|
|
22
|
+
// @dev Returns true iff role ids a and b are identical
|
23
|
+
function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
|
24
|
+
return RoleId.unwrap(a) == RoleId.unwrap(b);
|
25
|
+
}
|
26
|
+
|
27
|
+
// @dev Returns true iff role ids a and b are different
|
28
|
+
function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
|
29
|
+
return RoleId.unwrap(a) != RoleId.unwrap(b);
|
30
|
+
}
|
31
|
+
|
22
32
|
//--- OpenZeppelin provided roles -------------------------------------------//
|
23
33
|
|
24
34
|
/// @dev Role ID needs to match with oz AccessManager.ADMIN_ROLE
|
@@ -90,44 +100,6 @@ function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14)
|
|
90
100
|
|
91
101
|
function CUSTOM_ROLE_MIN() pure returns (RoleId) { return RoleIdLib.toRoleId(1000000); }
|
92
102
|
|
93
|
-
// TODO cleanup
|
94
|
-
/// @dev role associated with the staking contract
|
95
|
-
// function REGISTRY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1800); }
|
96
|
-
// /// @dev instance specific role for instance service
|
97
|
-
// function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2000); }
|
98
|
-
// /// @dev role for registering gif components
|
99
|
-
// function COMPONENT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2001); }
|
100
|
-
// /// @dev instance specific role for distribution service
|
101
|
-
// function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2100); }
|
102
|
-
// /// @dev instance specific role for oracle service
|
103
|
-
// function ORACLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2150); }
|
104
|
-
// /// @dev instance specific role for pool service
|
105
|
-
// function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
|
106
|
-
// /// @dev instance specific role for product service
|
107
|
-
// function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
|
108
|
-
// /// @dev instance specific role for application service
|
109
|
-
// function APPLICATION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
|
110
|
-
// /// @dev instance specific role for policy service
|
111
|
-
// function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2410); }
|
112
|
-
// /// @dev instance specific role for claim service
|
113
|
-
// function CLAIM_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2420); }
|
114
|
-
// /// @dev instance specific role for bundle service
|
115
|
-
// function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
|
116
|
-
// /// @dev instance specific role for pricing service
|
117
|
-
// function PRICING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2800); }
|
118
|
-
// /// @dev instance specific role for staking service
|
119
|
-
|
120
|
-
// function STAKING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2900);
|
121
|
-
// @dev Returns true iff role ids a and b are identical
|
122
|
-
function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
|
123
|
-
return RoleId.unwrap(a) == RoleId.unwrap(b);
|
124
|
-
}
|
125
|
-
|
126
|
-
// @dev Returns true iff role ids a and b are different
|
127
|
-
function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
|
128
|
-
return RoleId.unwrap(a) != RoleId.unwrap(b);
|
129
|
-
}
|
130
|
-
|
131
103
|
library RoleIdLib {
|
132
104
|
|
133
105
|
uint64 public constant ALL_VERSIONS = 99;
|