ERC20 Signature Mint - Vote
import "@thirdweb-dev/contracts/base/ERC20SignatureMintVote.sol";
The ERC20SignatureMintVote
smart contract adds signature-based minting extension
to the ERC20Vote base contract.
It also implements the ERC20Votes contract, which provides voting and delegation functionality, along with delegation by signature.
Signature minting uses EIP-712, which enables the contract admin to authorize an external party's request to mint tokens on the admin's contract. At a high level, this means you can authorize others to mint tokens on your contract, and specify what exactly will be minted by that external party.
Detected Extensions
Once deployed, you can use the features made available by these extensions on the SDK and dashboard:
Click on each feature to learn more about what functions are available.
- ERC20
- ERC20Mintable
- ERC20BatchMintable
- ERC20SignatureMintable
- ERC20Permit
- PrimarySale
- ContractMetadata
- Ownable
Usage
Import the contract and inherit from it.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/base/ERC20SignatureMintVote.sol";
contract MyToken is ERC20SignatureMintVote {
constructor(
address _defaultAdmin,
string memory _name,
string memory _symbol,
address _primarySaleRecipient
)
ERC20SignatureMintVote(
_defaultAdmin,
_name,
_symbol,
_primarySaleRecipient
)
{}
}
Functions to Override
The following functions have been implemented on this contract & are available to be overridden to add custom logic: