EditionStake

StakeERC1155

Contract for staking ERC1155 NFTs, for ERC20 tokens as rewards.

  • Publish Date

    Jan 23, 2023

  • Audit Report
    View Audit Report
  • Licenses

    Apache-2.0, MIT

  • Factory Enabled

thirdweb's ERC1155 Staking contract

This contract allows users to stake their ERC-1155 NFTs and get ERC-20 tokens as staking rewards. Contract admin should set the NFT and Reward-token addresses during deployment. These can't be changed later.

Staked NFTs are stored inside the contract and rewards are calculated for the amount of time these NFTs were staked. Admin should maintain adequate balance of reward tokens in the staking-contract. These rewards are then transferred to stakers upon claiming.

Reward calculation at the time of claiming rewards:

rewardsPerTokenStaked = (stakingDuration * rewardsPerUnitTime) / timeUnit
Note:
  • Users need to approve their NFTs to the staking contract address before they can stake them
  • Contract admin should maintain adequate balance of Reward Tokens in the staking contract -- use the deposit function for depositing reward tokens
  • Default time-unit and rewards will apply for all token-Ids unless specific values are set for a token

1.0.2 Release Notes

Updated display name, from EditionStake to StakeERC1155

DEFAULT_ADMIN_ROLE

view

No inputs required