@etherisc/gif-next 0.0.2-fd4931b-974 → 0.0.2-fd5f17a-625
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 +51 -5
- 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 +65 -463
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +291 -234
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +88 -100
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +102 -165
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +171 -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 +77 -78
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +149 -52
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +75 -205
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
- 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 +410 -130
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +191 -206
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +60 -92
- 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/IAccess.sol/IAccess.json +8 -116
- 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 +440 -169
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +132 -84
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +225 -2
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +56 -295
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +255 -101
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +102 -627
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +309 -251
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +57 -81
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +72 -160
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +55 -87
- 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 +229 -168
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +82 -94
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +25 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +134 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +204 -120
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +63 -44
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +43 -84
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +22 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +273 -301
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +77 -93
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +134 -243
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +70 -110
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +53 -390
- 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 +302 -61
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -184
- 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 +645 -123
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +66 -124
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +46 -81
- 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 +46 -177
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +18 -223
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +271 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +83 -95
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +14 -107
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +11 -31
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +180 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +43 -42
- 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/INftOwnable.sol/INftOwnable.json +7 -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/IRegisterable.sol/IRegisterable.json +7 -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 +20 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- 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 +50 -287
- 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 +10 -55
- 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 +11 -94
- 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 +14 -107
- 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 +273 -605
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +471 -62
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +332 -1004
- 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 +73 -203
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -39
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +484 -213
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +57 -84
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +318 -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 +40 -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 +100 -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 +146 -114
- package/contracts/distribution/DistributionService.sol +84 -46
- package/contracts/distribution/DistributionServiceManager.sol +2 -17
- package/contracts/distribution/IDistributionComponent.sol +26 -40
- package/contracts/distribution/IDistributionService.sol +24 -4
- 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 +29 -43
- package/contracts/instance/IInstanceService.sol +36 -27
- package/contracts/instance/Instance.sol +117 -116
- package/contracts/instance/InstanceAdmin.sol +285 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +82 -18
- package/contracts/instance/InstanceService.sol +206 -106
- 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/IAccess.sol +2 -10
- 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 +211 -69
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IBundleService.sol +34 -6
- package/contracts/pool/IPoolComponent.sol +6 -60
- package/contracts/pool/IPoolService.sol +40 -27
- package/contracts/pool/Pool.sol +165 -138
- package/contracts/pool/PoolService.sol +199 -114
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +59 -65
- 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 +132 -82
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IApplicationService.sol +2 -1
- package/contracts/product/IClaimService.sol +32 -3
- package/contracts/product/IPolicyService.sol +28 -33
- package/contracts/product/IPricingService.sol +8 -8
- package/contracts/product/IProductComponent.sol +7 -10
- package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -2
- package/contracts/product/PolicyService.sol +289 -189
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +52 -52
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +163 -115
- package/contracts/product/{ProductService.sol → RiskService.sol} +18 -45
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +65 -31
- package/contracts/registry/IRegistry.sol +79 -29
- package/contracts/registry/IRegistryService.sol +7 -6
- package/contracts/registry/Registry.sol +354 -215
- package/contracts/registry/RegistryAdmin.sol +464 -0
- package/contracts/registry/RegistryService.sol +14 -90
- package/contracts/registry/RegistryServiceManager.sol +3 -22
- 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 +58 -62
- package/contracts/shared/Component.sol +35 -53
- package/contracts/shared/ComponentService.sol +127 -81
- 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/INftOwnable.sol +1 -1
- package/contracts/shared/IPolicyHolder.sol +0 -9
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
- package/contracts/shared/InstanceLinkedComponent.sol +51 -24
- package/contracts/shared/KeyValueStore.sol +7 -6
- package/contracts/shared/Lifecycle.sol +16 -60
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +3 -7
- package/contracts/shared/NftOwnable.sol +9 -20
- package/contracts/shared/PolicyHolder.sol +8 -53
- package/contracts/shared/Registerable.sol +4 -4
- package/contracts/shared/RegistryLinked.sol +3 -2
- package/contracts/shared/Service.sol +33 -28
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +96 -41
- package/contracts/staking/IStakingService.sol +78 -40
- package/contracts/staking/StakeManagerLib.sol +224 -0
- package/contracts/staking/Staking.sol +305 -155
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +21 -23
- package/contracts/staking/StakingReader.sol +119 -28
- package/contracts/staking/StakingService.sol +190 -77
- package/contracts/staking/StakingServiceManager.sol +4 -4
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +83 -13
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +24 -3
- package/contracts/type/Blocknumber.sol +20 -2
- package/contracts/type/Fee.sol +1 -1
- package/contracts/type/NftId.sol +9 -9
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +174 -68
- package/contracts/type/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +104 -73
- package/contracts/type/Seconds.sol +39 -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 +4 -2
- package/contracts/{shared → upgradeability}/ProxyManager.sol +9 -6
- 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/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -132
- 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 -673
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -675
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -298
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1112
- 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/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- 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/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 -314
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -598
- 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/instance/InstanceAccessManager.sol +0 -543
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -336
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/RegistryAccessManager.sol +0 -167
- package/contracts/registry/ReleaseManager.sol +0 -530
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,6 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
4
6
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
5
7
|
import {Component} from "../shared/Component.sol";
|
6
8
|
import {IRegistry} from "../registry/IRegistry.sol";
|
@@ -22,11 +24,11 @@ library TargetManagerLib {
|
|
22
24
|
Seconds lockingPeriod
|
23
25
|
)
|
24
26
|
external
|
27
|
+
view
|
25
28
|
returns (
|
26
|
-
|
27
|
-
|
29
|
+
Seconds oldLockingPeriod,
|
30
|
+
IStaking.TargetInfo memory targetInfo
|
28
31
|
)
|
29
|
-
|
30
32
|
{
|
31
33
|
StakingReader reader = staking.getStakingReader();
|
32
34
|
|
@@ -37,11 +39,38 @@ library TargetManagerLib {
|
|
37
39
|
|
38
40
|
checkLockingPeriod(targetNftId, lockingPeriod);
|
39
41
|
|
40
|
-
|
41
|
-
|
42
|
+
targetInfo = reader.getTargetInfo(targetNftId);
|
43
|
+
oldLockingPeriod = targetInfo.lockingPeriod;
|
42
44
|
|
43
|
-
|
44
|
-
|
45
|
+
targetInfo.lockingPeriod = lockingPeriod;
|
46
|
+
}
|
47
|
+
|
48
|
+
|
49
|
+
function updateRewardRate(
|
50
|
+
IStaking staking,
|
51
|
+
NftId targetNftId,
|
52
|
+
UFixed rewardRate
|
53
|
+
)
|
54
|
+
external
|
55
|
+
view
|
56
|
+
returns (
|
57
|
+
UFixed oldRewardRate,
|
58
|
+
IStaking.TargetInfo memory targetInfo
|
59
|
+
)
|
60
|
+
{
|
61
|
+
StakingReader reader = staking.getStakingReader();
|
62
|
+
|
63
|
+
// check target exists
|
64
|
+
if(!reader.isTarget(targetNftId)) {
|
65
|
+
revert IStaking.ErrorStakingTargetNotFound(targetNftId);
|
66
|
+
}
|
67
|
+
|
68
|
+
checkRewardRate(targetNftId, rewardRate);
|
69
|
+
|
70
|
+
targetInfo = reader.getTargetInfo(targetNftId);
|
71
|
+
oldRewardRate = targetInfo.rewardRate;
|
72
|
+
|
73
|
+
targetInfo.rewardRate = rewardRate;
|
45
74
|
}
|
46
75
|
|
47
76
|
|
@@ -54,6 +83,7 @@ library TargetManagerLib {
|
|
54
83
|
UFixed initialRewardRate
|
55
84
|
)
|
56
85
|
external
|
86
|
+
view
|
57
87
|
{
|
58
88
|
// target nft id must not be zero
|
59
89
|
if (targetNftId.eqz()) {
|
@@ -86,7 +116,11 @@ library TargetManagerLib {
|
|
86
116
|
}
|
87
117
|
|
88
118
|
|
89
|
-
function isTargetTypeSupported(ObjectType objectType)
|
119
|
+
function isTargetTypeSupported(ObjectType objectType)
|
120
|
+
public
|
121
|
+
pure
|
122
|
+
returns (bool isSupported)
|
123
|
+
{
|
90
124
|
if(objectType == PROTOCOL()) { return true; }
|
91
125
|
if(objectType == INSTANCE()) { return true; }
|
92
126
|
|
@@ -94,10 +128,13 @@ library TargetManagerLib {
|
|
94
128
|
}
|
95
129
|
|
96
130
|
|
97
|
-
function checkLockingPeriod(NftId targetNftId, Seconds lockingPeriod)
|
98
|
-
|
99
|
-
|
100
|
-
|
131
|
+
function checkLockingPeriod(NftId targetNftId, Seconds lockingPeriod)
|
132
|
+
public
|
133
|
+
pure
|
134
|
+
{
|
135
|
+
// check locking period is >= min locking period
|
136
|
+
if (lockingPeriod.lt(getMinimumLockingPeriod())) {
|
137
|
+
revert IStaking.ErrorStakingLockingPeriodTooShort(targetNftId, getMinimumLockingPeriod(), lockingPeriod);
|
101
138
|
}
|
102
139
|
|
103
140
|
// check locking period <= max locking period
|
@@ -107,7 +144,10 @@ library TargetManagerLib {
|
|
107
144
|
}
|
108
145
|
|
109
146
|
|
110
|
-
function checkRewardRate(NftId targetNftId, UFixed rewardRate)
|
147
|
+
function checkRewardRate(NftId targetNftId, UFixed rewardRate)
|
148
|
+
public
|
149
|
+
pure
|
150
|
+
{
|
111
151
|
// check reward rate <= max reward rate
|
112
152
|
if (rewardRate > getMaxRewardRate()) {
|
113
153
|
revert IStaking.ErrorStakingRewardRateTooHigh(targetNftId, getMaxRewardRate(), rewardRate);
|
@@ -115,6 +155,32 @@ library TargetManagerLib {
|
|
115
155
|
}
|
116
156
|
|
117
157
|
|
158
|
+
function calculateRequiredDipAmount(
|
159
|
+
Amount tokenAmount,
|
160
|
+
UFixed stakingRate
|
161
|
+
)
|
162
|
+
public
|
163
|
+
view
|
164
|
+
returns (Amount dipAmount)
|
165
|
+
{
|
166
|
+
dipAmount = tokenAmount.multiplyWith(stakingRate);
|
167
|
+
}
|
168
|
+
|
169
|
+
|
170
|
+
function calculateStakingRate(
|
171
|
+
IERC20Metadata dipToken,
|
172
|
+
IERC20Metadata token,
|
173
|
+
UFixed requiredDipPerToken
|
174
|
+
)
|
175
|
+
public
|
176
|
+
view
|
177
|
+
returns (UFixed stakingRate)
|
178
|
+
{
|
179
|
+
UFixed decimalsFactor = UFixedLib.toUFixed(1, int8(dipToken.decimals() - token.decimals()));
|
180
|
+
stakingRate = requiredDipPerToken * decimalsFactor;
|
181
|
+
}
|
182
|
+
|
183
|
+
|
118
184
|
function getMaxLockingPeriod() public pure returns (Seconds maxLockingPeriod) {
|
119
185
|
return SecondsLib.toSeconds(5 * 365 * 24 * 3600);
|
120
186
|
}
|
@@ -124,6 +190,10 @@ library TargetManagerLib {
|
|
124
190
|
return SecondsLib.toSeconds(365 * 24 * 3600 / 2);
|
125
191
|
}
|
126
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
|
+
}
|
127
197
|
|
128
198
|
function getMaxRewardRate() public pure returns (UFixed maxRewardRate) {
|
129
199
|
return UFixedLib.toUFixed(33, -2);
|
@@ -12,11 +12,14 @@ 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.add,
|
20
23
|
AmountLib.toUFixed
|
21
24
|
} for Amount global;
|
22
25
|
|
@@ -76,16 +79,30 @@ library AmountLib {
|
|
76
79
|
return Amount.unwrap(amount1) == Amount.unwrap(amount2);
|
77
80
|
}
|
78
81
|
|
79
|
-
/// @dev return true if amount a1 is
|
82
|
+
/// @dev return true if amount a1 is less than a2
|
80
83
|
function lt(Amount a1, Amount a2) public pure returns (bool) {
|
81
84
|
return Amount.unwrap(a1) < Amount.unwrap(a2);
|
82
85
|
}
|
83
86
|
|
84
|
-
/// @dev return true if amount a1 is
|
87
|
+
/// @dev return true if amount a1 is greater than a2
|
85
88
|
function gt(Amount a1, Amount a2) public pure returns (bool) {
|
86
89
|
return Amount.unwrap(a1) > Amount.unwrap(a2);
|
87
90
|
}
|
88
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
|
+
|
97
|
+
/// @dev return minimum of a1 and a2.
|
98
|
+
function min(Amount a1, Amount a2) public pure returns (Amount) {
|
99
|
+
if (Amount.unwrap(a1) < Amount.unwrap(a2)) {
|
100
|
+
return a1;
|
101
|
+
}
|
102
|
+
|
103
|
+
return a2;
|
104
|
+
}
|
105
|
+
|
89
106
|
/// @dev return true if amount is larger than 0
|
90
107
|
function gtz(Amount amount) public pure returns (bool) {
|
91
108
|
return Amount.unwrap(amount) > 0;
|
@@ -107,6 +124,10 @@ library AmountLib {
|
|
107
124
|
return UFixedLib.toUFixed(Amount.unwrap(amount));
|
108
125
|
}
|
109
126
|
|
127
|
+
function multiplyWith(Amount amount, UFixed factor) public pure returns (Amount) {
|
128
|
+
return toAmount((factor * UFixedLib.toUFixed(Amount.unwrap(amount))).toInt());
|
129
|
+
}
|
130
|
+
|
110
131
|
function _max() internal pure returns (uint96) {
|
111
132
|
// IMPORTANT: type nees to match with actual definition for Amount
|
112
133
|
return type(uint96).max;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
type Blocknumber is uint32;
|
5
5
|
|
@@ -10,7 +10,15 @@ using {
|
|
10
10
|
lteBlocknumber as <=,
|
11
11
|
eqBlocknumber as ==,
|
12
12
|
neBlocknumber as !=,
|
13
|
-
BlocknumberLib.toInt
|
13
|
+
BlocknumberLib.toInt,
|
14
|
+
BlocknumberLib.eq,
|
15
|
+
BlocknumberLib.ne,
|
16
|
+
BlocknumberLib.eqz,
|
17
|
+
BlocknumberLib.gtz,
|
18
|
+
BlocknumberLib.gt,
|
19
|
+
BlocknumberLib.gte,
|
20
|
+
BlocknumberLib.lt,
|
21
|
+
BlocknumberLib.lte
|
14
22
|
} for Blocknumber global;
|
15
23
|
|
16
24
|
/// @dev return true if Blocknumber a is greater than Blocknumber b
|
@@ -69,6 +77,16 @@ library BlocknumberLib {
|
|
69
77
|
return Blocknumber.wrap(uint32(block.number));
|
70
78
|
}
|
71
79
|
|
80
|
+
/// @dev return true iff blocknumber is 0
|
81
|
+
function eqz(Blocknumber blocknumber) public pure returns (bool) {
|
82
|
+
return Blocknumber.unwrap(blocknumber) == 0;
|
83
|
+
}
|
84
|
+
|
85
|
+
/// @dev return true iff blocknumber is 0
|
86
|
+
function gtz(Blocknumber blocknumber) public pure returns (bool) {
|
87
|
+
return Blocknumber.unwrap(blocknumber) > 0;
|
88
|
+
}
|
89
|
+
|
72
90
|
/// @dev return true if Blocknumber a is greater than Blocknumber b
|
73
91
|
function gt(
|
74
92
|
Blocknumber a,
|
package/contracts/type/Fee.sol
CHANGED
package/contracts/type/NftId.sol
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
5
|
import {ObjectType} from "./ObjectType.sol";
|
@@ -20,16 +20,11 @@ using {
|
|
20
20
|
|
21
21
|
// pure free functions for operators
|
22
22
|
function eqNftId(NftId a, NftId b) pure returns (bool isSame) {
|
23
|
-
return
|
23
|
+
return NftIdLib.eq(a, b);
|
24
24
|
}
|
25
25
|
|
26
26
|
function neNftId(NftId a, NftId b) pure returns (bool isDifferent) {
|
27
|
-
return
|
28
|
-
}
|
29
|
-
|
30
|
-
// @dev Converts the uint256 to a NftId.
|
31
|
-
function toNftId(uint256 id) pure returns (NftId) {
|
32
|
-
return NftId.wrap(uint96(id));
|
27
|
+
return NftIdLib.ne(a, b);
|
33
28
|
}
|
34
29
|
|
35
30
|
// library functions that operate on user defined type
|
@@ -63,7 +58,12 @@ library NftIdLib {
|
|
63
58
|
|
64
59
|
/// @dev Returns true if the values are equal (==).
|
65
60
|
function eq(NftId a, NftId b) public pure returns (bool isSame) {
|
66
|
-
return
|
61
|
+
return NftId.unwrap(a) == NftId.unwrap(b);
|
62
|
+
}
|
63
|
+
|
64
|
+
/// @dev Returns true if the values are not equal (!=).
|
65
|
+
function ne(NftId a, NftId b) public pure returns (bool isSame) {
|
66
|
+
return NftId.unwrap(a) != NftId.unwrap(b);
|
67
67
|
}
|
68
68
|
|
69
69
|
/// @dev Returns the key32 value for the specified nft id and object type.
|
@@ -12,141 +12,142 @@ using {
|
|
12
12
|
ObjectTypeLib.gtz
|
13
13
|
} for ObjectType global;
|
14
14
|
|
15
|
-
// general pure free functions
|
16
15
|
|
17
|
-
|
18
|
-
return toObjectType(1);
|
19
|
-
}
|
16
|
+
//--- GIF object types/domains (rage: 1 - 99) -------------------------------//
|
20
17
|
|
21
18
|
function PROTOCOL() pure returns (ObjectType) {
|
22
|
-
return
|
23
|
-
}
|
24
|
-
|
25
|
-
function ROLE() pure returns (ObjectType) {
|
26
|
-
return toObjectType(20);
|
27
|
-
}
|
28
|
-
|
29
|
-
function TARGET() pure returns (ObjectType) {
|
30
|
-
return toObjectType(30);
|
19
|
+
return ObjectType.wrap(1);
|
31
20
|
}
|
32
21
|
|
33
22
|
function REGISTRY() pure returns (ObjectType) {
|
34
|
-
return
|
23
|
+
return ObjectType.wrap(2);
|
35
24
|
}
|
36
25
|
|
37
26
|
function STAKING() pure returns (ObjectType) {
|
38
|
-
return
|
27
|
+
return ObjectType.wrap(3);
|
39
28
|
}
|
40
29
|
|
41
|
-
function
|
42
|
-
return
|
30
|
+
function RELEASE() pure returns (ObjectType) {
|
31
|
+
return ObjectType.wrap(6);
|
32
|
+
}
|
33
|
+
|
34
|
+
function ROLE() pure returns (ObjectType) {
|
35
|
+
return ObjectType.wrap(7);
|
43
36
|
}
|
44
37
|
|
45
38
|
function SERVICE() pure returns (ObjectType) {
|
46
|
-
return
|
39
|
+
return ObjectType.wrap(8);
|
47
40
|
}
|
48
41
|
|
49
42
|
function INSTANCE() pure returns (ObjectType) {
|
50
|
-
return
|
43
|
+
return ObjectType.wrap(10);
|
51
44
|
}
|
52
45
|
|
53
|
-
function
|
54
|
-
return
|
46
|
+
function COMPONENT() pure returns (ObjectType) {
|
47
|
+
return ObjectType.wrap(11);
|
55
48
|
}
|
56
49
|
|
57
|
-
function
|
58
|
-
return
|
50
|
+
function PRODUCT() pure returns (ObjectType) {
|
51
|
+
return ObjectType.wrap(12);
|
59
52
|
}
|
60
53
|
|
61
|
-
function
|
62
|
-
return
|
54
|
+
function ORACLE() pure returns (ObjectType) {
|
55
|
+
return ObjectType.wrap(13);
|
63
56
|
}
|
64
57
|
|
65
|
-
function
|
66
|
-
return
|
58
|
+
function DISTRIBUTION() pure returns (ObjectType) {
|
59
|
+
return ObjectType.wrap(14);
|
67
60
|
}
|
68
61
|
|
69
|
-
function
|
70
|
-
return
|
62
|
+
function POOL() pure returns (ObjectType) {
|
63
|
+
return ObjectType.wrap(15);
|
71
64
|
}
|
72
65
|
|
73
|
-
function
|
74
|
-
return
|
66
|
+
function APPLICATION() pure returns (ObjectType) {
|
67
|
+
return ObjectType.wrap(20);
|
75
68
|
}
|
76
69
|
|
77
|
-
function
|
78
|
-
return
|
70
|
+
function POLICY() pure returns (ObjectType) {
|
71
|
+
return ObjectType.wrap(21);
|
79
72
|
}
|
80
73
|
|
81
|
-
function
|
82
|
-
return
|
74
|
+
function PREMIUM() pure returns (ObjectType) {
|
75
|
+
return ObjectType.wrap(22);
|
83
76
|
}
|
84
77
|
|
85
|
-
function
|
86
|
-
return
|
78
|
+
function CLAIM() pure returns (ObjectType) {
|
79
|
+
return ObjectType.wrap(23);
|
87
80
|
}
|
88
81
|
|
89
|
-
function
|
90
|
-
return
|
82
|
+
function PAYOUT() pure returns (ObjectType) {
|
83
|
+
return ObjectType.wrap(24);
|
91
84
|
}
|
92
85
|
|
93
|
-
function
|
94
|
-
return
|
86
|
+
function RISK() pure returns (ObjectType) {
|
87
|
+
return ObjectType.wrap(25);
|
95
88
|
}
|
96
89
|
|
97
|
-
function
|
98
|
-
return
|
90
|
+
function PRICE() pure returns (ObjectType) {
|
91
|
+
return ObjectType.wrap(26);
|
99
92
|
}
|
100
93
|
|
101
|
-
function
|
102
|
-
return
|
94
|
+
function REQUEST() pure returns (ObjectType) {
|
95
|
+
return ObjectType.wrap(27);
|
103
96
|
}
|
104
97
|
|
105
|
-
function
|
106
|
-
return
|
98
|
+
function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
|
99
|
+
return ObjectType.wrap(28);
|
107
100
|
}
|
108
101
|
|
109
|
-
function
|
110
|
-
return
|
102
|
+
function DISTRIBUTOR() pure returns (ObjectType) {
|
103
|
+
return ObjectType.wrap(29);
|
111
104
|
}
|
112
105
|
|
113
|
-
function
|
114
|
-
return
|
106
|
+
function REFERRAL() pure returns (ObjectType) {
|
107
|
+
return ObjectType.wrap(30);
|
115
108
|
}
|
116
109
|
|
117
|
-
function
|
118
|
-
return
|
110
|
+
function BUNDLE() pure returns (ObjectType) {
|
111
|
+
return ObjectType.wrap(31);
|
119
112
|
}
|
120
113
|
|
121
|
-
function
|
122
|
-
return
|
114
|
+
function TARGET() pure returns (ObjectType) {
|
115
|
+
return ObjectType.wrap(32);
|
123
116
|
}
|
124
117
|
|
125
|
-
|
126
|
-
|
127
|
-
return ObjectType.wrap(uint8(objectType));
|
118
|
+
function STAKE() pure returns (ObjectType) {
|
119
|
+
return ObjectType.wrap(33);
|
128
120
|
}
|
129
121
|
|
130
|
-
|
131
|
-
///
|
132
|
-
function
|
133
|
-
return ObjectType.wrap(
|
122
|
+
/// @dev Object type that includes any other object type.
|
123
|
+
/// Note that eq()/'==' does not take this property into account.
|
124
|
+
function ALL() pure returns (ObjectType) {
|
125
|
+
return ObjectType.wrap(99);
|
134
126
|
}
|
135
127
|
|
136
|
-
// pure free functions for operators
|
128
|
+
// other pure free functions for operators
|
137
129
|
function eqObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
138
130
|
return ObjectType.unwrap(a) == ObjectType.unwrap(b);
|
139
131
|
}
|
140
132
|
|
141
|
-
function neObjectType(
|
142
|
-
ObjectType a,
|
143
|
-
ObjectType b
|
144
|
-
) pure returns (bool isDifferent) {
|
133
|
+
function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
145
134
|
return ObjectType.unwrap(a) != ObjectType.unwrap(b);
|
146
135
|
}
|
147
136
|
|
148
137
|
// library functions that operate on user defined type
|
149
138
|
library ObjectTypeLib {
|
139
|
+
|
140
|
+
error ErrorVersionTooBig(uint256 version);
|
141
|
+
|
142
|
+
function zero() public pure returns (ObjectType) {
|
143
|
+
return ObjectType.wrap(0);
|
144
|
+
}
|
145
|
+
|
146
|
+
/// @dev Converts the uint256 into ObjectType.
|
147
|
+
function toObjectType(uint256 objectType) public pure returns (ObjectType) {
|
148
|
+
return ObjectType.wrap(uint8(objectType));
|
149
|
+
}
|
150
|
+
|
150
151
|
/// @dev Converts the NftId to a uint256.
|
151
152
|
function toInt(ObjectType objectType) public pure returns (uint96) {
|
152
153
|
return uint96(ObjectType.unwrap(objectType));
|
@@ -164,6 +165,111 @@ library ObjectTypeLib {
|
|
164
165
|
|
165
166
|
/// @dev Returns true if the values are equal (==).
|
166
167
|
function eq(ObjectType a, ObjectType b) public pure returns (bool isSame) {
|
167
|
-
return
|
168
|
+
return ObjectType.unwrap(a) == ObjectType.unwrap(b);
|
169
|
+
}
|
170
|
+
|
171
|
+
/// @dev Returns true if the values are not equal (!=).
|
172
|
+
function ne(ObjectType a, ObjectType b) public pure returns (bool isSame) {
|
173
|
+
return ObjectType.unwrap(a) != ObjectType.unwrap(b);
|
174
|
+
}
|
175
|
+
|
176
|
+
/// @dev Returns the type/domain name for the provided object type
|
177
|
+
function toName(ObjectType objectType) public pure returns (string memory name) {
|
178
|
+
if (objectType == REGISTRY()) {
|
179
|
+
return "Registry";
|
180
|
+
} else if (objectType == STAKING()) {
|
181
|
+
return "Staking";
|
182
|
+
} else if (objectType == INSTANCE()) {
|
183
|
+
return "Instance";
|
184
|
+
} else if (objectType == COMPONENT()) {
|
185
|
+
return "Component";
|
186
|
+
} else if (objectType == PRODUCT()) {
|
187
|
+
return "Product";
|
188
|
+
} else if (objectType == ORACLE()) {
|
189
|
+
return "Oracle";
|
190
|
+
} else if (objectType == DISTRIBUTION()) {
|
191
|
+
return "Distribution";
|
192
|
+
} else if (objectType == POOL()) {
|
193
|
+
return "Pool";
|
194
|
+
} else if (objectType == APPLICATION()) {
|
195
|
+
return "Application";
|
196
|
+
} else if (objectType == POLICY()) {
|
197
|
+
return "Policy";
|
198
|
+
} else if (objectType == CLAIM()) {
|
199
|
+
return "Claim";
|
200
|
+
} else if (objectType == PRICE()) {
|
201
|
+
return "Price";
|
202
|
+
} else if (objectType == BUNDLE()) {
|
203
|
+
return "Bundle";
|
204
|
+
}
|
205
|
+
|
206
|
+
// fallback: ObjectType<obect-type-int>
|
207
|
+
return string(
|
208
|
+
abi.encodePacked(
|
209
|
+
"ObjectType",
|
210
|
+
toString(
|
211
|
+
toInt(objectType))));
|
212
|
+
}
|
213
|
+
|
214
|
+
function toVersionedName(
|
215
|
+
string memory name,
|
216
|
+
string memory suffix,
|
217
|
+
uint256 version
|
218
|
+
)
|
219
|
+
external
|
220
|
+
pure
|
221
|
+
returns (string memory versionedName)
|
222
|
+
{
|
223
|
+
if (version > maxNumReleases()) {
|
224
|
+
revert ErrorVersionTooBig(version);
|
225
|
+
}
|
226
|
+
|
227
|
+
string memory versionName = "_v0";
|
228
|
+
|
229
|
+
if (version >= 10) {
|
230
|
+
versionName = "_v";
|
231
|
+
}
|
232
|
+
|
233
|
+
versionedName = string(
|
234
|
+
abi.encodePacked(
|
235
|
+
name,
|
236
|
+
suffix,
|
237
|
+
versionName,
|
238
|
+
toString(version)));
|
239
|
+
}
|
240
|
+
|
241
|
+
/// @dev returns the max number of releases (major versions) this gif setup can handle.
|
242
|
+
function maxNumReleases() public pure returns (uint8) {
|
243
|
+
return 99;
|
244
|
+
}
|
245
|
+
|
246
|
+
/// @dev returns the provied int as a string
|
247
|
+
function toString(uint256 value) public pure returns (string memory name) {
|
248
|
+
|
249
|
+
if (value == 0) {
|
250
|
+
return "0";
|
251
|
+
}
|
252
|
+
|
253
|
+
uint256 temp = value;
|
254
|
+
uint256 digits = 0;
|
255
|
+
while (temp != 0) {
|
256
|
+
digits++;
|
257
|
+
temp /= 10;
|
258
|
+
}
|
259
|
+
|
260
|
+
bytes memory buffer = new bytes(digits);
|
261
|
+
uint index = digits - 1;
|
262
|
+
|
263
|
+
temp = value;
|
264
|
+
while (temp != 0) {
|
265
|
+
buffer[index] = bytes1(uint8(48 + temp % 10));
|
266
|
+
temp /= 10;
|
267
|
+
|
268
|
+
if (index > 0) {
|
269
|
+
index--;
|
270
|
+
}
|
271
|
+
}
|
272
|
+
|
273
|
+
return string(buffer);
|
168
274
|
}
|
169
275
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
5
|
import {NftId} from "./NftId.sol";
|
@@ -12,6 +12,7 @@ type ReferralStatus is uint8;
|
|
12
12
|
using {
|
13
13
|
eqReferralId as ==,
|
14
14
|
neReferralId as !=,
|
15
|
+
ReferralLib.eqz,
|
15
16
|
ReferralLib.toKey32
|
16
17
|
} for ReferralId global;
|
17
18
|
|