Chainport (Sol part)

CertiKFiles named in the report

CertiK reviewed ChainPort Cross-Chain Bridge (Chainport (Sol part)) on 26 Jan 2023: 18 findings, 0 critical; 3 marked fixed, 5 acknowledged, 10 open.

No open critical findings
Open the reportOpen ChainPort Cross-Chain Bridge’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings18

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

SeverityOpenAcknowledgedFixed
Critical000
High050
Medium201
Low802
Medium`initialize()` Is UnprotectedOpen

The function `initialize()` is `public` and can be called by anyone as long as the contract is deployed.

MediumCross chain transaction atomicityOpen

Cross-chain token transfer depends on the third-party cross-chain protocol. If the cross-chain protocol is hacked, the `Chainprot` protocol in the side chain cannot confirm the transaction status correctly. As a result, the user burns tokens in the side chain but cannot receive them in the target chain.

LowImproper Usage of `public` and `external` TypeOpen

`public` functions that are never called by the contract could be declared as `external`. `external` functions are more efficient than `public` functions.

LowIncompatibility With Deflationary TokensOpen

When transferring standard ERC20 deflationary tokens, the input amount may not be equal to the received amount due to the charged transaction fee.

LowMissing Emit EventsOpen

There should always be events emitted in the sensitive functions that are controlled by centralization roles.

LowMissing Error MessagesOpen

The **require** can be used to check for conditions and throw an exception if the condition is not met. It is better to provide a string message containing details about the error that will be passed back to the caller.

LowMissing Input ValidationOpen

The given input is missing the check for the non-zero address.

LowRedundant Variable `token`Open

The `token` address is alway the address of `_chainportToken`, so the variable is redundant.

LowThird Party DependenciesOpen

The contract is serving as the underlying entity to interact with third-party `ChainportMiddlewareV2`, `ChainportMiddleware`, `IBridgeMintableTokenV2`, `IValidator` protocols. The scope of the audit treats 3rd party entities as black boxes and assume their functional correctness. However, in the real world, 3rd parties can be compromised and this may lead to lost or stolen assets. In addition, upgrades of 3rd parties can possibly create severe impacts, such as increasing fees of 3rd parties, migrating to new LP pools, etc.

LowUnused ModifierOpen

The linked lines can be replaced with the modifier `onlyIfCreatedByTheBridge`.

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 (4)

  • contracts/token/BridgeMintableTokenV2Taxable.sol
  • contracts/ChainportFeeManager.sol
  • contracts/ChainportSideBridge.sol
  • contracts/ChainportMainBridge.sol

Part of ChainPort Cross-Chain Bridge’s security record

ChainPort Cross-Chain Bridge
Audits5 audits by 2 firmsLast audit Jan 2024, by Zokyo.
Critical findingsNo open critical findingsAcross the 5 reports, 1 critical finding was reported. It is marked fixed by the firm that reported it.
Open ChainPort Cross-Chain Bridge’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