LGT

CertiK1 address on BNB Chain

CertiK reviewed LGT-NFT (LGT) on 26 Sep 2022: 24 findings, 0 critical; 1 marked fixed, 4 acknowledged, 19 open.

No open critical findings
Open the reportOpen LGT-NFT’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings24

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High031
Medium010
Low1900
HighCentralization Risks in LGToken.solAcknowledged

In the contract `LGToken` the role `_owner` has authority over the functions shown in the diagram below. ![](https://accelerator-tasks-prod.acc.corp.certik.com/bd634287227d43e0a3caff9d97a5799f/diagrams/centralization_LGToken-LGToken-_owner.svg) In the contract `LiquidityBackHelper` the role `_owner` has authority over the functions shown in the diagram below. ![](https://accelerator-tasks-prod.acc.corp.certik.com/bd634287227d43e0a3caff9d97a5799f/diagrams/centralization_LGToken-LiquidityBackHelper-_owner.svg) In the contract `Ownable` the role `_owner` has authority over the functions shown in the diagram below. ![](https://accelerator-tasks-prod.acc.corp.certik.com/bd634287227d43e0a3caff9d97a5799f/diagrams/centralization_LGToken-Ownable-_owner.svg) Any compromise to the privileged accounts may allow the hacker to take advantage of this authority.

HighCentralized Risk in `addLiquidity`Acknowledged

```solidity=603 function addLiquidity(uint256 tokenAmount, uint256 usdtAmount) external onlyOwner { IERC20(token).approve(address(router), tokenAmount); IERC20(usdt).approve(address(router), usdtAmount); IUniswapV2Router02(router).addLiquidity( token, usdt, tokenAmount, usdtAmount, 0, 0, liquidityReceiveAddress, block.timestamp ); } ``` The `addLiquidity()` function calls the `uniswapV2Router.addLiquidity` function with the `to` address specified as `liquidityReceiveAddress` for acquiring the generated LP tokens from the `LGT-USDT` pool. As a result, over time the `liquidityReceiveAddress` address will accumulate a significant portion of LP tokens. If the `liquidityReceiveAddress` is an EOA (Externally Owned Account), mishandling of its private key can have devastating consequences to the project as a whole.

HighInitial Token DistributionAcknowledged

All of the `LGT` tokens are sent to the contract deployer when deploying the contract. This could be a centralization risk as the deployer can distribute `LGT` tokens without obtaining the consensus of the community.

MediumContract Gains Non-withdrawable BUSD Via the `swaAcknowledged

The `swapAndLiquify()` function converts half of the `AmountLiquidityFee` `LGT` tokens to `BUSD`. The other half of `LGT` tokens and part of the converted `BUSD` are deposited into the `LGT-BUSD` pool on pancakeswap as liquidity. For every `swapAndLiquify()` function call, a small amount of `BUSD` leftover in the `liquidityBackHelper` contract. This is because the price of `LGT` drops after swapping the first half of `LGT` tokens into `BUSD`, and the other half of `LGT` tokens require less than the converted `BUSD` to be paired with it when adding liquidity. The `liquidityBackHelper` contract doesn't appear to provide a way to withdraw those `BUSD`, and they will be locked in the contract forever.

Contracts in scope1

AddressChainSource code
0x16243911e0c7eb0b6a7b089c79ac74572232eb68Chain: BNB ChainSource code: Verified source

Part of LGT-NFT’s security record

LGT-NFT
Audits1 audit by 1 firmLast audit Sep 2022, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open LGT-NFT’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’s audits

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us