World Token Token Logo

WORLD Token

About WORLD

Listings

Token 5 years
CoinGecko 5 years
CoinMarketCap 5 years
white paper

Global digital marketplace rewarding both users and merchants on every transaction.

Social

Laser Scorebeta Last Audit: 27 June 2022

report
Token seems to be legit.


Contract ownership is not renounced (belongs to a wallet)

WorldToken.allowance(address,address)._owner (contracts/WorldToken.sol#125) shadows:
- Ownable._owner (@openzeppelin/contracts/access/Ownable.sol#19) (state variable)
WorldToken._approve(address,address,uint256)._owner (contracts/WorldToken.sol#238) shadows:
- Ownable._owner (@openzeppelin/contracts/access/Ownable.sol#19) (state variable)
Rename the local variables that shadow another component.

Additional information: link

WorldToken.setTaxPercentage(uint256) (contracts/WorldToken.sol#530-533) should emit an event for:
- taxPercentage = _taxPercentage (contracts/WorldToken.sol#532)
WorldToken.setTaxAllocations(uint256,uint256,uint256,uint256) (contracts/WorldToken.sol#535-552) should emit an event for:
- totalTaxAlloc = _holderTaxAlloc.add(_marketingTaxAlloc).add(_lpTaxAlloc).add(_merchantTaxAlloc) (contracts/WorldToken.sol#541)
- holderTaxAlloc = _holderTaxAlloc (contracts/WorldToken.sol#548)
- marketingTaxAlloc = _marketingTaxAlloc (contracts/WorldToken.sol#549)
- lpTaxAlloc = _lpTaxAlloc (contracts/WorldToken.sol#550)
- merchantTaxAlloc = _merchantTaxAlloc (contracts/WorldToken.sol#551)
Emit an event for critical parameter changes.

Additional information: link

WorldToken.constructor(address)._marketingAddress (contracts/WorldToken.sol#80) lacks a zero-check on :
- marketingAddress = _marketingAddress (contracts/WorldToken.sol#84)
WorldToken.setMarketingAddress(address)._marketingAddress (contracts/WorldToken.sol#554) lacks a zero-check on :
- marketingAddress = _marketingAddress (contracts/WorldToken.sol#555)
WorldToken.setLpStakingAddress(address)._lpStakingAddress (contracts/WorldToken.sol#558) lacks a zero-check on :
- lpStakingAddress = _lpStakingAddress (contracts/WorldToken.sol#559)
WorldToken.setMerchantStakingAddress(address)._merchantStakingAddress (contracts/WorldToken.sol#562) lacks a zero-check on :
- merchantStakingAddress = _merchantStakingAddress (contracts/WorldToken.sol#563)
Check that the address is not zero.

Additional information: link

Address.isContract(address) (@openzeppelin/contracts/utils/Address.sol#26-35) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#33)
Address._verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#171-188) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#180-183)
Do not use evm assembly.

Additional information: link

Different versions of Solidity is used:
- Version used: ['0.7.4', '>=0.6.0<0.8.0', '>=0.6.2<0.8.0']
- >=0.6.0<0.8.0 (@openzeppelin/contracts/GSN/Context.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/math/SafeMath.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3)
- >=0.6.2<0.8.0 (@openzeppelin/contracts/utils/Address.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/utils/Context.sol#3)
- 0.7.4 (contracts/WorldToken.sol#37)
Use one Solidity version.

Additional information: link

WorldToken.includeInRewards(address) (contracts/WorldToken.sol#223-235) has costly operations inside a loop:
- rewardExcluded.pop() (contracts/WorldToken.sol#231)
Use a local variable to hold the loop computation result.

Additional information: link

Address._verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#171-188) is never used and should be removed
Address.functionCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#79-81) is never used and should be removed
Address.functionCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#89-91) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (@openzeppelin/contracts/utils/Address.sol#104-106) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#114-121) is never used and should be removed
Address.functionDelegateCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#153-155) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#163-169) is never used and should be removed
Address.functionStaticCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#129-131) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#139-145) is never used and should be removed
Address.isContract(address) (@openzeppelin/contracts/utils/Address.sol#26-35) is never used and should be removed
Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#53-59) is never used and should be removed
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-23) is never used and should be removed
SafeMath.div(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#190-193) is never used and should be removed
SafeMath.mod(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#152-155) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#210-213) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#24-28) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#60-63) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#70-73) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#45-53) is never used and should be removed
SafeMath.trySub(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#35-38) is never used and should be removed
Remove unused functions.

Additional information: link

WorldToken.totalTaxAlloc (contracts/WorldToken.sol#74) is set pre-construction with a non-constant function or state variable:
- marketingTaxAlloc.add(holderTaxAlloc).add(lpTaxAlloc).add(merchantTaxAlloc)
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.

Additional information: link

Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/GSN/Context.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/math/SafeMath.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3) is too complex
Pragma version>=0.6.2<0.8.0 (@openzeppelin/contracts/utils/Address.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/utils/Context.sol#3) is too complex
Pragma version0.7.4 (contracts/WorldToken.sol#37) allows old versions
solc-0.7.4 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#53-59):
- (success) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#57)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#114-121):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#119)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#139-145):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#143)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#163-169):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#167)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

Parameter WorldToken.balanceOf(address)._account (contracts/WorldToken.sol#113) is not in mixedCase
Parameter WorldToken.transfer(address,uint256)._recipient (contracts/WorldToken.sol#120) is not in mixedCase
Parameter WorldToken.transfer(address,uint256)._amount (contracts/WorldToken.sol#120) is not in mixedCase
Parameter WorldToken.allowance(address,address)._owner (contracts/WorldToken.sol#125) is not in mixedCase
Parameter WorldToken.allowance(address,address)._spender (contracts/WorldToken.sol#125) is not in mixedCase
Parameter WorldToken.approve(address,uint256)._spender (contracts/WorldToken.sol#129) is not in mixedCase
Parameter WorldToken.approve(address,uint256)._amount (contracts/WorldToken.sol#129) is not in mixedCase
Parameter WorldToken.transferFrom(address,address,uint256)._sender (contracts/WorldToken.sol#135) is not in mixedCase
Parameter WorldToken.transferFrom(address,address,uint256)._recipient (contracts/WorldToken.sol#136) is not in mixedCase
Parameter WorldToken.transferFrom(address,address,uint256)._amount (contracts/WorldToken.sol#137) is not in mixedCase
Parameter WorldToken.increaseAllowance(address,uint256)._spender (contracts/WorldToken.sol#150) is not in mixedCase
Parameter WorldToken.increaseAllowance(address,uint256)._addedValue (contracts/WorldToken.sol#150) is not in mixedCase
Parameter WorldToken.decreaseAllowance(address,uint256)._spender (contracts/WorldToken.sol#155) is not in mixedCase
Parameter WorldToken.decreaseAllowance(address,uint256)._subtractedValue (contracts/WorldToken.sol#155) is not in mixedCase
Parameter WorldToken.isExcludedFromRewards(address)._account (contracts/WorldToken.sol#164) is not in mixedCase
Parameter WorldToken.isExcludedFromFees(address)._account (contracts/WorldToken.sol#168) is not in mixedCase
Parameter WorldToken.distribute(uint256)._actualAmount (contracts/WorldToken.sol#192) is not in mixedCase
Parameter WorldToken.excludeFromFees(address)._account (contracts/WorldToken.sol#202) is not in mixedCase
Parameter WorldToken.includeInFees(address)._account (contracts/WorldToken.sol#207) is not in mixedCase
Parameter WorldToken.excludeFromRewards(address)._account (contracts/WorldToken.sol#212) is not in mixedCase
Parameter WorldToken.includeInRewards(address)._account (contracts/WorldToken.sol#223) is not in mixedCase
Parameter WorldToken.rewardsFromToken(uint256,bool)._actualAmount (contracts/WorldToken.sol#419) is not in mixedCase
Parameter WorldToken.rewardsFromToken(uint256,bool)._deductTransferFee (contracts/WorldToken.sol#419) is not in mixedCase
Parameter WorldToken.tokenWithRewards(uint256)._rewardAmount (contracts/WorldToken.sol#430) is not in mixedCase
Parameter WorldToken.setTaxPercentage(uint256)._taxPercentage (contracts/WorldToken.sol#530) is not in mixedCase
Parameter WorldToken.setTaxAllocations(uint256,uint256,uint256,uint256)._holderTaxAlloc (contracts/WorldToken.sol#536) is not in mixedCase
Parameter WorldToken.setTaxAllocations(uint256,uint256,uint256,uint256)._marketingTaxAlloc (contracts/WorldToken.sol#537) is not in mixedCase
Parameter WorldToken.setTaxAllocations(uint256,uint256,uint256,uint256)._lpTaxAlloc (contracts/WorldToken.sol#538) is not in mixedCase
Parameter WorldToken.setTaxAllocations(uint256,uint256,uint256,uint256)._merchantTaxAlloc (contracts/WorldToken.sol#539) is not in mixedCase
Parameter WorldToken.setMarketingAddress(address)._marketingAddress (contracts/WorldToken.sol#554) is not in mixedCase
Parameter WorldToken.setLpStakingAddress(address)._lpStakingAddress (contracts/WorldToken.sol#558) is not in mixedCase
Parameter WorldToken.setMerchantStakingAddress(address)._merchantStakingAddress (contracts/WorldToken.sol#562) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Redundant expression "this (@openzeppelin/contracts/utils/Context.sol#21)" inContext (@openzeppelin/contracts/utils/Context.sol#15-24)
Remove redundant statements if they congest code but offer no value.

Additional information: link

WorldToken.constructor(address) (contracts/WorldToken.sol#80-95) uses literals with too many digits:
- excludeFromFees(address(0x000000000000000000000000000000000000dEaD)) (contracts/WorldToken.sol#94)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (@openzeppelin/contracts/access/Ownable.sol#54-57)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (@openzeppelin/contracts/access/Ownable.sol#63-67)
balanceOf(address) should be declared external:
- WorldToken.balanceOf(address) (contracts/WorldToken.sol#113-118)
transfer(address,uint256) should be declared external:
- WorldToken.transfer(address,uint256) (contracts/WorldToken.sol#120-123)
allowance(address,address) should be declared external:
- WorldToken.allowance(address,address) (contracts/WorldToken.sol#125-127)
approve(address,uint256) should be declared external:
- WorldToken.approve(address,uint256) (contracts/WorldToken.sol#129-132)
transferFrom(address,address,uint256) should be declared external:
- WorldToken.transferFrom(address,address,uint256) (contracts/WorldToken.sol#134-148)
increaseAllowance(address,uint256) should be declared external:
- WorldToken.increaseAllowance(address,uint256) (contracts/WorldToken.sol#150-153)
decreaseAllowance(address,uint256) should be declared external:
- WorldToken.decreaseAllowance(address,uint256) (contracts/WorldToken.sol#155-162)
distribute(uint256) should be declared external:
- WorldToken.distribute(uint256) (contracts/WorldToken.sol#192-200)
includeInFees(address) should be declared external:
- WorldToken.includeInFees(address) (contracts/WorldToken.sol#207-210)
includeInRewards(address) should be declared external:
- WorldToken.includeInRewards(address) (contracts/WorldToken.sol#223-235)
rewardsFromToken(uint256,bool) should be declared external:
- WorldToken.rewardsFromToken(uint256,bool) (contracts/WorldToken.sol#419-428)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:

Contract has 3% buy tax and 2% sell tax.
Taxes are low but contract ownership is not renounced. Token has a high risk of becoming a honeypot.


Average 30d number of PancakeSwap swaps is low.


Unable to find Youtube account


Unable to find Discord account


Token is not listed at Mobula.Finance

Additional information: link


Unable to find token on CoinHunt

Additional information: link

No disclosed threats

Price for WORLD

News for WORLD