Biswap Token Logo

BSW [Biswap] Token

About BSW

Listings

Token 2 years
CoinGecko 2 years
CoinMarketCap 2 years

Website

white paper

Biswap is the first decentralized exchange platform on the market with a three-type referral system and the lowest platform transaction fees (0.1%). We are a decentralized exchange platform for swapping BEP-20 tokens on the Binance Smart Chain network. This network guarantees superior speed and much lower network transaction cost.

Social

Laser Scorebeta Last Audit: 9 September 2023

report
Token seems to be legit.

BSWToken._writeCheckpoint(address,uint32,uint256,uint256) (#1227-1245) uses a dangerous strict equality:
- nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber (#1237)
Don't use strict equality to determine if an account has enough Ether or tokens.

Additional information: link

BSWToken.delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32) (#1093-1134) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now <= expiry,BSW::delegateBySig: signature expired) (#1132)
Avoid relying on block.timestamp.

Additional information: link

Address._functionCallWithValue(address,bytes,uint256,string) (#471-497) uses assembly
- INLINE ASM (#489-492)
Address.isContract(address) (#363-374) uses assembly
- INLINE ASM (#370-372)
BSWToken.getChainId() (#1252-1256) uses assembly
- INLINE ASM (#1254)
Do not use evm assembly.

Additional information: link

Redundant expression "this (#13)" inContext (#3-16)
Remove redundant statements if they congest code but offer no value.

Additional information: link

Parameter BSWToken.mint(address,uint256)._to (#1022) is not in mixedCase
Constant BEP20._preMineSupply (#501) is not in UPPER_CASE_WITH_UNDERSCORES
Constant BEP20._maxSupply (#502) is not in UPPER_CASE_WITH_UNDERSCORES
Variable BSWToken._delegates (#1035) is not in mixedCase
Parameter BSWToken.delMinter(address)._delMinter (#1264) is not in mixedCase
Parameter BSWToken.getMinter(uint256)._index (#1277) is not in mixedCase
Parameter BSWToken.mint(address,uint256)._amount (#1022) is not in mixedCase
Parameter BSWToken.addMinter(address)._addMinter (#1259) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

BSWToken.slitherConstructorConstantVariables() (#1017-1288) uses literals with too many digits:
- _preMineSupply = 10000000 * 1e18 (#501)
BSWToken.slitherConstructorConstantVariables() (#1017-1288) uses literals with too many digits:
- _maxSupply = 700000000 * 1e18 (#502)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

BEP20.allowance(address,address).owner (#600) shadows:
- Ownable.owner() (#34-36) (function)
BEP20.constructor(string,string).symbol (#526) shadows:
- BEP20.symbol() (#558-560) (function)
- IBEP20.symbol() (#93) (function)
BEP20._approve(address,address,uint256).owner (#775) shadows:
- Ownable.owner() (#34-36) (function)
BEP20.constructor(string,string).name (#526) shadows:
- BEP20.name() (#544-546) (function)
- IBEP20.name() (#98) (function)
Rename the local variables that shadow another component.

Additional information: link

SafeMath.mul(uint256,uint256) (#236-248) is never used and should be removed
Address.sendValue(address,uint256) (#392-398) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#447-453) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#984-986) is never used and should be removed
SafeMath.sqrt(uint256) (#332-343) is never used and should be removed
BEP20._burnFrom(address,uint256) (#792-799) is never used and should be removed
BEP20._burn(address,uint256) (#753-759) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#991-993) is never used and should be removed
SafeMath.min(uint256,uint256) (#327-329) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#318-325) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#461-469) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#278-288) is never used and should be removed
Context._msgData() (#12-15) is never used and should be removed
SafeMath.mod(uint256,uint256) (#302-304) is never used and should be removed
SafeMath.div(uint256,uint256) (#262-264) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#998-1000) is never used and should be removed
Address._functionCallWithValue(address,bytes,uint256,string) (#471-497) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#1012-1014) is never used and should be removed
Address.isContract(address) (#363-374) is never used and should be removed
Address.functionCall(address,bytes,string) (#428-434) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#974-976) is never used and should be removed
Address.functionCall(address,bytes) (#418-420) is never used and should be removed
Remove unused functions.

Additional information: link

Low level call in Address.sendValue(address,uint256) (#392-398):
- (success) = recipient.call{value: amount}() (#396)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#471-497):
- (success,returndata) = target.call{value: weiValue}(data) (#480)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (#592-595)
symbol() should be declared external:
- BEP20.symbol() (#558-560)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#53-56)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (#611-614)
delMinter(address) should be declared external:
- BSWToken.delMinter(address) (#1264-1267)
getMinter(uint256) should be declared external:
- BSWToken.getMinter(uint256) (#1277-1280)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (#628-640)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#62-64)
mint(uint256) should be declared external:
- BEP20.mint(uint256) (#690-693)
preMineSupply() should be declared external:
- BEP20.preMineSupply() (#569-571)
mint(address,uint256) should be declared external:
- BSWToken.mint(address,uint256) (#1022-1026)
allowance(address,address) should be declared external:
- BEP20.allowance(address,address) (#600-602)
maxSupply() should be declared external:
- BEP20.maxSupply() (#573-575)
totalSupply() should be declared external:
- BEP20.totalSupply() (#565-567)
decimals() should be declared external:
- BEP20.decimals() (#551-553)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (#654-657)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (#673-680)
addMinter(address) should be declared external:
- BSWToken.addMinter(address) (#1259-1262)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:
No disclosed threats


Twitter account link seems to be invalid


Unable to find Discord account

No disclosed threats
No disclosed threats

Price for BSW