add details about minimetoken

This commit is contained in:
Ricardo Guilherme Schmidt 2023-07-25 12:35:50 -03:00
parent aaba029cb8
commit 2cd0c8f5be
No known key found for this signature in database
GPG Key ID: 3F95A3AD0B607030
1 changed files with 8 additions and 1 deletions

View File

@ -13,3 +13,10 @@ The script `node index.js` uses the configured goerli bridge to bridge 1 STT on
To everything work, .env needs to be created out of .env.example.
All tokens, even on Optimism, are MiniMeToken variant, meaning they save all account's balance change on Ethereum state for democracy contract ballots. Learn more about MiniMeToken on the official repository [Giveth/minime](https://github.com/Giveth/minime).
# Differences from regular MiniMeToken
1. There are 2 functions to mint/burn, one is mint() & generateTokens(), and other is burn() & destroyTokens(). One come from MiniMeToken inheritance, and other comes from IOptimismMintableERC20 inheritance. See more on point 2.
2. MiniMeToken controller (SNTPlaceHolder) is also deployed on Optimism, and it *could* be replaced by another controller that *could* call generateToken function, potentially breaking the bridge, however, if we don't do this change, than it should be fine.
3. MiniMeTokenFactory used in createCloneToken create new MiniMeTokens that are one inheritance down from OptimismMintableMiniMeToken, this is fine, just strange, but it couldnt be different, as clone tokens are not suppoused to be minted by bridge. This function is not even used by us.
4. MiniMeToken `version()` had to be renamed to `token_version()` due a conflict on inheritance and requirements of Optimism. Semver inheritance uses version() and this seems a requirement for Optimism.