Equito Finance Solidity

CertiKFiles named in the report

CertiK reviewed Equito Finance (Equito Finance Solidity) on 28 Nov 2022: 4 findings, 0 critical; all marked fixed.

No open critical findings
Open the reportOpen Equito Finance’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings4

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

SeverityOpenAcknowledgedFixed
Critical000
High001
Medium001
Low002
HighFunction `transferFrom` of Contract `ERC20Usdc` UFixed

It is expected that non-reverting invocations of `transferFrom(from, dest, amount)` that return `true` decrease the allowance of the address in `msg.sender` for the address in `from` by the value in `amount`. An allowance that equals `type(uint256).max` is treated as an exception and interpreted as an unlimited allowance that does not need to be reduced in order for this check to pass. The `transferFrom` function in contract `ERC20Usdc` violates this property and, at least in some cases, fails to correctly update the allowance mapping according to the value in `amount`.

MediumVote from removed validator still being validFixed

`validateRemoveValidator` is used for removing validators from the mapping `_validators`. After a validator is removed, his voting is still valid, as `_actions[actionId].validatorCnt` is not updated. Furthermore, it might cause a valid action being deleted. This would happen if `_actions[actionId].readCnt == _validators.length() + 2` before removing the validator.

LowBurned token not sent to address(0)Fixed

The target address to burn token is `address(this)` in function `burn`, instead of sending tokens to the publicly known burned address.

LowPotential Reentrancy AttackFixed

A reentrancy attack can occur when the contract creates a function that makes an external call to another untrusted contract before resolving any effects. If the attacker can control the untrusted contract, they can make a recursive call back to the original function, repeating interactions that would have otherwise not run after the external call resolved the effects. Variable `erc20Balance` is updated after the call to sending ether `erc20Addr.call{value: amount}("");`. Note that the impact of this issue is smaller than a common reentrancy attack as only validated address is able to trigger the call.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Repository and files the report names (11)

  • contracts/BNBMinter.sol
  • contracts/BnbUsdcMinter.sol
  • contracts/EthUsdcMinter.sol
  • contracts/ALGOMinter.sol
  • contracts/ERC20Minter.sol
  • contracts/AlgoUsdcMinter.sol
  • contracts/ERC20Vault.sol
  • contracts/ETHMinter.sol
  • contracts/ERC20Token.sol
  • contracts/libraries/EquitoHelper.sol
  • contracts/ERC20Usdc.sol

Part of Equito Finance’s security record

Equito Finance
Audits2 audits by 1 firmLast audit Nov 2022, by CertiK.
Critical findingsNo open critical findingsAcross 2 reports.
Open Equito Finance’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