<!-- canonical: https://0xsimao.com/findings/trestle-stuck-tokens-safe-transfer -->

# Stuck tokens due to not using SafeTransfer

Medium · Three Sigma · Modular blockchain infrastructure · 27th January 2024

Finding 3S-TR-M01 of the Trestle wTIA Bridge security review.

- Report: /reports/trestle-wtia-bridge
- Source: https://github.com/0xsimao/audits/blob/main/Three%20Sigma/2024-01-27-trestle.pdf

---

### Description

[reclaimToken()](https://github.com/TrestleProtocol/Audit-Contracts/blob/main/src/wTIA.sol#L75) does not use [SafeERC20.safeTransfer()](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/utils/SafeERC20.sol#L36), which could lead to stuck tokens.

### Status

Acknowledged.

Disclosed by 0xSimao (https://0xsimao.com/).

---

Related findings:

- [Erc20Utils::safeTransferFrom() assumes the tokens are transferred to this, which may not be the case](https://0xsimao.com/findings/districtone-erc20-utils-transfer-transferred): DistrictOne
- [address.transfer is used in the codebase, which could lead to stuck funds](https://0xsimao.com/findings/orange-address-transfer-codebase-stuck): Orange Bridge
- [D1MemeTokens will be stuck whenever the merkle roots or the free claims are not fully claimed](https://0xsimao.com/findings/districtone-stuck-merkle-roots-claimed): DistrictOne
- [Fee on transfer tokens transfer less tokens than what is stored in the receipt on deposits](https://0xsimao.com/findings/clip-finance-i-fee-transfer-receipt-deposits): Clip Finance Strategies
