ERC-20 Metadata
Extension of ERC-20 that adds the optional metadata functions from the ERC20 standard.
Usage
In order to make ERC-20 Metadata
methods “external” so that other contracts can call them, you need to add the following code to your contract:
use openzeppelin_stylus::{
token::erc20::{
extensions::Erc20Metadata,
Erc20,
},
};
sol_storage! {
#[entrypoint]
struct Erc20Example {
#[borrow]
Erc20 erc20;
#[borrow]
Erc20Metadata metadata;
}
}
#[public]
#[inherit(Erc20, Erc20Metadata, Capped, Pausable)]
impl Erc20Example {
// ...
}
Additionally, you need to ensure proper initialization during contract deployment. Make sure to include the following code in your Solidity Constructor:
contract Erc20Example {
// ...
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
// ...
_name = name_;
_symbol = symbol_;
// ...
}
}