Based on the creation of GameFi in the metaverse world, in First Doge, all user assets are obtained by on-chain contracts. By participating in First Doge's Game system, players can not only get Token rewards, but also gain rare NFTs props.
First Doge uses the BSC public chain framework, solidity technical language, and octane rendering technology to develop, create and build a metaverse chain game with WEB3.0 characteristics, combine DeFi economic logic, and NFT transaction mode to create a virtuous circle of ecological value.
In the First Doge ecological environment, the dual Token model is used, which is composed of the governance token FirstDoge and the game token SecondDoge. Among them, FirstDoge is entirely composed of holders to form a Dao organization for joint governance planning, and the governance token FirstDoge will also serve as the entire MEME+GameFi The only NFTs exchange token in the ecology, which can be used for the exchange of props and treasure chests in the game ecology. SecondDoge, as a game token, is 100% produced through game logic, and it will also be the embodiment of value in the entire MEME+GameFi ecosystem.
First Doge Safety
FirstDoge uses Binance Smart Chain to provide proof-of-stake consensus that relies on 21 validators to provide decentralized services and drive community participation.
Transaction fee: 10%
3% on-chain contract recycling
2% dividends for global holders
5% of black holes are permanently destroyed
As the only governance token in the entire MEME+GameFi ecosystem, FirstDoge will be governed by the Dao organization jointly established by the holders of FirstDoge. Its purpose is to realize the decentralization technology of WEB3. The value created is returned to users and participants. At the same time, FirstDoge will also follow the development principles of the Dao organization, and the number of FirstDoge tokens held will run for the governance committee, thereby effectively improving the even distribution of online power and control, which will also It exists in the hands of every participant on the blockchain.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
FirstDoge._tokenTransfer(address,address,uint256,bool) (#455-504) performs a multiplication on the result of a division:
-_rOwned[recipient] = _rOwned[recipient].add(rAmount.div(100).mul(recipientRate)) (#500-502)
FirstDoge._tokenTransfer(address,address,uint256,bool) (#455-504) performs a multiplication on the result of a division:
-Transfer(sender,recipient,tAmount.div(100).mul(recipientRate)) (#503)
Consider ordering multiplication before division.
Additional information: link
FirstDoge._destroyAddress (#247-248) should be constant
FirstDoge._tTotalFeeMax (#238) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#92-94)
changeOwner(address) should be declared external:
- Ownable.changeOwner(address) (#104-106)
name() should be declared external:
- FirstDoge.name() (#277-279)
symbol() should be declared external:
- FirstDoge.symbol() (#281-283)
decimals() should be declared external:
- FirstDoge.decimals() (#285-287)
totalSupply() should be declared external:
- FirstDoge.totalSupply() (#289-291)
transfer(address,uint256) should be declared external:
- FirstDoge.transfer(address,uint256) (#297-304)
allowance(address,address) should be declared external:
- FirstDoge.allowance(address,address) (#306-313)
approve(address,uint256) should be declared external:
- FirstDoge.approve(address,uint256) (#315-322)
transferFrom(address,address,uint256) should be declared external:
- FirstDoge.transferFrom(address,address,uint256) (#324-339)
increaseAllowance(address,uint256) should be declared external:
- FirstDoge.increaseAllowance(address,uint256) (#341-352)
decreaseAllowance(address,uint256) should be declared external:
- FirstDoge.decreaseAllowance(address,uint256) (#354-368)
totalFees() should be declared external:
- FirstDoge.totalFees() (#370-372)
excludeFromFee(address) should be declared external:
- FirstDoge.excludeFromFee(address) (#387-389)
includeInFee(address) should be declared external:
- FirstDoge.includeInFee(address) (#391-393)
claimTokens() should be declared external:
- FirstDoge.claimTokens() (#410-412)
isExcludedFromFee(address) should be declared external:
- FirstDoge.isExcludedFromFee(address) (#414-416)
changeRouter(address) should be declared external:
- FirstDoge.changeRouter(address) (#523-525)
Use the external attribute for functions never called from the contract.
Additional information: link
FirstDoge._tokenTransfer(address,address,uint256,bool).rate (#466) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
FirstDoge.allowance(address,address).owner (#306) shadows:
- Ownable.owner() (#92-94) (function)
FirstDoge._approve(address,address,uint256).owner (#419) shadows:
- Ownable.owner() (#92-94) (function)
Rename the local variables that shadow another component.
Additional information: link
Ownable.changeOwner(address) (#104-106) should emit an event for:
- _owner = newOwner (#105)
Emit an event for critical parameter changes.
Additional information: link
Ownable.changeOwner(address).newOwner (#104) lacks a zero-check on :
- _owner = newOwner (#105)
FirstDoge.constructor(address,address,address).fund1Address (#254) lacks a zero-check on :
- _fund1Address = fund1Address (#271)
FirstDoge.constructor(address,address,address).fund2Address (#254) lacks a zero-check on :
- _fund2Address = fund2Address (#272)
FirstDoge.changeRouter(address).router (#523) lacks a zero-check on :
- uniswapV2Pair = router (#524)
Check that the address is not zero.
Additional information: link
Variable Ownable._owner (#87) is not in mixedCase
Variable FirstDoge._tTotalFeeMax (#238) is not in mixedCase
Variable FirstDoge._destroyMax (#246) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable FirstDoge._fund1Address (#251) is too similar to FirstDoge._fund2Address (#252)
Variable FirstDoge.constructor(address,address,address).fund1Address (#254) is too similar to FirstDoge.constructor(address,address,address).fund2Address (#254)
Prevent variables from having similar names.
Additional information: link
FirstDoge.constructor(address,address,address) (#254-275) uses literals with too many digits:
- _tTotal = 10000000 * 10 ** 8 * 10 ** _decimals (#259)
FirstDoge.slitherConstructorVariables() (#227-527) uses literals with too many digits:
- _destroyAddress = address(0x000000000000000000000000000000000000dEaD) (#247-248)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
FirstDoge._tOwned (#231) is never used in FirstDoge (#227-527)
Remove unused state variables.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find token contract audit
Unable to find audit link on the website
Unable to find whitepaper 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 scam / price dump / death
Token has relatively low CoinGecko rank
Last post in Twitter was more than 30 days ago
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account
Unable to find Discord account