Sha256: 6f37210ca476d91f9a2d97658c2ddfdb7aa55dd53096e7590b7fc7ef2b6d90f4
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
pragma :rubidity, "1.0.0" import 'ERC20' contract :PublicMintERC20, is: :ERC20 do uint256 :public, :maxSupply uint256 :public, :perMintLimit constructor( name: :string, symbol: :string, maxSupply: :uint256, perMintLimit: :uint256, decimals: :uint8 ) { ERC20.constructor(name: name, symbol: symbol, decimals: decimals) s.maxSupply = maxSupply s.perMintLimit = perMintLimit } function :mint, { amount: :uint256 }, :public do require(amount > 0, 'Amount must be positive') require(amount <= s.perMintLimit, 'Exceeded mint limit') require(s.totalSupply + amount <= s.maxSupply, 'Exceeded max supply') _mint(to: msg.sender, amount: amount) end function :airdrop, { to: :address, amount: :uint256 }, :public do require(amount > 0, 'Amount must be positive') require(amount <= s.perMintLimit, 'Exceeded mint limit') require(s.totalSupply + amount <= s.maxSupply, 'Exceeded max supply') _mint(to: to, amount: amount) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
0xfacet-contracts-0.0.1 | lib/0xfacet/contracts/PublicMintERC20.rb |