This bounty is no longer available
Web3 DAO | selimerunkut Logo

Feature: nft contract functions overview

Organization

selimerunkut

Deadline

over 1 year ago

Status

ENDED

100 USD

INSTRUCTIONS

Create NFT mint contract that

  • can be paused
  • is upgradeable/updatable
  • allows collections (Master Editions)

with this functionality:

public symbol() Gets the symbols of the token.

public decimals() Gets the amount of decimals used by the token.

public totalSupply() Gets the total token supply deployed in the system.

public transfer(toAddress, tokenId, data) Transfers the token with id tokenId to address toAddress If the transfer is not processed, the function SHOULD return false.

public ownerOf(tokenId) return owner address of the specified token.

OPTIONAL FEATURE - SHOULD BE DECIDED IF ITS NEEDED, BEFORE IMPLEMENTING IT public tokens() Get all tokens minted by the contract

public properties(tokenId) Get Metadata of NFT. The parameter tokenId SHOULD be a valid NFT. If no metadata is found (invalid tokenId), an exception should thrown (if possible) return NFT metadata

public burn(tokenID) Burn a token. param: tokenID: tokenID to burn

public multiBurn(tokenIDs) Burn multiple tokens. param: tokenIDs: list of token IDs to burn

public mint(toAddress, metadata,, royalties) Mint NFT with royalties. param: toAddress: mint NFT to this address param: metadata: the metadata to use for this token param: royalties: the royalties to use for this token

public multiMint(toAddressList, metadataList,, royaltiesList) Mint NFTs with royalties. param: toAddressList: mint NFTs to this list of addresses param: metadataList: the metadata list to use for this multi token mint param: royaltiesList: the royalties list to use for this multi token mint

public getRoyalties(tokenId) Get the royalty values of given tokenId. param: tokenID: get royalties if this tokenID

public pauseContract() Pause the contract, no minting will be possible should be POSSIBLE ONLY by ADMIN/CONTRACT_OWNER