Dogecoin is a cryptocurrency based on the popular "Doge" Internet meme and features a Shiba Inu on its logo. Dogecoin is a <a href="/coins/litecoin">Litecoin</a> fork. Introduced as a "joke currency" on 6 December 2013, Dogecoin quickly developed its own online community and reached a capitalization of US$60 million in January 2014. Compared with other cryptocurrencies, Dogecoin had a fast initial coin production schedule: 100 billion coins were in circulation by mid-2015, with an additional 5.256 billion coins every year thereafter. As of 30 June 2015, the 100 billionth Dogecoin had been mined.
Dogecoin was created by Billy Markus from Portland, Oregon and Jackson Palmer from Sydney, Australia. Both wanted to create a fun cryptocurrency that will appeal beyond the core Bitcoin audience. Dogecoin is primarily used as a tipping system on Reddit and Twitter where users tip each other for creating or sharing good content. The community is very active in organising fundraising activities for deserving causes.
The developers of Dogecoin haven’t made any major changes to the coin since 2015. This means that Dogecoin could get left behind and is why Shibas are leaving Dogecoin to join more advanced platforms like Ethereum. One of Dogecoin strengths is its relaxed and fun-loving community. However, this is also a weakness because other currencies are way more professional.
To purchase Dogecoin, it involves downloading a crypto wallet, setting up a crypto exchange account and then trading away for your desired crypto currency. Once we have set up an account with a DOGE currency exchange and deposited some funds, you are ready to start trading.
ERC20.mintCore(address,uint256) (ERC20.sol#92-99) has costly operations inside a loop:
- totalSupply += _amount (ERC20.sol#96)
Use a local variable to hold the loop computation result.
Additional information: link
SafelyOwned.transferOwnership(address)._newOwner (SafelyOwned.sol#20) lacks a zero-check on :
- pendingOwner = _newOwner (SafelyOwned.sol#22)
Check that the address is not zero.
Additional information: link
ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (ERC20.sol#133-143) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= _deadline,Deadline expired) (ERC20.sol#135)
Avoid relying on block.timestamp.
Additional information: link
setMinter(address,bool) should be declared external:
- Dogecoin.setMinter(address,bool) (Dogecoin.sol#17-21)
joinParty(address,uint256,uint256,uint8,bytes32,bytes32) should be declared external:
- Dogecoin.joinParty(address,uint256,uint256,uint8,bytes32,bytes32) (Dogecoin.sol#23-34)
multiJoinParty(JoinPartyInstruction[]) should be declared external:
- Dogecoin.multiJoinParty(JoinPartyInstruction[]) (Dogecoin.sol#36-58)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (ERC20.sol#52-55)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (ERC20.sol#57-60)
burn(uint256) should be declared external:
- ERC20.burn(uint256) (ERC20.sol#110-113)
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) should be declared external:
- ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (ERC20.sol#133-143)
transferOwnership(address) should be declared external:
- SafelyOwned.transferOwnership(address) (SafelyOwned.sol#20-23)
claimOwnership() should be declared external:
- SafelyOwned.claimOwnership() (SafelyOwned.sol#25-31)
recoverTokens(IERC20) should be declared external:
- SafelyOwned.recoverTokens(IERC20) (SafelyOwned.sol#33-37)
recoverETH() should be declared external:
- SafelyOwned.recoverETH() (SafelyOwned.sol#44-49)
Use the external attribute for functions never called from the contract.
Additional information: link
Pragma version^0.8.0 (Address.sol#2) allows old versions
Pragma version^0.8.0 (Dogecoin.sol#2) allows old versions
Pragma version^0.8.0 (ERC20.sol#2) allows old versions
Pragma version^0.8.0 (IDogecoin.sol#2) allows old versions
Pragma version^0.8.0 (IERC20.sol#2) allows old versions
Pragma version^0.8.0 (ISafelyOwned.sol#2) allows old versions
Pragma version^0.8.0 (SafeERC20.sol#2) allows old versions
Pragma version^0.8.0 (SafelyOwned.sol#2) allows old versions
solc-0.8.0 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
Address.isContract(address) (Address.sol#26-35) uses assembly
- INLINE ASM (Address.sol#33)
Address._verifyCallResult(bool,bytes,string) (Address.sol#171-188) uses assembly
- INLINE ASM (Address.sol#180-183)
Do not use evm assembly.
Additional information: link
Low level call in Address.sendValue(address,uint256) (Address.sol#53-59):
- (success) = recipient.call{value: amount}() (Address.sol#57)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (Address.sol#114-121):
- (success,returndata) = target.call{value: value}(data) (Address.sol#119)
Low level call in Address.functionStaticCall(address,bytes,string) (Address.sol#139-145):
- (success,returndata) = target.staticcall(data) (Address.sol#143)
Low level call in Address.functionDelegateCall(address,bytes,string) (Address.sol#163-169):
- (success,returndata) = target.delegatecall(data) (Address.sol#167)
Low level call in SafelyOwned.recoverETH() (SafelyOwned.sol#44-49):
- (success) = msg.sender.call{value: address(this).balance}() (SafelyOwned.sol#47)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Address.functionCall(address,bytes) (Address.sol#79-81) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (Address.sol#104-106) is never used and should be removed
Address.functionDelegateCall(address,bytes) (Address.sol#153-155) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (Address.sol#163-169) is never used and should be removed
Address.functionStaticCall(address,bytes) (Address.sol#129-131) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (Address.sol#139-145) is never used and should be removed
Address.sendValue(address,uint256) (Address.sol#53-59) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (SafeERC20.sol#35-37) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (SafeERC20.sol#24-26) is never used and should be removed
Remove unused functions.
Additional information: link
Parameter Dogecoin.setMinter(address,bool)._minter (Dogecoin.sol#17) is not in mixedCase
Parameter Dogecoin.setMinter(address,bool)._canMint (Dogecoin.sol#17) is not in mixedCase
Parameter Dogecoin.joinParty(address,uint256,uint256,uint8,bytes32,bytes32)._to (Dogecoin.sol#23) is not in mixedCase
Parameter Dogecoin.joinParty(address,uint256,uint256,uint8,bytes32,bytes32)._amount (Dogecoin.sol#23) is not in mixedCase
Parameter Dogecoin.joinParty(address,uint256,uint256,uint8,bytes32,bytes32)._instructionId (Dogecoin.sol#23) is not in mixedCase
Parameter Dogecoin.joinParty(address,uint256,uint256,uint8,bytes32,bytes32)._v (Dogecoin.sol#23) is not in mixedCase
Parameter Dogecoin.joinParty(address,uint256,uint256,uint8,bytes32,bytes32)._r (Dogecoin.sol#23) is not in mixedCase
Parameter Dogecoin.joinParty(address,uint256,uint256,uint8,bytes32,bytes32)._s (Dogecoin.sol#23) is not in mixedCase
Parameter Dogecoin.multiJoinParty(JoinPartyInstruction[])._instructions (Dogecoin.sol#36) is not in mixedCase
Parameter Dogecoin.crossBridge(address,uint256)._controller (Dogecoin.sol#60) is not in mixedCase
Parameter Dogecoin.crossBridge(address,uint256)._amount (Dogecoin.sol#60) is not in mixedCase
Parameter Dogecoin.transfer(address,uint256)._to (Dogecoin.sol#66) is not in mixedCase
Parameter Dogecoin.transfer(address,uint256)._amount (Dogecoin.sol#66) is not in mixedCase
Parameter Dogecoin.transferFrom(address,address,uint256)._from (Dogecoin.sol#75) is not in mixedCase
Parameter Dogecoin.transferFrom(address,address,uint256)._to (Dogecoin.sol#75) is not in mixedCase
Parameter Dogecoin.transferFrom(address,address,uint256)._amount (Dogecoin.sol#75) is not in mixedCase
Constant Dogecoin.url (Dogecoin.sol#10) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Dogecoin.joinPartyTypeHash (Dogecoin.sol#15) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter ERC20.approveCore(address,address,uint256)._owner (ERC20.sol#40) is not in mixedCase
Parameter ERC20.approveCore(address,address,uint256)._spender (ERC20.sol#40) is not in mixedCase
Parameter ERC20.approveCore(address,address,uint256)._amount (ERC20.sol#40) is not in mixedCase
Parameter ERC20.approve(address,uint256)._spender (ERC20.sol#47) is not in mixedCase
Parameter ERC20.approve(address,uint256)._amount (ERC20.sol#47) is not in mixedCase
Parameter ERC20.increaseAllowance(address,uint256)._spender (ERC20.sol#52) is not in mixedCase
Parameter ERC20.increaseAllowance(address,uint256)._toAdd (ERC20.sol#52) is not in mixedCase
Parameter ERC20.decreaseAllowance(address,uint256)._spender (ERC20.sol#57) is not in mixedCase
Parameter ERC20.decreaseAllowance(address,uint256)._toRemove (ERC20.sol#57) is not in mixedCase
Parameter ERC20.transfer(address,uint256)._to (ERC20.sol#62) is not in mixedCase
Parameter ERC20.transfer(address,uint256)._amount (ERC20.sol#62) is not in mixedCase
Parameter ERC20.transferFrom(address,address,uint256)._from (ERC20.sol#67) is not in mixedCase
Parameter ERC20.transferFrom(address,address,uint256)._to (ERC20.sol#67) is not in mixedCase
Parameter ERC20.transferFrom(address,address,uint256)._amount (ERC20.sol#67) is not in mixedCase
Parameter ERC20.transferCore(address,address,uint256)._from (ERC20.sol#77) is not in mixedCase
Parameter ERC20.transferCore(address,address,uint256)._to (ERC20.sol#77) is not in mixedCase
Parameter ERC20.transferCore(address,address,uint256)._amount (ERC20.sol#77) is not in mixedCase
Parameter ERC20.mintCore(address,uint256)._to (ERC20.sol#92) is not in mixedCase
Parameter ERC20.mintCore(address,uint256)._amount (ERC20.sol#92) is not in mixedCase
Parameter ERC20.burnCore(address,uint256)._from (ERC20.sol#101) is not in mixedCase
Parameter ERC20.burnCore(address,uint256)._amount (ERC20.sol#101) is not in mixedCase
Parameter ERC20.burn(uint256)._amount (ERC20.sol#110) is not in mixedCase
Function ERC20.DOMAIN_SEPARATOR() (ERC20.sol#115-126) is not in mixedCase
Parameter ERC20.getSigningHash(bytes32)._dataHash (ERC20.sol#128) is not in mixedCase
Parameter ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)._owner (ERC20.sol#133) is not in mixedCase
Parameter ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)._spender (ERC20.sol#133) is not in mixedCase
Parameter ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)._amount (ERC20.sol#133) is not in mixedCase
Parameter ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)._deadline (ERC20.sol#133) is not in mixedCase
Parameter ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)._v (ERC20.sol#133) is not in mixedCase
Parameter ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)._r (ERC20.sol#133) is not in mixedCase
Parameter ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)._s (ERC20.sol#133) is not in mixedCase
Constant ERC20.permitTypeHash (ERC20.sol#19) is not in UPPER_CASE_WITH_UNDERSCORES
Constant ERC20.eip712DomainHash (ERC20.sol#20) is not in UPPER_CASE_WITH_UNDERSCORES
Constant ERC20.versionDomainHash (ERC20.sol#21) is not in UPPER_CASE_WITH_UNDERSCORES
Function IERC20.DOMAIN_SEPARATOR() (IERC20.sol#12) is not in mixedCase
Parameter SafelyOwned.transferOwnership(address)._newOwner (SafelyOwned.sol#20) is not in mixedCase
Parameter SafelyOwned.recoverTokens(IERC20)._token (SafelyOwned.sol#33) is not in mixedCase
Parameter SafelyOwned.canRecoverTokens(IERC20)._token (SafelyOwned.sol#39) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Unable to verify token contract address on the website
Unable to find audit link on the website
Unable to find whitepaper link on the website
Unable to find Telegram link on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find Telegram account
Unable to find Youtube account