stableswap-staking-trait-v-1-2

SM1793C4R5PZ4NS4VQ4WMP7SKKYVH8JZEWSZ9HCCR

Source Code


;; stableswap-staking-trait-v-1-2

;; Define staking trait for Stableswap Core
(define-trait stableswap-staking-trait
  (
    (get-deployment-height () (response uint uint))
    (get-current-cycle () (response uint uint))
    (get-cycle-from-height (uint) (response uint uint))
    (get-starting-height-from-cycle (uint) (response uint bool))
    (get-staking-status () (response bool bool))
    (get-early-unstake-status () (response bool bool))
    (get-early-unstake-fee-address () (response principal principal))
    (get-early-unstake-fee () (response uint uint))
    (get-minimum-staking-duration () (response uint uint))
    (get-maximum-staking-duration () (response uint uint))
    (get-total-lp-staked () (response uint uint))
    (get-lp-staked-at-cycle (uint) (response (optional uint) uint))
    (get-user (principal) (response (optional {
      cycles-staked: (list 12000 uint),
      cycles-to-unstake: (list 12000 uint),
      lp-staked: uint
    }) uint))
    (get-user-at-cycle (principal uint) (response (optional {
      lp-staked: uint,
      lp-to-unstake: uint
    }) uint))
    (stake-lp-tokens (uint uint) (response {
      amount: uint,
      cycles: uint
    } uint))
    (unstake-lp-tokens () (response uint uint))
    (early-unstake-lp-tokens () (response {
      matured-lp-to-unstake-user: uint,
      early-lp-to-unstake-user: uint
    } uint))
  )
)