GEB Docs
  • Introduction to GEB
  • Community Resources
  • FLX Mechanics
  • FAQ
  • RAI
    • RAI Use-Cases
    • Multi-chain RAI
    • RAI Integrations
  • The Money God League
    • Intro to The League
  • Ungovernance
    • Governance Minimization Guide
  • Risk
    • GEB Risks
    • PID Failure Modes & Responses
  • Incentives
    • RAI Uniswap V2 Mint + LP Incentives Program
    • RAI Uniswap V3 Mint + LP Incentives Program (Inactive)
    • FLX Staking
    • RAI / ETH Uniswap V3 Oracle LP Incentives Program
  • Contract Variables Translation
    • Core Contracts Naming Transition
    • Governance Contracts Naming Transition
    • SAFE Management Contract Naming Transition
  • System Contracts
    • Core Module
      • SAFE Engine
      • Liquidation Engine
      • Accounting Engine
    • Auction Module
      • English Collateral Auction House
      • Fixed Discount Collateral Auction House
      • Increasing Discount Collateral Auction House
      • Debt Auction House
      • Surplus Auction House
    • Oracle Module
      • Oracle Relayer
      • Medianizer
        • DSValue
        • Governance Led Median
        • Chainlink Median
        • Uniswap V2 Median
      • FSM
        • Oracle Security Module
        • Dampened Security Module
        • FSM Governance Interface
    • Token Module
      • Token Adapters
      • System Coin
      • Protocol Token
      • Protocol Token Authority
      • Protocol Token Printing Permissions
    • Money Market Module
      • Tax Collector
    • Sustainability Module
      • Stability Fee Treasury
      • FSM Wrapper
      • Increasing Treasury Reimbursement
      • Mandatory Fixed Treasury Reimbursement
      • Increasing Reward Relayer
    • Automation Module
      • Collateral Auction Throttler
      • Single Spot Debt Ceiling Setter
      • ESM Threshold Setter
    • Governance Module
      • DSPause
    • Shutdown Module
      • Global Settlement
      • ESM
  • Proxy Infrastructure
    • DSProxy
    • Proxy Registry
  • Helper Contracts
    • SAFE Manager
  • GEB.js
    • Getting Started
    • Global Settlement Guide
    • API Reference
      • Geb
      • Safe
      • Proxy Actions
      • Geb Admin
  • APIs
    • API Endpoints
  • Pyflex
    • Getting Started
      • Configuration
      • GEB Basics
    • SAFE Management
      • Opening a SAFE
      • Closing a SAFE
    • Numerics
  • Keepers
    • Keeper Overview
    • Collateral Auction Keeper
      • Running in Docker
      • Running on a Host
      • Liquidations & Collateral Auctions
      • Collateral Auction Flash Swaps
    • Debt Auction Keeper
      • Running in Docker
      • Running on a Host
    • Staked Token Auction Keeper
      • Running in Docker
      • Running on a Host
    • Surplus Auction Keeper
      • Running in Docker
      • Running on a Host
    • Bidding Models
  • Liquidation Protection
    • SAFE Protection
    • Liquidation Protection Guide
    • Uni-V2 RAI/ETH Savior Details
    • Curve V1 Savior Details
Powered by GitBook
On this page
  • 1. Summary
  • 2. Contract Variables & Functions
  • 3. Walkthrough

Was this helpful?

  1. System Contracts
  2. Sustainability Module

FSM Wrapper

Wrapper for FSM-like contracts

PreviousStability Fee TreasuryNextIncreasing Treasury Reimbursement

Last updated 3 years ago

Was this helpful?

1. Summary

The FSMWrapper is meant to act as a funding source for FSM-like contracts as well as an interface that allows other contracts to read data from the FSM integrated with the wrapper.

2. Contract Variables & Functions

Variables

  • authorizedAccounts[usr: address] - addAuthorization/removeAuthorization - auth mechanisms

  • lastReimburseTime - last timestamp when the wrapper sent stability fee rewards to the address that called fsm.updateResult()

  • reimburseDelay - enforced delay between consecutive renumerateCaller calls

  • fsm - the FSM contract that's being wrapped; this contract is the only allowed caller for renumerateCaller

Functions

  • modifyParameters - modify contract parameters

  • renumerateCaller(feeReceiver: address) - called by the fsm in order to send stability fees from the to the feeReceiver

  • stopped() public view returns (uint256) - read and return stopped from the fsm

  • priceSource() public view returns (address) - read and return priceSource from the fsm

  • updateDelay() public view returns (uint16) - read and return updateDelay from the fsm

  • lastUpdateTime() public view returns (uint64) - read and return lastUpdateTime from the fsm

  • newPriceDeviation() public view returns (uint256) - read and return the newPriceDeviation from the fsm

  • passedDelay() public view returns (bool) - read and return passedDelay from the fsm

  • getNextBoundedPrice() public view returns (uint128) - read and return the value calculated by getNextBoundedPrice from the fsm

  • getNextPriceLowerBound() public view returns (uint128) - read and return the value calculated by getNextPriceLowerBound from the fsm

  • getNextPriceUpperBound() public view returns (uint128) - read and return the value calculated by getNextPriceUpperBound from the fsm

  • getResultWithValidity() external view returns (uint256, bool) - read and return the current result and its validity from the fsm

  • getNextResultWithValidity() external view returns (uint256, bool) - read and return the next result and its validity from the fsm

  • read() external view returns (uint256) - read and return (or revert) the current result from the fsm

3. Walkthrough

Anyone can read values from the fsm contract by calling the wrapper view functions. The fsm contract is allowed to call renumerateCaller and thus send stability fee rewards to an address.

StabilityFeeTreasury