Sperax
  • USDs (Sperax USD)
    • Minting and Redeeming
    • Auto Yield
      • Smart Contracts can opt in for the rebase feature (Auto-yield).
    • Stability Mechanism
    • Key parameters and functions
    • Technical documents
      • Sequence diagrams
      • Smart contracts
        • Vault
        • USDs
        • CollateralManager
        • SPA Buyback
        • MasterPriceOracle
        • Yield Reserve
        • Fee Calculator
        • RebaseManager
        • Dripper
        • BaseStrategy
      • Deployed contracts
  • Buyback Contract
  • Staking Protocol
    • Locking SPA
    • Withdrawing SPA
    • Staking Rewards
  • Demeter Protocol
    • How does Demeter Work?
    • Technical documents
      • Smart contracts
        • E721 Farms
          • E721Farm
          • Camelot V3
            • CamelotV3FarmDeployer
            • CamelotV3Farm
        • Base contracts
          • Farm
          • FarmStorage
          • FarmRegistry
          • FarmDeployer
        • Features
          • ClaimableFee
          • ExpirableFarm
          • OperableDeposit
        • Rewarder
          • Rewarder
          • RewarderFactory
      • Deployed contracts
  • Getting Started on Our DApp
    • Minting & Redeeming USDs
    • Stake SPA
  • Governance
  • Bug Bounty Program
  • FAQ
    • SPA Tokenomics
    • xSPA token
    • Smart Contract Addresses
    • How to Transfer SPA from Ethereum to Arbitrum
  • Quick Links
    • Audit Reports
    • Sperax Dapp
    • Demeter Dapp
    • Discord
    • Forum
    • Snapshot
Powered by GitBook
On this page
  • State Variables
  • COMMON_FUND_ID
  • LOCKUP_FUND_ID
  • PRECISION
  • MAX_COOLDOWN_PERIOD
  • MAX_NUM_REWARDS
  • farmId
  • isPaused
  • isClosed
  • cooldownPeriod
  • lastFundUpdateTime
  • farmStartTime
  • totalDeposits
  • rewardFunds
  • rewardTokens
  • rewardData
  • deposits
  • subscriptions

Was this helpful?

Export as PDF
  1. Demeter Protocol
  2. Technical documents
  3. Smart contracts
  4. Base contracts

FarmStorage

PreviousFarmNextFarmRegistry

Was this helpful?

Inherits: IFarm

Author: Sperax Foundation.

This contract contains the base storage variables for farms.

State Variables

COMMON_FUND_ID

uint8 public constant COMMON_FUND_ID = 0;

LOCKUP_FUND_ID

uint8 public constant LOCKUP_FUND_ID = 1;

PRECISION

uint256 public constant PRECISION = 1e18;

MAX_COOLDOWN_PERIOD

uint256 public constant MAX_COOLDOWN_PERIOD = 30;

MAX_NUM_REWARDS

uint256 public constant MAX_NUM_REWARDS = 4;

farmId

string public farmId;

isPaused

bool internal isPaused;

isClosed

bool internal isClosed;

cooldownPeriod

uint256 public cooldownPeriod;

lastFundUpdateTime

uint256 public lastFundUpdateTime;

farmStartTime

uint256 public farmStartTime;

totalDeposits

uint256 public totalDeposits;

rewardFunds

RewardFund[] internal rewardFunds;

rewardTokens

address[] internal rewardTokens;

rewardData

mapping(address => RewardData) internal rewardData;

deposits

mapping(uint256 => Deposit) internal deposits;

subscriptions

mapping(uint256 => Subscription[]) internal subscriptions;
Git Source