Obviously its a great work ! but i am asking me… Its it unalterable by developer?
Could I change the name of contract (without ERC20)?
Could I change the name os structure of mappings variables?
Could I change the events structure?
Could I remove the events? Could I change the events name?
What is the EVM real standar and unalterable ERC-20 for proper functioning of a token?
Emmmm, I think IERC20.solcan not be changed if you want to write a standard ERC20 token: openzeppelin-contracts/IERC20.sol.
As for ERC20.sol, I forget to which released version they published makes changes for your target: rewrite ERC20.sol, just like you mentioned ERC20.sol above, all function can be rewrite because they are marked as virtual, that means you can override this function, as for more details, you can have a look at the Solidity documentation: Function Overriding
I think if you want to write a standard ERC20 contract, IERC20.sol is necessary, cause it describes standard functions a token contract can implement. For more details, please check: EIP-20: ERC-20 Token Standard (ethereum.org).
As for ERC20.sol, it is not necessary, you can write a new contract that derivates from ERC20.sol to rewrite it to achieve your own logic or you can write a new contract that directly derivates from IERC20.sol to achieve your logic.
Nope, if you change the variable and function names then you havent implemented the interface correctly, or the ERC20 standard correctly. Think of the interface as a description of what your contract contains.
Thanks. Ok, i understand. Then, my contract needs to respect function names of eip-20, but i supposed that i can change the mapping names that is not declared in eip-20. Its correct?