Derupt
Launch Derupt
  • Introduction
  • User Docs
    • Get Started
      • About Stacks
      • About CryptoCash
      • 🚀Launch Derupt
    • Guides
  • Latest Docs
    • Building on Derupt
    • Contracts
      • Testnet Addresses
      • Mainnet Addresses
      • .derupt-ext-trait
      • .derupt-interfaces
      • .derupt-core-trait
      • .derupt-feed
      • .derupt-gifts
      • .derupt-miners
      • .derupt-stackers
      • .derupt-sentiment
      • .derupt-core-yyyymmdd
      • .derupt-profile-trait
      • .derupt-profiles
      • .derupt-ext-reg
      • .derupt-profile
      • .derupt-ext
    • API
      • 📙Sentiment API Setup Guide
      • ⚙️Sentiment API Endpoint
    • Clients
  • FAQ
    • Features FAQ
    • Comparisons FAQ
  • Legacy Docs
    • Contracts (legacy)
      • Testnet Addresses
      • Testnet Addresses (broken)
      • Testnet Addresses (nakamoto)
      • Mainnet Addresses (old)
      • Mainnet Addresses (older)
      • .derupt-interfaces
      • .derupt-core-trait
      • .derupt-feed
      • .derupt-gifts
      • .derupt-miners
      • .derupt-stackers
      • .derupt-sentiment
      • .derupt-core-yyyymmdd
      • .derupt-profile-trait
      • .derupt-profiles
      • .derupt-profile
    • API (legacy)
      • 📙Sentiment API Setup Guide
      • ⚙️Sentiment API Endpoint
    • Clients (legacy)
    • NOSTR Comparison
    • X (Twitter) Comparison
Powered by GitBook
On this page
  1. Latest Docs
  2. Contracts

.derupt-miners

All .derupt-profile contract mining actions are logged in .derupt-miners

The following function calls are only callable by .derupt-core-yyyymmdd:

  • log-mine

  • log-mining-claim-reward

Work in Progress

;; title: derupt-miners
;; version: 1.3.1
;; summary: Miners Contract
;; description: used to log mining and mining reward claims

(define-constant ERR-UNAUTHORIZED (err u100))
(define-constant ERR-NOTFOUND (err u101))

;; Get Derupt core contract
(define-read-only (get-derupt-core-contract)
  (contract-call? .derupt-feed get-derupt-core-contract)
)

;; Log Mine
(define-public (log-mine (miner principal) (mine-amounts (list 200 uint)))
  (let 
    ((derupt-core-contract (unwrap! (get-derupt-core-contract) ERR-NOTFOUND))) 
    (asserts! (is-eq contract-caller derupt-core-contract) ERR-UNAUTHORIZED)
    (print { event: "mine", miner: miner, mine-total: (fold + mine-amounts u0), mine-amounts: mine-amounts })
    (ok true)
  )
)

;; Log Mining Reward Claim
(define-public (log-mining-reward-claim (claimHeights (list 200 uint)))
  (let 
    ((derupt-core-contract (unwrap! (get-derupt-core-contract) ERR-NOTFOUND))) 
    (asserts! (is-eq contract-caller derupt-core-contract) ERR-UNAUTHORIZED)
    (print { event: "mining-reward-claim", miner: tx-sender, claimHeights: claimHeights })
    (ok true)
  )
)
Previous.derupt-giftsNext.derupt-stackers

Last updated 5 months ago