A paradise for pioneering musicians Online Woodstock, Utopia for music creators. Music is the most unrestrained way to propagate inspiration. We are committed to creating a self-sustaining and liberated ecosystem for pioneer music. Our DAO governance makes sure every creator is treated fairly and their music inspiration can grow.
Contract ownership is not renounced (belongs to a wallet)
Address.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#201-221) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#213-216)
Do not use evm assembly.
Additional information: link
Different versions of Solidity is used:
- Version used: ['0.8.9', '>=0.8.9', '^0.8.0', '^0.8.1']
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
- ^0.8.1 (@openzeppelin/contracts/utils/Address.sol#4)
- ^0.8.0 (@openzeppelin/contracts/utils/Context.sol#4)
- >=0.8.9 (contracts/pegged/tokens/MintSwapCanonicalToken.sol#3)
- 0.8.9 (contracts/pegged/tokens/MultiBridgeToken.sol#3)
- ^0.8.0 (contracts/safeguard/Ownable.sol#3)
Use one Solidity version.
Additional information: link
Address.functionCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#85-87) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (@openzeppelin/contracts/utils/Address.sol#114-120) is never used and should be removed
Address.functionDelegateCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#174-176) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#184-193) is never used and should be removed
Address.functionStaticCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#147-149) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#157-166) is never used and should be removed
Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#60-65) is never used and should be removed
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#21-23) is never used and should be removed
Ownable.initOwner() (contracts/safeguard/Ownable.sol#37-40) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#45-58) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#69-80) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#60-67) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4) allows old versions
Pragma version^0.8.1 (@openzeppelin/contracts/utils/Address.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Context.sol#4) allows old versions
Pragma version>=0.8.9 (contracts/pegged/tokens/MintSwapCanonicalToken.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
Pragma version0.8.9 (contracts/pegged/tokens/MultiBridgeToken.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
Pragma version^0.8.0 (contracts/safeguard/Ownable.sol#3) allows old versions
solc-0.8.9 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Low level call in Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#137)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#157-166):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#184-193):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#191)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Parameter MintSwapCanonicalToken.swapBridgeForCanonical(address,uint256)._bridgeToken (contracts/pegged/tokens/MintSwapCanonicalToken.sol#30) is not in mixedCase
Parameter MintSwapCanonicalToken.swapBridgeForCanonical(address,uint256)._amount (contracts/pegged/tokens/MintSwapCanonicalToken.sol#30) is not in mixedCase
Parameter MintSwapCanonicalToken.swapCanonicalForBridge(address,uint256)._bridgeToken (contracts/pegged/tokens/MintSwapCanonicalToken.sol#48) is not in mixedCase
Parameter MintSwapCanonicalToken.swapCanonicalForBridge(address,uint256)._amount (contracts/pegged/tokens/MintSwapCanonicalToken.sol#48) is not in mixedCase
Parameter MintSwapCanonicalToken.setBridgeTokenSwapCap(address,uint256)._bridgeToken (contracts/pegged/tokens/MintSwapCanonicalToken.sol#65) is not in mixedCase
Parameter MintSwapCanonicalToken.setBridgeTokenSwapCap(address,uint256)._swapCap (contracts/pegged/tokens/MintSwapCanonicalToken.sol#65) is not in mixedCase
Parameter MultiBridgeToken.mint(address,uint256)._to (contracts/pegged/tokens/MultiBridgeToken.sol#30) is not in mixedCase
Parameter MultiBridgeToken.mint(address,uint256)._amount (contracts/pegged/tokens/MultiBridgeToken.sol#30) is not in mixedCase
Parameter MultiBridgeToken.burn(address,uint256)._from (contracts/pegged/tokens/MultiBridgeToken.sol#39) is not in mixedCase
Parameter MultiBridgeToken.burn(address,uint256)._amount (contracts/pegged/tokens/MultiBridgeToken.sol#39) is not in mixedCase
Parameter MultiBridgeToken.updateBridgeSupplyCap(address,uint256)._bridge (contracts/pegged/tokens/MultiBridgeToken.sol#51) is not in mixedCase
Parameter MultiBridgeToken.updateBridgeSupplyCap(address,uint256)._cap (contracts/pegged/tokens/MultiBridgeToken.sol#51) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
name() should be declared external:
- ERC20.name() (@openzeppelin/contracts/token/ERC20/ERC20.sol#62-64)
symbol() should be declared external:
- ERC20.symbol() (@openzeppelin/contracts/token/ERC20/ERC20.sol#70-72)
decimals() should be declared external:
- ERC20.decimals() (@openzeppelin/contracts/token/ERC20/ERC20.sol#87-89)
- MultiBridgeToken.decimals() (contracts/pegged/tokens/MultiBridgeToken.sol#47-49)
totalSupply() should be declared external:
- ERC20.totalSupply() (@openzeppelin/contracts/token/ERC20/ERC20.sol#94-96)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (@openzeppelin/contracts/token/ERC20/ERC20.sol#101-103)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#113-117)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#136-140)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#158-167)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#181-185)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#201-210)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (contracts/safeguard/Ownable.sol#61-64)
Use the external attribute for functions never called from the contract.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to verify token contract address on the website
Unable to find audit link on the website
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Unable to find Youtube account