This repository contains two smart contracts: a Stablecoin contract and an ERC721Token contract. These contracts are written in Solidity and designed to work on the Ethereum blockchain.
The Stablecoin contract is a basic implementation of a stablecoin with functionalities for minting, transferring, and approving tokens. It also includes features such as pausing the contract, adding minters, and blacklisting addresses.
- Name, Symbol, and Decimals: Configurable during deployment.
- Minting: Only allowed for addresses marked as minters.
- Pausing: Can pause and unpause the contract.
- Blacklist: Prevents certain addresses from interacting with the contract.
- Transfer: Transfer tokens between addresses.
- Approve: Approve another address to spend tokens on behalf of the owner.
- Transfer From: Transfer tokens on behalf of another address.
TransferApprovalIssued
notBlacklistedonlyOwneronlyMinternotPaused
string memory _namestring memory _symboluint8 _decimalsuint _initialSupplyaddress _owner
The ERC721Token contract is an implementation of a non-fungible token (NFT) using the ERC721 standard with enumerable and ownable extensions. This contract allows the minting of tokens with associated short text metadata.
- Minting: Only the contract owner can mint new tokens.
- Text Metadata: Each token can have associated short text metadata.
- Enumerable: Tokens are enumerable.
- Ownable: Ownership of the contract can be transferred.
mint(address to, uint256 tokenId, string memory text)tokenText(uint256 tokenId) public view returns (string memory)
_setTokenText(uint256 tokenId, string memory text)
_beforeTokenTransfer_burnsupportsInterface