This (preview) documentation describes the functionality and interface for the GYSR Core v3 contracts. The associated source code can be found at github.com/gysr-io/core
AssignmentStakingModule
this staking module allows an administrator to set a fixed rate of earnings for a specific user.
this staking module allows an administrator to set a fixed rate of earnings for a specific user.
AssignmentStakingModuleFactory
this factory contract handles deployment for the AssignmentStakingModule contract
this factory contract handles deployment for the AssignmentStakingModule contract
AssignmentStakingModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20StakingModule contract.
this library provides read-only convenience functions to query additional information about the ERC20StakingModule contract.
ERC20BaseRewardModule
this abstract class implements common ERC20 funding and unlocking logic, which is inherited by other reward modules.
this abstract class implements common ERC20 funding and unlocking logic, which is inherited by other reward modules.
ERC20BondStakingModule
this staking module allows users to permanently sell an ERC20 token in exchange for bond shares credited to their address. When the user unstakes, these shares will be burned and a reward will be distributed.
this staking module allows users to permanently sell an ERC20 token in exchange for bond shares credited to their address. When the user unstakes, these shares will be burned and a reward will be distributed.
ERC20BondStakingModuleFactory
this factory contract handles deployment for the ERC20BondStakingModule contract
this factory contract handles deployment for the ERC20BondStakingModule contract
ERC20BondStakingModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20BondStakingModule contract.
this library provides read-only convenience functions to query additional information about the ERC20BondStakingModule contract.
ERC20CompetitiveRewardModule
this reward module distributes a single ERC20 token as the staking reward. It is designed to offer competitive and engaging reward mechanics.
this reward module distributes a single ERC20 token as the staking reward. It is designed to offer competitive and engaging reward mechanics.
ERC20CompetitiveRewardModuleFactory
this factory contract handles deployment for the ERC20CompetitiveRewardModule contract
this factory contract handles deployment for the ERC20CompetitiveRewardModule contract
ERC20CompetitiveRewardModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20CompetitiveRewardModule contract.
this library provides read-only convenience functions to query additional information about the ERC20CompetitiveRewardModule contract.
ERC20FixedRewardModuleFactory
this factory contract handles deployment for the ERC20FixedRewardModule contract
this factory contract handles deployment for the ERC20FixedRewardModule contract
ERC20FixedRewardModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20FixedRewardModule contract.
this library provides read-only convenience functions to query additional information about the ERC20FixedRewardModule contract.
ERC20FriendlyRewardModule
this reward module distributes a single ERC20 token as the staking reward. It is designed to offer simple and predictable reward mechanics.
this reward module distributes a single ERC20 token as the staking reward. It is designed to offer simple and predictable reward mechanics.
ERC20FriendlyRewardModuleFactory
this factory contract handles deployment for the ERC20FriendlyRewardModule contract
this factory contract handles deployment for the ERC20FriendlyRewardModule contract
ERC20FriendlyRewardModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20FriendlyRewardModule contract.
this library provides read-only convenience functions to query additional information about the ERC20FriendlyRewardModule contract.
ERC20LinearRewardModule
this reward module distributes a single ERC20 token at a continuous fixed rate.
this reward module distributes a single ERC20 token at a continuous fixed rate.
ERC20LinearRewardModuleFactory
this factory contract handles deployment for the ERC20LinearRewardModule contract
this factory contract handles deployment for the ERC20LinearRewardModule contract
ERC20LinearRewardModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20LinearRewardModule contract.
this library provides read-only convenience functions to query additional information about the ERC20LinearRewardModule contract.
ERC20MultiRewardModule
this reward module distributes multiple ERC20 token as the staking reward. It is designed to offer simple and flexible reward mechanics.
this reward module distributes multiple ERC20 token as the staking reward. It is designed to offer simple and flexible reward mechanics.
ERC20MultiRewardModuleFactory
this factory contract handles deployment for the ERC20MultiRewardModule contract
this factory contract handles deployment for the ERC20MultiRewardModule contract
ERC20MultiRewardModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20MultiRewardModule contract.
this library provides read-only convenience functions to query additional information about the ERC20MultiRewardModule contract.
ERC20StakingModule
this staking module allows users to deposit an amount of ERC20 token in exchange for shares credited to their address. When the user unstakes, these shares will be burned and a reward will be distributed.
this staking module allows users to deposit an amount of ERC20 token in exchange for shares credited to their address. When the user unstakes, these shares will be burned and a reward will be distributed.
ERC20StakingModuleFactory
this factory contract handles deployment for the ERC20StakingModule contract
this factory contract handles deployment for the ERC20StakingModule contract
ERC20StakingModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20StakingModule contract.
this library provides read-only convenience functions to query additional information about the ERC20StakingModule contract.
ERC721StakingModule
this staking module allows users to deposit one or more ERC721 tokens in exchange for shares credited to their address. When the user unstakes, these shares will be burned and a reward will be distributed.
this staking module allows users to deposit one or more ERC721 tokens in exchange for shares credited to their address. When the user unstakes, these shares will be burned and a reward will be distributed.
ERC721StakingModuleFactory
this factory contract handles deployment for the ERC721StakingModule contract
this factory contract handles deployment for the ERC721StakingModule contract
ERC721StakingModuleInfo
this library provides read-only convenience functions to query additional information about the ERC721StakingModule contract.
this library provides read-only convenience functions to query additional information about the ERC721StakingModule contract.
IModuleFactory
this defines the common module factory interface used by the main factory to create the staking and reward modules for a new Pool.
this defines the common module factory interface used by the main factory to create the staking and reward modules for a new Pool.
IOwnerController
this defines the interface for any contracts that use the owner controller access pattern
this defines the interface for any contracts that use the owner controller access pattern
IPoolFactory
this defines the Pool factory interface, primarily intended for the Pool contract to interact with
this defines the Pool factory interface, primarily intended for the Pool contract to interact with
IRewardModule
this contract defines the common interface that any reward module must implement to be compatible with the modular Pool architecture.
this contract defines the common interface that any reward module must implement to be compatible with the modular Pool architecture.
IRewardModuleInfo
this contract defines the common interface that any reward module info must implement to be compatible with the modular Pool architecture.
this contract defines the common interface that any reward module info must implement to be compatible with the modular Pool architecture.
IStakingModule
this contract defines the common interface that any staking module must implement to be compatible with the modular Pool architecture.
this contract defines the common interface that any staking module must implement to be compatible with the modular Pool architecture.
IStakingModuleInfo
this contract defines the common interface that any staking module info must implement to be compatible with the modular Pool architecture.
this contract defines the common interface that any staking module info must implement to be compatible with the modular Pool architecture.
MathUtils
this library implements various logarithmic math utilies which support other contracts and specifically the GYSR multiplier calculation
this library implements various logarithmic math utilies which support other contracts and specifically the GYSR multiplier calculation
Pool
this implements the GYSR core Pool contract. It supports generalized incentive mechanisms through a modular architecture, where staking and reward logic is contained in child contracts.
this implements the GYSR core Pool contract. It supports generalized incentive mechanisms through a modular architecture, where staking and reward logic is contained in child contracts.
PoolFactory
this implements the Pool factory contract which allows any user to easily configure and deploy their own Pool
this implements the Pool factory contract which allows any user to easily configure and deploy their own Pool
PoolInfo
this implements the Pool info library, which provides read-only convenience functions to query additional information and metadata about the core Pool contract.
this implements the Pool info library, which provides read-only convenience functions to query additional information and metadata about the core Pool contract.
TokenUtils
this library implements utility methods for token handling, dynamic balance accounting, and fee processing
this library implements utility methods for token handling, dynamic balance accounting, and fee processing
TokenUtilsInfo
this library implements utility methods for token handling, dynamic balance accounting, and fee processing. this is a modified version to be used by info libraries.
this library implements utility methods for token handling, dynamic balance accounting, and fee processing. this is a modified version to be used by info libraries.