Alien Worlds Trilium Token Logo

TLM [Alien Worlds Trilium] Token

About TLM


Token 3 years
CoinGecko 3 years
CoinMarketCap 3 years
white paper

Alien Worlds is a DeFi NFT metaverse where you can collect and play with unique digital items.

It is the 19th project on Binance Launchpad, for more information, please refer to <a href="">Binance Announcement Post</a>.

Laser Scorebeta Last Audit: 18 March 2023

Token seems to be legit.

Contract locking ether found:
Contract TeleportToken (#198-462) has payable functions:
- TeleportToken.receive() (#450-452)
But does not have a function to withdraw the ether
Remove the payable attribute or add a withdraw function.

Additional information: link

TeleportToken.updateThreshold(uint8) (#424-434) should emit an event for:
- threshold = newThreshold (#428)
TeleportToken.updateChainId(uint8) (#436-445) should emit an event for:
- thisChainId = newChainId (#439)
Emit an event for critical parameter changes.

Additional information: link

TeleportToken.constructor() (#230-238) uses literals with too many digits:
- _totalSupply = 10000000000 * 10 ** uint256(decimals) (#234)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

Owned.transferOwnership(address)._newOwner (#159) lacks a zero-check on :
- newOwner = _newOwner (#160)
Check that the address is not zero.

Additional information: link

TeleportToken.verifySigData(bytes) (#349-386) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp < SafeMath.add(td.ts,(60 * 60 * 24 * 30)),Teleport has expired) (#379)
Avoid relying on block.timestamp.

Additional information: link

TeleportToken.verifySigData(bytes) (#349-386) uses assembly
- INLINE ASM (#360-368)
Verify.splitSignature(bytes) (#29-53) uses assembly
- INLINE ASM (#40-47)
Do not use evm assembly.

Additional information: link

Oracled.onlyOracle() (#175-179) compares to a boolean constant:
-require(bool,string)(oracles[msg.sender] == true,Account is not a registered oracle) (#176)
Oracled.unregOracle(address) (#187-191) compares to a boolean constant:
-require(bool,string)(oracles[_remOracle] == true,Oracle is not registered) (#188)
Remove the equality to the boolean constant.

Additional information: link

SafeMath.mul(uint256,uint256) (#103-106) is never used and should be removed
SafeMath.div(uint256,uint256) (#107-110) is never used and should be removed
Endian.reverse16(uint16) (#83-88) is never used and should be removed
Remove unused functions.

Additional information: link

Parameter Oracled.regOracle(address)._newOracle (#181) is not in mixedCase
Parameter Owned.transferOwnership(address)._newOwner (#159) is not in mixedCase
Parameter Oracled.unregOracle(address)._remOracle (#187) is not in mixedCase
Variable TeleportToken._totalSupply (#204) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

approve(address,uint256) should be declared external:
- ERC20Interface.approve(address,uint256) (#123)
- TeleportToken.approve(address,uint256) (#278-282)
receiveApproval(address,uint256,address,bytes) should be declared external:
- ApproveAndCallFallBack.receiveApproval(address,uint256,address,bytes) (#137)
transfer(address,uint256) should be declared external:
- ERC20Interface.transfer(address,uint256) (#122)
- TeleportToken.transfer(address,uint256) (#262-267)
allowance(address,address) should be declared external:
- ERC20Interface.allowance(address,address) (#121)
- TeleportToken.allowance(address,address) (#307-309)
transferAnyERC20Token(address,uint256) should be declared external:
- TeleportToken.transferAnyERC20Token(address,uint256) (#458-460)
teleport(string,uint256,uint256) should be declared external:
- TeleportToken.teleport(string,uint256,uint256) (#333-341)
approveAndCall(address,uint256,bytes) should be declared external:
- TeleportToken.approveAndCall(address,uint256,bytes) (#317-322)
updateChainId(uint8) should be declared external:
- TeleportToken.updateChainId(uint8) (#436-445)
transferFrom(address,address,uint256) should be declared external:
- ERC20Interface.transferFrom(address,address,uint256) (#124)
- TeleportToken.transferFrom(address,address,uint256) (#294-300)
updateThreshold(uint8) should be declared external:
- TeleportToken.updateThreshold(uint8) (#424-434)
acceptOwnership() should be declared external:
- Owned.acceptOwnership() (#163-168)
balanceOf(address) should be declared external:
- ERC20Interface.balanceOf(address) (#120)
- TeleportToken.balanceOf(address) (#252-254)
regOracle(address) should be declared external:
- Oracled.regOracle(address) (#181-185)
transferOwnership(address) should be declared external:
- Owned.transferOwnership(address) (#159-161)
unregOracle(address) should be declared external:
- Oracled.unregOracle(address) (#187-191)
totalSupply() should be declared external:
- ERC20Interface.totalSupply() (#119)
- TeleportToken.totalSupply() (#244-246)
claim(bytes,bytes[]) should be declared external:
- TeleportToken.claim(bytes,bytes[]) (#388-422)
Use the external attribute for functions never called from the contract.

Additional information: link

No disclosed threats
No disclosed threats

Unable to find whitepaper link on the website

No disclosed threats

Price for TLM

News for TLM